NAND存储器及其坏块标记方法与流程

文档序号:16744745发布日期:2019-01-28 13:24阅读:331来源:国知局
本发明涉及存储器
技术领域
:,尤其涉及一种nand存储器及其坏块标记方法。
背景技术
::由于nand存储器实现原理的限制,在生产过程中有可能产生坏块(badblock或者称为无效块,invalidblock)。在nand存储器的使用中,存储块地址(blockaddress)是标记坏块的最小可寻址单元。任何存储块被标记为坏块,则此存储块(block)将不能用于存储有效数据。然而,这样会造成存储空间浪费的问题,而且随着nand存储器中一个存储块的存储空间越来越大,存储空间浪费的问题将更加严重。技术实现要素:有鉴于此,本发明提供一种nand存储器及其坏块标记方法,以解决现有技术中存储块的存储空间越来越大,整个存储块被标记为坏块时,造成存储空间浪费严重的问题。为实现上述目的,本发明提供如下技术方案:一种nand存储器,所述存储器包括至少一个存储块,每个所述存储块包括多个字线组以及至少一条虚字线;所述存储器还包括:多个子存储块;其中,每个所述存储块划分为多个存储空间大小相同的子存储块,每个所述子存储块设置有子存储块地址。优选地,每个所述存储块中的多个所述子存储块是以所述字线组的位置划分得到的。优选地,若所述存储器中包括至少一个无效的子存储块,则所述子存储块中的所有字线设置为虚字线。本发明还提供一种nand存储器的坏块标记方法,所述nand存储器为上面任意一项所述的nand存储器,所述坏块标记方法包括:对所述nand存储器中的字线进行检测;当检测到一字线为故障字线情况下,依据所述字线与子存储块的对应关系,确定所述字线对应的子存储块;标记所述字线所在的子存储块为无效的子存储块。优选地,所述对所述nand存储器中的字线进行检测,具体包括:按照所述nand存储器中的由底部选择栅指向顶部选择栅的方向,对所述nand存储器中的字线依次进行检测。优选地,还包括:记录所述nand存储器中无效的子存储块的地址,并生成子存储块坏块地址表。优选地,所述记录所述nand存储器中无效的子存储块的地址,并生成子存储块坏块地址表,具体包括:将标记的所述字线所在的子存储块的地址保存到预置的子存储块坏块地址表中;将所述子存储块坏块地址表固化到所述nand存储器的存储阵列中。经由上述的技术方案可知,本发明提供的nand存储器中的存储块被划分为多个存储空间大小相同的子存储块,且每个子存储块设置有子存储块地址,因此,当nand存储器中的几个字线存在缺陷时,即检测到缺陷字线时,可以将缺陷字线所对应的子存储块标记为坏块,而不是将缺陷字线对应的存储块整块标记为坏块,从而能够将缺陷字线所对应的存储块中的其他子存储块用来存储数据,从而扩展了nand存储器的可用空间,充分利用了存储块中未出现缺陷字线对应的子存储块的存储空间,改善了存储空间浪费的问题。本发明还提供一种坏块标记方法,基于上面所述的nand存储器,在检测出故障点后,标记子存储块为坏块,而非标记存储块为坏块,从而使得存储空间增大,进而扩大了可使用的存储空间。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为一个存储块的剖面结构示意图;图2为本发明提供的一种nand存储器剖面结构示意图;图3为nand存储器的坏块标记方法流程示意图;图4为本发明实施例提供的一种nand存储器访问方法流程示意图;图5为本发明实施例提供的一种特性设置示意图;图6为本发明实施例提供的一种nand存储器访问装置结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。nand存储器由多个存储块block构成,每个存储块block由多个页page构成。block是擦除操作的最小单元,page为编程的最小单元。在物理结构上,每个存储块block包括多条字线wl。请参见图1,图1为字线条数为128条对应的存储块的剖面结构示意图;所述存储块block由下向上依次包括底部选择栅(bottomselectivegate)bsg、多条字线wl、顶部选择栅(topselectivegate)tsg以及通常设置在多条字线wl边缘区域,靠近顶部选择栅tsg和底部选择栅bsg的多条虚字线dmy;所述存储块block还包括多个与字线wl垂直的沟道孔(channelhole)ch和阵列共源极(arraycommonsource)acs,本发明实施例中存储器的其他结构不做详细描述。由于制作工艺原因,图1所示的存储块中多条字线wl之间还设置有多条虚字线dmy,在本发明的其他实施例中多条字线wl之间还可以不设置虚字线dmy。由于图1所示的存储块block包括128条字线,若其中一条或多条字线wl存在缺陷,在存储器出厂前进行检测时,会将整个存储块block标记为坏块,并由坏块的地址生成block坏块表,存储在存储器中,而当系统使用过程中读取block坏块表中坏块的地址,从而不将数据存储在坏块中。然而,由于一个存储块block中包括多条字线,除了存在缺陷的几条字线无法正常使用,其他字线wl都还是正常的,字线wl对应的page中的存储单元还可以正常存储数据,因此,这样造成了存储空间的较大浪费,空间损耗较大,也降低了nand存储器的使用寿命。例如,假设nand存储器中的blockx中的page2出现了错误bit数量超过阈值时,则整个block都被标识为坏块,该blockx上所有的page都作为坏块空间直接丢弃,系统在使用中直接跳过该blockx。实际上该blockx上除了page2无法正常使用外,其他page都是正常的,都还可以正常使用的,这就带来了非常大的空间浪费。而且,如表1所示,随着nand存储器技术的发展,不同产品里面字线层数越来越多,对应的单个存储块的存储空间越来越大。表1不同产品里面单个块的存储空间其中,表1中,现有产品a、现有产品b和现有产品c均代表某个存储器,表1中仅举例说明现有存储器的字线层数与存储块的存储空间大小关系,并不限定为某个存储器产品。由于单个存储块的存储空间越来越大,那么当出现坏块的时候,造成的浪费则越来越严重。基于此,本申请中提供一种nand存储器,如图2所示,图2为本发明提供的一种nand存储器剖面结构示意图;存储器包括至少一个存储块,每个所述存储块包括多个字线组(10和20)以及至少一条虚字线dmy;所述存储器还包括:多个子存储块(sub-block-0和sub-block-1),其中,每个所述存储块划分为多个存储空间大小相同的子存储块,每个所述子存储块设置有子存储块地址。以存储块包括128条字线为例进行说明,如图2所示,本实施例中每个所述存储块中的多个所述子存储块是以所述字线组的位置划分得到的。存储器在制作过程中会产生多条连续的字线,因此根据多条字线所处的位置,一个存储块中的多条字线划分为一个子存储块,同时给该子存储块设置一个对应的子存储块地址。当标记坏块时,则以所述子存储块地址作为标记单元,用作标记坏块。而在物理结构上,若存储器中已经检测并标记了至少一个无效的子存储块,也即为坏块,则将对应的子存储块中的所有字线均设置为虚字线,如图2中所示,子存储块sub-block-1检测出某一字线wl存在缺陷,则将子存储块sub-block-1中的所有字线均设置为虚字线,其功能上与虚字线完全相同,从而不再用作存储数据。需要说明的是,由于增加了子存储块的定义,且需要为每个存储块分配一个地址,而整个存储器的存储空间不变,因此,需要对应提供子存储块的地址解析表。请参见表2和表3,其中,表2为默认模式下的闪存地址解析表,所述默认模式为将存储块划分为子存储块之前的模式;表3为子存储块模式下的闪存地址解析表。本发明实施例中以存储器的存储空间为512gb,具有1950个存储块,每个存储块中包括2304页为例进行说明。由于将一个存储块分为两个子存储块,则每个子存储块中所包含的页的个数将为原来的二分之一,因此,子存储块的地址需要多增加一位进行表示,而每个子存储块中的页的地址减少一位进行表示,而存储器的整体存储空间不变,所用的位数不变。两个地址解析表中,每一行指一个地址位,ca是byte(字节)地址位,pa是page(页)地址位,ba为block(存储块)地址位。其中,表2中,ca0-ca14表示存储器总共有215个字节;pa0-pa11表示存储器中每个存储块中包含的页的地址需要12位进行表征,也即每个存储块中的页的数量大于2048个;ba0-ba10,表示存储器中存储块的地址需要11位进行表征,也即存储器中存储块的数量大于1024个。表3中,由于将一个存储块(block)划分为两个子存储块(sub-block),则子存储块的数量变为原来的双倍,子存储块的地址则需要12位进行表征,而每个子存储块中页的个数相对于原来减半,因此,只需要11位进行表征即可;因此,页地址位减少1,块地址位增加1。从表2到表3可以看出,从默认模式页地址位(pa)减少一位,由原来的pa0-pa11,变为pa0-pa10;而对应的块地址位(ba)增加一位,由原来的ba0-ba10变为ba0-ba11。而整个地址解析表中,由于存储器的存储空间没有变化,因此,字节地址位(ca)数量不变。表2默认模式下的闪存地址解析表表3子存储块模式下的闪存地址解析表当采用子存储块模式下的闪存地址解析表为子存储块一一设置地址后,在坏块标记时,采用子存储块地址进行标记,从而将其他正常字线所在子存储块作为正常存储空间使用,扩大了存储空间,改善了存储块越来越大,造成的存储空间浪费的问题。本发明实施例中提供的nand存储器中的存储块被划分为多个存储空间大小相同的子存储块,且每个子存储块设置有子存储块地址,因此,当nand存储器中的几个字线存在缺陷时,即检测到缺陷字线时,可以将缺陷字线所对应的子存储块标记为坏块,而不是将缺陷字线对应的存储块整块标记为坏块,从而能够将缺陷字线所对应的存储块中的其他子存储块用来存储数据,从而扩展了nand存储器的可用空间,充分利用了存储块中未出现缺陷字线对应的子存储块的存储空间,改善了存储空间浪费的问题。基于上面实施例中所述的nand存储器,本发明实施例还提供一种坏块标记方法,如图3所示,图3为nand存储器的坏块标记方法流程示意图;所述坏块标记方法包括:s101:对所述nand存储器中的字线进行检测;s102:当检测到一字线为故障字线情况下,依据所述字线与子存储块的对应关系,确定所述字线对应的子存储块;s103:标记所述字线所在的子存储块为无效的子存储块。本实施例中提供的存储器已经根据字线组将存储块划分为多个子存储块,在检测出坏块之前,所有正常字线均认定为可以正常存储数据的字线,通过为所述nand存储器中的字线依次施加电压,进行电路检测,当检测到某一字线为故障字线时,根据所述字线所在的字线组确定其所属的子存储块,此时,可以将所述字线所在的子存储块标记为无效的子存储块,也即坏块。需要说明的是,在检测字线过程中,可以按照所述nand存储器中的由底部选择栅bsg指向顶部选择栅tsg的方向,对所述nand存储器中的所有字线依次进行检测。当某一子存储块被标记为坏块后,对应在原厂端对子存储块中的字线进行相应的操作,将其功能划分为虚字线,而不再作为正常的字线进行使用。另外,标记出所有坏块后,记录所述nand存储器中无效的子存储块的地址,并生成子存储块坏块地址表。本实施例中不限定生成子存储块坏块地址表的过程,可选的,包括:将标记的所述字线所在的子存储块的地址保存到预置的子存储块坏块地址表中;将所述子存储块坏块地址表固化到所述nand存储器的存储阵列中。以备后续系统上电后进行读取,以进行读写操作。需要说明的是,由于本发明实施例中提供的子存储块主要用于坏块标记和后续的数据读写,因此,在对存储器进行其他操作或者对于字线出现的其他问题,并不需要子存储块功能时,还需要沿用原来的存储块信息。因此,本实施例中在检测字线是否存在故障,标记子存储块的同时,还可以包括标记存储块的步骤。具体可以为:当检测到一字线为故障字线情况下,依据所述字线与存储块的对应关系,确定所述字线对应的存储块;标记所述字线所在的存储块为无效的存储块。与存储块标记时相同的是,记录所述nand存储器中无效的存储块的地址,并生成存储块坏块地址表。具体为:将标记的所述字线所在的存储块的地址保存到预置的存储块坏块地址表中;将所述存储块坏块地址表固化到所述nand存储器的存储阵列中。当某个存储块被标记为无效的存储块,依然对该存储块中其他字线进行检测,以便于完成该存储块中的所有存储块的标记。需要说明的是,在原厂检测过程中,若检测出某一字线出现故障,则需要确定字线出现故障的真正原因,判断该原因是否影响位于同一存储块中而不是该故障字线所在子存储块的其他子存储块的功能,若影响,则将同一存储块中所有子存储块均标记为坏块;若不影响,则仅标记该故障字线所在的子存储块即可。本发明实施例还提供一种nand存储器访问方法,所述访问方法应用于上面实施例中所述的nand存储器,并基于预存在所述nand存储器存储阵列中的子存储块坏块地址表。图4为本发明实施例提供的一种nand存储器访问方法流程示意图;如图4所示,在系统上电后,所述访问方法包括:s201:接收启动子存储块功能指令;需要说明的是,由于有些场景下不使用子存储块功能,本申请定义为默认模式,也即不将存储块划分为子存储块的情况下;另一种是子存储块模式,在该模式下,对子存储块进行相关的操作。这样的模式设定可以在存储器的芯片设计阶段进行设计,默认模式下,坏块管理按照整个存储块来进行操作,而子存储块模式下,使用者可以通过发送指令来进入子存储块模式,在子存储块模式下坏块管理是按照子存储块来进行操作的。也即使用者可以根据用户自己选择是否启动子存储块功能。而原厂在存储器芯片出厂前要在存储器芯片里面准备两份坏块管理表(badblocktable)一份是默认模式的坏块表,另一份是子存储块模式的坏块表。需要说明的是,本实施例中不限定所述启动子存储块功能的指令的具体内容,可选地,可以通过setfeaturecommand(设置特性指令)来进行模式的切换。setfeaturecommand(设置特性指令)如表4所示。如表4所示:功能地址(featureaddress):xxh;保留翻译为reserved。表4为启动子存储块功能的指令表如图5中所示,图5为本发明实施例中提供的一种特性设置示意图;其中,图中各个参数所代表意思为:cycletype:输入类型;cmd:输入的指令(command);addr:输入的地址(address);din:输入的数据(datain);dq[7:0]:具有输入输出功能的芯片的管脚;r/b_n:监控芯片(busy/ready)状态的芯片管脚,低电平代表busy(繁忙)状态;efh:输入的指令数值(本发明中不局限于这个指令,也可以定义其他指令数值,仅以此为例进行说明);fa:代表featureaddress(特性地址);tadl:addresscycletodataloadingtime(从地址输入到数据输入之间的时间间隔);twb:从p4数据到r/b_n拉低的时间间隔;tfeat:busytimeforsetfeature.(特使设置的繁忙时间);p1/p2/p3/p4代表特性设置的具体数值。切换情况可以包括:从默认模式切换到子存储块模式和从默认模式切换到子存储块模式。其中,从默认模式切换到子存储块模式的操作流程如下:接收特性指令——setfeaturecommandefh;输入特性指令的地址xxh(xxh的具体数值可以由原厂定义);等待tadl时间后,输入p1的数值01h;输入p2,p3,p4数值均为00h;操作结束后芯片由默认模式切换到子存储块模式。从子存储块模式切换到默认模式,操作流程如下:接收特性指令——setfeaturecommandefh;输入特性的地址xxh(xxh的具体数值可以由原厂定义);等待tadl时间后,输入p1的数值00h;输入p2,p3,p4数值均为00h;操作结束后芯片由子存储块模式切换到默认模式。或者通过重新让存储器芯片上一下电,芯片自动切换到默认模式。需要说明的是,上述特性设置的指令并不局限于efh,只要所述特性指令能够实现模式的切换即可。s202:读取所述子存储块的子存储块坏块地址表;本实施例中读取子存储块的子存储块坏块地址表可以在上电后即可进行,或者在接收启动子存储模块功能指令后进行,本实施例中对此不做限定。s203:接收对所述nand存储器的操作;本实施例中所述操作包括读操作和写操作,具体可以根据实际情况进行限定。若所述操作为写操作,则存储器还包括接收待写入数据的步骤。s204:将所述操作所访问的所述nand存储器中子存储块的地址与所述子存储块坏块地址表进行匹配;将操作所访问的子存储块的地址与子存储坏块地址表进行匹配是为了保证写操作或读操作访问的都是有效的子存储块。s205:判断所述操作所访问的子存储块的地址记录是否在所述子存储块坏块地址表中;s206:若是,则跳过所述操作所访问的子存储块;s207:更换所述操作所访问的子存储块,并返回s205进行重新判断所述操作所访问的子存储块是否为无效的子存储块;s208:若否,则对所述操作所访问的子存储块进行所述操作。所述操作为写入数据或从所述子存储块中读取数据。需要说明的是,为了保证写入数据和读取数据过程中数据的可靠性,相互之间没有干扰或干扰较小,本实施例中所述操作访问所述nand存储器中子存储块的顺序为:按照所述nand存储器中的由底部选择栅指向顶部选择栅的方向,对所述nand存储器中的子存储块进行所述访问。也即,写操作和读操作均按照所述nand存储器中的由底部选择栅指向顶部选择栅的方向,对所述nand存储器中的子存储块进行操作。对应上面实施例中提供的nand存储器访问方法,本发明实施例还提供一种nand存储器访问装置,应用于上面所述的nand存储器访问方法,如图6所示,图6为本发明实施例提供的一种nand存储器访问装置结构示意图。所述访问装置包括:指令接收模块601,用于接收启动子存储块功能指令;读取模块602,用于读取所述子存储块的子存储块坏块地址表;操作接收模块603,用于接收对所述nand存储器的操作;地址匹配模块604,用于将所述操作所访问的所述nand存储器中子存储块的地址与所述子存储块的坏块地址表进行匹配;匹配结果判断模块605,根据匹配结果判断所述操作所访问的子存储块的地址是否记录在所述子存储块坏块地址表中;若是,则跳过所述操作所访问的子存储块,更换所述操作所访问的子存储块,并返回至所述地址匹配模块,将更换后的子存储块的地址与所述子存储块的子存储块坏块地址表进行匹配;若否,则对所述操作所访问的子存储块进行所述操作。需要说明的是,若接收的指令为默认模式的指令或上电后没有接收到启动子存储块的指令,则存储器执行的访问方法流程为以存储块坏块地址表为基础的正常读写操作。而擦除过程中,存储块为最小的擦除单元,本发明实施例中对此不做修改,当一个存储块中的部分子存储块中的数据需要被擦除时,由于擦除过程中,以存储块为单位进行擦除,那么需要将其他不需要擦除,且存储了有效数据的子存储块中的数据搬移出,然后才能将整个存储块进行擦除。需要说明的是,本发明实施例提供的nand存储器在出厂后,用户使用过程中,用户的系统,如存储器安装的手机或电脑,还可以对存储器的坏块地址表进行更新,包括更新存储块坏块地址表和子存储块坏块地址表。只是,与本申请中存储器中出厂前设置的存储块坏块地址表和子存储块坏块地址表不同的是,系统对存储块坏块地址表和子存储块坏块地址表的维护是在系统层面上的,其自身可以设置系统层面的存储块坏块地址表和子存储块坏块地址表。需要说明的是,系统在标记坏块和更新坏块的过程中,无法仅标记一个单独的子存储块,因此,在用户使用过程中,系统检测出某一子存储块为坏块,更新子存储块坏块地址表时,也需要将该子存储块所在存储块中的所有子存储块均标记为坏块。例如,一个存储器包括a、b和c三个存储块,而每个存储块被划分为两个子存储块,也即存储器包括子存储块a1、a2、b1、b2、c1、c2;出厂前已经标记a1为坏块,并生成了子存储块坏块地址表,即子存储块坏块地址表中包括子存储块a1的地址。在用户使用过程中,系统通过检测,发现子存储块b2也是坏块,此时,系统将子存储块b1和子存储块b2同时标记为坏块,并将b1和b2对应的地址记录到子存储块坏块地址表中,对子存储块坏块地址表进行更新,更新后的子存储块坏块地址表中包括了子存储块a1、子存储块b1和子存储块b2的地址。同样的,将存储块b的地址更新到存储块坏块地址表中。更新后的存储块坏块地址表包括存储块a和存储块b的地址。对应地,在访问方法中,在将操作所访问的3dnand中子存储块的地址与子存储块的坏块地址表及子存储块的地址解析表进行匹配,且匹配结果为:操作所访问的子存储块的地址未记录在坏块地址表中时,还包括:对所述操作所访问的子存储块进行检测,判断所述操作所访问的子存储块是否为无效的子存储块;若是,则将所述操作所访问的子存储块的地址记录到所述子存储块坏块地址表中,并将操作所访问的子存储块所在的存储块中的其他子存储块的地址记录到所述子存储块坏块地址表中,对子存储块坏块地址表进行更新;若否,则对所述操作所访问的子存储块进行所述操作。更新子存储块坏块地址表的同时,也可以将存储块坏块地址表更新。需要说明的是,本发明提供的存储器虽然将存储块划分为多个子存储块,但是本申请所述子存储块并不是完全物理意义上的子存储块,更像是在页和存储块之间设置了另一个字线的定义范围,因此,并不需要对子存储块新增寻址电路。在子存储块寻址过程中,寻址电路还是原来存储块的寻址电路,并没有增加寻址电路,因此,在保证了存储器尺寸不变的情况下,扩大了可用存储空间,改善了存储空间浪费较为严重的问题。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的物品或者设备中还存在另外的相同要素。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1