一种存储器的操作方法、存储器及存储系统与流程
1.本技术涉及存储器技术领域,尤其涉及一种存储器的操作方法、存储器及存储系统。
背景技术:
2.最近,随着存储器的发展,存储器可以是易失性的或非易失性的。非易失性存储器即使在未通电的情况下也能够保持数据,因此已经广泛用于蜂窝电话、数码相机、个人数字助理、移动计算设备、非移动计算设备和其它设备中,尤其是3d nand闪存应用尤为广泛。3d nand闪存通过在其包含的存储单元的栅介质层中捕获和存储电荷来实现数据存储的功能。但随着存储时间的增加,存储单元的栅介质层的电荷会缓慢泄漏;而反复读取存储单元时,存储单元的栅介质层的电荷又会被捕获,类似编程。不论怎样,存储单元的栅介质层的电荷的变化会引起存储单元的阈值电压的变化,从而影响对存储单元存储数据的读取的正确性。
技术实现要素:
3.有鉴于此,本技术提供一种存储器的操作方法、存储器及存储系统,以解决上述技术问题。
4.为达到上述目的,本技术的技术方案是这样实现的:
5.第一方面,本技术实施例提供一种存储器的操作方法,包括:
6.获得至少一组读取电压;所述至少一组读取电压中的每一组读取电压包括初始电压值及相对所述初始电压值具有一定偏移量的偏移电压值;所述每一组读取电压中的初始电压值为用于区分所述存储器的存储单元的两个相邻存储态的预设读取电压;
7.基于所述至少一组读取电压中的初始电压值和偏移电压值分别执行读取操作,获得每一个电压值对应的读取结果满足设定条件的存储单元的数量;
8.确定属于同一组读取电压的每两个相邻的电压值对应的两个所述数量之间的差值;
9.基于所述差值确定用于区分所述两个相邻存储态的最优读取电压。
10.第二方面,本技术实施例还提供一种存储器,包括:存储阵列,所述存储阵列包括存储单元;
11.及与所述存储阵列耦接且被配置为控制所述存储阵列的外围电路;
12.所述外围电路,被配置为:执行上述所述操作方法。
13.第三方面,本技术实施例还提供一种存储系统,包括:一个或多个前述所述的存储器;以及耦接在所述存储器的存储器控制器;所述存储器控制器,被配置为:向所述存储器发送第一命令;所述存储器,被配置为:响应于所述第一命令,执行前述所述操作方法。
14.第四方面,本技术实施例还提供一种存储系统,包括:一个或多个存储器;以及耦接在所述存储器的存储器控制器;其中,
15.所述存储器控制器,被配置为:获得至少一组读取电压;所述至少一组读取电压中的每一组读取电压包括初始电压值及相对所述初始电压值值具有一定偏移量的偏移电压值;所述每一组读取电压中的初始电压值为用于区分所述存储器的存储单元的两个相邻存储态的预设读取电压;基于所述至少一组读取电压中的初始电压值和偏移电压值分别向所述存储器中包含的一个存储面发送相应的读取命令;
16.所述存储器,被配置为:响应于所述相应的读取命令,读取相应的存储面;向所述存储器控制器发送所述存储面中每一存储单元的读取结果;
17.所述存储器控制器,还被配置为:接收所述读取结果;统计每一个电压值对应的读取结果满足设定条件的存储单元的数量;确定属于同一组读取电压的每两个相邻的电压值对应的两个所述数量之间的差值;基于所述差值确定用于区分所述两个相邻存储态的最优读取电压。
18.第五方面,本技术实施例还提供一种存储系统,包括:一个或多个存储器;以及耦接在所述存储器的存储器控制器;其中,
19.所述存储器控制器,被配置为:获得至少一组读取电压;所述至少一组读取电压中的每一组读取电压包括初始电压值及相对所述初始电压值值具有一定偏移量的偏移电压值;所述每一组读取电压中的初始电压值为用于区分所述存储器的存储单元的两个相邻存储态的预设读取电压;基于所述至少一组读取电压中初始电压值和偏移电压值分别向所述存储器中包含的一个存储面发送相应的读取命令;
20.所述存储器,被配置为:响应于所述相应的读取命令,读取相应的存储面;统计每一个电压值对应的读取结果满足设定条件的存储单元的数量;向所述存储器控制器发送所述数量;
21.所述存储器控制器,还被配置为:接收所述数量;确定属于同一组读取电压的每两个相邻的电压值对应的两个所述数量之间的差值;基于所述差值确定用于区别所述两个相邻存储态的存储单元的最优读取电压。
22.本技术实施例提供一种存储器的操作方法、存储器及存储系统。其中,所述存储器的操作方法包括:获得至少一组读取电压;所述至少一组读取电压中的每一组读取电压包括初始电压值及相对所述初始电压值具有一定偏移量的偏移电压值;所述每一组读取电压中的初始电压值为用于区分所述存储器的存储单元的两个相邻存储态的预设读取电压;基于所述至少一组读取电压中的初始电压值和偏移电压值分别执行读取操作,获得每一个电压值对应的读取结果满足设定条件的存储单元的数量;确定属于同一组读取电压的每两个相邻的电压值对应的两个所述数量之间的差值;基于所述差值确定用于区分所述两个相邻存储态的最优读取电压。本技术实施例提供的存储器的操作方法,通过设置包含多个电压值的至少一组读取电压,利用每一个电压值分别对所述存储器的存储单元执行读取操作,获得读取结果满足设定条件的数量;然后,依据属于同一组读取电压中每两个相邻的电压值对应的所述数量之间的差值,再基于所述差值确定用于区分所述存储器的存储单元的与该组读取电压对应的两个相邻存储态的最优读取电压。以获得的最优读取电压读取所述存储器的相应存储单元,极大地增加了正确读取该存储单元存储的数据的概率。
附图说明
23.当结合附图阅读时,从以下具体实施例方式中可以最好地理解本技术的方面。注意,根据工业汇总的标准实践,各种特征没有按照比例绘制。事实上,为了讨论的清楚,各特征的尺寸可以任意地增加或减小。
24.图1示出相关技术中具有存储器的示例性系统的块图;
25.图2示出具有存储器的示例性存储卡的示意图;
26.图3示出具有存储器的示例性固态硬盘(ssd)的示意图;
27.图4示出包含外围电路的示例性存储器的示意图;
28.图5示出包含nand存储器串的示例性存储阵列的截面的侧视图;
29.图6示出包含存储阵列和外围电路的示例性存储器的块图;
30.图7示出本技术实施例提供的存储器的操作方法的流程示意图;
31.图8示出本技术实施例提供的存储单元任意两个相邻存储态的阈值电压分布示意图;
32.图9示出本技术实施例提供第一组读取电压的关系示意图;
33.图10示出本技术实施例提供的采用图9中所示的多个电压值分别读取一个存储面时每一个存储面包含的读取结果满足设定条件的存储单元的的数量的示意图;
34.图11示出本技术实施例提供的图10中所示每两个相邻电压值对应的差值的示意图;
35.图12示出本技术实施例提供的具有拐点的各差值的示意图;
36.图13示出本技术实施例提供的所述至少一组读取电压包括第一组读取电压和第二组读取电压时,第一组读取电压包含的初始电压值vrdn1大于第二组读取电压包含的初始电压值vrdn2的一种关系示意图;
37.图14示出本技术实施例提供的一种实现本技术实施例提供的操作方法的流程示意图;
38.图15示出本技术实施例提供的另一种实现本技术实施例提供的操作方法的流程示意图。
具体实施方式
39.以下公开提供了用于实施所提供的主题的不同特征的许多不同实施例或示例。下面描述部件和布置的具体示例以简化本技术。当然,这些仅仅是示例,而不是限制性的。例如,在以下描述中,第一特征形成在第二特征之上或上可以包括其中第一特征和第二特征直接接触形成的实施例,并且还可以包括附加特征可以形成在第一特征与第二特征之间使得第一特征和第二特征可以不直接接触的实施例。另外,本技术可能在各种示例中重复参考数据和/或字母。这样重复是为了简单和清楚的目的,并且其本身不指示所讨论的各种实施例和/或构造之间的关系。
40.此外,诸如“在
……
之下”、“在
……
下方”、“下部”、“在
……
上方”、“上部”等空间相对术语在本中为了便于描述可以用于描述一个元件或特征与(一个或多个)另一元件或特征的如图中所示的关系。空间相对术语旨在涵盖除了图中描绘的取向之外的在器件使用或操作中的不同取向。装置可以以其他方式定向(旋转90度或在其他取向下),并且本文所用
的空间相对描述词也可以被相应的解释。
41.下面结合附图进行详细的说明本技术的技术方案。
42.图1示出相关技术中具有存储器的示例性系统的块图。在图1中,系统100可以是移动电话、台式计算机、膝上型计算机、平板计算机、车辆计算机、游戏控制台、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(vr,virtual reality)设备、增强现实(ar,argument reality)设备或者其中具有储存器的任何其他合适的电子设备。如图1所示,系统100可以包括主机108和存储系统102,其中,存储系统102具有一个或多个存储器104和存储器控制器106;主机108可以是电子设备的处理器,如中央处理单元(cpu,central processing unit)或者片上系统(soc,system of chip),其中,片上系统例如可以为应用处理器(ap,application processor)。主机108可以被配置为将数据发送到存储器104或从存储器104接收数据。具体的,存储器104可以是本技术中公开的任何存储器。比如,相变随机存取存储器(pcram,phase change random access memory)、三维nand闪存等等。
43.根据一些实施方式,存储器控制器106耦合到存储器104和主机108。并且被配置为控制存储器104。存储器控制器106可以管理存储在存储器104中的数据,并与主机108通信。在一些实施例中,存储器控制器106被设计为用于在低占空比环境中操作,比如在安全数字(sd,secure digital)卡、紧凑型闪存(cf,compact flash)卡、通用串行总线(usb,universal serial bus)闪存驱动器、或用于在诸如个人计算器、数字相机、移动电话等低占空比环境的电子设备中使用的其他介质。在一些实施例中,存储器控制器106被设计为用于在高占空比环境中操作,比如固态驱动器(ssd,solid state drive)或嵌入式多媒体卡(emmc,embedded muti media card),其中ssd或emmc用作诸如智能电话、平板计算机、膝上型计算机等高占空比环境的移动设备的数据储存器以及企业存储阵列。存储器控制器106可以被配置为控制存储器104的操作,例如读取、擦除和编程操作。存储器控制器106还可以被配置为管理关于存储在或要存储在存储器104中的数据的各种功能,包括但不限于坏块管理、垃圾收集、逻辑到物理地址转换、损耗均衡等。在一些实施方式中,存储器控制器106还被配置为处理关于从存储器104读取的或者被写入到存储器104的数据的纠错码(ecc,error correction code)。存储器控制器106还可以执行任何其他合适的功能,例如,格式化存储器104。存储器控制器106可以根据特定通信协议与外部设备(例如,主机108)通信。例如,存储器控制器106可以通过各种接口协议中的至少一种与外部设备通信,接口协议例如usb协议、mmc协议、外围部件互连(pci,peripheral component interconnection)协议、pci高速(pci-e,pci express)协议、高级技术附件(ata,advanced technology attachmnet)协议、串行ata协议、并行ata协议、小型计算机小型接口(scsi,small computer small interface)协议、增强型小型磁盘接口(esdi,enhanced small disk interface)协议、集成驱动电子设备(ide,integrated drive electronics)协议、firewire协议等。
44.存储器控制器106和一个或多个存储器104可以集成到各种类型的存储设备中,例如,包括在相同封装(例如,通用闪存存储(ufs)封装或emmc封装)中。也就是说,存储系统102可以实施并且封装到不同类型的终端电子产品中。在如图2所示的一个示例中,存储器控制器106和单个存储器104可以集成到存储器卡202中。存储器卡可以包括pc卡(pcmcia,个人计算机存储器卡国际协会)、cf卡、智能媒体(sm)卡、存储器棒、多媒体卡(mmc、rs-mmc、
mmcmicro)、sd卡(sd、minisd、microsd、sdhc)、ufs等。存储器卡还可以包括将存储器卡与主机(例如,图1中的主机108)耦合的存储器卡连接器204。在如图3所示的另一示例中,存储器控制器106和多个存储器104可以集成到ssd 302中。ssd还可以包括将ssd与主机(例如,图1中的主机108)耦合的ssd连接器304。在一些实施方式中,ssd的存储容量和/或操作速度大于存储器卡的存储容量和/或操作速度。此外,存储器控制器106还可以被配置为控制存储器104的擦除、读取、写入操作。
45.图4示出包含外围电路的示例性存储器的示意图。在图4所示,存储器104可以包括存储阵列401和耦合在所述存储阵列401的外围电路402,其中,存储阵列401可以是nand闪存存储阵列,其中,存储单元406以nand存储器串408的阵列的形式提供,每个nand存储器串408在衬底(未示出)上方垂直地延伸。在一些实施例中,每个nand存储器串408包括串联耦合并且垂直地堆叠的多个存储单元406。每一个存储单元406可以保持连续模拟值,例如,电压或电荷,其取决于在存储单元406的存储区域内捕获的电子的数量。每一个存储单元406可以是包括浮栅晶体管的浮栅类型的存储单元,或者是包括电荷捕获晶体管的电荷捕获类型的存储单元。
46.在一些实施例中,每个存储单元406是具有两种可能的存储器状态并且因此可以存储一位数据的单级单元(slc,single level cell),例如,第一存储器状态“0”可以对应第一电压范围,并且第二存储器状态“1”可以对应于第二电压范围。在一些实施例中,每个存储单元406是具有四个或者多于四个存储器状态的多级单元(mlc,multi level cell),例如,mlc可以每单元存储两位,每单元存储三位(又被称为三级单元(tlc,trinary level cell),或者每单元存储四位(又被称为四级单元(qlc,quadruple level cell)。需要说明的是,这里所说的存储器状态也就是本技术所说的存储单元的存储态。不同类型的存储单元,具有不同数量的存储态,比如,slc类型的存储单元,具有2个存储态(也即两个存储器状态),其中,这2个存储态包括:一个编程状态,一个擦除状态。再比如,mlc类型的存储单元,具有4个存储态,其中,这4个存储态包括:一个擦除状态和三个编程状态。又比如,tlc类型的存储单元,具有8个存储态,其中,这8个存储态包括:一个擦除状态和七个编程状态。在一些实施例中,qlc类型的存储单元,具有16个存储态,其中,这16个存储态包括:一个擦除状态和十五个编程状态。
47.如图4所示,每个nand存储器串408可以包括在其源极端处的源极选择栅极(ssg)410和在其漏极端处的漏极选择栅极(dsg)412。ssg 410和dsg412可以被配置为在读取和编程(或写入)操作期间激活选定的nand存储器串408(阵列的列)。在一些实施例中,同一块404中的nand存储器串408的源极通过同一源极线(sl)414(比如,公共sl)耦合。换句话说,根据一些实施方式,同一块404中的所有nand存储器串408具有阵列公共源极(acs)。根据一些实施方式,每个nand存储器串408的dsg412耦合到相应的位线416,可以经由输出总线(未示出)从位线416读取和写入数据。在一些实施例中,每个nand存储器串408被配置为通过经由一个或多个dsg线413将选择电压(比如,高于具有dsg412晶体管的阈值电压)或取消选择电压(比如,0伏特(v))施加到相应的dsg412和/或经由一个或多个ssg线415将选择电压(比如,高于具有ssg410的晶体管的阈值电压)或取消选择电压(比如,0v)施加到相应的ssg410而被选择或被取消选择。
48.如图4所示,nand存储器串408可以被组织为多个块404,多个块404的每一个可以
具有公共源极线414(比如,耦合到地)。在一些实施例中,每个块404是具有擦除操作的基本数据单位,即,同一块404上的所有存储单元406同时被擦除。为了擦除选定块404中的存储单元406,可以用擦除电压(vers)(比如,高正电压20v或更高)偏置耦合到选定块404以及与选定块404同一面(plane)中的未选定块404的源极线414。应该理解,在一些示例中,可以在半块级、在四分之一块级耦或者具有任何合适数量的块或块的任何合适的分数的级执行擦除操作。相邻nand存储器串408的存储单元406可以通过字线418耦合,字线418选择存储单元406的哪一行接收读取和编程操作。在一些实施例方式中,耦合在同一字线418的存储单元406称之为(物理)页420。页420是用于编程操作或读取操作的基本数据单位,以位为单元的一页420的大小可以与一个块404中由字线418耦合的nand存储器串408的数量相关。每个字线418可以包括在相应页420中的每一个存储单元406处的多个控制栅极(栅极电极)以及耦合控制栅极的栅极线。
49.图5示出了根据本技术的一些方面的包括nand存储单元串408的示例性存储阵列401的截面的侧视图。如图5中所示,nand存储单元串408可以在衬底501上方垂直地延伸穿过存储器堆叠层502。衬底501可以包括硅(例如,单晶硅)、硅锗(sige)、砷化镓(gaas)、锗(ge)、绝缘体上硅(soi)、绝缘体上锗(goi)或者任何其他合适的材料。
50.存储器堆叠层502可以包括交替的栅极导电层503和栅极到栅极电介质层504。存储器堆叠层502中的栅极导电层503和栅极到栅极电介质层504的对的数量可以确定存储阵列401中的存储单元406的数量。栅极导电层503可以包括导电材料,导电材料包括但不限于钨(w)、钴(co)、铜(cu)、铝(al)、多晶硅、掺杂硅、硅化物或其任何组合。在一些实施方式中,每个栅极导电层503包括金属层,例如,钨层。在一些实施方式中,每个栅极导电层503包括掺杂多晶硅层。每个栅极导电层503可以包括围绕存储单元406的控制栅极,并且可以在存储器堆叠层502的顶部处横向地延伸作为dsg线413、在存储器堆叠层502的底部处横向地延伸作为ssg线415、或者在dsg线413与ssg线415之间横向地延伸作为字线418。
51.如图5中所示,nand存储单元串408包括垂直地延伸穿过存储器堆叠层502的沟道结构505。在一些实施方式中,沟道结构505包括填充有(一种或多种)半导体材料和(一种或多种)电介质材料的沟道孔。在一些实施方式中,半导体沟道包括硅,例如,多晶硅。在一些实施方式中,存储器膜是包括隧穿层、存储层(又称为“电荷捕获/存储层”)和阻挡层的复合电介质层。沟道结构505可以具有圆柱形状(例如,柱形状)。根据一些实施方式,半导体沟道、隧穿层、存储层和阻挡层以此顺序从柱的中心朝向柱的外表面径向布置。隧穿层可以包括氧化硅、氮氧化硅或其任何组合。存储层可以包括氮化硅、氮氧化硅或其任何组合。阻挡层可以包括氧化硅、氮氧化硅、高介电常数(高k)电介质或其任何组合。在一个示例中,存储器膜可以包括氧化硅/氮氧化硅/氧化硅(ono)的复合层。
52.返回参考图4,外围电路402可以通过位线416、字线418、源极线414、ssg线415和dsg线413耦合到存储阵列401。外围电路402可以包括任何合适的模拟、数字以及混合信号电路,以用于通过经由位线416、字线418、源极线414、ssg线415和dsg线413将电压信号和/或电流信号施加到每个目标存储单元406以及从每个目标存储单元406感测电压信号和/或电流信号来促进存储阵列401的操作。外围电路402可以包括使用金属-氧化物-半导体(mos)技术形成的各种类型的外围电路。例如,图6示出了一些示例性外围电路,外围电路402包括页缓冲器/感测放大器604、列解码器/位线驱动器606、行解码器/字线驱动器608、
电压发生器610、控制逻辑单元612、寄存器614、接口616和数据总线618。应当理解,在一些示例中,还可以包括图7中未示出的附加外围电路。
53.页缓冲器/感测放大器604可以被配置为根据来自控制逻辑单元612的控制信号从存储阵列401读取数据以及向存储阵列401编程(写入)数据。在一个示例中,页缓冲器/感测放大器604可以存储要被编程到存储阵列401的一个页420中的一页编程数据(写入数据)。在另一示例中,页缓冲器/感测放大器604可以执行编程验证操作,以确保数据已经被正确地编程到耦合到选定字线418的存储单元406中。在又一示例中,页缓冲器/感测放大器604还可以感测来自位线416的表示存储在存储单元406中的数据位的低功率信号,并且在读取操作中将小电压摆幅放大到可识别的逻辑电平。列解码器/位线驱动器606可以被配置为由控制逻辑单元612控制,并且通过施加从电压发生器610生成的位线电压来选择一个或多个nand存储器串408。
54.行解码器/字线驱动器608可以被配置为由控制逻辑单元612控制,并且选择/取消选择存储阵列401的块404并且选择/取消选择块404的字线418。行解码器/字线驱动器608还可以被配置为使用从电压发生器610生成的字线电压来驱动字线418。在一些实施方式中,行解码器/字线驱动器608还可以选择/取消选择并且驱动ssg线415和dsg线413。如下文详细描述的,行解码器/字线驱动器608被配置为对耦合到(一个或多个)选定字线418的存储单元406执行擦除操作。电压发生器610可以被配置为由控制逻辑单元612控制,并且生成要被供应到存储阵列401的字线电压(例如,读取电压、编程电压、通过电压、局部电压、验证电压等)、位线电压和源极线电压。
55.控制逻辑单元612可以耦合到上文描述的每个外围电路,并且被配置为控制每个外围电路的操作。寄存器614可以耦合到控制逻辑单元612,并且包括状态寄存器、命令寄存器和地址寄存器,以用于存储用于控制每个外围电路的操作的状态信息、命令操作码(op码)和命令地址。接口616可以耦合到控制逻辑单元612,并且充当控制缓冲器,以缓冲从主机(未示出)接收的控制命令并且并将其中继到控制逻辑单元612,以及缓冲从控制逻辑单元612接收的状态信息并且将其中继到主机。接口616还可以经由数据总线618耦合到列解码器/位线驱动器606,并且充当数据i/o接口和数据缓冲器,以缓冲数据并且将其中继到存储阵列401或从存储阵列401中继或缓冲数据。
56.基于上述描述的存储系统及存储器,存储单元存储的电荷会随时间的增加、反复读操作等而变化,因而会影响数据读取的正确性。通常可以从预设读取电压偏移量表中的偏移电压加到初始电压值上,通过反复尝试到能够正确读取数据的一组偏移电压。存储器的存储块中的数据在经过长时间存储后,每个存储页中的存储单元存在不同的阈值电压偏移。那么,在大量读取数据时需要反复轮询预设读取电压偏移量表,再叠加上硬件解码和软件解码等操作,耗费的时间比较长,这样的读取过程明显影响存储器的性能,尤其是对于企业级应用,会造成服务质量(qos,quality of service)无法达标。
57.为了解决上述技术问题,本技术实施例提供一种存储器的操作方法,具体参看如图7所示,所述操作方法可以包括:
58.s701:获得至少一组读取电压;所述至少一组读取电压中的每一组读取电压包括初始电压值及相对所述初始电压值具有一定偏移量的偏移电压值;所述每一组读取电压中的初始电压值为用于区分所述存储器的存储单元的两个相邻存储态的预设读取电压。
59.需要说明的是,本技术实施例提供的存储器的操作方法是一种确定最优读取电压的方法。这里,存储器的存储单元可以是slc、mlc、tlc、qlc等等类型。所说的两个相邻存储态可以是指任意类型的存储单元的任意的两个相邻的存储态,也就是说,本技术实施例提供的操作方法适用于为任意的两个相邻的存储态确定最优的读取电压。
60.对于如何区分存储单元的两个相邻存储态,参见如图8所示,其示出存储单元的任意两个相邻存储态对应的阈值电压分布示意图。在图8中,虚线包围的区域f1和f2分别表示存储态为p1和p2的存储单元的电荷数发生变化前的阈值电压分布。在此时,对存储器进行数据读取时,采用初始电压值v
初
施加到存储单元上。很明显可以看出,初始电压值v
初
大于f1对应的存储单元的阈值电压,小于f2对应的存储单元的阈值电压,因此,存储单元的电荷数发生变化前,采用初始电压值v
初
读取处于存储态p1或存储态p2的存储单元时,能够很轻松地区分该存储单元处于存储态p1还是存储态p2,以便获得该存储单元内存储的数据。然而在存储器的使用过程中,随着使用时间的增长,存储器的读干扰、编程擦除次数、数据保持能力和交叉温度均会发生变化,各个存储单元的阈值电压也会随之发生变化。图8中的区域f3和f4分别表示存储态为p1和p2的存储单元的电荷数发生变化后的阈值电压分布。图8中f3和f4分别相对于f1和f2的形态出现偏移和展宽。在初始电压值v
初
附近出现了两个存储态之间的交叠区。此时,再采用初始电压值v
初
读取各个存储单元上的数据时,可能会将处于区域2的存储态p2错判为存储态p1,将处于区域1的存储态p1状态错判为存储态p2,并且阈值电压等于初始电压值v
初
时,同样无法正确判断存储单元处于存储态p1还是存储态p2,增加了读取错误的几率。
61.随着存储时间的增加及读取次数的增多,上述存储单元的阈值电压偏移是不可避免的,为了得到正确的读取数据,存储器中设置有采用错误纠正码(ecc,error correcting code)纠错的功能。应该知道的是,统计出错的位数越少,需要ecc纠正的位数就越少,这样正确读取的几率就越大,所需读取时间就越少,那么,此时对应的读取电压就是最优的。从图8所示的两个相邻存储态阈值电压分布而言,读取电压v
交
在f3和f4对应的两个存储态的交点m处时,统计出错的位数最少,该读取电压v
交
也就是最优读取电压。该交点m也可以称之为两个相邻存储态对应的阈值电压范围交叠的谷底位置。也就是说,本技术实施例提供的操作方法也就是确定该谷底位置或该谷底位置的方向,以确定最优的读取电压。
62.这里,所述每一组读取电压包括的初始电压值可以是指用于区分所述存储器的存储单元的两个相邻存储态的预设读取电压,其中,所述预设读取电压可以是经验值;也可以是存储器出厂时配置的默认值,该默认值是在存储器出厂之前经过大量的模拟实验得出的。每一个初始电压值在以往的读取过程中能够区分两个相邻存储态。
63.在一些实施例中,所述获得至少一组读取电压,可以包括:
64.确定至少一个所述初始电压值;
65.基于所述至少一个所述初始电压值中的第一初始电压值,按照相等的偏移量依次递增或递减获得相对所述第一初始电压值具有一定偏移量的第一偏移电压值;
66.基于所述第一初始电压值和所述第一偏移电压值获得相应的一组读取电压;
67.基于每一组所述相应的一组读取电压获得所述至少一组读取电压。
68.需要说明的是,两个相邻存储态在实际使用过程中可能存在多个具有一定电压差值的多个初始电压值。又基于前述描述,初始电压值可能是经验值,也可能是出厂时的默认
值,因此,这里所说的确定至少一个初始电压值就是获得以往的多个经验值或者出厂测试的多个默认值。
69.在得到至少一个初始电压值后,对所述至少一个初始电压值中的每一个初始电压值进行偏移处理,获得相对于每一个初始电压值具有一定偏移量的偏移电压值,以此,将每一初始电压值与其对应的偏移电压值组成一组读取电压,最终获得至少一组读取电压。由于对于每一组读取电压的获取方式类似,仅以第一初始电压值为例进行说明。所述第一初始电压值为所述至少一个初始电压值中的任一个初始电压值。
70.具体的,基于所述第一初始电压值,按照相等的偏移量依次递增或递减获得相对所述第一初始电压值具有一定偏移量的第一偏移电压值;然后,将所述第一初始电压值与所述第一偏移电压值组成相对于第一初始电压值的一组读取电压。
71.举例来说,如图9所示。在图9中,假设第一初始电压值为vrdn,相对于所述第一初始电压值具有一定偏移量的偏移电压值依次为:vrdn_1、vrdn_2、vrdn_3、vrdn_4,其中这些偏移电压值在在初始电压值vrdn的一侧(左侧),按照相等的偏移量依次递减。应该知道的是,这仅是一种示例,还可以在初始电压值的右侧,按照相等的偏移量依次递增。
72.还需注意的是,对于所述至少一个初始电压值中的不同初始电压值来说,获得对应的偏移电压值的相等的偏移量可以相等,也可以不等。
73.举例来说,假设所述至少一个初始电压值包括第一初始电压值和第二初始电压值,其中,第一初始电压值获得偏移电压值的相等的偏移量为u毫伏(mv),所述第二初始电压值获得偏移电压的相等的偏移量可以为u mv,也可以不同于u mv的任何可能的值。
74.s702:基于所述至少一组读取电压中的初始电压值和偏移电压值分别执行读取操作,获得每一个电压值对应的读取结果满足设定条件的存储单元的数量。
75.在一些实施例中,所述基于所述至少一组读取电压中的初始电压值和偏移电压值分别执行读取操作,获得每一个电压值对应的读取结果满足设定条件的存储单元的数量,可以包括:
76.采用所述至少一组读取电压中的每一组读取电压包含的初始电压值和偏移电压值分别读取所述存储器中的一个存储面;
77.统计每一个电压值读取的存储面中包含的读取结果满足设定条件的存储单元的数量。
78.需要说明的是,存储器可以包括多个存储面(plane)。在实际应用过程中,在对存储器的各存储单元进行编程操作以存储数据前,要存储的数据会进行扰码处理,以便减少连续的数字0或连续的数字1的出现,进而保证数字0或数字1出现的概率接近50%,这也就造成了对于同一存储态而言,存储器的各存储面中包含的该存储态的存储单元数量基本相等,因此可以采用一组读取电压中的电压值分别读取存储器的一个存储面,以统计每一个存储面中处于该存储态的存储单元的数量。
79.这里,读取结果满足设定条件可以是指读取结果为设定数字为满足设定条件,其中,所述设定数字可以为1或0。在一种可选的实施方式中,具有小于读取电压的阈值电压的存储单元的读取结果为设定数字(设定数字为1),那么,具有大于读取电压的阈值电压的存储单元的读取结果为0;在另一种可选的实施方式中,具有大于读取电压的阈值电压的存储单元的读取结果为设定数字(设定数字为0),那么,具有小于读取电压的阈值电压的存储单
元的读取结果为1。
80.这里描述的读取过程也就是:采用所述至少一组读取电压中的每一组读取电压包含的初始电压值和偏移电压值分别读取存储器中的一个存储面;然后统计每一个存储面中包含的读取结果满足设定条件的存储单元的数量(或者说,个数)。也就是,将所述至少一组读取电压中每一组读取电压中的每一个电压值分别施加到存储器中的一个存储面,以进行一次读取,然后,统计每一个存储面中包含的读取结果为设定数字的存储单元有多少。
81.举例来说,如图10所示,在所述至少一组读取电压包括一组读取电压时,若所述一组读取电压包括:vrdn、vrdn_1、vrdn_2、vrdn_3、vrdn_4,所述设定数字为1时,上述的读取过程也就是,利用vrdn、vrdn_1、vrdn_2、vrdn_3、vrdn_4分别读取存储器中一个存储面,如分别读取存储器的存储面plane0、plane1、plane2、plane3、plane4。然后,统计每一个存储面中读取结果为1的存储单元的个数,比如,plane0包含的读取结果为1的存储单元的个数为:c1_vrdn、plane1包含的读取结果为1的存储单元的个数为:c2_vrdn、plane2包含的读取结果为1的存储单元的个数为:c3_vrdn、plane3包含的读取结果为1的存储单元的个数为:c4_vrdn、plane4包含的读取结果为1的存储单元的个数为:c5_vrdn。
82.s703:确定属于同一组读取电压的每两个相邻的电压值对应的两个所述数量之间的差值。
83.这里,属于同一组读取电压的每两个相邻的电压值可以是指:某一初始电压值和其对应的偏移电压中的每两个相邻的电压值,比如,初始电压值vrdn以及其对应的偏移电压值vrdn_1、vrdn_2、vrdn_3、vrdn_4中的每两个相邻的电压值分别为:(vrdn,vrdn_1);(vrdn_1,vrdn_2);(vrdn_2,vrdn_3);(vrdn_3,vrdn_4)。基于上面统计的该组读取电压中每一个电压值对应的存储面包含的读取结果为设定数字的存储单元的数量,可以得到对应于每两相邻电压值对应的数量之间的差值可以分别为:
84.e1_vrdn=c1_vrdn-c2_vrdn;
85.e2_vrdn=c2_vrdn-c3_vrdn;
86.e3_vrdn=c3_vrdn-c4_vrdn;
87.e4_vrdn=c4_vrdn-c5_vrdn。
88.其中,属于同一组读取电压的每两个相邻的电压值对应的两个所述数量之间的差值可直观的参见图11所示的各差值的示意图。
89.s704:基于所述差值确定用于区分所述两个相邻存储态的最优读取电压。
90.在一些实施例中,所述至少一组读取电压包含第一组读取电压,所述基于所述差值确定用于区分所述两个相邻存储态的最优读取电压,可以包括:
91.在所述差值的变化趋势与所述第一组读取电压中电压值的变化趋势一致时,确定所述最优读取电压相对于所述第一组读取电压中初始电压值的偏移方向;
92.基于所述偏移方向和预设读取电压偏移量表确定所述最优读取电压。
93.需要说明的是,这里描述的是,所述至少一组读取电压仅包含第一组读取电压,也就是,仅包含一个初始电压值以及相对于该初始电压值的偏移电压值。在该种情况下,基于所述差值确定最优读取电压可以又分为两种情况:一种是,所述差值的变化区趋势与所述第一组读取电压中电压值的变化趋势一致时如何确定最优读取电压;一种是,所述差值的变化趋势与所述第一组读取电压中电压值的变化趋势不一致时如何确定最优读取电压。
94.对于前一种情况来说,在所述差值的变化趋势与所述第一组读取电压中电压值的变化趋势一致时,先确定最优读取电压相对于所述第一组读取电压中初始电压值的偏移方向;然后,根据偏移方向和预设读取电压偏移量表确定所述最优读取电压。其中,所述预设读取电压偏移量表可以包括通过大量经验或者实验获得的多组预设电压偏压量。在使用时,将该预设读取电压偏移量表中的每一个预设电压偏移量加载到默认的初始读取电压(比如,v
初
或者vrdn,也可以是其值)上,得到每次的读取电压,通过反复尝试直到到一组能够正确读取数据的一组预设偏移电压量,以获得最优的一组读取电压,进而增加正确读取数据的几率。具体的预设读取电压偏移量表如表1所示。
95.需要说明的是,表1中的rd1至rd7表示不同的初始读取电压,由于不同类型的存储单元包含存储态的个数不同,在这些存储态中用于每两个相邻存储态的默认的初始读取电压是不同的,也就是预设读取电压偏移量表包含的是每两个相邻存储态的默认的初始读取电压对应的一组预设偏移电压量。每一组预设偏移电压量均包括向比默认的初始读取电压大的方向增加的正向偏移量和向比默认的初始读取电压小的方向减小的负向偏移量,比如,对于默认的初始读取电压rd7来说,+v1、+v2、+v3、+v4为正向偏移量,其中,v1、v2、v3、v4的数值依次增大;-v5至-v11为负向偏移量,其中,v5至v11的数值依次减小。
96.表1预设读取电压偏移量表1
[0097][0098]
在一些实施例中,所述确定所述最优读取电压相对于所述第一组读取电压中的初始电压值的偏移方向,可以包括:
[0099]
在所述第一组读取电压中电压值的变化趋势相对于所述第一组读取电压中的初始电压值依次递减时,确定所述最优读取电压相对于所述第一组读取电压中的初始电压值的偏移方向为向左偏移;
[0100]
在所述第一组读取电压中电压值的变化趋势相对于所述第一组读取电压中的初始电压值依次递增时,确定所述最优读取电压相对于所述第一组读取电压中的初始电压值的偏移方向为向右偏移。
[0101]
具体来说,在所述第一组读取电压的偏压电压值在所述第一组读取电压的初始电压值的左侧,且变化趋势相对于所述第一组读取电压的初始电压值依次递减时,确定所述
最优读取电压相对于所述第一组读取电压的初始电压值的偏移方向为向左偏移,也即是,所述最优读取电压在所述第一初始电压值的左侧;在所述所述第一组读取电压的偏移电压值在所述第一组读取电压的初始电压值的右侧,且变化趋势相对于所述第一组读取电压的初始电压值依次递增时,确定所述最优读取电压相对于所述第一组读取电压的初始电压值的偏移方向为向右偏移,也就是,最优读取电压在所述第一组读取电压的初始电压值的右侧。
[0102]
在获得所述最优读取电压的偏移方向后,在一些实施例中,所述基于所述偏移方向和预设读取电压偏移量表确定所述最优读取电压,可以包括:
[0103]
基于所述偏移方向从所述预设读取电压偏移表中选择第一最优偏移量;
[0104]
基于所述第一最优偏移量和所述第一组读取电压中的初始电压值确定所述最优读取电压。
[0105]
需要说明的是,在确定最优读取电压的偏移方向后,可以从所述预设读取电压偏移表中选择第一最优偏移量;然后基于所述第一最优偏移量和所述第一组读取电压中的初始电压值值确定所述最优读取电压。这里,所述第一最优偏移量可以包括至少一个预设偏移电压量。在所述第一最优偏移量包括多个预设偏移电压量时,所述基于所述第一最优偏移量和所述第一组读取电压中的初始电压值值确定所述最优读取电压可以是指将第一最优偏移量包含的每一个预设偏移电压量加载到对应的默认的初始读取电压上,进行多次实验到能够正确读取存储单元的存储的数据的预设偏移电压量,进行获得最优读取电压。通过这样的方式,在确定最优读取电压的偏移方向后,可以在预设读取电压偏移表中到向最优读取电压靠拢的一组第一最优偏移量,后续采用这些第一最优偏移量中的一个或多个预设偏移电压量加载到对应的默认的初始读取电压,以获得多个读取电压,缩小了反复尝试获取能够正确读取数据的所需的预设偏移电压量的范围,减少了重读比率。
[0106]
举例来说,参见表2所示。若第一组读取电压包含的初始电压值vrdn1为-v5时,且所述最优读取电压相对于该初始电压值-v5的偏移方向为向左偏移,也就是向小于该初始电压值的方向偏移。基于此,结合表1中所示预设读取电压偏移量表,得到第一最优偏移量包括的预设偏移电压量包括-v5至-v11,然后利用这几个预设偏移电压量加载到默认的初始读取电压rd7上,尝试获取所述最优读取电压,这样不必尝试正向的+v1至+v4,缩小了反复尝试获取能够正确读取数据的所需的预设偏移电压量的范围,减少了重读比率。
[0107]
表2预设读取电压偏移量表2
[0108][0109]
对于后一种情况,在一些实施例中,所述方法还可以包括:
[0110]
在所述差值的变化趋势与所述第一组读取电压中电压值的变化趋势不一致时,确定所述差值中的最小差值;
[0111]
基于所述最小差值确定所述最优读取电压。
[0112]
需要说明的是,根据存储器的存储单元的阈值电压分布的特点而言,所述差值的变化趋势与所述第一组读取电压中电压值的变化趋势不一致时,也就是,所述差值的变化趋势不是单调变化的,是中间包含拐点(最小差值)的,这就说明,以所述第一组读取电压中的电压值读取处于所述两个相邻存储态之一的存储单元时,各电压值对应的读取结果满足设定条件的存储单元数量不是单调变化的,也就说明,这两个相邻存储态之间存在交点。根据前述图9所示,在两个相邻存储态对应的阈值电压分布存在的交点m时对应的读取电压v
交
为最优的读取电压。因此,该差值的拐点对应的所述第一组读取电压中的两个相邻电压值之间的范围包含交点m时对应的读取电压v
交
,也就是最优读取电压。
[0113]
举例来说,如前图11所示的各差值的示意图。在e2_vrdn《e3_vrdn《e1_vrdn/e4_vrdn(如图12所示)时,可以确定e2_vrdn为最小差值,该最小差值对应的两个相邻电压值中间包含最优读取电压。
[0114]
在一些实施例中,所述基于所述最小差值确定所述最优读取电压,可以包括:
[0115]
从所述第一组读取电压中的偏移电压值中确定与所述最小差值对应的两个相邻的电压值;
[0116]
确定所述两个相邻的电压值的平均电压值为所述最优读取电压。
[0117]
需要说明的是,这里的最优读取电压也就是所述最小差值对应两个相邻的电压值的平均电压值。
[0118]
在实际应用过程中,在获得所述最小差值对应两个相邻的电压值后,从预设读取电压偏移表中,确定所述两个相邻的电压值之间的一个或者多个预设偏移电压量;然后,按照前述从第一最优偏移量包含的预设偏移电压量获取最优读取电压的方式,从所述两个相邻的电压值之间的一个或者多个预设偏移电压量获得最优读取电压。
[0119]
前面描述的方案是在所述至少一组读取电压仅包含第一组读取电压的最优读取电压的确定方式。在一些实施例中,所述至少一组读取电压还包括第二组读取电压,其中,
所述第二组读取电压中的初始电压值与所述第一组读取电压中的初始电压值之间具有一定的电压差;所述第二组读取电压中的偏移电压值与所述第一组读取电压中的偏移电压值位于所述第二组读取电压中的初始电压值与所述第一组读取电压中的初始电压值之间;所述差值包括第一组读取电压对应的第一子差值和第二组读取电压对应第二子差值;
[0120]
所述基于所述差值确定用于区分所述两个相邻存储态的最优读取电压,包括:
[0121]
基于所述第一子差值的第一变化趋势和/或所述第二子差值的第二变化趋势确定所述最优读取电压;
[0122]
其中,所述第二组读取电压中的初始电压值大于或小于所述第一组读取电压中的初始电压值。
[0123]
需要说明的是,这里描述的方案是所示至少一组读取电压包含第一组读取电压和第二组读取电压,其中,所述第一组读取电压包含的初始电压值与所述第二组读取电压包含的初始电压值之间具有一定的电压差;所述第一组读取电压包含的初始电压值大于或小于所述第二组读取电压包含的初始电压值;所述第一组读取电压包含的偏移电压值和所述第二组读取电压包含的偏移电压值在所述第一组读取电压的初始电压值与所述第二组读取电压的初始电压值之间,需要说明的是,只有这种偏移电压值在两个初始电压值之间时,利用前述两组读取确定所述最优读取电压才能实现,具体参考图13所示;前述的所述差值包括所述第一组读取电压对应的第一子差值和所述第二组读取电压对应的第二子差值。在这种情况下,所述最优读取电压的确定可以包括:基于所述第一子差值的第一变化趋势和/或所述第二子差值的第二变化趋势确定。需要说明的是,
[0124]
由于不论是所述第一组读取电压包含的初始电压值大于或小于所述第二组读取电压包含的初始电压值,确定所述最优读取电压的方式一样。
[0125]
因此,在一些实施例中,在所述第一组读取电压中的初始电压值大于所述第二组读取电压中的初始电压值时,所述基于所述第一子差值的第一变化趋势和/或所述第二子差值的第二变化趋势确定所述最优读取电压,包括:
[0126]
在所述第一变化趋势与所述第一组读取电压中电压值的变化趋势不一致、所述第二变化趋势与所述第二组读取电压中电压值的变化趋势一致时,基于所述第一子差值的最小值确定所述最优读取电压。
[0127]
需要说明的是,这种情况下,第一子差值之间包含拐点,拐点对应的所述第一组读取电压中的电压值之间包含最优读取电压。具体如何获得前述已经描述清楚,在此不再赘述。
[0128]
在另一些实施例中,所述操作方法还包括:
[0129]
在所述第一变化趋势与所述第一组读取电压中电压值的变化趋势不一致且在所述第二变化趋势与所述第二组读取电压中电压值的变化趋势不一致时,基于所述第一子差值的最小值和/或所述第二子差值的最小值确定最优读取电压。
[0130]
需要说明的是,这种情况下,若所述第一子差值与所述第二子差值对应的拐点是一个,那么,基于所述第一子差值中的最小值对应的第一组读取电压中的两个相邻的电压值确定所述最优读取电压,或基于所述第二子差值中的最小值对应的第二组读取电压中的两个相邻的电压值确定所述最优读取电压。具体如何确定前述在仅包含第一组读取电压时已经详细描述过,在此不再赘述。若所述第一子差值与所述第二子差值对应的拐点不一样,
那么,基于所述第一子差值中的最小值对应的第一组读取电压中的两个相邻的电压值和基于所述第二子差值中的最小值对应的第二组读取电压中的两个相邻的电压值确定所述最优读取电压。
[0131]
具体的,假设所述第一子差值中的最小值对应的第一组读取电压中的两个相邻的电压值分别为:第一电压值和第二电压值;所述第二子差值中的最小值对应的第二组读取电压中的两个相邻的电压值分别为:第三电压值和第四电压值,基于此,基于所述第一电压值、所述第二电压值、所述第三电压值和所述第四电压值确定所述最优读取电压的方式可以采用以下几种:
[0132]
第一种,以所述第一电压值、第二电压值、第三电压值以及第四电压值的平均电压值为所述最优读取电压。
[0133]
第二种,基于预设读取电压偏移量表获得第一电压值、第二电压值、第三电压值以及第四电压值组成的电压值范围内包含的一个或多个预设偏移电压量,然后按照前述的尝试方式获得最优读取电压。
[0134]
第三种,获得第一电压值与第二电压值之间的第一平均电压值;以及获得第三电压值与第四电压值之间的第二平均电压值;然后,基于基于预设读取电压偏移量表获得所述第一平均电压值与第二平均电压值组成的电压值范围内包含的一个或多个预设偏移电压量,然后按照前述的尝试方式获得最优读取电压。
[0135]
需要说明的是,前述三种基于所述第一电压值、所述第二电压值、所述第三电压值和所述第四电压值确定所述最优读取电压的方式,仅是三种示例,在实际应用过程中,还包含其他可能的实现方式,其具体实现的过程扔不脱离本技术所述的技术方案,在此不再一一赘述。
[0136]
在另一些实施例中,所述操作方法还包括:
[0137]
在所述第一变化趋势与所述第一组读取电压中电压值的变化趋势一致、所述第二变化趋势与所述第二组读取电压中电压值的变化趋势不一致时,基于所述第二子差值的最小值确定所述最优读取电压。
[0138]
需要说明的是,这里的情况,第二子差值之间包含拐点,拐点对应的所述第二组读取电压中的电压值之间包含最优读取电压。具体如何获得前述已经描述清楚,在此不再赘述。
[0139]
在又一些实施例中,所述操作方法还包括:
[0140]
在所述第一变化趋势与所述第一组读取电压中电压值的变化趋势一致且所述第二变化趋势与所述第二组读取电压中电压值的变化趋势一致时,确定所述最优读取电压相对于所述第一组读取电压中的初始电压值的第一偏移方向;以及确定所述最优读取电压相对于所述第二组读取电压中的初始电压值的第二偏移方向;
[0141]
基于所述第一偏移方向和所述第二偏移方向从所述预设读取电压偏移量表确定第二最优偏移量;
[0142]
基于所述第一组读取电压中的初始电压值、所述第二组读取电压中的初始电压值和所述第二最优偏移量确定所述最优读取电压。
[0143]
需要说明的是,前述已经限定,所述第一组读取电压中的初始电压值大于所述第二组读取电压中的初始电压值,因此,确定所述最优读取电压相对于所述第一组读取电压
中的初始电压值的偏移方向为向左偏移,也即,所述第一偏移方向为所述最优读取电压相对于所述第一组读取电压中的初始电压值的偏移方向为向左偏移;确定所述最优读取电压相对于所述第二组读取电压中的初始电压值的偏移方向为向右偏移,以即,所述第二偏移方向为所述最优读取电压相对于所述第二组读取电压中的初始电压值的偏移方向为向右偏移。基于此,基于所述第一偏移方向和第二偏移方向,从预设读取电压偏移量表中,获得所述第二最优偏移量包含的一个或多个预设偏移电压量,基于这些预设偏移电压量按照前述描述的尝试方式获得最优读取电压,具体方式在此不再赘述。
[0144]
举例来说,参见表3所示。若第一组读取电压的初始电压值vrdn1为-v8;所述第二组读取电压的初始电压值vrdn2为-v6时,由于v5至v11的数值依次减小,那么,-v5至-v11向负方向偏移量越小,因此,vrdn1大于vrdn2。此时,所述第二最优偏移量包含的一个或多个预设偏移电压量包括-v6至-v8,然后,基于这些预设偏移电压量获得最优读取电压,前述已经描述基于预设偏移电压量如何确定最优读取电压,在此不再赘述。
[0145]
表3预设读取电压偏移量表3
[0146][0147]
在一些实施例中,所述操作方法可在所述存储器空闲时使用或在用户操作期间使用。
[0148]
需要说明的是,本技术实施例提供的操作方可以在存储器空闲时使用或者用户操作期间使用,其中,所述空闲可以是指存储器没有读取或编程等各种操作时,在该期间,本技术实施例提供的操作方法的所有步骤可以一次性运行完成,得到最优读取电压组。所述用户操作期间可以是指用户对存储器读取或写入等或者其他操作时,在该期间,本技术实施例提供的操作方法的所有步骤可以分步骤穿插在用户操作期间执行,以最终得到最优读取电压组。
[0149]
在一些实施例中,所述存储器包括寄存器,所述寄存器用于存储所述最优读取电压。
[0150]
对于上述描述的本技术实施例提供的操作方法,在实际实施过程中,有两种方式,
[0151]
一种可选的实施方式,如图14所示,在一个die中的多个不同存储面(plane),通常来说,一个die中包含的plane的个数以偶数出现。针对两个相邻的存储态,基于初始电压值vrdn设置多个偏移电压值依次为:vrdn_1、vrdn_2、vrdn_3、vrdn_4,组成一组读取电压,采用这组读取电压中的各个电压值对一个die中的5个plane同时进行读取操作,也就是,存储
器控制器使存储器包含的控制逻辑单元同时向5个plane(比如,plane0、plane1、plane2、plane3、plane4)发送包含不同读取电压的读取命令,使得plane0采用vrdn进行读取;plane1采用vrdn_1进行读取;plane2采用vrdn_2进行读取;plane3采用vrdn_3进行读取;plane4采用vrdn_4进行读取,然后利用存储器控制器包含的主控数字信号处理(dsp,digital signal processing)接收每一个plane中各存储单元的读取结果,并统计每一个plane中包含的读取结果满足设定条件的存储单元的数量;之后,dsp基于这些数量确定最优读取电压,以指导下一次读取操作。
[0152]
另一种可选的实施方式,如图15所示。在存储器的存储阵列为nand闪存时,若该nand闪存具有统计功能时,图15与图14不同之处仅在于:统计标识为设定数值的存储单元的数量这一步,由nand利用自身携带的外围电路中的控制逻辑单元统计每一个plane中包含的读取结果满足设定条件的存储单元的数量,向存储器控制器包含的dsp发送统计的数量。其余步骤与图14所示的步骤相同,前面已经详细说明,在此不再赘述。
[0153]
本技术实施例提供的存储器的操作方法,通过设置包含多个电压值的至少一组读取电压,利用每一个电压值分别对所述存储器的存储单元执行读取操作,获得读取结果满足设定条件的数量;然后,依据属于同一组读取电压中每两个相邻的电压值对应的所述数量之间的差值,再基于所述差值确定用于区分所述存储器的存储单元的与该组读取电压对应的两个相邻存储态的最优读取电压。以获得的最优读取电压读取所述存储器的相应存储单元,极大地增加了正确读取该存储单元存储的数据的概率。本技术实施例提供的操作方法,为一种在线获取存储器最优读取电压的方法,换就话说,该操作方法是采用存储器实际操作时产生的真实数据来确定最优读取电压的方式,而不是利用存储器生产过程中的模拟数据来确定最优读取电压的方式,其能够在线获得最优读取电压组,提高解码成功率;或者在线获得最优读取电压的阈值偏移方法,更有针对性选择复读电压,降低复读次数,以达到节省时间的目的。
[0154]
基于相同的发明构思,本技术实施例还提供一种存储器,存储阵列,所述存储阵列包括存储单元;
[0155]
及与所述存储阵列耦接且被配置为控制所述存储阵列的外围电路;
[0156]
所述外围电路,被配置为:实现前述操作方法的任意步骤。
[0157]
在一些实施例中,所述外围电路包括寄存器,所述寄存器用于存储所述最优读取电压。
[0158]
需要说明的是,所述存储器所描述的技术方案与前述操作方法的技术方案属于同一发明构思,二者具有相同的技术特征,前述已经对本技术实施例提供的操作方法的技术方案中出现的名词详细的描述,那么,此处出现的名词,可以按照前述描述的含义进行理解,在此不再赘述。
[0159]
本技术实施例还提供一种存储系统,包括:一个或多个前述任一项所述的存储器;
[0160]
以及耦合在所述存储器的存储器控制器;所述存储器控制器,用于:向所述存储器发送第一命令;
[0161]
所述存储器,被配置为:响应于所述第一命令,执行前述操作方法。
[0162]
其中,所述第一命令用于开启前述所述操作方法的执行,其中,所述第一命令中包含指示所述存储器获取至少一组读取电压的命令,以及利用至少一组读取电压中的电压值
分别读取一个存储面的命令等各种实现前述操作方法的命令。
[0163]
在另一些实施例中,本发明实施例还提供一种存储系统,包括:一个或多个存储器;以及耦接在所述存储器的存储器控制器;其中,
[0164]
所述存储器控制器,被配置为:获得至少一组读取电压;所述至少一组读取电压中的每一组读取电压包括初始电压值及相对所述初始电压值值具有一定偏移量的偏移电压值;所述每一组读取电压中的初始电压值为用于区分所述存储器的存储单元的两个相邻存储态的预设读取电压;基于所述至少一组读取电压中的初始电压值和偏移电压值分别向所述存储器中包含的一个存储面发送相应的读取命令;
[0165]
所述存储器,被配置为:响应于所述相应的读取命令,读取相应的存储面;向所述存储器控制器发送所述存储面中每一存储单元的读取结果;
[0166]
所述存储器控制器,还被配置为:接收所述读取结果;统计每一个电压值对应的读取结果满足设定条件的存储单元的数量;确定属于同一组读取电压的每两个相邻的电压值对应的两个所述数量之间的差值;基于所述差值确定用于区分所述两个相邻存储态的最优读取电压。
[0167]
需要说明的是,该存储系统可以实现前述图14的实现方式。
[0168]
在另一些实施例中,本发明实施例还提供另一种存储系统,包括:一个或多个存储器;以及耦接在所述存储器的存储器控制器;其中,
[0169]
所述存储器控制器,被配置为:获得至少一组读取电压;所述至少一组读取电压中的每一组读取电压包括初始电压值及相对所述初始电压值值具有一定偏移量的偏移电压值;所述每一组读取电压中的初始电压值为用于区分所述存储器的存储单元的两个相邻存储态的预设读取电压;基于所述至少一组读取电压中初始电压值和偏移电压值分别向所述存储器中包含的一个存储面发送相应的读取命令;
[0170]
所述存储器,被配置为:响应于所述相应的读取命令,读取相应的存储面;统计每一个电压值对应的读取结果满足设定条件的存储单元的数量;向所述存储器控制器发送所述数量;
[0171]
所述存储器控制器,还被配置为:接收所述数量;确定属于同一组读取电压的每两个相邻的电压值对应的两个所述数量之间的差值;基于所述差值确定用于区别所述两个相邻存储态的存储单元的最优读取电压。
[0172]
需要说明的是,这里的存储系统可实现前述图15所示的实现方式。
[0173]
在一些实施例中,前述任一种所述存储系统是固态硬盘ssd或存储卡。
[0174]
需要说明的是,这里的存储系统包含前述的存储器,二者具有相同的技术特征,前述已经对存储器的结构及本技术的技术方案中出现的名词详细的描述,那么,此处出现的名词,可以按照前述描述的含义进行理解,在此不再赘述。
[0175]
以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。
技术特征:
1.一种存储器的操作方法,其特征在于,包括:获得至少一组读取电压;所述至少一组读取电压中的每一组读取电压包括初始电压值及相对所述初始电压值具有一定偏移量的偏移电压值;所述每一组读取电压中的初始电压值为用于区分所述存储器的存储单元的两个相邻存储态的预设读取电压;基于所述至少一组读取电压中的初始电压值和偏移电压值分别执行读取操作,获得每一个电压值对应的读取结果满足设定条件的存储单元的数量;确定属于同一组读取电压的每两个相邻的电压值对应的两个所述数量之间的差值;基于所述差值确定用于区分所述两个相邻存储态的最优读取电压。2.根据权利要求1所述的操作方法,其特征在于,所述获得至少一组读取电压,包括:确定至少一个所述初始电压值;基于所述至少一个所述初始电压值中的第一初始电压值,按照相等的偏移量依次递增或递减获得相对所述第一初始电压值具有一定偏移量的第一偏移电压值;基于所述第一初始电压值和所述第一偏移电压值获得相应的一组读取电压;基于每一组所述相应的一组读取电压获得所述至少一组读取电压。3.根据权利要求1所述的操作方法,其特征在于,所述基于所述至少一组读取电压中的初始电压值和偏移电压值分别执行读取操作,获得每一个电压值对应的读取结果满足设定条件的存储单元的数量,包括:采用所述至少一组读取电压中的每一组读取电压包含的初始电压值和偏移电压值分别读取所述存储器中的一个存储面;统计每一个电压值读取的存储面中包含的读取结果满足设定条件的存储单元的数量。4.根据权利要求1所述的操作方法,其特征在于,所述至少一组读取电压包含第一组读取电压,所述基于所述差值确定用于区分所述两个相邻存储态的最优读取电压,包括:在所述差值的变化趋势与所述第一组读取电压中电压值的变化趋势一致时,确定所述最优读取电压相对于所述第一组读取电压中初始电压值的偏移方向;基于所述偏移方向和预设读取电压偏移量表确定所述最优读取电压。5.根据权利要求4所述的操作方法,其特征在于,所述确定所述最优读取电压相对于所述第一组读取电压中的初始电压值的偏移方向,包括:在所述第一组读取电压中电压值的变化趋势相对于所述第一组读取电压中的初始电压值依次递减时,确定所述最优读取电压相对于所述第一组读取电压中的初始电压值的偏移方向为向左偏移;在所述第一组读取电压中电压值的变化趋势相对于所述第一组读取电压中的初始电压值依次递增时,确定所述最优读取电压相对于所述第一组读取电压中的初始电压值的偏移方向为向右偏移。6.根据权利要求4所述的操作方法,其特征在于,所述基于所述偏移方向和预设读取电压偏移量表确定所述最优读取电压,包括:基于所述偏移方向从所述预设读取电压偏移表中选择第一最优偏移量;基于所述第一最优偏移量和所述第一组读取电压中的初始电压值确定所述最优读取电压。7.根据权利要求4所述的操作方法,其特征在于,所述方法还包括:
在所述差值的变化趋势与所述第一组读取电压中电压值的变化趋势不一致时,确定所述差值中的最小差值;基于所述最小差值确定所述最优读取电压。8.根据权利要求7所述的操作方法,其特征在于,所述基于所述最小差值确定所述最优读取电压,包括:从所述第一组读取电压中的偏移电压值中确定与所述最小差值对应的两个相邻的电压值;确定所述两个相邻的电压值的平均电压值为所述最优读取电压。9.根据权利要求4所述的操作方法,其特征在于,所述至少一组读取电压还包括第二组读取电压,其中,所述第二组读取电压中的初始电压值与所述第一组读取电压中的初始电压值之间具有一定的电压差;所述第二组读取电压中的偏移电压值与所述第一组读取电压中的偏移电压值位于所述第二组读取电压中的初始电压值与所述第一组读取电压中的初始电压值之间;所述差值包括第一组读取电压对应的第一子差值和第二组读取电压对应第二子差值;所述基于所述差值确定用于区分所述两个相邻存储态的最优读取电压,包括:基于所述第一子差值的第一变化趋势和/或所述第二子差值的第二变化趋势确定所述最优读取电压;其中,所述第二组读取电压中的初始电压值大于或小于所述第一组读取电压中的初始电压值。10.根据权利要求9所述的操作方法,其特征在于,在所述第一组读取电压中的初始电压值大于所述第二组读取电压中的初始电压值时,所述基于所述第一子差值的第一变化趋势和/或所述第二子差值的第二变化趋势确定所述最优读取电压,包括:在所述第一变化趋势与所述第一组读取电压中电压值的变化趋势不一致、所述第二变化趋势与所述第二组读取电压中电压值的变化趋势一致时,基于所述第一子差值的最小值确定所述最优读取电压。11.根据权利要求10所述的操作方法,其特征在于,所述操作方法还包括:在所述第一变化趋势与所述第一组读取电压中电压值的变化趋势不一致且在所述第二变化趋势与所述第二组读取电压中电压值的变化趋势不一致时,基于所述第一子差值的最小值和/或所述第二子差值的最小值确定最优读取电压。12.根据权利要求10所述的操作方法,其特征在于,所述操作方法还包括:在所述第一变化趋势与所述第一组读取电压中电压值的变化趋势一致、所述第二变化趋势与所述第二组读取电压中电压值的变化趋势不一致时,基于所述第二子差值的最小值确定所述最优读取电压。13.根据权利要求10所述的操作方法,其特征在于,所述操作方法还包括:在所述第一变化趋势与所述第一组读取电压中电压值的变化趋势一致且所述第二变化趋势与所述第二组读取电压中电压值的变化趋势一致时,确定所述最优读取电压相对于所述第一组读取电压中的初始电压值的第一偏移方向;以及确定所述最优读取电压相对于所述第二组读取电压中的初始电压值的第二偏移方向;基于所述第一偏移方向和所述第二偏移方向从所述预设读取电压偏移量表确定第二
最优偏移量;基于所述第一组读取电压中的初始电压值、所述第二组读取电压中的初始电压值和所述第二最优偏移量确定所述最优读取电压。14.根据权利要求1所述的操作方法,其特征在于,所述操作方法在所述存储器空闲时执行或在用户操作期间执行。15.一种存储器,其特征在于,包括:存储阵列,所述存储阵列包括存储单元;及与所述存储阵列耦接且被配置为控制所述存储阵列的外围电路;所述外围电路,被配置为:实现权利要求1至14任一项所述的操作方法。16.根据权利要求15所述的存储器,其特征在于,所述外围电路包括寄存器,所述寄存器用于存储所述最优读取电压。17.一种存储系统,其特征在于,包括:一个或多个权利要求15或16的存储器;以及耦接在所述存储器的存储器控制器;其中;所述存储器控制器,被配置为:向所述存储器发送第一命令;所述存储器,被配置为:响应于所述第一命令,执行权利要求1至14所述的操作方法。18.一种存储系统,其特征在于,包括:一个或多个存储器;以及耦接在所述存储器的存储器控制器;其中,所述存储器控制器,被配置为:获得至少一组读取电压;所述至少一组读取电压中的每一组读取电压包括初始电压值及相对所述初始电压值值具有一定偏移量的偏移电压值;所述每一组读取电压中的初始电压值为用于区分所述存储器的存储单元的两个相邻存储态的预设读取电压;基于所述至少一组读取电压中的初始电压值和偏移电压值分别向所述存储器中包含的一个存储面发送相应的读取命令;所述存储器,被配置为:响应于所述相应的读取命令,读取相应的存储面;向所述存储器控制器发送所述存储面中每一存储单元的读取结果;所述存储器控制器,还被配置为:接收所述读取结果;统计每一个电压值对应的读取结果满足设定条件的存储单元的数量;确定属于同一组读取电压的每两个相邻的电压值对应的两个所述数量之间的差值;基于所述差值确定用于区分所述两个相邻存储态的最优读取电压。19.一种存储系统,其特征在于,包括:一个或多个存储器;以及耦接在所述存储器的存储器控制器;其中,所述存储器控制器,被配置为:获得至少一组读取电压;所述至少一组读取电压中的每一组读取电压包括初始电压值及相对所述初始电压值值具有一定偏移量的偏移电压值;所述每一组读取电压中的初始电压值为用于区分所述存储器的存储单元的两个相邻存储态的预设读取电压;基于所述至少一组读取电压中初始电压值和偏移电压值分别向所述存储器中包含的一个存储面发送相应的读取命令;所述存储器,被配置为:响应于所述相应的读取命令,读取相应的存储面;统计每一个电压值对应的读取结果满足设定条件的存储单元的数量;向所述存储器控制器发送所述数量;所述存储器控制器,还被配置为:接收所述数量;确定属于同一组读取电压的每两个相邻的电压值对应的两个所述数量之间的差值;基于所述差值确定用于区别所述两个相邻存
储态的存储单元的最优读取电压。
技术总结
本申请实施例提供一种存储器的操作方法、存储器及存储系统。其中,所述操作方法包括:获得至少一组读取电压;所述至少一组读取电压中的每一组读取电压包括初始电压值及相对所述初始电压值具有一定偏移量的偏移电压值;所述每一组读取电压中的初始电压值为用于区分所述存储器的存储单元的两个相邻存储态的预设读取电压;基于所述至少一组读取电压中的初始电压值和偏移电压值分别执行读取操作,获得每一个电压值对应的读取结果满足设定条件的存储单元的数量;确定属于同一组读取电压的每两个相邻的电压值对应的两个所述数量之间的差值;基于所述差值确定用于区分所述两个相邻存储态的最优读取电压。储态的最优读取电压。储态的最优读取电压。