存储器的编程方法、存储器及存储系统与流程

文档序号:32312560发布日期:2022-11-23 12:24阅读:217来源:国知局
存储器的编程方法、存储器及存储系统与流程

1.本技术涉及存储技术领域,特别涉及一种存储器的编程方法、存储器及存储系统。


背景技术:

2.三维(3-dimension,3d)存储器在编程时支持多面编程(multi-plane program),即处于不同存储块的存储单元能够同步进行编程。
3.其中,编程过程通过步进式脉冲电压编程(increment step pulse program,ispp)方式实现,在ispp中的每个脉冲阶段施加一定脉冲宽度的编程电压进行编程,并在施加编程电压后通过验证电压进行验证。
4.然而,当多个存储块中存在被损坏的坏块(grown bad block,gbb)时,坏块的验证过程会对正常存储块的编程过程产生影响,从而导致编程效率较低的问题。


技术实现要素:

5.本技术提供了一种存储器的编程方法、存储器及存储系统,可以提高编程验证效率。所述技术方案如下:
6.一方面,提供了一种存储器的编程方法,所述方法包括:
7.在对多个存储块进行同步编程的编程验证过程中,获取所述多个存储块在第n次编程脉冲循环阶段对第m个数据态的编程验证结果,n和m皆为正整数;
8.响应于所述多个存储块中存在编程验证失败的存储块,且针对第m个数据态的验证次数达到最大验证次数,禁用所述编程验证失败的存储块,并在第n次编程脉冲循环阶段中对第m+1个数据态进行验证。
9.在一个可选的实施例中,所述在第n次编程脉冲循环阶段中对第m+1个数据态进行验证,包括:
10.在第n次编程脉冲循环阶段获取第m+1个数据态对应的编程阈值电压;
11.确定所述多个存储块中除被禁用的存储块以外的其他存储块对应的编程脉冲电压;
12.对所述编程脉冲电压与第m+1个数据态对应的编程阈值电压进行比较;
13.基于所述编程脉冲电压与第m+1个数据态对应的编程阈值电压的比较情况,对第m+1个数据态进行验证。
14.在一个可选的实施例中,所述方法还包括:
15.响应于所述多个存储块中存在编程验证失败的存储块,且针对第m个数据态的验证次数未达到最大验证次数,在第n+1次编程脉冲循环阶段对第m个数据态进行验证。
16.在一个可选的实施例中,所述方法还包括:
17.响应于所述多个存储块编程验证通过,且当前编程验证过程在所述第n次编程脉冲循环阶段中非首次验证过程,在第n次编程脉冲循环阶段中对当前数据态的后续数据态进行验证。
18.在一个可选的实施例中,所述方法还包括:
19.响应于所述多个存储块编程验证通过,且当前编程验证过程是所述第n次编程脉冲循环阶段中的首次验证过程,在第n+1次编程脉冲循环阶段中对第m+1个数据态进行验证。
20.在一个可选的实施例中,所述在第n+1次编程脉冲循环阶段中对第m+1个数据态进行验证,包括:
21.获取数据态验证阈值,所述数据态验证阈值用于表示所述多个存储块所需要编程达到的数据态总数;
22.响应于第m+1个数据态未达到所述数据态验证阈值,在第n+1次编程脉冲循环阶段中对第m+1个数据态进行验证。
23.在一个可选的实施例中,所述方法还包括:
24.响应于第m+1个数据态达到所述数据态验证阈值,结束所述编程脉冲循环。
25.在一个可选的实施例中,所述方法还包括:
26.响应于所述多个存储块中存在未达到第m个数据态对应的编程阈值电压的存储块,则确定所述多个存储块中存在编程验证失败的存储块;
27.响应于所述多个存储块达到第m个数据态对应的所述编程阈值电压,确定所述多个存储块编程验证成功。
28.在一个可选的实施例中,所述方法还包括:
29.响应于所述多个存储块中目标存储块的存储单元在编程后未达到第m个数据态对应的编程阈值电压,确定所述目标存储块编程验证失败。
30.另一方面,提供了一种存储器,所述存储器包括:存储阵列单元和外围逻辑单元,所述存储阵列单元中包括多个存储块,所述外围逻辑单元包括控制电路;
31.所述控制电路,被配置为在对多个存储块进行同步编程的编程验证过程中,获取所述多个存储块在第n次编程脉冲循环阶段对第m个数据态的编程验证结果,n和m皆为正整数;
32.所述控制电路,还被配置为响应于所述多个存储块中存在编程验证失败的存储块,且针对第m个数据态的验证次数达到最大验证次数,禁用所述编程验证失败的存储块,并在第n次编程脉冲循环阶段中对第m+1个数据态进行验证。
33.在一个可选的实施例中,所述控制电路,还被配置为在第n次编程脉冲循环阶段获取第m+1个数据态对应的编程阈值电压;确定所述多个存储块中除被禁用的存储块以外的其他存储块对应的编程脉冲电压;对所述编程脉冲电压与第m+1个数据态对应的编程阈值电压进行比较;基于所述编程脉冲电压与第m+1个数据态对应的编程阈值电压的比较情况,对第m+1个数据态进行验证。
34.在一个可选的实施例中,所述控制电路,还被配置为响应于所述多个存储块中存在编程验证失败的存储块,且针对第m个数据态的验证次数未达到最大验证次数,在第n+1次编程脉冲循环阶段对第m个数据态进行验证。
35.在一个可选的实施例中,所述控制电路,还被配置为响应于所述多个存储块编程验证通过,且当前编程验证过程在所述第n次编程脉冲循环阶段中非首次验证过程,在第n次编程脉冲循环阶段中对当前数据态的后续数据态进行验证。
36.在一个可选的实施例中,所述控制电路,还被配置为响应于所述多个存储块编程验证通过,且当前编程验证过程是所述第n次编程脉冲循环阶段中的首次验证过程,在第n+1次编程脉冲循环阶段中对第m+1个数据态进行验证。
37.在一个可选的实施例中,所述控制电路,还被配置为获取数据态验证阈值,所述数据态验证阈值用于表示所述多个存储块所需要编程达到的数据态总数;响应于第m+1个数据态未达到所述数据态验证阈值,在第n+1次编程脉冲循环阶段中对第m+1个数据态进行验证。
38.在一个可选的实施例中,所述控制电路,还被配置为响应于第m+1个数据态达到所述数据态验证阈值,结束所述编程脉冲循环。
39.在一个可选的实施例中,所述控制电路,还被配置为响应于所述多个存储块中存在未达到第m个数据态对应的编程阈值电压的存储块,则确定所述多个存储块中存在编程验证失败的存储块;响应于所述多个存储块达到第m个数据态对应的所述编程阈值电压,确定所述多个存储块编程验证成功。
40.在一个可选的实施例中,所述控制电路,还被配置为响应于所述多个存储块中目标存储块的存储单元在编程后未达到第m个数据态对应的编程阈值电压,确定所述目标存储块编程验证失败。
41.另一方面,提供了一种存储系统,所述存储系统包括:
42.一个或多个如上述实施例所述的存储器,以及,
43.耦合到存储器并且被配置为控制所述存储的存储器控制器。
44.另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令在控制电路上运行时实现如上述实施例中任一所述的存储器的编程方法。
45.本技术提供的技术方案可以包括以下有益效果:
46.在编程验证的过程中,当经过最大验证次数后存在坏块被禁用时,无需进入下一个编程脉冲循环阶段进行编程后再进行编程验证,直接在当前编程脉冲循环阶段中进行后续数据态的编程验证,从而提高了编程验证的效率,避免编程脉冲循环阶段的次数增加,减少了编程的耗时,提高了编程速度。
附图说明
47.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1是本技术一个示意性实施例提供的一种3d存储器的结构示意图;
49.图2是本技术一个示意性实施例提供的步进式脉冲电压编程示意图;
50.图3是本技术一个示例性实施例提供的多面编程及验证过程的流程图;
51.图4是相关技术中提供的编程验证过程的示意图;
52.图5是本技术一个示例性实施例提供的存储器的编程方法的流程图;
53.图6是本技术另一个示例性实施例提供的存储器的编程方法的流程图;
54.图7是本技术另一个示例性实施例提供的存储器的编程方法的流程图;
55.图8是本技术一个示例性实施例提供的存储器的结构示意图;
56.图9是本技术一个示例性实施例提供的存储系统的结构示意图。
具体实施方式
57.下面结合附图对本技术实施方式作进一步地详细描述。
58.在本技术实施例提供的存储器的编程方法可以应用于存储器。该存储器可以为3d存储器,例如可以是3d与非门闪存(nand flash)。
59.三维(3-dimension,3d)存储器是一种多层堆叠的存储器,示意性的,该3d存储器为3d与非门闪存(nand flash)。如图1所示,3d存储器100所包括的多个存储串110(string)沿平行于衬底的承载面的方向排布,每个存储串110中的多个存储单元120沿垂直于衬底的承载面的方向排布。即,该3d存储器包括的多个存储单元在衬底上呈三维阵列排布,并形成存储阵列(array)。
60.存储串110的一端与位线(bite line,bl)相连,另一端与源线(source line,sl)相连。
61.每个存储串中的存储单元还通过字线(word line,wl)与其他存储串中的存储单元连接。如:每个存储串可以包括64个存储单元,则该3d存储器可以包括64根字线wl《63:0》,每根字线与位于同一层(即相对于衬底具有相同高度)的部分存储单元连接。需要说明的是,64个存储单元仅为一个具体示例,申请不限于此,在一些实施例中,每个存储串可以包括多于64的存储单元,例如128、196等等。在3d存储器中,与同一根字线连接的各个存储单元称为一个存储页(page),共享一组字线的所有存储串称为一个存储块(block)。
62.存储串110还包括与第一个存储单元的漏极连接的上选择管,以及与最后一个存储单元的源极连接的下选择管。其中,上选择管也称为顶部选择栅(top select gate,tsg)或漏极选择管。下选择管也称为底部选择栅(bottom select gate,bsg)或源极选择管。
63.tsg的栅极与漏极选择线(drain select line,dsl)连接,tsg的源极与第一个存储单元的漏极连接,tsg的漏极与位线连接。
64.bsg的栅极与源极选择线(source select line,ssl)连接,bsg的漏极与最后一个存储单元的源极连接,bsg的源极与源线连接。
65.由图1可知,存储串110中的存储单元与其他存储串中的存储单元共用一组wl。假设每个存储串包括m+1个存储单元,则该3d存储器可以包括m+1根wl:wl0至wlm,m为大于1的整数。其中,每根wl与位于同一层(即相对于衬底的承载面具有相同高度)的各个存储单元连接。或者,可以理解为:位于同一层的各个存储单元的控制栅,以及各个控制栅之间的栅极连接线构成一根wl。
66.根据存储单元所能够存储的数据的多少,可以将存储单元的类型划分为单层存储单元(single-level cell,slc)、双层存储单元(multi-level cell,mlc)、三层存储单元(trinary-level cell,tlc)和四层存储单元(trinary-level cell,qlc)等。其中,每个slc能够存储1比特(bit)数据,每个mlc能够存储2bit数据,每个tlc能够存储3bit数据,每个qlc能够存储4bit数据。在3d存储器中,位于同一层的各个存储单元中存储的数据可以组成k个存储页(page)。其中,k为每个存储单元所能够存储的数据的bit数。
67.在本技术实施例中,3d存储器中的存储单元可以为浮栅场效应管或者电荷捕获
(charge trap)型场效应管等能够存储数据场效应管。tsg和bsg可以为普通的场效应管,或者也可以为能够存储数据场效应管。其中,浮栅场效应管包括源极、漏极和两个栅极。该两个栅极均为导体,且该两个栅极中的一个为控制栅(control gate,cg),另一个栅极为浮置栅极(floating gate,fg),简称浮栅。该控制栅用于连接字线,该浮栅用于存储数据的单元。该电荷捕获型场效应管则包括源极、漏极、控制栅和电荷捕获层,该电荷捕获层是用于存储数据的单元,且该电荷捕获层由诸如氮化硅的绝缘材料制成。下文以浮栅场效应管为例,对存储单元的数据写入原理进行介绍。
68.在向存储单元中写入数据时,可以向浮栅场效应管的控制栅加载编程电压,以使得浮栅场效应管的沟道中的电子隧穿至浮栅。通过控制该编程电压的大小能够控制隧穿至浮栅的电子的数量,进而控制该浮栅场效应管的阈值电压vth的大小。通常,浮栅中存储的电荷量越高,浮栅场效应管的阈值电压vth越高。可以理解的是,浮栅场效应管的阈值电压vth不同时,控制该浮栅场效应管导通时所需加载在浮栅场效应管的控制栅的电压不同。因此,浮栅场效应管的阈值电压vth的大小即可反映其所存储的数据的内容。
69.应理解的是,在3d存储器中,每个存储串中的各个存储单元的沟道能够依次连接,并形成垂直于衬底的柱状结构。
70.目前,在存储器编程中主要采用的编程方式为步进式脉冲电压编程(increment step pulse program,ispp)方式,编程过程中在施加编程电压的时候,并非一次性将电压施加到位,而是步进式的一步一步递增式的提高编程电压,直至电压达到编程要求。
71.示意性的,请参考图2,其示出了本技术一个示例性实施例提供的ispp编程示意图,如图2所示,在编程过程中包括编程阶段和验证阶段,首先,在第一个脉冲阶段210向选定存储单元对应的选定字线施加一个初始电压,即为编程阶段,然后验证该初始电压是否达到需要的编程电压,即为验证阶段,如果没有达到,则在初始电压的基础上增加一个电压步进步长δvpp,得到第二脉冲电压,并在第二个脉冲阶段220向选定存储单元对应的选定字线施加该第二脉冲电压,即为步进式编程的另一个编程阶段,并继续验证该第二脉冲电压是否达到需要的编程电压,即为上述另一个编程阶段对应的验证阶段。循环上述过程,直至向选定字线施加的脉冲电压达到需要的编程电压,则停止编程。
72.在对存储器进行编程时,举例来说,mlc可经配置以每存储器单元存储由四个vth范围(数据态)表示的两个数据数字,tlc可经配置以每存储器单元存储由八个vth范围(数据态)表示的三个数据数字,qlc可经配置以每存储器单元存储由十六个vth范围(数据态)表示的四个数据数字等等。
73.例如,当3d nand闪存是mlc闪存时,可以通过验证电压pv1、pv2、pv3将3d nand闪存的存储单元编程为对应于位码11、10、01、00的四个状态,即编程状态p0(默认为擦除态)、p1、p2、p3。在另一个实施例中,当3d nand闪存是tlc 3d nand闪存时,可以基于第一验证过程,通过验证电压pv1-pv7将3dnand闪存的存储单元编程为与位码111、110、010、011、001、000、100、101相对应的八个数据态。
74.3d nand在编程时支持多面编程(multi-plane program),各个存储面(plane,又称为存储块block)中包括多个存储单元,处于不同存储块的存储单元能够同步进行编程。示意性的,在多面编程中,对处于存储块0的存储单元0、处于存储块1的存储单元1以及处于存储块2的存储单元2进行同步编程。
75.示意性的,图3是本技术一个示例性实施例提供的多面编程及验证过程的流程图。如图3所示,该过程包括如下步骤。
76.步骤301,施加编程脉冲。
77.也即,向需要进行编程的多个存储块中的存储单元施加编程脉冲电压,从而对存储单元进行编程,其中,在施加编程脉冲电压时,向存储单元对应的字线进行电压施加。
78.步骤302,编程验证及错误位计数。
79.也即,验证上述编程脉冲电压是否达到数据态所需的编程阈值电压。其中,错误位计数是指针对多面编程中的各个存储块,验证存储块中达到数据态对应的编程阈值电压的数量,从而确定是否存在存储块尚未达到当前所需要达到的数据态。在一些实施例中,通过验证存储块中的存储单元是否达到编程阈值电压,确定存储块是否达到所需要达到的数据态。可选地,确定存储块中未达到编程阈值电压的存储单元的数量,当未达到编程阈值电压的存储单元的数量达到数量阈值,则确定存储块未达到所需要达到的数据态,也即该存储块为坏块。
80.步骤303,判断验证的数据态是否达到最大数据态。
81.当数据态达到最大数据态时,表示当前所有数据态对应编程成功;当数据态未达到最大数据态时,表示当前存在数据态尚未完成验证。
82.步骤304,当达到最大数据态时,结束编程。
83.在一些实施例中,通过一次脉冲电压达到电压阈值,或者通过多次脉冲电压达到电压阈值。
84.示例性地,以存储单元的类型为tlc为例进行说明,tlc共有8个数据态,其中1个数据态(第0态)作为擦除态,7个数据态(第1态至第7态)作为编程态,其采用ispp编程方式。可以根据实际经验值得到编程到达第1态,大概需要施加几次编程脉冲,即进行几次编程验证,如编程到达第1态,需要在6次编程验证之内完成;编程到达第2态,需要在9次编程验证之内完成;一般编到越高的数据态,需要越多的编程验证次数。也就是说,编程验证预设次数与数据态的位数相关,一般数据态的位数越高,对对应该数据态的编程验证预设次数越大。
85.可选地,若未达到最大数据态,则继续施加编程脉冲,并根据ispp的脉冲电压施加方式,逐步提高施加的脉冲电压。
86.图4是相关技术中提供的编程验证过程的示意图,即上述步骤302在相关技术中实现的展开说明。如图4所示,相关技术中,编程验证过程包括如下步骤。
87.步骤401,验证错误位计数。
88.也即,在编程脉冲循环阶段,在对多个存储块中的存储单元施加编程脉冲电压后,对存储单元进行编程验证,并确定多个存储块中各个存储单元的编程验证结果。
89.步骤402,判断多个存储块是否都通过数据态验证。
90.也即,判断是否存在存储块未通过当前数据态的验证。在一些实施例中,当存储块中的存储单元未通过数据态验证时,则该存储块未通过数据态验证;或者,当存储块中未通过数据态验证的存储单元数量达到数量阈值时,则该存储块未通过数据态验证。
91.步骤403,当多个存储块都通过数据态验证时,数据态+1。
92.也即,将当前数据态+1作为待验证的数据态,并进行下一个编程脉冲循环,并对待
验证的数据态进行验证。
93.当所有存储块都通过数据态验证时,表示当前数据态编程已完成,并可以针对下一个数据态进行验证,故,进入下一个编程脉冲循环,并对下一个数据态进行编程验证。
94.步骤404,当多个存储块中存在存储块未通过数据态验证时,判断针对当前数据态的验证次数是否达到最大次数。
95.步骤405,当针对当前数据态的验证次数未达到最大次数时,进行下一个编程脉冲循环。
96.其中,在下一个编程脉冲循环中继续对当前数据态进行验证。
97.步骤406,当针对当前数据态的验证次数达到最大次数时,禁用验证失败的存储块。
98.可选地,在禁用验证失败的存储块后,针对验证成功的存储块进行下一编程脉冲循环,对下一数据态进行验证。
99.由于存储单元存在使用寿命或者存在其他物理缺陷,会导致编程失败,故,当数据态的验证次数达到最大次数,而存储块未达到编程电压要求时,则确定该存储块损坏,并禁用该存储块。而针对验证成功的存储块,继续进行下一编程脉冲循环,并对下一数据态进行验证。
100.而在相关技术中提供的编程验证过程中,当存在坏块时,由于坏块的影响,针对同一数据态的验证会增加次数,而在多次脉冲循环的过程中,其他验证成功的存储块的编程脉冲电压继续提升至后续数据态,而编程验证的过程尚处于坏块无法通过的数据态,导致正常存储块的编程验证效率较低,从而整体编程效率较低,编程速度较慢。
101.示意性的,多面编程中,针对存储块0/1/2/3进行同步编程,其中,存储块0为坏块,最大验证循环次数为10次,正常情况下,存储块0中的存储单元能够在第5次验证时通过数据态3。而在编程脉冲循环至第10次时,存储块0中的存储单元尚未通过数据态3,从而存储块0被确认为坏块而被禁用,而其他存储块在编程脉冲循环至第10次时,已通过数据态5,而数据态4和数据态5尚未进行过验证,从而需要额外增加两次编程脉冲循环来通过数据态4和数据态5的验证。
102.图5是本技术一个示例性实施例提供的存储器的编程方法的流程图,以该方法应用于3d存储器中为例,如图5所示,该方法包括:
103.步骤501,在对多个存储块进行同步编程的编程验证过程中,获取多个存储块在第n次编程脉冲循环阶段对第m个数据态的编程验证结果,n和m皆为正整数。
104.在一些实施例中,对多个存储块进行同步编程通常实现为多面编程,也即,针对不同存储块中的存储单元进行同步编程。可选地,对至少两个选定存储单元进行同步编程,其中,选定存储单元是指被选择进行数据写入的存储单元,而除选定存储单元以外的存储单元即称为去选存储单元。
105.可选地,在选定字线上加载编程电压v
pgm
的同时,在去选(unselected,unsel)wl上均可以加载导通电压v
pass
。该导通电压v
pass
用于将去选字线(unsel wl)所连接的去选存储单元均导通,以实现选定存储单元与sel bl连接。
106.在施加编程电压后,对多个存储块中的选定存储单元的编程进行编程验证,并确定各个选定存储单元的编程验证结果。其中,编程验证结果用于指示选定存储单元是否达
到数据态对应的编程电压。根据各个选定存储单元的编程验证结果即得到多个存储块的编程验证结果。
107.由于存在至少两个选定存储单元进行同步编程,故,每个编程脉冲循环阶段,是至少两个选定存储单元同步施加编程脉冲电压,并同步进行编程验证,也即,至少两个选定存储单元在同一个编程脉冲循环阶段针对同一个数据态进行编程验证,如:本实施例中,多个存储块中的至少两个选定存储单元在第n次编程脉冲循环阶段对第m个数据态进行编程验证,并获取编程验证结果。
108.其中,至少两个存储单元在第n次编程脉冲循环阶段对第m个数据态的编程验证结果包括:1、都通过;2、都不通过;3、部分通过中的任意一种。
109.可以理解的是,编程电压v
pgm
通常较高,因此可以使得选定存储单元的控制栅与沟道之间形成较大的电压差,进而使沟道中的电子隧穿至选定存储单元的浮栅,以实现数据的存储。并且,通过调整编程电压v
pgm
的大小,即可调节浮栅中存储的电子的数量,进而可以调节该选定存储单元的阈值电压vth。
110.由于导通电压v
pass
通常低于编程电压v
pgm
,因此unsel wl所连接的去选存储单元的控制栅与沟道之间的电压差相对较小,从而可以避免沟道中的电子隧穿至浮栅。而对于去选存储串中与sel wl连接的去选存储单元,由于该去选存储串的沟道浮空,因此sel wl连接的去选存储单元的控制栅与沟道之间的电压差也相对较小,也可以避免沟道中的电子隧穿至浮栅。也即是,在对选定存储单元编程时,unsel wl所连接的去选存储单元,以及sel wl连接的去选存储单元均不会被编程,即去选存储单元的编程被抑制。
111.步骤502,响应于多个存储块中存在编程验证失败的存储块,且针对第m个数据态的验证次数达到最大验证次数,禁用编程验证失败的存储块,并在第n次编程脉冲循环阶段中对第m+1个数据态进行验证。
112.在一些实施例中,针对第m个数据态的验证次数达到最大验证次数是指,通过最大验证次数的编程脉冲循环阶段对第m个数据态进行验证,且存在存储块依旧未通过对第m个数据态的验证,即针对第m个数据态的验证次数达到最大验证次数。
113.当针对第m个数据态的验证次数达到最大验证次数时,表示未通过验证的存储块无法正常进行编程,可能由于使用寿命或者其他物理缺陷成为坏块,故禁用无法通过验证的坏块,并针对其他通过验证的存储块,在当前第n次编程脉冲循环阶段中进行第m+1个数据态的验证。
114.也即,无需进入第n+1次编程脉冲循环阶段继续进行编程电压的提升以及施加,即可在当前编程脉冲循环阶段中继续对正常存储块的后续数据态进行验证,直至验证至正常存储块尚未编程达到的数据态,继续进行后续编程脉冲循环过程。
115.在一些实施例中,响应于至少两个存储块中存在未达到第m个数据态对应的编程阈值电压的存储块,则确定至少两个存储块中存在编程验证失败的存储块;响应于至少两个存储块达到第m个数据态对应的编程阈值电压,确定至少两个存储块编程验证成功。
116.在一些实施例中,响应于所述多个存储块中目标存储块的存储单元在编程后未达到第m个数据态对应的编程阈值电压,确定所述目标存储块编程验证失败。
117.综上所述,本实施例提供的方法,在编程验证的过程中,当经过最大验证次数后存在坏块被禁用时,无需进入下一个编程脉冲循环阶段进行编程后再进行编程验证,直接在
当前编程脉冲循环阶段中进行后续数据态的编程验证,从而提高了编程验证的效率,避免编程脉冲循环阶段的次数增加,减少了编程的耗时,提高了编程速度。
118.在一个可选的实施例中,针对至少两个存储块的编程验证结果,所走向的分支也不同。图6是本技术另一个示例性实施例提供的编程方法的流程图,如图6所示,该方法包括:
119.步骤601,在对多个存储块进行同步编程的编程验证过程中,获取多个存储块在第n次编程脉冲循环阶段对第m个数据态的编程验证结果,n和m皆为正整数。
120.在施加编程电压后,对多个存储块中选定存储单元的编程进行编程验证,并确定各个存储单元的编程验证结果。其中,编程验证结果用于指示多个存储块中的存储单元是否达到数据态对应的编程电压。
121.步骤602,响应于多个存储块中存在编程验证失败的存储块,且针对第m个数据态的验证次数达到最大验证次数,禁用编程验证失败的存储块,并在第n次编程脉冲循环阶段中对第m+1个数据态进行验证。
122.当针对第m个数据态的验证次数达到最大验证次数时,表示未通过验证的存储块无法正常进行编程,可能由于使用寿命或者其他物理缺陷成为坏块,故禁用无法通过验证的坏块,并针对其他通过验证的存储块,在当前第n次编程脉冲循环阶段中进行第m+1个数据态的验证。
123.其中,最大验证次数是预先设定的,示意性的,针对数据态1设置最大验证次数为5,针对数据态2设置最大验证次数为7,针对数据态3设置最大验证次数为8。
124.步骤603,响应于多个存储块中存在编程验证失败的存储块,且针对第m个数据态的验证次数未达到最大验证次数,在第n+1次编程脉冲循环阶段对第m个数据态进行验证。
125.由于数据态不一定是单次编程电压直接达到的,可能需要通过多次编程电压逐步提升达到,故,当针对第m个数据态的验证次数未达到最大验证次数,而存储块编程验证失败时,可能情况包括如下情况中的至少一种:1、存在存储块为坏块,无法达到第m个数据态;2、多个存储块中的存储单元在通过编程脉冲电压的施加逐步提升至第m个数据态的过程中。
126.为了从多个存储块中识别出坏块,而确保并非由于编程脉冲电压逐步提升至第m个数据态,故,在针对第m个数据态的验证次数未达到最大验证次数时,继续进入下一编程脉冲循环阶段,也即第n+1个编程脉冲循环阶段,并在第n+1个编程脉冲循环阶段完成编程脉冲电压的施加后,继续对第m个数据态进行验证,直至第m个数据态验证成功,或者,直至针对第m个数据态的验证次数达到最大验证次数。
127.步骤604,响应于多个存储块编程验证通过,且当前编程验证过程在第n次编程脉冲循环阶段中非首次验证过程,在第n次编程脉冲循环阶段中对当前数据态的后续数据态进行验证。
128.当多个存储块在第n次编程脉冲循环阶段中都验证通过时,包括如下情况中的任意一种:1、多个存储块在第n次编程脉冲循环阶段中直接验证通过,也即在第n次编程脉冲循环阶段中,多个存储块中的选定存储单元在施加编程脉冲电压后直接通过第m个数据态的验证,即,在第n次编程脉冲循环阶段中的首次验证中多个存储块通过第m个数据态的验证;2、多个存储块在第n次编程脉冲循环阶段中,首次验证时未通过第m个数据态的验证,而
其中未通过的存储块被禁用后,其他存储块继续对第m+1个数据态进行验证,并通过了对第m+1个数据态的验证,则其他存储块对第m+1个数据态的验证并非在第n次编程脉冲循环阶段中的首次验证过程。
129.由于其他存储块在坏块通过多次编程脉冲循环阶段进行编程脉冲电压施加的同时,也在通过多次编程脉冲循环阶段提升编程脉冲电压,也即,存在存储块在第n次编程脉冲循环阶段由于未通过第m个数据态的验证被识别为坏块而被禁用时,其他存储块中的选定存储单元可能已经达到第m+k个数据态,k为正整数,故,在第n次编程脉冲循环阶段,当其他存储块通过第m+1个数据态的验证时,还可以继续对第m+2个数据态进行验证,直至其他存储块中存在未通过验证的存储块,则继续执行后续的编程脉冲循环阶段进行编程脉冲电压的提升以及验证。
130.步骤605,响应于多个存储块编程验证通过,且当前编程验证过程是第n次编程脉冲循环阶段中的首次验证过程,在第n+1次编程脉冲循环阶段中对第m+1个数据态进行验证。
131.当多个存储块编程验证通过,且多个存储块在第n次编程脉冲循环阶段中是直接通过第m个数据态的验证,则表示多个存储块针对第m个数据态编程正常,故,进入下一个编程脉冲循环阶段,即第n+1个编程脉冲循环阶段,对下一个数据态进行验证,即对第m+1个数据态进行验证。
132.在一些实施例中,在第n+1次编程脉冲循环阶段中对第m+1个数据态进行验证之前,首先获取数据态验证阈值,数据态验证阈值用于表示多个存储块中的存储单元所需要编程达到的数据态总数,如:tlc共有8个数据态,其中1个数据态(第0态)作为擦除态,7个数据态(第1态至第7态)作为编程态,则至少两个存储单元所需要编程达到的编程态为7个,第0态为默认达到的数据态。
133.响应于第m+1个数据态未达到数据态验证阈值,在第n+1次编程脉冲循环阶段中对第m+1个数据态进行验证,响应于第m+1个数据态达到数据态验证阈值,则表示所有数据态编程并验证成功,故结束编程脉冲循环。在一些实施例中,判断起始验证电平是否达到最大验证电平,当起始验证电平达到最大验证电平时,表示第m+1个数据态达到数据态验证阈值,则结束编程脉冲循环。
134.综上所述,本实施例提供的方法,在编程验证的过程中,当经过最大验证次数后存在坏块被禁用时,无需进入下一个编程脉冲循环阶段进行编程后再进行编程验证,直接在当前编程脉冲循环阶段中进行后续数据态的编程验证,从而提高了编程验证的效率,避免编程脉冲循环阶段的次数增加,减少了编程的耗时,提高了编程速度。
135.本实施例提供的方法,当多个存储块编程验证通过时,会首先确定编程验证过程是否是第n次编程脉冲循环进阶段中的首次验证过程,从而确定多个存储块是直接通过了第m个数据态的验证,还是在禁用坏块后,其他存储块通过了后续数据态的验证,从而在第n次编程脉冲循环阶段中,完成其他存储块在未完成验证的数据态上的验证工作,避免了多余编程脉冲循环阶段的耗时,提高了编程效率。
136.图7是本技术一个示例性实施例提供的整体方案的流程图,如图7所示,该编程方法包括如下步骤。
137.步骤701,验证错误位计数。
138.即验证确认(verify count check,vfc check),用于对多面编程中各个存储块的验证结果进行统计归纳,如:多面编程中存在block 0/1/2/3四个存储块进行同步编程,其中,在vfc check中统计四个存储块分别对应的验证结果,如:针对数据态3,block 0的验证结果为0,表示验证通过,block 1的验证结果为0,表示验证通过,block 2的验证结果为1,表示验证未通过,block 3的验证结果为0,表示验证通过。其中,每个存储块中包括一个或者多个存储单元作为同步编程的选定存储单元,当包括多个选定存储单元时,存在选定存储单元验证未通过时,则存储块验证未通过;或者,当未通过验证的选定存储单元得到数量阈值时,则存储块验证未通过。
139.步骤702,判断多个存储块是否都通过验证。
140.示意性的,针对数据态3,判断多个存储块中的存储单元是否都达到数据态3对应的编程阈值电压,若都达到则表示多个存储块都通过验证,若存在存储块中的存储单元未达到数据态3,则表示多个存储块中存在存储块未通过验证。
141.示意性的,针对数据态3,block 0的验证结果为0,表示验证通过,block 1的验证结果为0,表示验证通过,block 2的验证结果为1,表示验证未通过,block 3的验证结果为0,表示验证通过。由于block 2的验证结果为1,故多个存储块中存在未通过验证的存储块。
142.步骤703,若多个存储块都通过验证,判断该验证过程是否是当前编程脉冲循环阶段的第一次验证。
143.当多个存储块都通过验证时,存在可能情况1:多个存储块正常直接通过验证;可能情况2:多个存储块在当前编程脉冲循环阶段中,已由于达到最大验证次数禁用了坏块,其他存储块通过后续数据态的验证。其中,可能情况1中多个存储块是直接通过了当前编程脉冲循环阶段的第一次验证,可能情况2中多个存储块是在当前编程脉冲循环阶段的第一次验证失败后,禁用坏块并在后续验证中由其他存储块通过了后续的数据态验证,故,根据验证过程是否是当前编程脉冲循环阶段的第一次验证,即可确定属于可能情况1还是可能情况2,并针对可能情况1和可能情况2进行不同的后续处理。
144.步骤704,若该验证过程是当前编程脉冲循环阶段的第一次验证,则结束当前编程脉冲循环阶段,并进入下一编程脉冲循环阶段对下一数据态进行验证。
145.若该验证过程是当前编程脉冲循环阶段的第一次验证,也即,对应上述可能情况1,表示多个存储块是直接通过了当前编程脉冲循环阶段的第一次验证,则结束当前编程脉冲循环阶段,并将当前数据态加一,进入下一编程脉冲循环阶段对下一数据态进行验证。
146.步骤705,若该验证过程不是当前编程脉冲循环阶段的第一次验证,在当前编程脉冲循环阶段对下一数据态进行验证。
147.若该验证过程不是当前编程脉冲循环阶段的第一次验证,即对应上述可能情况2,表示多个存储块是在当前编程脉冲循环阶段的第一次验证失败后,禁用坏块并在后续验证中由其他存储块通过了后续的数据态验证,则针对其他存储块,在通过一次数据态验证时,还可能会继续通过下一次数据态验证,故继续在当前编程脉冲循环阶段对下一数据态进行验证。
148.示意性的,四个存储块同步进行编程以及编程验证,在针对数据态3的验证中,block 2未通过数据态3的验证,且验证次数达到最大次数7次,故禁用block 2,而block 0/1/3可能在第2次验证时即通过了数据态3,而在之后5次编程脉冲循环阶段中,block 0/1/3
继续进行了5次编程脉冲电压的提升,而始终停留在对数据态3的验证中,在第7次验证后,block 2被禁用,而block 0/1/3继续在当前编程脉冲循环阶段对数据态4进行验证,并当block 0/1/3都通过数据态4的验证时,由于block 0/1/3并非在当前编程脉冲循环阶段的第一次验证,故可以继续在当前编程脉冲循环阶段中对数据态5进行验证,直至block 0/1/3中存在存储块未通过后续某一数据态的验证,或者直至block 0/1/3所验证的数据态达到最大数据态。
149.步骤706,若多个存储块中存在存储块未通过验证,判断验证次数是否达到最大验证次数。
150.当多个存储块中存在存储块未通过验证,对应存在如下情况1:多个存储块在逐步提升编程脉冲电压以达到编程阈值电压的过程中;情况2:多个存储块中存在坏块,无法达到编程阈值电压。
151.为了区分上述情况1和情况2,设置最大验证次数进行判断,其中,当针对当前数据态的验证次数未达到最大验证次数时,则表示多个存储块在逐步提升编程脉冲电压以达到编程阈值电压的过程中,对应上述情况1,当针对当前数据态的验证次数达到最大验证次数时,则表示多个存储块中存在坏块,无法达到编程阈值电压,对应上述情况2。
152.步骤707,若验证次数未达到最大验证次数,结束当前编程脉冲循环阶段,并进入下一编程脉冲循环阶段对当前数据态进行验证。
153.当多个存储块针对当前数据态的验证次数未达到最大验证次数,即对应上述情况1,表示多个存储块在逐步提升编程脉冲电压以达到编程阈值电压的过程中。
154.示意性的,四个存储块同步进行编程以及编程验证,四个存储块需要通过两次编程脉冲循环阶段以达到数据态1对应的编程阈值电压,在第一次编程脉冲循环阶段中,四个存储块未通过针对数据态1的编程验证,故继续进入第二次编程脉冲循环阶段,并在第二次编程脉冲循环阶段中提升并施加编程电压后,继续对数据态1进行编程验证。
155.步骤708,若验证次数达到最大验证次数,禁用未通过验证的存储块。
156.当多个存储块针对当前数据态的验证次数达到最大验证次数,即对应上述情况2,表示多个存储块中存在坏块,无法达到当前数据态对应的编程阈值电压。
157.示意性的,四个存储块同步进行编程以及编程验证,四个存储块需要通过两次编程脉冲循环阶段以达到数据态1对应的编程阈值电压,而针对数据态1的最大验证次数为3次,则在第二次编程脉冲循环阶段中,block 0/1/3通过了数据态1的验证,而block 2未通过数据态1的验证,故继续进行第三次编程脉冲循环阶段,而第三次编程脉冲循环阶段中block 2依旧未通过数据态1的验证,而针对数据态1的验证已达到最大验证次数,故禁用block 2。
158.在一些实施例中,在禁用未通过验证的存储块后,继续通过剩余的存储块完成编程,或者,在禁用未通过验证的存储块后,重新从存储单元阵列中确定一个存储块用于重新编程被禁用的存储块的编程内容。
159.其中,在禁用未通过验证的存储块后,在当前编程脉冲循环阶段对下一数据态进行验证。
160.针对当前编程脉冲循环阶段中未被禁用的其他存储块,对已验证数据态的后续数据态继续进行验证,直至存在存储块无法通过后续某一数据态的验证,或者所有数据态验
证完毕。
161.示意性的,第三次编程脉冲循环阶段中block 2依旧未通过数据态1的验证,而针对数据态1的验证已达到最大验证次数,故禁用block 2,而block 0/1/3通过了数据态1的验证,故继续在第三次编程脉冲循环阶段对block 0/1/3是否通过数据态2进行验证,若数据态2也通过,则继续在第三次编程脉冲循环阶段对block 0/1/3是否通过数据态3进行验证,以此类推。
162.综上所述,本实施例提供的方法,在编程验证的过程中,当经过最大验证次数后存在坏块被禁用时,无需进入下一个编程脉冲循环阶段进行编程后再进行编程验证,直接在当前编程脉冲循环阶段中进行后续数据态的编程验证,从而提高了编程验证的效率,避免编程脉冲循环阶段的次数增加,减少了编程的耗时,提高了编程速度。
163.图8是本技术实施例提供的一种存储器的结构示意图。如图8所示,该存储器中包括外围电路800和存储单元阵列810;
164.该外围电路800用于向存储单元阵列810中写入数据,以及从存储单元阵列810中读取数据。
165.外围电路800包括:电压发生器802、页缓冲器/感测放大器804、列解码器/位线(bl)驱动器/806、行解码器/字线(wl)驱动器808、外围逻辑单元812、寄存器814、输入输出电路816和数据总线818。应当理解,在一些示例中,还可以包括图8中未示出的附加外围电路。
166.页缓冲器/感测放大器804可以被配置为根据来自外围逻辑单元812的控制信号从存储器单元阵列810读取数据以及向存储器单元阵列810编程(写入)数据。在一个示例中,页缓冲器/感测放大器804可以存储要被编程到存储器单元阵列810的一个页中的一页编程数据(写入数据)。在另一示例中,页缓冲器/感测放大器804可以执行编程验证操作,以确保数据已经被正确地编程到耦合到选定字线的存储器单元中。在又一示例中,页缓冲器/感测放大器804还可以感测来自位线的表示存储在存储器单元中的数据位的低功率信号,并且在读取操作中将小电压摆幅放大到可识别的逻辑电平。
167.列解码器/位线驱动器806可以被配置为由外围逻辑单元812控制,并且通过施加从电压发生器802生成的位线电压来选择一个或多个nand存储器串。
168.行解码器/字线驱动器808可以被配置为由外围逻辑单元812控制,并且选择/取消选择存储器单元阵列810的块,并且选择/取消选择块的字线。行解码器/字线驱动器808还可以被配置为使用从电压发生器802生成的字线电压(v
wl
)来驱动字线。在一些实施方式中,行解码器/字线驱动器808还可以选择/取消选择并且驱动源极选择栅极线和漏极选择栅极线。示意性的,行解码器/字线驱动器808被配置为对耦合到(一个或多个)选定字线的存储器单元执行擦除操作。
169.电压发生器802可以被配置为由外围逻辑单元812控制,并且生成要被供应到存储器单元阵列810的字线电压(例如,读取电压、编程电压、通过电压、局部电压、验证电压等)、位线电压和源极线电压。
170.外围逻辑单元812可以耦合到上文描述的每个外围电路,并且被配置为控制每个外围电路的操作。外围逻辑单元812中包括如上图8所示出的控制电路。
171.寄存器814可以耦合到外围逻辑单元812,并且包括状态寄存器、命令寄存器和地
址寄存器,以用于存储用于控制每个外围电路的操作的状态信息、命令操作码(op码)和命令地址。输入输出电路816可以耦合到外围逻辑单元812,并且充当控制缓冲器,以缓冲从主机(未示出)接收的控制命令并且并将其中继到外围逻辑单元812,以及缓冲从外围逻辑单元812接收的状态信息并且将其中继到主机。输入输出电路816还可以经由数据总线818耦合到列解码器/位线驱动器806,并且充当数据输入输出接口和数据缓冲器,以缓冲数据并且将其中继到存储器单元阵列810或从存储器单元阵列810中继或缓冲数据。
172.需要强调的是,外围电路800被配置为对多个存储器单元行中的选定存储器单元行执行本公开实施例提供的存储器的编程方法。
173.图9是本技术一个示例性实施例提供的存储系统的结构框图,如图9所示,该存储系统900包括:一个或多个存储器910,以及,
174.耦合到存储器910并且被配置为控制该存储器910的存储器控制器920。
175.存储系统900可以是移动电话、台式计算机、膝上型计算机、平板计算机、车辆计算机、游戏控制台、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(vr)设备、增强现实(ar)设备或者其中具有储存器的任何其他合适的电子设备。
176.可选地,存储系统900可以包括主机和存储子系统,存储子系统具有一个或多个存储器910和存储器控制器920。主机可以是电子设备的处理器(例如,中央处理单元(cpu))或者片上系统(soc)(例如,应用处理器(ap))。主机可以被配置为将数据发送到存储器910。或者,主机可以被配置为从存储器910接收数据。
177.根据一些实施方式,存储器控制器920还耦合到主机。存储器控制器920可以管理存储在存储器910中的数据,并且与主机通信。
178.在一些实施方式中,存储器控制器920被设计为用于在低占空比环境中操作,如安全数字(sd)卡、紧凑型闪存(cf)卡、通用串行总线(usb)闪存驱动器、或用于在诸如个人计算器、数字相机、移动电话等的电子设备中使用的其他介质。
179.在一些实施方式中,存储器控制器920被设计为用于在高占空比环境固态硬盘(ssd)或嵌入式多媒体卡(emmc)中操作,ssd或emmc用作诸如智能电话、平板计算机、膝上型计算机等的移动设备的数据储存器以及企业存储阵列。
180.存储器控制器920可以被配置为控制存储器910的操作,例如读取、擦除和编程操作。存储器控制器920还可以被配置为管理关于存储在或要存储在存储器910中的数据的各种功能,包括但不限于坏块管理、垃圾收集、逻辑到物理地址转换、损耗均衡等。在一些实施方式中,存储器控制器920还被配置为处理关于从存储器910读取的或者被写入到存储器910的数据的纠错码(ecc)。
181.存储器控制器920还可以执行任何其他合适的功能,例如,格式化存储器910。存储器控制器920可以根据特定通信协议与外部设备通信。
182.存储器控制器920和一个或多个存储器910可以集成到各种类型的存储设备中,例如,包括在相同封装(例如,通用闪存存储(ufs)封装或emmc封装)中。也就是说,存储器系统900可以实施并且封装到不同类型的终端电子产品中。
183.示意性的,存储器控制器920和单个存储器910可以集成到存储器卡中。存储器卡可以包括pc卡(pcmcia,个人计算机存储器卡国际协会)、cf卡、智能媒体(sm)卡、存储器棒、多媒体卡(mmc、rs-mmc、mmcmicro)、sd卡(sd、minisd、microsd、sdhc)、ufs等。存储器卡还可
以包括将存储器卡与主机耦合的存储器卡连接器。
184.示意性的,存储器控制器920和多个存储器910可以集成到固态驱动器(ssd)中。在一些实施方式中,固态驱动器的存储容量和/或操作速度大于存储器卡的存储容量和/或操作速度。
185.可以理解的是,存储器控制器920可以执行如本公开任一实施例提供的存储器的编程方法。
186.本技术实施例提供了一种控制电路,该控制电路包括可编程逻辑电路和/或程序指令,该控制电路可以用于实现本技术前述实施例提供的存储器的编程方法。
187.示意性的,如图9所示出的存储器910包括:存储阵列单元和外围逻辑单元,所述存储阵列单元中包括多个存储块,存储块中包括存储单元,所述外围逻辑单元包括控制电路;
188.所述控制电路,被配置为在对多个存储块进行同步编程的编程验证过程中,获取所述多个存储块在第n次编程脉冲循环阶段对第m个数据态的编程验证结果,n和m皆为正整数;
189.所述控制电路,还被配置为响应于所述多个存储块中存在编程验证失败的存储块,且针对第m个数据态的验证次数达到最大验证次数,禁用所述编程验证失败的存储块,并在第n次编程脉冲循环阶段中对第m+1个数据态进行验证。
190.在一个可选的实施例中,所述控制电路,还被配置为在第n次编程脉冲循环阶段获取第m+1个数据态对应的编程阈值电压;确定所述多个存储块中除被禁用的存储块以外的其他存储块对应的编程脉冲电压;对编程脉冲电压与第m+1个数据态对应的编程阈值电压进行比较,基于所述编程脉冲电压与第m+1个数据态对应的编程阈值电压的比较情况,对第m+1个数据态进行验证。
191.在一个可选的实施例中,所述控制电路,还被配置为响应于所述多个存储块存在存储块编程验证失败,且针对第m个数据态的验证次数未达到最大验证次数,在第n+1次编程脉冲循环阶段对第m个数据态进行验证。
192.在一个可选的实施例中,所述控制电路,还被配置为响应于所述多个存储块编程验证通过,且当前编程验证过程在所述第n次编程脉冲循环阶段中非首次验证过程,在第n次编程脉冲循环阶段中对当前数据态的后续数据态进行验证。
193.在一个可选的实施例中,所述控制电路,还被配置为响应于所述多个存储块编程验证通过,且当前编程验证过程是所述第n次编程脉冲循环阶段中的首次验证过程,在第n+1次编程脉冲循环阶段中对第m+1个数据态进行验证。
194.在一个可选的实施例中,所述控制电路,还被配置为获取数据态验证阈值,所述数据态验证阈值用于表示所述多个存储块所需要编程达到的数据态总数;响应于第m+1个数据态未达到所述数据态验证阈值,在第n+1次编程脉冲循环阶段中对第m+1个数据态进行验证。
195.在一个可选的实施例中,所述控制电路,还被配置为响应于第m+1个数据态达到所述数据态验证阈值,结束所述编程脉冲循环。
196.在一个可选的实施例中,所述控制电路,还被配置为响应于所述多个存储块中存在未达到第m个数据态对应的编程阈值电压的存储块,则确定所述多个存储块中存在编程验证失败的存储块;响应于所述多个存储块达到第m个数据态对应的所述编程阈值电压,确
定所述多个存储块编程验证成功。
197.在一个可选的实施例中,所述控制电路,还被配置为响应于所述多个存储块中目标存储块的存储单元在编程后未达到第m个数据态对应的编程阈值电压,确定所述目标存储块编程验证失败。
198.综上所述,本实施例提供的存储器,在编程验证的过程中,当经过最大验证次数后存在坏块被禁用时,无需进入下一个编程脉冲循环阶段进行编程后再进行编程验证,直接在当前编程脉冲循环阶段中进行后续数据态的编程验证,从而提高了编程验证的效率,避免编程脉冲循环阶段的次数增加,减少了编程的耗时,提高了编程速度。
199.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,指令在控制电路上运行时实现如本技术前述实施例提供的存储器的编程方法。
200.在本技术中,术语“第一”和“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。
201.本技术中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
202.以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1