对于快闪存储器中的循环效应的伪随机及命令驱动位补偿及其方法.pdf

上传人:54 文档编号:866483 上传时间:2018-03-16 格式:PDF 页数:58 大小:2.46MB
返回 下载 相关 举报
摘要
申请专利号:

CN200780032732.7

申请日:

2007.09.07

公开号:

CN101512668A

公开日:

2009.08.19

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G11C 16/34变更事项:专利权人变更前:桑迪士克科技公司变更后:桑迪士克科技有限责任公司变更事项:地址变更前:美国德克萨斯州变更后:美国德克萨斯州|||授权|||专利申请权的转移IPC(主分类):G11C 16/34变更事项:申请人变更前权利人:桑迪士克股份有限公司变更后权利人:桑迪士克科技公司变更事项:地址变更前权利人:美国加利福尼亚州变更后权利人:美国德克萨斯州登记生效日:20121030|||实质审查的生效|||公开

IPC分类号:

G11C16/34; G11C16/10; G11C16/20; G11C7/10; G11C7/02; G11C7/20

主分类号:

G11C16/34

申请人:

桑迪士克股份有限公司

发明人:

李 彦; 玉品·卡温·方; 尼玛·穆赫莱斯

地址:

美国加利福尼亚州

优先权:

2006.9.8 US 11/530,392; 2006.9.8 US 11/530,399; 2007.9.7 US 11/852,229

专利代理机构:

北京律盟知识产权代理有限责任公司

代理人:

刘国伟

PDF下载: PDF下载
内容摘要

在快闪存储器EEPROM内容易实施的随机化减少了因特定数据模式的重复且长期的存储而导致的NAND串电阻效应、编程干扰、用户读取干扰及浮动栅极到浮动栅极耦合。在不同实施例中,所述随机化可为由码产生的伪随机化或由用户驱动的随机化。定时无法被预测的由用户驱动的命令可用来触发和实现高级随机化。随机地改变数据的编码方案防止了特定数据模式的重复且长期的存储。即使用户希望长期存储相同信息,或重复存储所述信息,也将用不同的编码方案来随机地编码所述信息,且因此将变更数据模式。

权利要求书

1.  一种包括快闪存储器EEPROM的存储装置,所述EEPROM包括:
快闪存储器阵列,其包括隐藏区域和用户数据区域;以及
外围电路,其包括多位寄存器,
其中多位码存储在所述寄存器中,所述码的每一位在与一页数据的页地址比较时可操作以反转所述页的编码方案或使所述编码方案保持原样。

2.
  根据权利要求1所述的存储装置,其中所述码首先存储在所述阵列的所述隐藏区域中,且随后被传递到所述寄存器。

3.
  根据权利要求2所述的存储装置,其中所述传递在所述EEPROM通电之后发生。

4.
  根据权利要求1所述的存储装置,其中所述EEPROM进一步包括多路复用器,且其中所述比较产生极性位,所述极性位经由所述多路复用器而应用于若干页。

5.
  一种非易失性NAND快闪存储器芯片,其包括多页用户数据,所述芯片包括:
存储器阵列;
有限状态机时钟信号;
命令时钟信号;
极性位,其是通过参考所述有限状态机时钟信号和所述命令时钟信号而产生的;
第一编码类型,其用于所述极性位的第一值;以及
第二编码类型,其用于所述极性位的第二值。

6.
  根据权利要求5所述的芯片,其中所述极性位是通过在所述命令时钟信号的上升沿处参考所述有限状态机时钟信号而产生的。

7.
  一种非易失性NAND快闪存储器芯片,其包括:
存储器阵列,其具有用户数据分区和操作区域分区;
外围电路,其包含存储器寄存器;
用于产生多位值的装置,所述用于产生多位值的装置由无法预测地定时的用户命令触发,以从所述存储器阵列读取数据或向所述存储器阵列写入数据,所述多位值存储在所述寄存器中;以及
用于产生极性位的装置,其中
对于所述极性位的第一值,对一页用户数据的编码被反转,而
对于所述极性位的第二值,对一页用户数据的编码被保持原样。

8.
  一种在包括多页数据的非易失性NAND快闪存储器中的方法,其包括:
将包括多个位的码存储在所述非易失性存储器中,所述多个位中的每一位限定将反转对所述多个页中的一页的数据的编码还是将所述编码保持原样;
从所述非易失性存储器中读取所述码;
将来自所述非易失性存储器的所述码传递到经分配以存储所述码的所述多个位的寄存器;
将所述码存储在所述寄存器中;
通过针对所述码的每一位将所述多个页中的一页的页地址与所述码的一位比较而产生极性信号;以及
基于所述产生的极性信号改变对所述多个页中的一子组页的编码。

9.
  根据权利要求8所述的方法,其进一步包括将所述极性信号多路复用,使其应用于所述多个页中的一群组,且通过所述码的单个位来确定对所述群组的编码。

10.
  根据权利要求8所述的方法,其中所述码包括17个或17个以上位。

11.
  根据权利要求8所述的方法,其中将所述码存储在所述非易失性存储器中包括将所述码存储在所述非易失性存储器的隐藏分区中。

12.
  根据权利要求8所述的方法,其中从所述非易失性存储器中读取所述码是在所述存储器通电期间进行。

13.
  根据权利要求8所述的方法,其进一步包括读取一页或一页以上用户数据,其中读取包括通过所述页地址确定每一待读取的页的所述极性。

14.
  一种在包括存储器控制器和快闪存储器阵列的快闪存储装置中、实施于所述阵列中的方法,所述阵列用于存储用户数据和其它数据,所述方法包括:
接收编程或读取所述阵列中的所述用户数据的用户命令;以及
在接收到所述用户命令后,触发将包括多个位的码应用于所述用户数据的区块,以便使对所述用户数据的编码随机化,所述码的所述位中的每一者确定是将所述区块的一个或一个以上页的群组原样存储还是在存储之前将其反转。

15.
  根据权利要求14所述的方法,其进一步包括将所述码连同由所述码操纵的所述用户数据一起存储。

16.
  根据权利要求14所述的方法,其中所述码包括17个或17个以上位。

17.
  根据权利要求14所述的方法,其中在用户命令之间更新所述码。

18.
  根据权利要求14所述的方法,其中如果所述码包括的位少于区块内的页数,则将所述码应用于一个或一个以上页的一个以上群组。

19.
  根据权利要求15所述的方法,其中所述方法进一步包括读取针对每一区段存储的所述码,且针对每一区段,在逐位基础上将所述用户数据恢复成在应用所述码之前存在的编码方案。

20.
  一种在非易失性NAND快闪存储器中的方法,其包括:
在用户产生的命令信号的上升沿上,致使移位寄存器移位到下一位;
监视存储在所述移位寄存器的一位置中的值;
针对所述移位寄存器中的所述被监视位置中的第一值,反转用户数据的一部分的编码方案;以及
针对所述移位寄存器中的所述被监视位置中的第二值,使用户数据的所述部分的所述编码方案保持原样。

21.
  根据权利要求20所述的方法,其中所述部分包括一个或一个以上页。

22.
  根据权利要求20所述的方法,其中所述用户产生的命令信号是编程命令的信号。

23.
  根据权利要求20所述的方法,其中所述用户产生的命令信号是读取命令的信号。

24.
  根据权利要求20所述的方法,其中所述用户产生的命令信号是擦除命令的信号。

25.
  根据权利要求20所述的方法,其进一步包括针对用户数据的每一部分,将所述所监视值存储到所述非易失性存储器中。

26.
  根据权利要求25所述的方法,其进一步包括:
针对给定数据部分,从所述非易失性存储器中读取所述存储的值;以及
如果所述存储的值是所述第一值,则将所述数据部分的所述编码方案反转以将其反转回其在读取所述部分之前的原始状态,
否则如果所述存储的值是所述第二值,则使所述部分的所述编码方案保持在读取所述部分之前的原样。

27.
  一种在包括多页用户数据的非易失性NAND快闪存储器芯片中的方法,其包括:
在所述芯片处接收到用户命令后,参考所述快闪存储器芯片的有限状态机时钟,所述有限状态机时钟具有第一状态和第二状态;以及
如果所述有限状态机时钟在被参考时处于所述第一状态,则反转用户数据的一部分的编码方案,
否则如果所述有限状态机时钟在被参考时处于所述第二状态,则使用户数据的所述部分的所述编码方案保持原样。

28.
  根据权利要求27所述的方法,其中在由用户命令产生的信号的上升沿处参考所述有限状态机时钟。

29.
  根据权利要求27所述的方法,其中所述用户命令是高速缓冲存储器编程命令。

30.
  根据权利要求27所述的方法,其中所述部分包括一页或一页以上用户数据。

31.
  根据权利要求27所述的方法,其中对所述有限状态机时钟的状态的指示存储在移位寄存器的位置中,所述位置中含有的值与所述用户数据的一部分相关联。

说明书

对于快闪存储器中的循环效应的伪随机及命令驱动位补偿及其方法
技术领域
本发明大体上涉及用于存储大型文件和将大型文件传递到数字装置及从数字装置传递大型文件的便携大容量存储装置(例如存储卡和便携通用串行总线(USB)快闪存储器驱动器),且更具体来说涉及最小化所述驱动器中的重复存储位模式的效应。
背景技术
随着快闪存储卡及驱动器的容量增加,存储器阵列内的存储器单元的规模持续减小。在高密度阵列内,特别是在NAND种类的高密度阵列内,存储在阵列的一个单元或部分内的电荷可能会影响相邻单元的读取或编程操作。这就是所谓的读取或编程干扰及单元耦合。
关于单元耦合、干扰及一般性的NAND快闪存储器的操作及结构的更多信息,请参阅以下美国专利申请案:第11/381,995号,标题为“用于具有编程操作期间的背景数据锁存器高速缓冲存储的非易失性存储器的方法”("Method for Non-Volatile Memory WithBackground Data Latch Caching During Program Operations");第11/382,001号,标题为“用于具有擦除操作期间的背景数据锁存器高速缓冲存储的非易失性存储器的方法”("Method for Non-Volatile Memory With Background Data Latch Caching During EraseOperations");第11/381,994号,标题为“用于具有读取操作期间的背景数据锁存器高速缓冲存储的非易失性存储器的方法”("Method for Non-Volatile Memory WithBackground Data Latch Caching During Read Operations");第10/923,320号,标题为“用于减少相邻的存储器单元行的存储元件之间的耦合效应的技术”("Techniques forReducing Effects of Coupling Between Storage Elements of Adjacent Rows of MemoryCells"),现在为第6,870,768号专利;以及第11/021,872号,标题为“减少浮动栅极到浮动栅极耦合效应”("Reducing Floating Gate to Floating Gate Coupling Effect"),以上申请案的全文出于所有目的以引用的方式并入本文中。
有些用户经常使用快闪存储器来在快闪存储器的一些区块中重复地反复存储相同的数据模式。结果是将有些位始终是被擦除但却从未被编程。此外,也将有些位总是被编程而很少被擦除。这些持久数据模式存在问题,因为其可能会导致干扰及其它难题,比如浮动栅极到浮动栅极效应、NAND串电阻效应及降低的存储器耐久性和可靠性等。
近来,在各种移动和手持装置中,尤其是在信息电器及消费型电子产品中,能够对电荷进行非易失性存储的固态存储器(特别是采用封装为小型形状因数卡的EEPROM和快闪EEPROM形式)已成为精选的存储装置。与同为固态存储器的RAM(随机存取存储器)不同的是,快闪存储器具有非易失性,即使断电之后仍能保持其已存储的数据。虽然快闪存储器的成本较高,但其越来越多地用于大容量存储应用。基于比如硬盘和软盘等旋转磁性媒体的常规大容量存储装置不适合用于移动和手持环境。这是因为磁盘驱动器往往较笨重,容易出现机械故障,而且具有高等待时间和高功率要求。这些不合宜的属性使得基于磁盘的存储装置在大多数移动和便携应用中不切实际。另一方面,嵌入式和可移除卡形式两种快闪存储器都合乎理想地适合于移动和手持环境,因为其尺寸小、功率消耗低、速度高且可靠性高的特征。
EEPROM和电可编程只读存储器(EPROM)是可被擦除且新数据可被写入或“编程”到其存储器单元中的非易失性存储器。这两者都利用场效应晶体管结构的浮动(未连接)传导栅极,其位于半导体衬底中源极区与漏极区之间的沟道区上。接着在浮动栅极上提供控制栅极。晶体管的阈值电压特性受浮动栅极上保持的电荷量的控制。也就是说,对于浮动栅极上的给定电平的电荷,存在一必须在晶体管“接通”以允许其源极区与漏极区之间传导之前施加到控制栅极的对应电压(阈值)。
浮动栅极可保持一定范围的电荷,且因此可被编程到阈值电压窗内的任何阈值电压电平。阈值电压窗的大小由装置的最小及最大阈值电平划界,而装置的最小及最大阈值电平又对应于可编程到浮动栅极上的电荷范围。阈值窗大体上取决于存储器装置的特性、操作条件及历史。窗内的每一不同的可分解的阈值电压电平范围原则上可用于指定单元的明确的存储器状态。
通常通过两种机制之一将充当存储器单元的晶体管编程为“已编程”状态。在“热电子注入”中,施加到漏极的高电压使穿过衬底沟道区的电子加速。同时,施加到控制栅极的高电压穿过薄的栅极电介质将热电子拉动到浮动栅极上。在“隧穿注入”中,相对于衬底将高电压施加到控制栅极上。以此方式,将电子从衬底拉动到介入的浮动栅极。
可通过多种机制来擦除存储器装置。对于EPROM,可通过用紫外线辐射从浮动栅极中移除电荷来批量地擦除存储器。对于EEPROM,可通过相对于控制栅极将高电压施加到衬底以诱使浮动栅极中的电子隧穿薄氧化物并到达衬底沟道区(即福勒诺德海姆隧穿)而电擦除存储器单元。通常可逐字节地擦除EEPROM。对于快闪EEPROM,可通过一次全部擦除或一次擦除一个或一个以上区块来擦除存储器,其中一区块可由存储器的512字节或更多字节组成。
非易失性存储器单元的实例
存储器装置通常包括一个或一个以上可安装在卡上的存储器芯片。每一存储器芯片包括存储器单元阵列,其由比如解码器和擦除、写入和读取电路等外围电路支持。更加复杂的存储器装置还具有控制器,其执行智能且较高级的存储器操作和介接。有许多市售的成功的非易失性固态存储器装置如今正被使用。这些存储器装置可采用不同类型的存储器单元,每一类型具有一个或一个以上电荷存储元件。
图1A到图1E示意性说明非易失性存储器单元的不同实例。
图1A示意性说明具有用于存储电荷的浮动栅极的EEPROM单元形式的非易失性存储器。电可擦除可编程只读存储器(EEPROM)具有类似于EPROM的结构,但另外提供用于在施加适当电压后在其浮动栅极上电加载电荷和从其浮动栅极电移除电荷的机制,而无需暴露于UV辐射。第5,595,924号美国专利中给出了此类单元的实例及其制造方法。
图1B示意性说明具有选择栅极及控制或导引栅极两者的快闪EEPROM单元。存储器单元10具有位于源极14扩散与漏极16扩散之间的“分裂沟道”12。使用两个串联的晶体管T1和T2有效地形成单元。T1充当具有浮动栅极20及控制栅极30的存储器晶体管。浮动栅极能够存储可选择的量的电荷。可流动穿过沟道的T1的部分的电流量取决于控制栅极30上的电压及驻存于介入的浮动栅极20上的电荷量。T2充当具有选择栅极40的选择晶体管。当T2通过选择栅极40处的电压接通时,其允许沟道的T1的部分内的电流经过源极与漏极之间。选择晶体管沿着独立于控制栅极处的电压的源极—漏极沟道提供切换。一个优点在于其可用于断开那些因其浮动栅极处的电荷耗尽(正)而在零控制栅极电压下仍然传导的单元。另一优点在于其允许源极侧注入编程更容易实施。
分裂沟道存储器单元的一个简单的实施例是选择栅极及控制栅极连接到相同字线的情况,如图1B所示的虚线示意性指示。这通过以下方式实现:使电荷存储元件(浮动栅极)定位于沟道的一个部分上,且使控制栅极结构(其为字线的一部分)定位于另一沟道部分上以及电荷存储元件上。这有效地形成具有两个串联晶体管的单元,一个晶体管(存储器晶体管)用电荷存储元件上的电荷量与字线上的电压的组合控制可流动穿过其沟道部分的电流量,且另一个晶体管(选择晶体管)只用字线来充当其栅极。在第5,070,032、5,095,344、5,315,541、5,343,063及5,661,053号美国专利中给出此类单元的实例、其在存储器系统中的使用及其制造方法。
图1B中所示的分裂沟道单元的一个更精细的实施例是在选择栅极及控制栅极独立且不通过其之间的虚线连接的时候。一个实施方案中,单元阵列中的一个列的控制栅极连接到垂直于字线的控制(或导引)线。效果是使字线无须在读取或编程一选定单元时同时执行两个功能。这两个功能是(1)充当选择晶体管的栅极,因此需要用适当的电压接通和断开选择晶体管,及(2)通过字线与电荷存储元件之间的电场(电容性)耦合将电荷存储元件的电压驱动到所要电平。通常难以用单个电压以最优方式执行这两种功能。通过单独控制控制栅极和选择栅极,字线只需要执行功能(1),而附加的控制线执行功能(2)。此能力允许设计更高性能的编程,其中根据目标数据来调整编程电压。在第5,313,421及6,222,762号美国专利中描述了在快闪EEPROM阵列中使用独立的控制(或导引)栅极。
图1C示意性说明另一具有双浮动栅极及独立的选择和控制栅极的快闪EEPROM单元。存储器单元10类似于图1B的存储器单元,只不过其实际上具有三个串联的晶体管。在此类型的单元中,在其位于源极扩散与漏极扩散之间的沟道上包含两个存储元件(即,T1—左及T1—右的存储元件),这两者之间有一选择晶体管T1。存储器晶体管分别具有浮动栅极20及20′以及控制栅极30及30′。选择晶体管T2受选择栅极40控制。在任一时间,只存取该对存储器晶体管中的一者以进行读取或写入。当正在存取存储单位T1—左时,T2及T1—右均接通以允许沟道的T1—左的部分内的电流经过源极与漏极之间。类似地,当正在存取存储单位T1—右时,接通T2及T1—左。通过使一部分选择栅极多晶硅紧密靠近浮动栅极且向选择栅极施加大量正电压(例如20V)以使得浮动栅极内存储的电子可隧穿到选择栅极多晶硅来实现擦除。
图1D示意性说明一串组织成NAND单元的存储器单元。NAND单元50由通过源极及漏极菊链链接的一系列存储器晶体管M1、M2……Mn(n=4、8、16或更高)组成。一对选择晶体管S1、S2经由NAND单元的源极端子54及漏极端子56控制存储器晶体管链与外部的连接。在存储器阵列中,当接通源极选择晶体管S1时,源极端子耦合到源极线。类似地,当接通漏极选择晶体管S2时,NAND单元的漏极端子耦合到存储器阵列的位线。链中的每一存储器晶体管具有用以存储给定量的电荷以表示既定存储器状态的电荷存储元件。每一存储器晶体管的控制栅极提供对读取及写入操作的控制。选择晶体管S1、S2中每一者的控制栅极分别经由其源极端子54及漏极端子56来提供对NAND单元的控制存取。
当在编程期间读取及验证NAND单元内的经寻址存储器晶体管时,向其控制栅极供应适当电压。同时,通过在控制栅极上施加充足的电压而完全接通NAND单元50中的其余未寻址的存储器晶体管。以此方式,有效地创造从个别存储器晶体管的源极到NAND单元的源极端子54的传导路径,且同样有效地创造从个别存储器晶体管的漏极到单元的漏极端子56的传导路径。第5,570,315、5,903,495、6,046,935号美国专利中描述了具有此类NAND单元结构的存储器装置。
图1E示意性说明具有用于存储电荷的介电层的非易失性存储器。使用介电层而不是上文描述的传导浮动栅极元件。艾坦(Eitan)等人的“NROM:新颖的局部化捕获2位非易失性存储器单元”("NROM:A Novel Localized Trapping,2-Bit NonvolatileMemory Cell,",IEEE电子装置通讯(IEEE Electron Device Letters)第21卷,第11期,2000年11月,第543到545页)中描述了此类利用介电存储元件的存储器装置。一ONO介电层在源极扩散与漏极扩散之间的沟道上延伸。用于一个数据位的电荷局部化在邻近于漏极的介电层中,且用于其它数据位的电荷局部化在邻近于源极的介电层中。举例来说,第5,768,192及6,011,725号美国专利揭示了一种具有夹在两个二氧化硅层之间的捕获电介质的非易失性存储器单元。通过单独读取电介质内的空间上分离的电荷存储区的二元状态来实施多状态数据存储。
存储器阵列
存储器装置通常包括布置成行和列且可通过字线和位线来寻址的二维存储器单元阵列。所述阵列可根据NOR类型或NAND类型结构来形成。
NOR阵列
图2说明NOR存储器单元阵列的实例。已用图1B或图1C中说明的类型的单元来实施具有NOR类型结构的存储器装置。每一行存储器单元通过其源极及漏极以菊链方式连接。此设计有时称为虚拟接地设计。每一存储器单元10具有源极14、漏极16、控制栅极30及选择栅极40。一行中的单元的选择栅极连接到字线42。一列中的单元的源极及漏极分别连接到选定位线34及36。在存储器单元的控制栅极及选择栅极受独立控制的一些实施例中,导引线36还连接一列中的单元的控制栅极。
许多快闪EEPROM装置是用每一存储器单元的控制栅极及选择栅极连接在一起的存储器单元来实施。在此情况下,不需要导引线,且字线简单地连接沿着每一行的单元的所有控制栅极及选择栅极。在第5,172,338及5,418,752号美国专利中揭示了这些设计的实例。在这些设计中,字线主要执行两个功能:行选择,和将控制栅极电压供应到行中的所有单元以进行读取或编程。
NAND阵列
图3说明NAND存储器单元阵列的实例,比如图1D所示的NAND存储器单元阵列。沿着每一列NAND单元,一位线耦合到每一NAND单元的漏极端子56。沿着每一行NAND单元,一源极线可连接其所有源极端子54。而且沿着一行的NAND单元的控制栅极连接到一系列对应的字线。可通过经由连接的字线用控制栅极上的适当电压来接通该对选择晶体管(见图1D)来寻址一整行NAND单元。当正读取NAND单元的链内的一存储器晶体管时,链内的其余存储器晶体管经由其相关联的字线而被硬接通,从而使得流动穿过所述链的电流主要取决于存储在正被读取的单元内的电荷的电平。NAND结构阵列的实例及其作为存储器系统的一部分的操作见第5,570,315、5,774,397及6,046,935号美国专利。
区块擦除
对电荷存储存储器装置的编程可只导致向其电荷存储元件添加更多电荷。因此,在编程操作之前,必须移除(或擦除)电荷存储元件中的现存电荷。提供擦除电路(未图示)以擦除一个或一个以上存储器单元区块。比如EEPROM等非易失性存储器在整个单元阵列或阵列中相当多群组的单元一起电擦除(即,以快闪形式)时称为“快闪”EEPROM。一旦被擦除,所述群组的单元便可被再编程。可一起擦除的单元群组可组成一个或一个以上可寻址的擦除单位。擦除单位或区块通常存储一页或一页以上数据,页是编程和读取的单位,但单次操作中也可编程或读取多于一页。每一页通常存储一个或一个以上扇区的数据,扇区的大小由主机系统定义。一实例是512字节的用户数据(其遵守针对磁盘驱动器建立的标准)加上某一数目字节的关于用户数据及/或存储用户数据的区块的额外开销信息的扇区。
读取/写入电路
在通常的两状态的EEPROM单元中,建立至少一个电流断点电平,以便将传导窗划分为两个区。当通过施加预定的固定电压而读取单元时,通过与断点电平(或参考电流IREF)比较而将其源极/漏极电流分解成一存储器状态。如果所读取的电流高于断点电平,则确定所述单元是处于一个逻辑状态(例如,“零”状态)。另一方面,如果电流小于断点电平的电流,则确定所述单元是处于另一逻辑状态(例如,“一”状态)。因此,此两状态单元存储一位数字信息。通常作为存储器系统的一部分提供可外部编程的参考电流源,以产生断点电平电流。
为了增加存储器容量,随着半导体技术现状的进步,正在制造密度越来越高的快闪EEPROM装置。另一增加存储容量的方法是使每一存储器单元存储两种以上状态。
对于多状态或多电平EEPROM存储器单元,通过一个以上断点将传导窗划分成两个以上区,使得每一单元能够存储一个以上数据位。因此,随着每一单元可存储的状态的数目增加,给定EEPROM阵列可存储的信息也增加。第5,172,338号美国专利中描述了具有多状态或多电平存储器单元的EEPROM或快闪EEPROM。
实践中,通常通过在向控制栅极施加参考电压时感测穿过单元的源电极及漏电极的传导电流而读取单元的存储器状态。因此,对于单元的浮动栅极上的每一给定电荷,可检测到相对于固定参考控制栅极电压的对应传导电流。类似地,可编程到浮动栅极上的电荷的范围界定对应的阈值电压窗或对应的传导电流窗。
或者,不是在划分的电流窗中检测传导电流,而是可在控制栅极处设置用于正被测试的给定存储器状态的阈值电压,并检测传导电流是低于还是高于阈值电流。在一个实施方案中,通过检查传导电流正通过位线的电容放电的速率来实现相对于阈值电流检测传导电流。
图4针对浮动栅极可在任一次选择性存储的四个不同电荷Q1到Q4说明源极—漏极电流ID与控制栅极电压VCG之间的关系。四个实线ID对VCG曲线表示可在存储器单元的浮动栅极上编程的四种可能的电荷电平,其分别对应于四种可能的存储器状态。举一实例,一群单元的阈值电压窗可在0.5V到3.5V间变动。可通过以每一者0.5V的区间将阈值窗划分成五个区而划界出六个存储器状态。举例来说,如果如图所示使用2μA的参考电流IREF,那么可认为用Q1编程的单元处于存储器状态“1”,因为其曲线在阈值窗的通过VCG=0.5V和1.0V划界的区内与IREF相交。类似地,Q4处于存储器状态“5”。
从以上的描述中可看出,使存储器单元存储的状态越多,其阈值窗划分地约精细。这将要求编程及读取操作中有更高的精确度,以便能够实现所需的分解度。
第4,357,685号美国专利揭示了一种编程2状态EPROM的方法,其中当将一单元编程为给定状态时,其经受连续的编程电压脉冲,其每一次均向浮动栅极添加递增的电荷。在脉冲之间,读回或验证单元以相对于断点电平确定其源极—漏极电流。当已验证出电流状态达到所要状态时停止编程。所使用的编程脉冲串可具有增加的周期或振幅。
现有技术编程电路简单地采用编程脉冲从擦除或接地状态步进通过阈值窗,直到达到目标状态为止。实际上,为了允许足够的分解度,每一划分或划界的区将要求遍历至少约五个编程步骤。所述性能对于2状态存储器单元尚可接受。然而,对于多状态单元,所需的步骤数目随划分的数目而增加,且因此必须增加编程精确度或分解度。举例来说,16状态的单元平均可能要求至少40个编程脉冲来编程到目标状态。
图5示意性说明具有存储器阵列100的典型布置的存储器装置,所述存储器阵列100可由读取/写入电路170经由行解码器130和列解码器160来存取。如结合图2和图3所述,可经由一组选定的字线和位线来存取存储器阵列100中的存储器单元的存储器晶体管。行解码器130选择一个或一个以上字线,且列解码器160选择一个或一个以上位线,以便向经寻址的存储器晶体管的相应栅极施加适当的电压。提供读取/写入电路170以读取或写入(编程)经寻址的存储器晶体管的存储器状态。读取/写入电路170包括若干可经由位线连接到阵列中的存储器元件的读取/写入模块。
图6A是个别读取/写入模块190的示意方框图。本质上,在读取或验证期间,读出放大器确定流动穿过经由选定位线连接的经寻址的存储器晶体管的漏极的电流。所述电流取决于存储在存储器晶体管中的电荷及其控制栅极电压。举例来说,在多状态EEPROM单元中,可将其浮动栅极充电到若干不同电平之一。对于4电平的单元,其可用于存储两个数据位。通过电平到位转换逻辑将读出放大器检测到的电平转换成待存储在数据锁存器中的一组数据位。
影响读取/写入性能及准确度的因素
为了改进读取及编程性能,并行读取或编程一阵列中的多个电荷存储元件或存储器晶体管。因此,一逻辑“页”的存储器元件被一起读取或编程。在现有的存储器结构中,一行通常含有若干交错的页。一页的所有存储器元件将被一起读取或编程。列解码器将选择性地将每一交错页连接到对应数目的读取/写入模块。举例来说,在一个实施方案中,将存储器阵列设计成具有532字节的页大小(512字节加上20字节的额外开销)。如果每一列含有一漏极位线且每行有两个交错页,则这总计有8512个列,其中每一页与4256个列相关联。将存在可连接以并行读取或写入所有偶数位线或奇数位线的4256个感测模块。以此方式,从存储器单元页中并行读取一页4256位(即,532字节)的数据,或将其并行编程到存储器单元页中。可将形成读取/写入电路170的读取/写入模块布置成各种结构。
参看图5,将读取/写入电路170组织成读取/写入堆栈180的存储体。每一读取/写入堆栈180是读取/写入模块190的堆栈。在存储器阵列中,通过占据列间距的一个或两个晶体管的大小来确定列间距。然而,从图6A中可看出,将可能以多出许多的晶体管和电路元件实施读取/写入模块的电路,且其因此将占据许多列上的空间。为了为所占据的列中的一个以上列服务,多个模块在彼此上堆叠。
图6B展示常规上通过读取/写入模块190的堆栈实施的图5的读取/写入堆栈。举例来说,读取/写入模块可在十六个列上延伸,于是具有八个读取/写入模块的堆栈的读取/写入堆栈180可用来并行地为八个列服务。读取/写入堆栈可经由列解码器耦合到存储体中的八个奇数(1、3、5、7、9、11、13、15)列或八个偶数(2、4、6、8、10、12、14、16)列。
如上所述,常规存储器装置通过用批量并行方式一次对所有偶数位线或所有奇数位线进行操作来改进读取/写入操作。这个由两个交错页组成一行的结构将有助于缓解配合读取/写入电路的区块的问题。其也可通过考虑控制位线到位线电容性耦合来指定。块解码器用于将所述组读取/写入模块多路复用到偶数页或奇数页。以此方式,每当正读取或编程一组位线时,可将交错的组接地以使紧邻者耦合最小化。
然而,交错页结构在至少三个方面是不利的。首先,其要求额外的多路复用电路。第二,其性能缓慢。为了完成对通过字线连接或在一行中的存储器单元的读取或编程,需要两个读取操作或两个编程操作。第三,其在以下方面也不是最优的:解决当在不同时候(比如单独在奇数页和偶数页中)编程两个相邻者时的其它干扰效应(比如处于浮动栅极电平的相邻电荷存储元件之间的场耦合)。
随着存储器晶体管之间的间距更紧密,相邻场耦合的问题变得更显著。在存储器晶体管中,电荷存储元件夹在沟道区与控制栅极之间。在沟道区中流动的电流随控制栅极及电荷存储元件处的场所贡献的所得电场而变。随着密度持续增大,存储器晶体管形成为越来越靠近在一起。于是,来自相邻电荷元件的场变成对受影响的单元的所得场的显著贡献因素。相邻场取决于编程到相邻者的电荷存储元件中的电荷。此干扰的场本质上是动态的,因为其随相邻者的编程状态而改变。因此,可依据相邻者的改变的状态而在不同时间以不同方式读取受影响的单元。
常规的交错页结构加剧了相邻浮动栅极耦合导致的错误。因为偶数页及奇数页是被彼此独立地编程和读取,所以一页可能会在一组条件下被编程,而在完全不同组的条件下被读回,这取决于同时对介入的页发生了何种情况。随着密度增加,读取错误将变得更加严重,从而对多状态实施方案要求更准确的读取操作和对阈值窗的更粗略的划分。性能将受到损害,且多状态实施方案中的潜在容量受到限制。
第US-2004-0060031-A1号美国专利公开案揭示了一种高性能但紧致的非易失性存储器装置,其具有大的读取/写入电路区块以并行地读取和写入对应的存储器单元区块。确切地说,存储器装置具有将读取/写入电路区块中的冗余减到最小的结构。通过将读取/写入模块的区块重新分布成区块读取/写入模块核心部分来实现空间以及功率的显著节省,所述核心部分并行操作且同时用时间多路复用方式与实质上更小的一组共同部分交互。确切地说,由共享处理器执行多个读出放大器与数据锁存器之间的读取/写入电路间的数据处理。
因此普遍需要高性能及高容量的非易失性存储器。确切地说,需要一种具有增强的读取和编程性能的紧致型非易失性存储器,其具有紧致且高效但同时又对在读取/写入电路间处理数据高度通用的改进的处理器。
发明内容
本发明将减少或消除可能导致编程干扰或用户读取干扰的特定数据模式,并且减少NAND串电阻效应,且提高存储器耐久性及可靠性。其也将减少浮动栅极到浮动栅极耦合的问题。
本发明的一个方面涉及一种对存储在快闪存储器芯片或阵列中的数据实施伪随机化的方法。此方法仅要求对快闪存储器的电路进行细微的修改,但同时将大幅增加数据存储的随机性,且因此提高阵列的性能。可容易地在存储器内启用或停用对数据的随机化。此外,可连续改变驱动伪随机化的序列,从而进一步提高系统的灵活性。
在一些实施例中,用户的动作会触发对数据的编码中的潜在改变。因为用户动作的定时完全是无法预测的,所以因用户驱动的触发而利用的编码方案也是无法预测的且本质上完全是随机的。
通过存储器芯片(EEPROM)来实施各种随机化方法及实施例。这就是说,所述方法及实施例是在存储器芯片本身内发生,而不是在与芯片通信的存储器控制器中发生。这一点不同于一种称为磨损均衡的解决此问题的不同技术,磨损均衡技术通常在系统级别实施,且利用控制器来改变在存储器芯片内存储数据的方式。
本发明的另一方面是一种包括多页用户数据的非易失性NAND快闪存储器芯片。所述芯片包括存储器阵列、有限状态机时钟信号、命令时钟信号及极性位(其通过参考有限状态机时钟信号和命令时钟信号产生)。对极性位的第一值使用第一编码类型,且对极性位的第二值使用第二编码类型。使用不同的编码类型会减少在阵列中存储相同数据模式的持续时间,即便实际上在阵列内重复或在长时期内存储相同数据时也是如此。
本发明的又一方面涉及一种在包括多页数据的非易失性NAND快闪存储器中的方法。所述方法包括在非易失性存储器中存储包括多个位的码,所述多个位中的每一位界定是将对所述多页中的一页的数据的编码反转还是将其保持原样。所述方法还包括从非易失性存储器读取码,将码从非易失性存储器传递到经分配以存储所述码的所述多个位的寄存器,将码存储在寄存器中,通过针对码的每一位将所述多页中的一页的页地址与码的一位进行比较来产生极性信号,以及基于产生的极性信号改变对所述多页中的一子组的页的编码。
附图说明
图1A到图1E示意性说明非易失性存储器单元的不同实例。
图2说明NOR存储器单元阵列的实例。
图3说明比如图1D所示的NAND存储器单元阵列的实例。
图4针对浮动栅极可任何一次存储的四个不同电荷Q1到Q4说明源极—漏极电流与控制栅极电压之间的关系。
图5示意性说明可由读取/写入电路经由行解码器和列解码器存取的存储器阵列的典型布置。
图6A是个别读取/写入模块的示意方框图。
图6B展示常规上通过读取/写入模块的堆栈实施的图5的读取/写入堆栈。
图7A示意性说明具有经划分的读取/写入堆栈的存储体的紧致型存储器装置,其中实施本发明的改进的处理器。
图7B说明图7A所示的紧致型存储器装置的优选布置。
图8示意性说明图7A所示的读取/写入堆栈中的基本组件的总体布置。
图9说明图7A与图7B所示的读取/写入电路间的读取/写入堆栈的一个优选布置。
图10说明图9所示的共同处理器的改进的实施例。
图11A说明图10所示的共同处理器的输入逻辑的优选实施例。
图11B说明图11A的输入逻辑的真值表。
图12A说明图10所示的共同处理器的输出逻辑的优选实施例。
图12B说明图12A的输出逻辑的真值表。
图13是图10的简化版本,其展示本发明的两位实施例中的一些与当前论述有关的特定元件。
图14指示用于与图13相同的元件的锁存器指派,其用于其中下部页数据已被读入的上部页编程。
图15说明单页模式下的高速缓冲存储器编程的方面。
图16展示可用于下部页到全序列转换的编程波形。
图17说明使用全序列转换的高速缓冲存储器编程操作中的相对时序。
图18描述在高速缓冲存储器页复制操作中的锁存器安排。
图19A和图19B说明高速缓冲存储器页复制操作中的相对时序。
图20说明当每一存储器单元使用LM码存储两位数据时4状态存储器阵列的阈值电压分布。
图21是EEPROM或存储器芯片600的特定组件的示意方框图。
图22A是通过页地址对各页数据的编码方案和极性位的图解。
图22B是说明用来转变对用户数据的编码的实例17位码的应用的表。
图22C说明对存储在示范性NAND链/串的存储器单元中的上部位和下部位应用极性位。
图23A是随命令时钟信号的变化确定编码方案的图解。
图23B是命令的时钟信号。
图23C说明用于数据编码确定和反转的控制电路的实施例。
图23D说明其中存储有极性位的一页用户数据。
图23E说明用于针对读取操作将对潜在反转的数据的编码恢复的控制电路的实施例。
图24A是命令时钟信号和有限状态机时钟信号的时间线,其展示在命令时钟信号的上升沿的FSM时钟的值。
图24B说明用以随图24A所示的命令时钟信号的变化确定极性位的示范性电路。
具体实施方式
图7A示意性说明具有经划分的读取/写入堆栈的存储体的紧致型存储器装置,其中实施本发明的改进的处理器。所述存储器装置包含存储器单元的二维阵列300、控制电路310及读取/写入电路370。存储器阵列300可由字线经由行解码器330寻址和由位线经由列解码器360寻址。读取/写入电路370实施为经划分的读取/写入堆栈400的存储体,且允许存储器单元的区块(也称为“页”)被并行读取或编程。在优选实施例中,由邻接的一行存储器单元构成页。在其中将一行存储器单元划分成多个区块或页的另一实施例中,提供区块多路复用器350以将读取/写入电路370多路复用于个别区块。
控制电路310与读取/写入电路370协作,以便对存储器阵列300执行存储器操作。控制电路310包含状态机312、芯片上地址解码器314及功率控制模块316。状态机312提供对存储器操作的芯片级控制。芯片上地址解码器314提供主机或存储器控制器使用的地址与解码器330和370使用的硬件地址之间的地址接口。功率控制模块316控制存储器操作期间供应到字线和位线的功率和电压。
图7B说明图7A所示的紧致型存储器装置的优选布置。在存储器阵列300的相对侧上用对称方式实施各种外围电路对阵列的存取,使得每一侧上的存取线和电路减半。因此,将行解码器分成行解码器330A和330B,且将列解码器分成列解码器360A和360B。在将一行存储器单元划分成多个区块的实施例中,将区块多路复用器350分成区块多路复用器350A及350B。类似地,将读取/写入电路分成连接到来自阵列300底部的位线的读取/写入电路370A和连接到来自阵列300顶部的位线的读取/写入电路370B。以此方式,读取/写入模块的密度本质上减半,且因此经划分的读取/写入堆栈400的密度本质上减半。
图8示意性说明图7A所示的读取/写入堆栈中的基本组件的总体布置。根据本发明的总体结构,读取/写入堆栈400包括用于感测k个位线的读出放大器212的堆栈、用于经由I/O总线231输入或输出数据的I/O模块440、用于存储输入或输出数据的数据锁存器430的堆栈、用以在读取/写入堆栈400间处理和存储数据的共同处理器500以及用于在堆栈组件间通信的堆栈总线421。读取/写入电路370间的堆栈总线控制器经由线411提供控制和时序信号,用于控制读取/写入堆栈间的各种组件。
图9说明图7A与图7B所示的读取/写入电路间的读取/写入堆栈的一个优选布置。每一读取/写入堆栈400并行地对一群组k个位线进行操作。如果一页具有p=r×k个位线,则将存在r个读取/写入堆栈,400-1……400-r。
并行操作的经划分的读取/写入堆栈400的整个存储体允许并行地读取或编程沿着一行的p个单元的区块(或页)。因此,对整行单元将存在p个读取/写入模块。由于每一堆栈为k个存储器单元服务,所以存储体中的读取/写入堆栈的总数由r=p/k给出。举例来说,如果r是存储体中的堆栈的数目,则p=r×k。一个实例存储器阵列可具有p=512个字节(512×8个位),k=8,且因此r=512。在优选实施例中,区块是连续的整行单元。在另一实施例中,区块是行中的一子组的单元。举例来说,所述子组的单元可能是整个行的二分之一或整个行的四分之一。所述子组的单元可能是连续的邻接单元或每隔一个单元一个或每隔预定数目个单元一个。
每一读取/写入堆栈(比如400-1)本质上含有读出放大器212—1到212—k的堆栈,其并行地为k个存储器单元的区段服务。第2004-0109357-A1号美国专利公开案中揭示了优选的读出放大器,其整个内容以引用的方式并入本文中。
堆栈总线控制器410经由线411向读取/写入电路370提供控制和时序信号。堆栈总线控制器本身经由线311而依赖于存储器控制器310。每一读取/写入堆栈400间的通信由互连的堆栈总线431实现且受堆栈总线控制器410控制。控制线411将控制和时钟信号从堆栈总线控制器410提供到读取/写入堆栈400—1的组件。
在优选布置中,将堆栈总线划分成用于共同处理器500与读出放大器212的堆栈之间的通信的SA总线422,以及用于处理器与数据锁存器430的堆栈之间的通信的D总线423。
数据锁存器430的堆栈包括数据锁存器430—1到430—k,其每一者用于与堆栈相关联的一个存储器单元。I/O模块440使得数据锁存器能够经由I/O总线231与外部交换数据。
共同处理器还包含用于输出指示存储器操作的状态(比如错误条件)的状态信号的输出507。状态信号用来驱动以线或配置连接到旗标总线(FLAG BUS)509的n晶体管550的栅极。旗标总线优选由控制器310预充电,且当由任何读取/写入堆栈断言状态信号时将被下拉。
图10说明图9所示的共同处理器的改进的实施例。共同处理器500包括处理器总线、用于与外部电路通信的P总线505、输入逻辑510、处理器锁存器P锁存器520及输出逻辑530。
输入逻辑510从P总线接收数据,且将其作为处于逻辑状态“1”、“0”或“Z”(浮动)之一的转变的数据输出到BSI节点,所述逻辑状态取决于经由信号线411来自堆栈总线控制器410的控制信号。随后,设置/重设锁存器、P锁存器520锁存BSI,从而导致作为MTCH及MTCH*的一对互补的输出信号。
输出逻辑530接收MTCH及MTCH*信号,且在P总线505上输出处于逻辑状态“1”、“0”或“Z”(浮动)之一的转变的数据,所述逻辑状态取决于经由信号线411来自堆栈总线控制器410的控制信号。
在任何一个时候,共同处理器500处理与给定存储器单元有关的数据。举例来说,图10说明耦合到位线1的存储器单元的情况。对应的读出放大器212—1包括出现读出放大器数据的节点。在优选实施例中,所述节点采用存储数据的SA锁存器(214—1)的形式。类似地,对应组的数据锁存器430—1存储与耦合到位线1的存储器单元相关联的输入或输出数据。在优选实施例中,所述组数据锁存器430—1包括用于存储n位的数据的充足的数据锁存器434—1……434—n。
当通过一对互补信号SAP和SAN启用传递门501时,共同处理器500的P总线505经由S总线422存取SA锁存器214—1。类似地,当一对互补信号DTP和DTN启用传递门502时,P总线505经由D总线423存取所述组数据锁存器430—1。将信号SAP、SAN、DTP及DTN明确地说明为来自堆栈总线控制器410的控制信号的一部分。
图11A说明图10所示的共同处理器的输入逻辑的优选实施例。输入逻辑520在P总线505上接收数据,且依据控制信号而具有相同的、或反转的、或浮动的输出BSI。输出BSI节点本质上受到传递门522的输出或到Vdd的包括串联的p晶体管524和525的上拉电路或到接地的包括串联的n晶体管526和527的下拉电路的影响。上拉电路具有分别受信号PBUS和ONE控制的到p晶体管524和525的栅极。下拉电路具有分别受信号ONEB<1>及PBUS控制的到n晶体管526和227的栅极。
图11B说明图11A的输入逻辑的真值表。所述逻辑受PBUS及控制信号ONE、ONEB<0>、ONEB<1>的控制,所述控制信号是来自堆栈总线控制器410的控制信号的一部分。本质上支持三个传递模式:通过(PASSTHROUGH)、反转(INVERTED)及浮动(FLOATED)。
在BSI与输入数据相同的通过模式的情况下,信号ONE处于逻辑“1”,ONEB<0>处于“0”,且ONEB<1>处于“0”。这将停用上拉或下拉,但使得传递门522能够将P总线505上的数据传递到输出523。在BSI是输入数据的反转的反转模式的情况下,信号ONE处于“0”,ONEB<0>处于“1”,且ONE<1>处于“1”。这将停用传递门522。此外,当PBUS处于“0”时,下拉电路将停用,而上拉电路将启用,从而导致BSI处于“1”。类似地,当PBUS处于“1”时,上拉电路将停用,而下拉电路将启用,从而导致BSI处于“0”。最后,在浮动模式的情况下,输出BSI可通过使信号ONE处于“1”、ONEB<0>处于“1”且ONEB<1>处于“0”而浮动。出于完整性起见列出了浮动模式,但在实践中并不使用该模式。
图12A说明图10所示的共同处理器的输出逻辑的优选实施例。将来自输入逻辑520的BSI节点处的信号锁存在处理器锁存器P锁存器520中。输出逻辑530从P锁存器520的输出接收信号MTCH及MTCH*,且依据控制信号,在通过、反转或浮动模式中在P总线上输出。换句话说,所述四个分支充当P总线505的驱动器,从而主动地将其拉动到高、低或浮动状态。这是通过四个分支电路来实现,即用于P总线505的两个上拉电路和两个下拉电路。第一上拉电路包括到Vdd的串联的p晶体管531和532,且能够在MTCH处于“0”时上拉P总线。第二上拉电路包括到接地的串联的p晶体管533和534,且能够在MTCH处于“1”时上拉P总线。类似地,第一下拉电路包括到Vdd的串联的晶体管535和536,且能够在MTCH处于“0”时下拉P总线。第二上拉电路包括到接地的串联的n晶体管537和538,且能够在MTCH处于“1”时上拉P总线。
本发明的一个特征是构成具有PMOS晶体管的上拉电路和具有NMOS晶体管的下拉电路。由于NMOS进行的拉动远远比PMOS的拉动强烈,所以在任何规约中下拉将总是胜过上拉。换句话说,节点或总线可总是默认上拉或“1”状态,且如果需要,可总是通过下拉颠倒成“0”状态。
图12B说明图12A的输出逻辑的真值表。所述逻辑受从输入逻辑锁存的MTCH、MTCH*及作为来自堆栈总线控制器410的控制信号的一部分的控制信号PDIR、PINV、NDIR、NINV的控制。支持四个操作模式:通过、反转、浮动及预充电。
在浮动模式下,停用全部四个分支。这是通过使信号PINV=1、NINV=0、PDIR=1、NDIR=0(其也是默认值)来实现。在通过模式下,当MTCH=0时,其将要求PBUS=0。这是通过仅启用具有n晶体管535及536的下拉分支且除了NDIR=1之外全部控制信号均处于其默认值来实现。当MTCH=1时,其将要求PBUS=1。这是通过仅启用具有p晶体管533及534的上拉分支且除了PINV=0之外全部控制信号均处于其默认值来实现。在反转模式下,当MTCH=0时,其将要求PBUS=1。这是通过仅启用具有p晶体管531及532的上拉分支且除了PDIR=0之外全部控制信号均处于其默认值来实现。当MTCH=1时,其将要求PBUS=0。这是通过仅启用具有n晶体管537和538的下拉分支且除了NINV=1之外全部控制信号均处于其默认值来实现。在预充电模式下,PDIR=0且PINV=0的控制信号设置将在MTCH=1时启用具有p晶体管531及531的上拉分支或在MTCH=0时启用具有p晶体管533及534的上拉分支。
在2004年12月29日的第11/026,536号美国专利申请案中更全面地详述了共同处理器的操作,所述申请案的全文以引用的形式并入本文中。
在高速缓冲存储器操作中使用数据锁存器
本发明的多个方面利用上文在图10中所述的读取/写入堆栈的数据锁存器以用于高速缓冲存储器操作,其将在内部存储器正在进行比如读取、写入或擦除等其它操作时进行数据输入和输出。在上述结构中,多个物理页共享数据锁存器。举例来说,如同在由全部字线共享的位线的读取/写入堆栈上,因此当一个操作正在进行时,如果这些锁存器中有任一锁存器空闲,则其可高速缓冲存储数据以用于在相同或另一字线中的未来操作,从而节省了传递时间,因为这可隐藏在另一操作背后。这可通过增加不同操作或不同操作阶段的管线化量来改进性能。在一个实例中,在高速缓冲存储器编程操作中,在对一页数据编程时,可载入另一页数据,从而节省传递时间。对于另一实例,在一个示范性实施例中,将对一个字线的读取操作插入到对另一字线的写入操作中,从而允许在数据写入继续进行的同时将来自读取的数据传递出存储器。
请注意,这允许切换出来自相同区块中、但在不同字线上的另一页的数据(以便例如进行ECC操作),同时针对第一页数据继续进行写入或其它操作。这个对操作的阶段间管线化允许数据传递所需的时间隐藏在对第一页数据的操作背后。更一般而言,这允许将一个操作的一部分插入在另一通常更长的操作的阶段之间。另一实例将是将感测操作插入在如擦除操作的阶段之间,比如在擦除脉冲之前或在用作擦除的稍后部分的软编程阶段之前。
为了腾出所论述的一些操作所需的相对时间,可将用于上述系统的一组示范性时间值取为:
数据写入:~700μs(下部页~600μs,上部页800μs)
二进制数据写入:~200μs
擦除:~2,500μs
读取:~20-40μs
读取及切换出数据:2KB数据,~80μs;4KB~160μs;8KB~320μs。
这些值可用作参考以给出下文时序图所涉及的相对时间的概念。如果进行有不同阶段的长期操作,则主要方面将在锁存器可用的情况下使用读取/写入堆栈的共享锁存器插入一较快的操作。举例来说,可将读取插入到编程或擦除操作中,或可将二进制编程插入到擦除中。主要示范性实施例将在对一页的编程操作期间切换进/出共享相同读取写入堆栈的另一页的数据,其中例如,将对待切换出和修改的数据的读取插入到数据写入的验证阶段中。
可用多种方式来提升开放的数据锁存器的可用性。一般来说,对于每单元存储n个位的存储器,对每一位线将需要n个此类数据锁存器;然而,并非总是需要全部这些锁存器。举例来说,在用上部页/下部页格式存储数据的每单元两位的存储器中,在对下部页编程时将需要两个数据锁存器。更一般来说,对于存储多个页的存储器,将仅在对最高页编程时需要全部锁存器。这使得其它锁存器可用于高速缓冲存储器操作。此外,即使当写入所述最高页时,由于从写入操作的验证阶段移除了各种状态,所以锁存器将空闲。具体来说,一旦只剩下最高状态待验证,则只需要单个锁存器用于验证用途,而其它锁存器可用于高速缓冲存储器操作。
以下论述将基于每单元存储两个位且具有用于每一位线上的数据的两个锁存器及用于快速通过写入的一个额外锁存器的四状态存储器,在上文并入的标题为“在非易失性存储器的多阶段编程中使用数据锁存器”的美国专利申请案中描述了所述存储器,所述申请案是与本申请案同时申请的。写入下部页或擦除或进行擦除后软编程的操作基本上是二进制操作且数据锁存器中有一个是空闲的,其可用其来高速缓冲存储数据。类似地,在进行上部页或全序列写入时,一旦除最高电平以外全部经过验证,则只需要验证单个状态,且存储器可释放一锁存器,所述锁存器可用来高速缓冲存储数据。使用此锁存器的方式的一实例是在编程一页时(比如在复制操作中),可在写入的验证阶段期间省略对共享相同组数据锁存器的另一页(比如位于相同组位线上的另一字线)的读取。随后可将地址切换成正被写入的页,从而允许写入过程在其停止的地方继续进行而无需重新开始。当写入继续时,可切换出、检验或修改在所介入的读取期间高速缓冲存储的数据,且一旦较早的写入操作完成,便将所述数据传递回去以就位而用于回写。这种高速缓冲存储操作允许将对第二页数据的切出和修改隐藏在对第一页的编程背后。
举第一实例,在单页(下部页/上部页格式)编程模式下操作的两位存储器的高速缓冲存储器编程操作。图13是图10的简化版本,其展示了与两位实施例中的当前论述有关的一些特定元件,为了简化论述排除了其它元件。这些元件包含连接到数据I/O线231的数据锁存器DL0 434—0、通过线423连接到共同处理器500的数据锁存器DL1 434-1、通过线435与其它数据锁存器共同连接的数据锁存器DL2 434—2,以及通过线422连接到共同处理器500的读出放大器数据锁存器DLS 214。图13的各种元件是根据其在编程下部页期间的安排来标记。锁存器DL2 434—2在快速通过写入模式下用于下部验证(VL),如标题为“在非易失性存储器的多阶段编程中使用数据锁存器”的美国专利申请案中所描述,所述申请案是与本申请案同时申请的;包含寄存器和在包含寄存器时使用快速通过写入是任选的,但示范性实施例将包含此寄存器。
对下部页的编程可包含以下步骤:
(1)所述过程通过将数据锁存器DL0 434—0重设为默认值“1”而开始。此惯例做法用于使部分页编程简化,因为选定行中不待编程的单元将被禁止编程。
(2)将编程数据沿着I/O线231供应到DL0 434—0。
(3)将把编程数据传递到DL1 434-1和DL2 434-2(如果包含此锁存器且实施快速通过写入)。
(4)一旦将编程数据传递到DL1 434-1,便可将数据锁存器DL0 434-0重设成“1”,且在编程时间期间,可将下一数据页沿着I/O线231加载到DL0 434—0,从而允许在正写入第一页的同时高速缓冲存储第二页。
(5)一旦将第一页加载到DL1 434-1中,便可开始编程。DL1 434-1数据用于锁定单元使其不被进一步编程。DL2 434-2数据用于下部验证锁定,其管理向快速通过写入的第二阶段的转变,如标题为“在非易失性存储器的多阶段编程中使用数据锁存器”的美国专利申请案中所描述,所述申请案是与本申请案同时申请的。
(6)一旦编程开始,则在编程脉冲之后,用下部验证的结果来更新DL2 434-2;用较高验证的结果来更新DL1 434-1。(此论述是基于“常规”编码,其中对下部页的编程是编程到A状态。)在标题为“在非易失性存储器的多阶段编程中使用数据锁存器”的美国专利申请案(其是与本申请案同时申请的)及2005年3月16日申请的标题为“具有节省功率的读取及编程—验证操作的非易失性存储器及方法”("Non-Volatile Memoryand Method with Power-Saving Read and Program-Verify Operations")的美国专利申请案中进一步描述此编码及其它编码。容易将本论述扩展到其它编码。
(7)在确定编程是否完成的过程中,只检验行的单元(或适当的物理编程单位)的DL1 434-1寄存器。
一旦写入了下部页,便可编程上部页。图14展示与图13相同的元件,但指示对上部页编程的锁存器指派,其中下部页数据已读入。(描述再次使用常规编码,从而对上部页的编程是编程为B状态及C状态。)对上部页的编程可包含以下步骤:
(1)一旦下部页完成编程,便将用来自状态机控制器的信号开始上部页(或下一页)写入,其中保持(未执行的)高速缓冲存储器编程命令。
(2)将把编程数据从DL0 434-0(所述数据在下部页写入期间在步骤(3)中被载入该处)传递到DL1 434-1及DL2 434-2。
(3)将从阵列中读入下部页数据,且将其放置在DL0 434-0中。
(4)再次分别将DL1 434-1及DL2 434-2用于验证高和验证低锁定数据。将锁存器DL0 434-0(保存下部页数据)作为编程参考数据而检验,但不用检验结果对其进行更新。
(5)作为验证B状态的一部分,当在下部验证VBL处感测之后,将在DL2 434-2中相应地更新数据,其中用高验证VBH结果来更新DL1 434-1数据。类似地,C验证将具有对应的用相应的VCL和VCH结果更新锁存器DL2 434-2和DL1 434-1的命令。
(6)一旦完成了B数据,那么不需要下部页数据(保存在DL0 434-0中以用于参考),因为只需要执行对C状态的验证。将DL0 434-0重设成“1”,且可将另一页编程数据从I/O线231载入,并将其高速缓冲存储在锁存器DL0 434-0中。共同处理器500可设置将只验证C状态的指示。
(7)在确定上部页编程是否完成的过程中,针对B状态检验两个锁存器DL1 434-1和DL0 434-0。一旦将单元编程为B状态且只验证C状态,则只需要检验锁存器DL1434-1的数据以确定是否有任何位未被编程。
请注意,在此布置下,在步骤6中不再需要锁存器DL0 434-0且其可用来高速缓冲存储数据以用于下一编程操作。此外,在使用快速通过写入的实施例中,一旦进入第二缓慢编程阶段,也可使锁存器DL2 434-2可用于高速缓冲存储数据,但在实践中,情况经常是所述锁存器以此方式仅在非常短的时期内可用,所述时期不能证明实施此特征通常需要的附加的额外开销是合理的。
图15可用来说明在以上几个段落中描述的单页模式下的高速缓冲存储器编程的许多方面。图15展示在存储器内部发生(下部“真正繁忙”线)且从存储器外部可见的(上部“高速缓冲存储器繁忙”线)的事件的相对时序。
在时间t0时,将待编程到选定字线(WLn)上的下部页加载到存储器中。这假设之前尚未高速缓冲存储第一下部页数据,因为其将用于后续的页。在时间t1时,下部页完成加载且存储器开始将其写入。由于这在此点等同于二进制操作,所以只有状态A需要验证(“pvfyA”),且数据锁存器DL0 434-0可用于在时间t2时接收下一页数据,此处将所述下一页数据作为待编程到WLn中的上部页,所述数据因此在编程下部页期间被高速缓冲存储在锁存器DL0 434-0中。上部页在时间t3时完成加载,且可在下部页完成时立刻在t4时被编程。在此布置下,虽然全部数据(下部页和上部页)均待写入到编程的物理单位(此处为字线WLn)中,但存储器必须从时间t3等待到时间t4,然后才能写入上部页数据,这一点不同于下文描述的全序列实施例。
对上部页的编程在时间t4时开始,其中首先只验证B状态(“pvfyB”),在t5时添加C状态(“pvfyB/C”)。一旦在t6时不再验证B状态,便只需要验证C状态(“pvfyC”)且释放锁存器DL0 434-0。这允许在上部页完成编程的同时高速缓冲存储下一数据集。
可注意到,如图15所示,根据用于高速缓冲存储器编程的单页算法,即使上部页数据可能在时间t3时可用,存储器也将一直等待到时间t4然后才开始写入此数据。在转换成全序列编程操作时(比如在第11/013,125号美国专利申请案中更全面详述的),一旦上部页可用,便可同时编程上部页和下部页数据。
用于全序列(下部到全转换)写入中的高速缓冲存储器编程的算法与上文一样从下部页编程开始。因此,步骤(1)—(4)与单页编程模式下的下部页过程一样:
(1)所述过程通过将数据锁存器DL0 434—0重设为默认值“1”开始。此惯例做法用于使部分页编程简化,因为选定行中不待编程的单元将被禁止编程。
(2)将编程数据沿着I/O线231供应到DL0 434—0。
(3)将把编程数据传递到DL1 434-1和DL2 434-2(如果包含此锁存器且实施快速通过写入)。
(4)一旦将编程数据传递到DL1 434-1,便可将数据锁存器DL0 434-0重设成“1”,且在编程时间期间,可将下一数据页沿着I/O线231加载到DL0 434—0,从而允许在正写入第一页的同时高速缓冲存储第二页。
一旦加载了第二页数据,如果对应于正被写入的下部页的上部且下部页尚未完成编程,则可实施向全序列写入的转换。此论述集中于在此算法中使用数据锁存器,其中在第11/013,125号共同待决共同转让的美国专利申请案中更完整地详述了许多其它细节。
(5)在将上部页数据加载到DL0 434-0中之后,将在地址区块中进行判断以检验所述2页是否处于相同字线和相同区块上,其中一页是下部页且一页是上部页。如果是的话,那么编程状态机将把下部页编程触发成全序列编程转换(如果对此允许的话)。在完成任何待决的验证之后,随后实现转变。
(6)当编程序列从下部页改变成全序列时,有些操作参数通常将改变。在示范性实施例中,这些包含:
(i)如果下部页数据尚未被锁定,则针对脉冲验证循环数目的最大编程循环将从下部页算法的最大编程循环改变成全序列的最大编程循环,但已完成的编程循环数目将不被转换重设。
(ii)如图16所示,编程波形以下部页编程过程中使用的值VPGM_L开始。如果编程波形已进展到其超过上部页过程中使用的开始值VPGM_U的位置,则在转换到全序列时,阶梯将下降退回到VPGM_U,然后阶梯继续向上。
(iii)决定编程脉冲的阶梯大小和最大值的参数不改变。
(7)应执行对存储器单元的当前状态的全序列读取,以便确保将针对多电平编码编程正确的数据。这确保了在全序列开始时,先前可能已在下部页编程中被锁定但需要进一步编程以考虑其上部页数据的状态不会被禁止编程。
(8)如果激活了快速通过写入,则还将更新锁存器DL2 434-2的数据以反映上部页编程数据,因为这在之前是基于仅对A状态的下部验证。
(9)编程随后以多电平全序列编程算法继续。如果下部页过程中的编程波形已增加到超过上部页开始电平,则在转换的时候波形步进回到此电平,如图16所示。
图17是下部页到全序列转换写入过程中涉及的相对时间的示意图解。一直到时间t3,过程与针对上文图15的过程所述的一样。在t3时,上部页的数据已被加载,且转变到全序列算法,验证过程切换成包含B状态以及A状态。一旦全部A状态被锁定,验证过程便在时间t4时切换成针对B及C状态进行检验。一旦在t5已验证B状态,那么只需要检验C状态且可释放一寄存器以加载下一待编程的数据,比如在高速缓冲存储器繁忙线上指示的下一字线(WLn+1)上的下部页。在时间t6时,已高速缓冲存储此下一数据集,且一旦对用于前一集合的C数据的编程在t7时结束,此下一数据集便开始编程。此外,虽然正在编程字线WLn+1上的(此处为)下部页,但可将下一数据(比如对应的上部页数据)加载到开放的锁存器DL0 434-0中。
在全序列写入期间,用独立地给出下部页和上部页状态的方式实施状态报告。在编程序列结束时,如果存在未完成的位,则可对物理页执行扫描。第一扫描可检验锁存器DL0 434-0以寻找未完成的上部页数据,第二扫描可检验DL1 434-1以寻找未完成的下部页数据。由于对B状态的验证将改变DL0 434-0和DL1 434-1两者的数据,所以如果位的阈值高于A验证电平,则应用DL1 434-1数据“0”将改变成“1”的方式执行A状态验证。此种后验证将检验是否有任何在已编程B电平下的数据正在通过A电平;如果其正在通过A电平,那么错误只在上部页上而不在下部页上;如果其不在通过A电平,则下部页和上部页两者均具有错误。
如果使用高速缓冲存储器编程算法,则在编程了A数据和B数据之后,将把C状态传递到锁存器DL1 434-1以完成编程。在此情况下,不必针对下部页扫描锁存器,因为下部页将已经通过编程而且没有任何出现错误的位。
本发明的另一组示范性实施例涉及页复制操作,其中将一数据集从一个位置重新定位到另一位置。在以下专利中描述了数据重新定位操作的各个方面:2004年5月13申请的第US 10/846,289号美国专利申请案;2004年12月21日申请的第11/022,462号美国专利申请案;以及2004年8月9日申请的第US 10/915,039号美国专利申请案;及第6,266,273号美国专利,其全部以引用的方式并入本文中,其全部以引用的方式并入本文中。当将数据从一个位置复制到另一位置时,通常将所述数据切换出以进行检验(例如寻找错误)、更新(比如更新报头)或以上两者(比如校正检测到的错误)。此类传递也用以在垃圾收集操作中合并数据。本发明的一主要方面允许在写入操作的验证阶段期间插入对开放寄存器的数据读取,其中随后在写入操作继续时将此高速缓冲存储的数据从存储器装置中传出,从而允许用于将数据切换出的时间隐藏在写入操作背后。
下文呈现高速缓冲存储器页复制操作的两个示范性实施例。在所述两种情况下,描述使用快速通过写入实施方案的实施方案。图18指示当过程进展时锁存器的示范性布置的安排。
高速缓冲存储器页复制的第一版本将对下部页进行写入,且可包含以下步骤,其中将读取地址标记为M、M+1……且将写入地址标记为N、N+1……:
(1)将待复制的页(“页M”)读取到锁存器DL1 434-1中。这可为上部页或下部页数据。
(2)随后将页M传递到DL0 434-0中。
(3)随后将DL0 434-0中的数据切换出并对其进行修改,在此之后将其传递回到锁存器中。
(4)随后可开始编程序列。在将待写入到下部页N中的数据传递到DL1 434-1和DL2 434-2之后,锁存器DL0 434-0准备就绪以用于高速缓冲存储数据。将编程此下部页。对于此实施例,编程状态机将在此停止。
(5)随后将待复制的下一页读取到DL0 434-0中。随后可继续进行编程。在步骤(4)结束时停止的状态机将从头重新开始编程序列。
(6)编程继续进行,直到下部页完成为止。
复制目的地页地址将确定写入是针对下部页还是针对上部页。如果编程地址是上部页地址,那么编程序列将直到编程完成时才停止,且在写入完成之后将执行步骤(5)的读取。
在第二高速缓冲存储器页复制方法中,可暂停编程/验证过程以插入读取操作,且随后重新开始写入操作,在其停止的点处继续进行。随后可将在此交错感测操作期间读取的数据切换出,同时继续的写入操作继续进行。此外,此第二过程允许只有在正验证C状态且每一位线上的一个锁存器开放时在上部页或全序列写入过程中使用页复制机制。第二高速缓冲存储器页复制操作以与第一情况中相同的前三个步骤开始,但随后不同。其可包含以下步骤:
(1)将待复制的页(“页M”)读取到锁存器DL1 434-1中。这可为下部页或上部页。
(2)随后将来自页M的数据传递到DL0 434-0中。(与之前一样,N等将指示写入地址,M等用于读取地址。)
(3)随后将DL0 434-0中的数据切换出并对其进行修改,在此之后将其传递回到锁存器中。
(4)状态机编程将进入无限等待状态,直到输入命令读取命令为止,且随后将开始将另一页(如下一页M+1)读取到锁存器DL0 434-0。
(5)一旦完成步骤(4)的读取,便将地址切换回到字线和区块地址,以便将步骤(1到3)中的数据编程到页N(此处为下部页)中,且继续编程。
(6)在完成对页M+1的读取之后,可将数据切换出、修改和返回。一旦完成所述过程,如果所述两个页是相同WL上的对应的上部页和下部页,便可将写入转换成全序列操作。
(7)一旦在全序列写入中完成了A和B电平,便将把DL0 434-0中的数据传递到DL1 434-1,这与之前描述的正常高速缓冲存储器编程中一样,且可发出对另一页(例如页M+2)的读取命令。如果没有单页到全序列转换,则下部页将完成写入且随后上部页将开始。在完全完成了B电平状态之后,将发生相同的DL0 434-0到DL1 434-1的数据传递,且状态机将进入等待对页M+2的读取命令的状态。
(8)一旦读取命令到达,便将地址切换成读取地址,且读出下一页(页M+2)。
(9)一旦完成读取,便将把地址切换回先前上部页地址(编程地址N+1),直到写入完成为止。
如上所述,示范性实施例除了用于保存可编程到每一存储器单元中的数据(此处为2位数据)的锁存器DL0 434-0和DL1 434-1之外,还包含用于快速通过写入技术的下部验证的锁存器DL2 434-2。一旦通过下部验证,便也可释放锁存器DL2 434-2,且将其用于高速缓冲存储数据,但在示范性实施例中并未完成此操作。
图19A和图19B说明第二高速缓冲存储器页复制方法的相对时序,其中图19B说明具有全序列写入转换的算法,且图19A说明没有全序列写入转换的算法。(图19A和图19B两者均包括两个部分,第一上部部分在对应于t0的垂直虚线A处开始,且以对应于t5的垂直虚线B结束;第二下部部分是上部部分的接续,且以对应于t5的垂直虚线B开始。在这两种情况下,时间t5处的线B在上部部分中与在下部部分中相同,其仅仅是两个部分中的接缝,允许在两个线上显示该线。)
图19A展示以读取在此实例中视为下部页的第一页(页M)开始的过程,假设先前没有高速缓冲存储任何数据,且所述过程在单页模式下操作,并且一直等待到下部页已完成写入为止,然后才开始写入上部页。所述过程在时间t0时以对页M(感测页M(L))的读取开始,所述页M在此处为下部页,其在此编码中由处于A及C电平的读取来感测。在时间t1的时候,读取完成且可将页M切换出并对其进行检验或修改。在时间t2开始,通过在B电平下读取来感测下一页(此处为页M+1,是对应于与下部页M相同的物理页的上部页),所述过程在时间t3时完成。在此点,第一页(起源于页M)(下部)准备就绪在页N处编程回存储器中,且从页M+1读取的数据正被保存在锁存器中,且可被传递出去以被修改/检验。这两个过程可同时开始,此处在t3时开始。通过使用上述典型时间值,到时间t4为止已将来自页M+1的数据切换出并对其进行修改,然而,对于不实施全序列转换的实施例,存储器将一直等待到页N在时间t5时完成为止,以便开始将第二读取页数据(起源于页M+1)写入到页N+1中。
当页N+1处于上部页中时,其写入首先以处于B电平的验证开始,在t6时添加C电平。一旦在时间t7时将具有目标状态B的存储元件全部锁定(或达到最大计数),便停止B状态验证。如上所述,根据本发明的若干主要方面,这允许释放数据锁存器,暂停正在进行的写入操作,插入读取操作(在不同于暂停的编程/验证操作的地址处),随后写入在其停止之处继续,且可切换出插入的写入操作感测的数据,同时继续的写入操作继续进行。
在时间t7时,此处针对下部页M+2执行插入的写入操作。此感测在时间t8时完成,且对页N+1的写入继续进行,且同时对来自页M+2的数据进行切换出和修改。在此实例中,页N+1在时间t9时完成编程,然后页M+2在时间t10时完成。在时间t10时,可开始对起源于页M+2的数据的写入;然而,在此实施例中,实际上首先对页M+3执行读取,从而允许切换出此页的数据且将修改隐藏在将起源于页M+2的数据写入到页N+2(其在时间t11时开始)的背后。所述过程随后与图的先前部分中一样继续,但页的编号偏移,其中时间t11对应于时间t3,时间t12对应于时间t4,依此类推,直到复制过程停止为止。
图19B再次展示以读取下部页开始的过程,将页M视为下部页,且假设先前尚未高速缓冲存储任何数据。通过在时间t4时实施转换成全序列写入,图19B不同于图19A。这粗略地将所述过程加速了图19A的时间(t5—t4)。在时间t4(图19A中=t5)时,如上所述实施与全序列转换有关的各种变化。否则,所述过程类似于图19A的过程,包含在时间t7与t12之间发现的本发明的那些方面。
在页复制过程及本文中描述的其它涉及写入数据的技术中,可沿着第US-2004-0109362-A1号美国专利公开案中描述的线智能地选择在给定时间验证哪些状态,所述公开案以引用的方式并入本文中。举例来说,在全序列写入中,写入过程可开始仅验证A电平。在每次A验证之后,检验是否通过任何位。如果是的话,则可将B电平添加到验证阶段。在所有具有A电平作为其目标值的存储单位验证(或除了基于一可设置参数的最大计数之外)之后将移除A电平验证。类似地,在B电平下的验证之后,可添加C电平的验证,其中在所有具有B电平作为其目标值的存储单位验证(或除了基于一可设置参数的最大计数之外)之后移除B电平验证。
相对于优选多状态编码描述针对其它操作高速缓冲存储背景数据的编程操作。
用于4状态存储器的示范性优选“LM”编码
图20说明对用2位逻辑码(“LM”码)编码的4状态存储器的编程和读取。此码提供故障容限,且缓解了因Yupin效应引起的相邻单元耦合。图20说明在每一存储器单元使用LM码存储两位数据时4状态存储器阵列的阈值电压分布。LM编码与常规格雷码的不同在于,上部位和下部位对于状态“A”和“C”是颠倒的。在第6,657,891号美国专利中揭示了“LM”码,且其在通过避免需要电荷大量改变的编程操作而减少邻近浮动栅极之间的场效应耦合的方面是有利的。
将编码设计为可分别编程和读取2位,下部位和上部位。当编程下部位时,单元的阈值电平保持处于未编程区,或移动到阈值窗的“中下部”区。当编程上部位时,这两个区中的任一区内的阈值电平进一步提高到略高的电平,其不超过阈值窗的四分之一。
对数据模式的用户驱动的伪随机化
存储器EEPROM或芯片及随机化方法的各种实施例试图最小化因重复性数据存储模式引起的问题,比如增加的NAND串电阻、降低的耐久性和可靠性,以及不合需要的耦合。本发明的伪随机化技术是实际的,且在数据处理能力方面,其实施起来成本不高。
本发明包含实施对在快闪存储器芯片上存储的数据的伪随机化和真正基于用户的随机化的不同实施例及方法。所有实施例均具有只需要在快闪EEPROM中实施简单且微小的电路修改的优点。这是值得的,因为所述随机化技术及电路的计算不密集,且实施起来性能损失较小,甚至没有性能损失。本发明的解决方案也是灵活的,因为可在任何时候容易地启用或停用随机化。此外,在特定实施例中利用的伪随机化的模式可用许多方式改变,且容易及时改变。
图21说明EEPROM或存储器芯片600的与随机化过程有关的主要组件。芯片600包括存储器阵列602、外围电路中的寄存器610及多路复用器614。芯片600的其它组件将在额外的图中说明且参考所述图描述。寄存器610能够保存多个位,且可包括多个寄存器。在一些实施例中,其充当移位寄存器。存储器阵列602包括隐藏区域604和用户数据区域606。隐藏区域可用来存储固件和其它额外开销数据,比如存储器操作控制码。在NAND结构中,如上所述,将数据组织成区块,每一区块可包括多页数据。在特定实施例中,将既没有寄存器610也没有多路复用器614。
本发明的各个实施例将减少或消除对特定数据模式的长期且重复的存储,其可能导致编程干扰或用户读取干扰。其通过由伪随机机制或由用户触发的随机化改变对数据的编码来进行此操作。因为用户活动的定时是完全无法预测的,所以使用所述活动作为触发会导致编码方案的真正随机序列。每一实施例还将减少NAND串电阻效应,提高存储器耐久性及可靠性,且减少浮动栅极到浮动栅极耦合的问题。
每一实施例仅要求对快闪EEPROM的电路进行细微的修改,但同时将极大地提高数据存储的随机性,且因此提高EEPROM的性能。可容易地在阵列内启用或停用对数据的随机化。此外,负责伪随机化的序列可连续改变,从而在系统内提供灵活性。
在一个实施例中,将可为零或一的码或位序列存储在阵列602的隐藏区域604中。隐藏区域604的存储所述码的部分可称为“ROM区块”。所述码可包括2个或2个以上位,但优选包括17个或17个以上位。位越多,随机性将越大。在芯片600通电后,将所述值加载到寄存器610中。将寄存器中的每一位指派于一特定页地址。将每一位与页的页地址进行比较,且基于所述比较,对页的数据的编码将被反转或将对所述页保持相同(通过)。举例来说,用于所述位的0值可用来指示数据的编码方案将保持相同,而寄存器中的1值可指示对页内的数据的编码将被反转。如果所述码包括少于区块内的页数的位,则可将所述码应用于一个或一个以上页的一个以上群组。换句话说,可连续重复使用所述码,直到所有页均经过比较为止。所述码也可在循环间改变。或者,可通过多路复用器614对所述码进行多路复用,使得一个码的一个位将确定存储在用户数据区域602中的多页数据的编码。码的每一位可称为极性位,因为其用来改变针对用户数据的某个部分采用的编码的极性。这在图22A中描绘。在此情况下,编码是基于页地址,从而已知页0、N具有1的极性,而页1、n+1具有极性0,且页2、n+2具有极性1,依此类推。因此,在编码是基于页地址的实施例中,不必随页存储极性位,但出于冗余目的可这么做。
下文可见且在图22B中复制的表1说明向用户数据的若干部分应用寄存器610中的码的极性位。虽然可对任何用户数据部分进行比较且将其与特定的极性位相关联,但所描述的优选实施例将页说明为基本单位。

表1
从表中可看出,码的每一(极性)位将确定位的原始编码(数据)是将保持相同还是将改变。举例来说,看寄存器位置1,所述位置中的极性码具有1的值。因此,在1指示数据将被反转的实施例中,将把用户数据的存储为0的原始位反转成1的值。所述表说明多状态单元,其中用2个位来定义一状态。状态如图20所示,且可从图20中看出,上部位和下部位定义状态。在图20所示的类型的2位或4状态存储器单元中,(1:1)定义擦除(“ER”)或未编程(“U”)状态;(0:1)定义状态A;(0:0)定义状态B;且(1:0)定义状态C。上部位和下部位可在物理上位于单个存储器单元内。可将相同或不同的码应用于另一群组的数据,以便结合对应于经应用以确定状态的下一码的位1的数据来使用对应于位17的所述群组的数据。每一极性寄存器将控制用于对应页上的所有数据的极性。下部位和上部位优选位于相同的物理字线上。表1中给出的实例说明了极性位在许多字线上将简单模式转换成随机模式的功能。在位于相同NAND链结构上的数据上实现随机化,在图22C中提供其一实例以说明此概念。
在图22C中,在NAND串或链的每一所说明的单元处说明给定单元的下部位和上部位。所示的NAND串只不过是一实例,且当然可能在一串中存在更多或更少的单元,且可对本发明使用不同于所示结构的结构。举例来说,也可采用存储3个、4个或更多个位的单元。此外,应记住,极性位优选应用于一页或一页以上数据,但展示了在位级别上的应用以说明位反转的概念,特别是在多状态存储器中。在图22C中,将极性位应用于用户数据的每一位,且将经极性位反转或通过的所得用户数据标记为保存的数据。保存的数据是随后将作为随机化操作的结果而被写入到存储器阵列且被存储的数据。可看出,在图的右方指示的状态是由单元的上部位和下部位来定义的。图22C中采用的术语“保存的数据”对应于表1和图22B中称为“用户数据(UD)后续编码”的内容。
在另一实施例中,将寄存器610配置为移位寄存器。对照其中一次使用码的所有位的实施例,在此实施例中,一次将只使用寄存器的一个位。当用户发出命令时,移位寄存器将移位到下一位。在传入的用户页上使用的极性位将来自最后的寄存器输出。这优选在命令的上升沿上完成。触发命令可以是编程命令、高速缓冲存储器编程命令、读取命令、擦除命令或其它由用户发出的命令。图23B中展示了一实例编程命令信号。展示了与所述命令相关联的时钟信号,且用户的请求将触发命令的实例化,所述用户命令的定时和类型是无法预测的且本质上是随机的。图23A说明与用户命令相关联的作为输入中确定极性位的一个输入的时钟信号。图中的另一输入是用户数据。如上所述,应用极性位将使对数据的编码反转或使其保持原样。
图23C说明用于数据反转的控制电路的一实例。具有单个反相器的数据路径将导致编码反转,而具有两个串联反相器的路径将导致数据编码方案不变。在此情况下,与一群组的数据相关联的极性位将与所述群组的数据一起存储。举例来说,在图23D中可看出,对于一页数据630,用于用户区域636中的数据的极性位632将被编程到页630的隐藏区域634中。当读取页630时,将把极性位632传递出且锁存以控制输出数据,且将在编码方案被反转的情况下将其恢复,这是由图23E所示的示范性电路完成的。以此方式,页的极性将被恢复成其原始编码。
移位寄存器所利用的码的模式可更改,且可针对不同的应用而被修改。如果将所有位设置成零(在零指示无变化的情况下),那么将停用随机化。虽然寄存器中的位的模式是伪随机的,但用户行为无法预测,且因此在任何给定时间的所得极性也无法预测且是随机的。用户行为的两个实例如下:1)用户编程一些页且跳到不同的地址以读取或编程一些页或擦除一些区块,然后返回到发生最后编程的区块并继续编程更多的页;以及2)用户循序编程所有页而不跳到另一地址。在情况1中,可针对每一用户命令触发新的极性,而在情况2中,循序编程将利用一个极性位且是基于一个极性位。因此,即使在这两种情况下用户希望存储的原始数据可能是相同的,在这两种情况下在存储器中的最终编程的数据将很可能对于各种个别页和页的群组中的至少一些来说是不同的。请注意,EEPROM通常受控制器芯片的控制,且“用户”的一些动作可能是控制器芯片的动作。
在另一实施例中,极性位也是因用户命令(比如先前描述的高速缓冲存储器编程操作)而随机产生的。此实施例利用两个未经同步的输入。第一个输入是用户命令的定时,其如先前所述是无法预测的。第二个输入是有限状态机时钟。在特定存储器系统中,有限状态机时钟只有在特定时候(例如,在高速缓冲存储器操作期间)才是有效的,而在其它系统中其可能总是有效。每当存储器系统的有限状态机时钟有效,此实施例的此技术便可用。
在用户命令时钟信号的上升沿处,参考有限状态机(“FSM”)时钟的电平或状态。从图24A中可看出,所述状态可能是高或低。低状态可对应于零的极性位(但相反对应关系也是可能的)。在时间t=0时,FSM为低,且因此极性位将为零,如上所述这指示数据编码未发生变化。在时间t=1时,FSM为高,且极性位将为一,而在时间t=3时,FSM再度处于低状态。在一些实施例中,一旦发出了执行命令且感测到执行命令,便将极性位632加载到隐藏区域634中。在其它实施例中,可将极性位632临时存储在系统的另一存储器中。图24B说明如上所述用以确定极性位的示范性电路。反相器将同样优选为上升沿触发。
虽然已描述了本发明的实施例,但应了解,本发明不限于这些说明性实施例,而是由随附权利要求书定义。

对于快闪存储器中的循环效应的伪随机及命令驱动位补偿及其方法.pdf_第1页
第1页 / 共58页
对于快闪存储器中的循环效应的伪随机及命令驱动位补偿及其方法.pdf_第2页
第2页 / 共58页
对于快闪存储器中的循环效应的伪随机及命令驱动位补偿及其方法.pdf_第3页
第3页 / 共58页
点击查看更多>>
资源描述

《对于快闪存储器中的循环效应的伪随机及命令驱动位补偿及其方法.pdf》由会员分享,可在线阅读,更多相关《对于快闪存储器中的循环效应的伪随机及命令驱动位补偿及其方法.pdf(58页珍藏版)》请在专利查询网上搜索。

在快闪存储器EEPROM内容易实施的随机化减少了因特定数据模式的重复且长期的存储而导致的NAND串电阻效应、编程干扰、用户读取干扰及浮动栅极到浮动栅极耦合。在不同实施例中,所述随机化可为由码产生的伪随机化或由用户驱动的随机化。定时无法被预测的由用户驱动的命令可用来触发和实现高级随机化。随机地改变数据的编码方案防止了特定数据模式的重复且长期的存储。即使用户希望长期存储相同信息,或重复存储所述信息,也。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 信息存储


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1