读取干扰收回策略的制作方法

文档序号:12485376阅读:202来源:国知局
本申请要求于2015年6月16日提交的临时申请号为62/180,506的美国临时申请的权益,其全部内容在此通过引用并入本文。
技术领域
本公开的示例性实施例涉及一种存储器系统及其操作方法。
背景技术
:计算机环境范例已经转变至可随时随地使用的普适计算系统。由于该事实,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用一直快速增加。这些便携式电子装置通常使用具有存储器装置即数据存储装置的存储器系统。数据存储装置被用作便携式电子装置的主存储器装置或辅助存储器装置。由于使用存储器装置的数据存储装置没有移动部件,所以它们提供良好的稳定性、耐用性、高的信息存取速度以及低功耗。具有这种优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。技术实现要素:本发明的方面包括存储器系统。存储器系统可包括:存储器,其包括多个存储块;以及控制器,其适于通过考虑直接邻近读取干扰计数和非直接邻近读取干扰计数两者来计算有效读取干扰、为测试读取选择具有最大有效读取干扰的字线以及基于字线上的错误决定是否收回块的数据。本发明的进一步的方面包括方法。该方法可以包括通过考虑直接邻近读取干扰计数和非直接邻近读取干扰计数两者来计算有效读取干扰度量、为测试读取选择具有最大有效读取干扰的字线以及基于字线上的错误决定是否收回块的数据。本发明的附加方面包括存储器装置。存储器装置可包括:存储器,其包括多个存储块;第一计数器;第二计数器;以及装置,用于通过考虑直接邻近读取干扰计数和非直接邻近读取干扰计数两者来计算有效读取干扰度量、为测试读取选择具有最大有效读取干扰的字线以及基于字线上的错误决定是否收回块的数据。附图说明图1是示意性示出根据本发明的实施例的存储器系统的框图。图2是示出根据本发明的实施例的存储器系统的框图。图3是示出根据本发明的实施例的存储器装置的存储块的电路图。图4是在不同P/E周期的不同读取干扰的直接邻近字线与非直接邻近字线的原始位错误率比的示例。图5是对不同字线的读取以及被记录的干扰计数的示例。图6是根据本发明的方面的示例系统的简图。图7是根据本发明的方面的方法的步骤的流程图。图8是根据本发明的方面的算法。具体实施方式下面将参照附图更详细地描述各种实施例。然而,本发明可以不同的形式呈现且不应被解释为限于在本文中提出的实施例。而是,这些实施例被提供使得本公开将是彻底且完整的并将本发明的范围充分传达给本领域技术人员。在整个公开中,相似的参考编号指的是本发明的各种附图和实施例中的相似部件。本发明可以多种方式实施,包括作为进程;设备;系统;物质组分;呈现在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如适用于执行存储在联接至处理器的存储器上和/或由联接至处理器的存储器提供的指令的处理器。在本说明书中,这些实施例或本发明可采用的任何其它形式可被称为技术。通常,公开的进程的步骤的顺序可在本发明的范围内改变。除非另有说明,否则诸如被描述为适用于执行任务的处理器或存储器的组件可被实施为在给定时间临时适用于执行任务的一般组件或被制造为执行任务的专用组件。如在此所使用的,术语“处理器”是指适用于处理数据的一个或多个装置、电路和/或处理核心,诸如计算机程序指令。下面连同示出本发明的原理的附图一起提供本发明的一个或多个实施例的详细说明。结合这些实施例描述本发明,但本发明不限于任意实施例。本发明的范围仅由权利要求限制且本发明包含许多可选方案、变型和等同方案。为了能够彻底理解本发明,在下面的描述中阐述许多具体细节。这些细节被提供以用于示例的目的,且在没有一些或全部这些具体细节的情况下,本发明可根据权利要求来实施。为了清楚的目的,没有详细描述在与本发明相关的
技术领域
中已知的技术材料使得本发明没有被不必要地模糊。图1是示意性示出根据本发明的实施例的存储器系统10的框图。参照图1,存储器系统10可包括存储器控制器100和半导体存储器装置200。存储器控制器1000可以控制半导体存储器装置200的全部操作。半导体存储器装置200可在存储器控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。半导体存储器装置200可通过输入/输出线接收命令CMD、地址ADDR和数据DATA。半导体存储器装置200可通过电源线接收电源PWR以及通过控制线接收控制信号CTRL。控制信号可包括命令锁存启用(CLE)信号、地址锁存启用(ALE)信号、芯片启用(CE)信号、写入启用(WE)信号、读取启用(RE)信号等。存储器控制器100和半导体存储器装置200可被集成在单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可被集成在诸如固态驱动器(SSD)的单个半导体装置中。固态驱动器可包括用于将数据存储在其中的存储装置。当半导体存储器系统10被用在SSD中时,联接至存储器系统10的主机(未示出)的操作速度可显著提高。存储器控制器100和半导体存储器装置200可被集成在诸如存储卡的单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可被集成在单个半导体装置中以配置诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)的PC卡、标准闪存(CF)卡、智能多媒体(SM)卡、记忆棒、多媒体卡(MMC)、减小尺寸的多媒体卡(RS-MMC)、微型版MMC(微型MMC)、安全数码(SD)卡、迷你安全数字(迷你SD)卡、微型安全数字(微型SD)卡、安全数字高容量(SDHC)以及通用闪速存储器(UFS)。作为另一个示例,存储器系统10可被设置为诸如以下的包括电子装置的各种元件中的一个:计算机、超便携移动PC(UMPC)、工作站、上网本计算机、个人数字助理(PDA)、便携式计算机、网络平板PC、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏装置、航海装置、黑匣子、数码相机、数码多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境下接收和传输信息的装置、家庭网络的电子装置中的一个、计算机网络的电子装置中的一个、远程信息处理网络的电子装置中的一个、射频识别(RFID)装置或计算系统的元件装置。图2是示出根据本发明的实施例的存储器系统的详细框图。例如,图2的存储器系统可描述图1中示出的存储器系统10。参照图2,存储器系统10可包括存储器控制器100和半导体存储器装置200。存储器系统10可响应于来自主机装置的请求而操作,尤其是,存储待被由主机装置访问的数据。主机装置可利用各种电子装置中的任意一种来实施。在一些实施例中,主机装置可包括诸如台式计算机、工作站、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图像记录器、数字图像播放器、数字视频记录器和数字视频播放器的电子装置。在一些实施例,主机装置可包括诸如移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP)和便携式游戏机的便携式电子装置。存储器装置200可存储待被由主机装置访问的数据。存储器装置200可利用诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)和电阻式RAM(RRAM)的非易失存储器装置来实施。控制器100可控制存储器装置200中数据的存储。例如,控制器100可响应于来自主机装置的请求控制存储器装置200。控制器100可将从存储器装置200读取的数据提供至主机装置,并将从主机装置提供的数据存储在存储器装置200中。控制器100可包括通过总线160联接的存储单元110、控制单元120、错误纠正码(ECC)单元130、主机接口140和存储器接口150。存储单元110可用作存储器系统10和控制器100的工作存储器并存储用于驱动存储器系统10和控制器100的数据。当控制器100控制存储器装置200的操作时,存储单元110可存储被控制器100和存储器装置200用于诸如读取操作、写入操作、编程操作和擦除操作的数据。存储单元110可利用易失性存储器来实施。存储单元110可利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。如上所述,存储单元110可将主机装置使用的数据存储在存储器装置200中以用于读取操作和写入操作。为了存储数据,存储单元110可包括编程存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。控制单元120可响应于来自主机装置的写入请求或读取请求而控制存储器系统10的一般操作和用于存储器装置200的写入操作或读取操作。控制单元120可驱动被称为闪存转换层(FTL)的固件以控制存储器系统10的一般操作。例如,FTL可执行诸如逻辑-物理(L2P)映射、损耗均衡、碎片收集和坏块处理的操作。L2P映射被称为逻辑块寻址(LBA)。ECC单元130可检测并纠正在读取操作期间从存储器装置200读取的数据中的错误。当错误位的数量大于或等于可纠正错误位的阈值数量时,ECC单元130可不纠正错误位,而是可输出表示纠正错误位失败的错误纠正失败信号。在一些实施例中,ECC单元130可基于诸如低密度奇偶检查(LDPC)码、博斯-查德胡里-霍昆格姆(BCH)码、涡轮(turbo)码、涡轮乘积码(TPC)、里德-所罗门(RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等的编码调制来执行错误纠正操作。ECC单元130可包括用于错误纠正操作的所有电路、系统或装置。主机接口140可通过诸如通用串行总线(USB)、多媒体卡(MMC)、外围组件互连高速(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和集成驱动电路(IDE)的各种接口协议中的一个或多个与主机装置通信。存储器接口150可提供控制器100和存储器装置200之间的接口以允许控制器100响应于来自主机装置的请求而控制存储器装置200。存储器接口150可在CPU120的控制器下生成用于存储器装置200的控制器信号并处理数据。当存储器装置200是诸如NAND闪速存储器的闪速存储器时,存储器接口150可在CPU120的控制器下生成用于存储器装置200的控制器信号并处理数据。存储器装置200可包括存储单元阵列210、控制电路220、电压生成电路230、行解码器240、页面缓冲器250、列解码器260和输入/输出电路270。存储单元阵列210可包括多个存储块211并可将数据存储在其中。电压生成电路230、行解码器240、页面缓冲器250、列解码器260和输入/输出电路270形成用于存储器单元阵列210的外围电路。外围电路可执行存储器单元阵列210的编程操作、读取操作或擦除操作。控制电路220可控制外围电路。电压生成电路230可生成具有各种电平的操作电压。例如,在擦除操作中,电压生成电路230可生成具有各种电平的操作电压,诸如擦除电压和过电压。行解码器240可连接至电压生成电路230和多个存储块211。行解码器240可响应于由控制电路220生成的行地址RADD选择多个存储块211中的至少一个存储块,并将从电压生成电路230供应的操作电压传输至在多个存储块211中选择的存储块。页面缓冲器250通过位线BL(未示出)连接至存储器单元阵列210。页面缓冲器250可响应于由控制电路220生成的页面缓冲器控制信号利用正电压对位线BL预充电、在编程操作中将数据传输至选择的存储块/在读取操作中从选择的存储块接收数据或临时存储传输的数据。列解码器260可将数据传输至页面缓冲器250/从页面缓冲器250接收数据或将数据传输至输入电路270/从输出电路270接收数据。输入/输出电路270可通过输入/输出电路270将从外部装置(例如,存储器控制器100)传输的命令和地址传输至控制电路220、将数据从外部装置传输至列解码器260或将数据从列解码器260输出至外部装置。控制电路220可响应于命令和地址控制外围电路。图3是示出根据本发明的实施例的半导体存储器装置的存储块的电路图。例如,图3的存储块可以是图2中示出的存储器单元阵列210的存储块211。参照图3,存储块211可包括分别联接至位线BL0至BLm-1的多个单元字符串221。每列的单元字符串可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元或存储器单元晶体管可串行地联接在选择晶体管DST和SST。存储单元MC0至MCn-1中的每个可由每个单元中都存储多位数据信息的多层单元(MLC)形成。单元字符串221可分别电联接至对应的位线BL0至BLm-1。在一些实施例中,存储块211可包括NAND型闪速存储单元。然而,存储块211不限于NAND闪速存储器,而是可包括NOR型闪速存储器、结合两个或多个类型的存储单元的混合闪速存储器和控制器被嵌入在存储芯片内部的1-NAND闪速存储器。累积读取干扰错误是闪存错误的主要来源之一。当字线上的单元被读取时,相同块中的其它字线上的单元将受到读取操作期间应用的相对高的Vpass电压的干扰。尽管一个读取操作对字线具有非常小的影响,但随时间的累积读取可能最终引入足够的错误,使得错误的总数将大于ECC错误纠正能力,导致不可纠正的错误和数据丢失。读取干扰错误可通过闪存纠正和刷新来克服。主要理念是在闪存介质累积比ECC可纠正的错误更多的过多错误之前从闪速存储器读取数据、利用闪速控制器中的ECC引擎纠正这些错误以及将无错误数据重编程到闪速存储器中。一个关键问题是在错误变成不可纠正之前何时收回读取干扰下的数据。当前解决方案的问题是它们假设在非邻近字线上的读取干扰是可以忽略的并且只对由直接邻近字线引起的读取干扰进行计数。例如,当字线n被读取时,其直接邻近的字线(n-1)和字线(n+1)的读取干扰计数增加1以对读取干扰的数量进行计数。其它非直接字线的读取干扰计数没有被计算。在典型实施例中,一旦读取特定阈值即10k次,在块内具有最大读取干扰的字线将会被检查。如果错误计数大于阈值,例如,ECC错误纠正能力的70%,则在块内的数据将会被收回。然而,在某些情况下这可能是不正确的,将会参照图7对其进行进一步的检查。当字线被读取时,它的非直接邻近字线也将会受到读取干扰。图4示出在不同P/E周期的不同读取干扰的直接邻近字线与非直接邻近字线的原始位错误率比的示例。参照图4,字线n被重复读取并且为非直接邻近字线的字线n-2和为直接邻近字线的n-1的原始位错误率在对字线n执行特定数量的读取之后被测量。为了对其进行更好地说明,图4示出直接邻近字线n-1的MSB页面与非直接邻近字线n-2的MSB页面的的错误率比。x轴是读取干扰计数,y轴是直接邻近与非直接邻近的错误比。作为实验的结果,非直接邻近字线的读取干扰错误率大约是直接邻近字线的一半。由于此,如果只考虑直接邻近干扰,忽略读取干扰对非直接邻近字线的影响可能不会发现最被干扰的字线。当在这样的字线上的读取干扰错误超过ECC错误纠正能力时,这可进一步导致数据丢失。图5示出对不同字线的读取和被记录的干扰计数的示例。参照图5,WL(1)和WL(3)被读取4.9k次。WL(2)被读取10k次,WL(7)被读取9.8k次。因此,WL(2)是最热门的字线并且被读取了10k次,并且WL(7)是第二热门的字线并且被读取了9.8k次。根据仅仅使用直接邻近干扰的常规领域,WL(1)和WL(3)已经被直接干扰分别干扰了10k次。WL(6)和WL(8)已经被直接邻近干扰分别干扰了9.8k次。因此,WL(1)和WL(3)被认为是在常规领域下最被干扰的。如上所述,常规领域不考虑非直接邻近字线干扰。WL(6)和WL(8)被19.8k(4.9k+4.9k+10k=19.8k)次非直接读取干扰所干扰。WL(1)和WL(3)被14.7k(4.9k+9.8k=14.7k)次非直接读取干扰所干扰。因此,根据此示例,WL(6)和WL(8)受到9.8k次直接读取干扰和19.8k(4.9k+4.9k+10k=19.8k)次非直接读取干扰。因此,如果直接干扰和非直接干扰比率为2:1,则总有效读取干扰等于19.7k(9.8k+19.8k*0.5)次。WL(1)和WL(3)受到10k次直接读取干扰和14.7k(4.9k+9.8k)次非直接读取干扰。因此,如果直接干扰和非直接干扰比率为2:1,则总有效读取干扰等于17.35k(10k+14.7k*0.5)次。根据传统领域,如果我们忽略非直接邻近读取干扰,WL(1)或者WL(3)将会被检测,因为这些字线具有最大直接读取干扰。然而,事实上,如果非直接读取干扰被考虑,那么WL(6)和WL(8)具有更多的干扰错误。因此,在当我们测试块的读取干扰错误时的接下来的10k次读取之后,存储在WL(6)或WL(8)上的数据可以是不可恢复的并且引起数据丢失,而WL(1)和WL(3)可以依然是可纠正的。换言之,仅适用直接邻近计数来找到具有最多读取干扰的字线和做出读取收回决定可以引起错过具有最多读取干扰的实际字线。参照图6,示出用于解决上述问题的示例系统60。系统60包括易失性存储器(DRAM)400和存储器402。DRAM400可以包括LBA表410和诸如上述控制器的控制器404。存储器402可以包括多个块,用于主机写入的开放块430和用于垃圾收集的开放块440。系统60还包括块读取计数器450和字线读取计数器460。计数器450和460可以装在存储器402和/或DRAM400上,或者可选地,装在单独的存储器上。因为本发明的实施例利用相对简单的系统,所以关于本发明的实施例的主存储负担没有增加。例如,每一块或超级块即块组的总读取计数以及每一字线的总读取计数没有增加。简而言之,实施例具有与常规仅直接邻近解决方案相同的存储负担,因为每一字线的读取计数也需要被记录。图7是通过考虑直接邻近读取干扰和非直接邻近读取干扰两者来确定具有最多读取干扰的字线的步骤的流程图70。步骤和在此公开的其它进程的功能可以由诸如上述控制器的控制器操作。在步骤700和701内,当块被读取时,对应于块的块读取计数器被增加。块读取计数器450和字线读取计数器460在对其相应的块的每次读取后增加。当计数器达到特定的预定的计数数量时,邻近字线错误率将会被检查。预定的计数数量可以根据系统的特定规格被设置为大约10000次读取或其它所需的值。在步骤702内,在对块的预定读取之后,基于字线的直接邻近和非直接邻近的读取计数,每一字线的有效读取干扰被计算。计算每一字线的有效读取干扰的不同方法在下文被描述。在示例性实施例中,alpha为来自非直接邻近字线的每一次读取干扰的原始错误数量增加和来自直接邻近字线的每一次读取干扰的原始错误数量增加的比率,其可以是基于闪存预特性(pre-characterization)确定的固定比率。在实施例中,在每一预定读取数量(即10k次读取)后,通过考虑直接邻近和非直接邻近读取干扰两者选择受到最大读取干扰的字线。根据图4,比率alpha可以被估计为1/2。换言之,可以估计该比率为2以支持直接邻近干扰与非直接邻近干扰并使用该特性/比率来确定具有最多读取干扰的字线。在另一实施例中,自适应比率学习可以被用于计算对块读取预定数量(即10k次读取)的alpha。在字线上的页面的错误率,例如,2-位多层单元NAND的MSB页面,可以被建模为:[方程1]ERR(WLi)=NumDirect(WLi)×X1+NumNonDirect(WLi)×X2+ERRBase根据上述实施例,ERR(WLi)是在第i字线上的总错误。ERRBase是在编程操作之后立刻没有读取干扰时的错误的数量。X1代表来自直接邻近字线的每一次读取干扰的原始错误数量增加。X2代表来自非直接邻近字线的每一次读取干扰的原始错误数量增加。如果我们测试三条字线即WL(i)、WL(j)和WL(k)并检查两字线之间的错误差,则我们可以得到以下估算错误率差方程:[方程2]ERR(WLi)-ERR(WLj)ERR(WLi)-ERR(WLk)=NumDirect(WLi)-NumDirect(WLj)NumNonDirect(WLi)-NumNonDirect(WLj)NumDirect(WLi)-NumDirect(WLk)NumNonDirect(WLi)-NumNonDirect(WLk)×X1X2]]>其对应于方程的一般形式:[方程3]AB=M11M12M21M22×X1X2]]>在该一般方程内的M11、M12、M21、M22为系数,其对应于在块内的字线的记录读取计数。更详细地,NumDirect(WLi)是对第(i-1)和第(i+1)字线的读取数量的总和。如果字线是在块内的顶部或底部字线,则只有一个直接邻近字线将会被考虑。NumNonDirect(WLi)可以由命中(hit)块的读取的总数量减去命中字线本身的读取的数量和命中所选字线的直接邻近字线的读取的数量。在该一般方程中的A、B对应于三条字线(即WLi和WLj、WLi和WLk)之间的错误差,其可从字线错误测试获得。每一直接邻近干扰的平均错误增加X1可以按下式计算:[方程4](ERR(WLi)-ERR(WLj))×(NumNonDirect(WLi)-NumNonDirect(WLk))-X1=(ERR(WLi)-ERR(WLk))×(NumNonDirect(WLi)-NumNonDirect(WLj))(NumDirect(WLi)-NumDirect(WLj))*(NumNonDirect(WLi)-NumNonDirect(WLk))-(NumDirect(WLi)-NumDirect(WLk))*(NumNonDirect(WLi)-NumNonDirect(WLj))]]>每一非直接邻近干扰的平均错误增加X2可以按下式计算:[方程5](ERR(WLi)-ERR(WLj))×(NumDirect(WLi)-NumDirect(WLk))-X2=(ERR(WLi)-ERR(WLk))×(NumDirect(WLi)-NumDirect(WLj))(NumNonDirect(WLi)-NumNonDirect(WLj))*(NumDirect(WLi)-NumDirect(WLk))-(NumDirect(WLi)-NumDirect(WLj))*(NumNonDirect(WLi)-NumNonDirect(WLj))]]>如果自适应比率学习被应用在实施例内,则在伪代码内的比率alpha可以由X2/X1计算。在步骤703中,通过利用基于闪存预特性的固定定量方案或者自适应比率学习,具有最大有效读取干扰的字线可以被计算。根据步骤702,每一字线的有效读取干扰可以被计算。在步骤704和705内,基于该字线上的错误确定是否收回块的数据。例如,如果闪速存储器是2-位多层单元NAND闪速存储器,则可以测试在该字线的MSB页面内的错误。如果错误的总数大于ECC纠正能力的70%,则该块可以被收回。如果不大于,该进程将会被等待直到下一预定数量的读取(即10k次读取)到达该块并在那时对具有最大有效读取干扰的字线再次测试。请注意70%ECC能力只是示例性实施例并且使用由ECC纠正能力和NAND闪存特性确定的任何其它数量是可能的。图8示出本文公开的方法的实施例中的示例步骤的算法80。为每一周期性测试读取(即10k次读取)找到受到最大读取干扰的字线的详细流程图的实施例被示出。为说明目的,阈值和预定计数数量的值在算法80中被选择,并且在本领域内的普通技术人员将会理解,基于存储器装置的质量和系统要求,替选值可以被选择。在示例性实施例中,包含在下面表1内的测试字线选择策略的伪代码选择规则可以被使用以对应于图8。表1上述包含在表1内的伪代码在说明书中被阐述仅为了示例性目的。相似的代码或算法可以在不脱离本发明的发明构思的情况下被执行。参照图8,首先,闪存页面被读取(步骤801),并且计数器被增值(步骤802)。该进程被重复直到第一计数器达到预定计数数量(例如,10000)(步骤803)。当计数器达到预定计数数量时,该进程将字线分类为三种类型:第一字线(步骤805),最后字线(步骤806)和中间字线(步骤807)。此举是为了考虑结束字线。初始状态可以被规定为如后文所描述的步骤(804)。对于第一字线(步骤805),直接邻近读取由WL(1)读取计数确定,并且非直接邻近读取由总块读取计数BlockRd减去WL(0)和WL(1)计数确定。对于最后字线(步骤807),直接邻近读取由WL(n-1)读取计数确定并且非直接邻近读取由总块读取计数BlockRd减去WL(n)和WL(n-1)计数确定。对于中间字线(步骤806),直接邻近读取由WL(wl-1)读取计数加上WL(wl+1)读取计数确定,并且非直接邻近读取由总块计数BlockRd减去WL(wl-1)、WL(wl+1)和WL(wl)确定。然后,有效邻近读取通过直接邻近读取计数加上非直接邻近读取乘以比率alpha(步骤808)来确定。如图7的步骤702内所讨论的,比率alpha可以由基于闪存预特性的固定定量方案或者自适应比率学习确定。在详细的流程图中,从当确定字线是否为第一字线、最后字线或者中间字线开始到检查“WL是否>最后字线”的步骤(步骤812)的条件为循环以找到具有最大读取干扰的字线(步骤809、810和811)。固件可能需要内部处理由读取干扰计数表维持的直接和非直接读取干扰计数的数量。首先,字线被假定为0并且其对应的干扰计数也被初始化为0(步骤804)。当字线0直到最后字线循环被检查时,对于任意字线i,如果其有效邻近读取大于maxDisturb(此处,maxDisturb为字线0和i-1之间的最大干扰并且maxwl是其相应的0和i-1之间的字线)(步骤809),然后,位于0和i之间的最被干扰的字线将被更新为字线i,并且maxDisturb也被相应地更新(步骤810)。如果不大于(步骤809),则字线0和字线i-1之间存在至少一个字线具有比字线i更多的有效读取干扰。在这种情况下,我们只保持字线0和字线i-1之间的最被干扰的字线的这种记录为字线0和字线i之间的被记录的最被干扰的字线。该进程可以被迭代直到最后字线以找到最被干扰的字线(步骤811和812)。最后,基于在该字线(步骤813)上的错误来确定是否收回块的数据。如果错误的总数量大于ECC纠正能力的70%,则该块可以被收回(步骤814)。如果不大于,该进程被等待直到下一预定数量的读取(即10k次读取)到达该块并且在那时再次对具有最大有效读取干扰的字线进行测试。请注意70%ECC能力仅是示例性实施例并且使用由ECC纠正能力和NAND闪存特性确定的任意其它数量是可能的。本文公开的系统、装置和方法帮助更准确地预测何时收回数据以及是否收回数据。错误的所有精确数量可以是可配置的。而且应该注意的是,块可处于超级块水平,其中,多个块可形成读取(例如,命中块的10K次读取)的一个超级块。尽管为了清楚说明的目的已经相当详细地描述了前述实施例,但本发明不限于提供的细节。存在许多实施本发明的可选方法。公开的实施例是说明性的而不是限制性的。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1