用于三维垂直快闪存储器的编码方案的制作方法_2

文档序号:9668739阅读:来源:国知局
识别,并且随后的数据可以被写入存储器,从而在遭受解陷俘的存储器单元和存储新数据的存储器单元之间刻意引起单元间干扰(ICI)。相应地,可以减少由解陷俘引起的错误。
[0050]图1示出描述了根据本公开的实施例的计算结构100的方框图。计算结构100可以包括额外的未被描述的元件。计算结构100可以包含客户端计算系统110、120和130以及服务器150和160。客户端计算系统110、120和130以及服务器150和160可以实现图2中示出的计算系统200。客户端110-130和服务器150-160中的每一个可以被通信耦合到网络140。服务器150可以被连接到多个存储设备152至154。客户端110-130也可以被连接到多个存储设备(未示出)。服务器160可以被连接到多个存储设备162至164。尽管仅两个存储设备被显示成耦合到服务器150和160,但是可以提供额外的存储设备。在一些情况下,存储设备152、154、162和164可以是非易失存储器存储系统。例如,存储设备152、154、162和164可以是固态存储器(例如,快闪存储器、NAND闪存等)、光学存储器或磁性存储器。
[0051]图2示出描述了根据本公开的实施例的计算机系统200的方框图。计算机系统200可以包含总线210,其连接计算机系统200的子系统,包括中央处理器214、系统存储器216(例如,RAM(随机存取存储器)、R0M(只读存储器)、快闪RAM等)、输入/输出(I/O)控制器218和网络接口 220。网络接口 200可以将计算机系统200通信耦合到网络222 (例如,局域网、广域网、因特网等)。总线210也可以将存储器接口 230连接到存储器232,将非易失存储器接口 234连接到非易失存储器236,以及将主机总线适配器(HBA)连接到串行ATA(SATA)总线240。SATA总线240可以将计算机系统200连接到额外的存储系统。计算机系统200可以包含未不出的额外设备或子系统。
[0052]图3示出的方框图描述了根据本公开的实施例的非易失存储器存储系统300。非易失存储器存储系统300可以包括主机系统310、存储器控制器320和非易失存储器存储系统332-336。非易失存储器存储系统300可以在客户端110-130以及服务器150和160中的任何一个上实现。例如,客户端110-130以及服务器150和160中的任何一个可以是主机系统310,具有至少一个执行应用软件314的CPU 312。在一些情况下,主机系统310可以在至少一个CPU 312上执行应用软件314,以便经由存储器控制器320执行非易失存储器存储系统332-336上的操作。
[0053]应用软件314可以是任何可应用的软件,用于执行在非易失存储器存储系统300上的操作(读、写、擦除、控制操作等)。例如,应用软件314可以读或写被存储在非易失存储器(NVM)存储系统332-336的任何一个上的数据。应用软件310可以经由存储器控制器320在NVM存储系统332-336上实现操作。
[0054]图3中示出的存储器控制器320可以是存储器控制器,用于在附接的NVM存储系统332-336上执行操作。尤其是,存储器控制器320可以提供执行访问NVM存储系统332-336的应用软件314的处理器(例如,CPU 312)。在一些情况下,存储器控制器320可以实现在每个NVM存储系统332-336上,或者作为分离的计算机系统(例如,服务器150)的一部分。在其它的情况下,单个存储器控制器可以被设置以控制NVM存储系统332-336。控制器320可以提供缓存或队列,以临时存储将在NVM存储系统332-336上实现的操作。控制器320也可以编码将被写入NVM存储系统332-336的数据。
[0055]图4示出了根据本公开的实施例的编码控制模块400。如图示的,编码控制模块400可以包含一个或多个部件,包括缺陷检测模块410、编码器模块420和控制模块430。
[0056]缺陷检测模块410可以检测NVM存储系统内的缺陷。例如,缺陷检测模块410可以检测NVM存储系统、诸如NVM存储系统332-336内的缺陷。在一些实施例中,在将数据写入NVM存储系统之后,缺陷检测模块410可以通过从NVM存储系统读取数据而检测NVM存储系统内的缺陷。在一些情况下,数据可以在写入之后立即从NVM读回。该缺陷信息可以随后被提供到编码器模块420,以便当将新数据写入NVM存储系统时,补偿任何缺陷或错误。
[0057]在一些实施例中,检测模块410可以确定NVM存储系统内由解陷俘引起的缺陷。解陷俘由电荷捕获层中的被捕获电子在存储器单元编程之后从隧穿出来而引起。作为解陷俘的结果,电荷丢失,并且对应的存储器单元的阈值电压使阈值电压分布劣化。下面更加详细地对此进行了描述和显示。解陷俘通常在完成写入操作之后立即发生,并且在大约1秒内饱和。为了确定由解陷俘引起的缺陷,在利用预定的电压阈值(ντ)写入数据之后,缺陷检测模块410可以从NVM读取数据,并且将读取的数据与先前写入的信息进行比较。可替换地,模块410可以读取基于多个电压阈值的数据并且比较结果。基于该比较,可以识别遭受解陷俘的存储器单元及其对应的位置(例如,字线、位线和字符串选择线)。
[0058]编码器模块420可以基于预定的算法编码将被写入NVM存储系统的数据。在一些情况下,编码器模块420可以从缺陷检测模块410接收缺陷信息并且当编码将被写入NVM存储系统的数据时并入该信息。例如,编码器模块420可以编码并且映射待写入NVM的数据的单元位置,以考虑遭受解陷俘的存储器单元。在一些实施例中,当编码待写入的数据时,编码器模块420也可以考虑单元间干扰。例如,编码器模块420可以编码待写入的数据,从而使它被刻意地存储在存储器上靠近遭受解陷俘的存储器单元的位置处,以便刻意地引起单元间干扰。作为编码并且将数据写入靠近遭受解陷俘的存储器单元的位置的结果,电荷可以被注入遭受解陷俘的存储器单元内,以增加由单元间干扰引起的阈值电压。编码器模块420可以将编码的数据提供到控制模块430,用于随后将编码的数据写入NVM存储器,从而当数据被写入存储器时,可以减少由于解陷俘的错误。
[0059]控制模块430可以使数据将被写到NVM存储系统上并且使数据从NVM存储系统读取,以及执行额外的背景操作。在一些实施例中,控制模块430可以从编码器模块420接收被编码的数据并且使所述数据被写到NVM存储系统(例如,NVM存储系统332-336)上。控制模块430也可以使从NVM存储系统(例如,NVM存储系统332-336)读取数据。例如,在写入数据之后,控制模块430可以从NVM读取数据,并且将读取的数据提供到缺陷检测模块410,用于缺陷检测。
[0060]图5示出了根据本公开的实施例的用于编码数据的方法500。在一些实施例中,方法500可以在硬件级、诸如控制器320上被实现。在方框510处,方法500可以开始。
[0061]在方框512处,数据可以被写入存储器。在一些实施例中,控制模块430可以使数据被写入存储器。在方框512处被写入存储器的数据可以是用户数据或者预定的数据模式。在一些情况下,存储器可以是NVM存储系统,诸如NAND快闪存储器。下面关于图7描述将数据写入存储器的实例。当数据在方框512处已被写入之后,整个过程可以进行到方框 514。
[0062]在方框514处可以从存储器读取在方框512处写入的数据。在一些实施例中,控制模块430可以导致从存储器(例如,快闪存储器)读取先前在方框512处写入的数据。在一些情况下,控制模块430可以基于不同的阈值(VT)从存储器多次读取数据。从存储器读取的数据可以随后被提供到缺陷检测模块410进行分析。当在方框514处已经从存储器读取数据之后,整个过程可以进行到方框516。
[0063]在方框516处,可以分析在方框514处从存储器读取的数据,以确定数据中是否存在任何错误,并且也确定在存储数据的存储器单元中是否存在任何对应的缺陷。在一些实施例中,缺陷检测模块410可以分析读取的数据,以识别遭受解陷俘的存储器单元。例如,缺陷检测模块410可以存储在方框512处写入的原始数据,并且比较在方框514处从存储器读回的数据,以识别有缺陷的存储器单元。也可以基于所述比较确定遭受解陷俘的存储器单元的位置。在另一实例中,缺陷检测模块410可以利用基于不同的电压阈值从存储器读取的数据,以识别错误和遭受解陷俘的存储器单元。下面关于图8描述其实例。当数据已经在方框516处被分析之后,整个过程可以进行到方框518。
[0064]在方框518处,可以编码待写入存储器的新数据。在一些实施例中,数据可以被编码器模块420编码。可以利用在方框516处确定的缺陷信息编码待写入的数据。尤其是,编码器模块420可以确定存储器
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1