CN114242149B - 一种基于读数据的电压分布分析方法 - Google Patents
一种基于读数据的电压分布分析方法 Download PDFInfo
- Publication number
- CN114242149B CN114242149B CN202210184370.XA CN202210184370A CN114242149B CN 114242149 B CN114242149 B CN 114242149B CN 202210184370 A CN202210184370 A CN 202210184370A CN 114242149 B CN114242149 B CN 114242149B
- Authority
- CN
- China
- Prior art keywords
- voltage
- gears
- state
- gear
- voltage threshold
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12005—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising voltage or current generators
Abstract
本发明公开了一种基于读数据的电压分布分析方法,应用于NAND Flash,包括:根据已知的标准电压分布图,确定待测电压的范围;在待测电压的范围内确定若干个待测电压档位,待测电压档位是指读取NAND Flash中原始数据时使用的电压阈值点的档位;将所有电压阈值点绑定一起调档,读取NAND Flash中的原始数据并保存;计算每个电压阈值点对应的每一个待测电压档位所判定的存储状态的相对个数,用CountX(i)表示;预画出电压分布图,基于预画出的电压分布图对CountX(i)进行处理,得到最终的电压分布图。本发明对所有电压阈值点绑定统一调档读取,且只基于读数据,就可以快速获得电压分布情况,从而判断测试的物理块的状态是否异常。
Description
技术领域
本发明涉及数据存储技术领域,具体涉及一种基于读数据的电压分布分析方法。
背景技术
固态驱动器(SSD),又称固态硬盘,是由固态电子存储芯片阵列而制成的硬盘,通常包含三个大的部分,即SSD主控芯片、存储数据的闪存颗粒阵列以及缓存芯片。与传统地机械硬盘比,固态硬盘具有读写速度快、质量轻、能耗低以及体积小等优点,使得其在消费级市场,数据中心和企业级市场中都得到了广泛的应用。
NAND闪存颗粒的判定电压会直接影响数据存储的有效性,如果测试人员能够直观的掌握电压分布的测试结果,那么就可以很轻易的找出当前物理块适用的最佳的判定电压,使用最佳的判定电压来读取数据,不仅可以提高数据存储的有效性,而且还可以为后续的纠错算法提供比较好的电压阈值参数。
NAND闪存颗粒的类型包括SLC(单层存储单元)、MLC(双层存储单元)、TLC(三层存储单元)和QLC(四层存储单元)。SLC芯片每一个存储单元存储一个二进制位,即“1和0”;MLC芯片每个存储单元存储两个二进制位,即有四个状态为“11、 01、00和10”;TLC芯片每一个存储单元存储三个二进制位,即有八个状态为“111、 101、100、110、000、001、010和011”;QLC芯片每一个存储单元存储四个二进制位,即有十六个状态为“1111、 1101、1100、1110、1000、1001、1010、1011、 0111、 0101、0100、0110、0000、0001、0010和0011”,与此对应的用于区分不同状态的电压阈值由低变高。
现有的NAND分析方法中,电压分布分析方法大多需要借助于写数据。但是在SSD固态硬盘开发过程中,在定位问题盘的时候,大多数情况下并不知道当前数据盘里的原始数据是什么。在这种情况下,如果想要通过电压分布曲线图来分析某一个物理块的状态是否正常,使用现有的NAND分析方法明显难以满足这个要求。
发明内容
本发明为了克服以上技术的不足,提供了一种基于读数据的电压分布分析方法。
目前,在SSD测试系统中,NAND闪存颗粒的判定电压会直接影响数据存储的有效性。然而,现有的NAND分析方法中,电压分布分析方法大多是需要对几个电压阈值点进行分别使用不同的档位进行读取,并且需要借助写数据,利用写数据和读数据之间的差异来分析电压分布。而实际的应用中,需要定位的数据盘是写数据缺失的情况,本发明提供一种非常实用地,对所有电压阈值点绑定统一调档读的,并且只基于读数据的电压分布分析方法,使用这种方法可以绘制出物理块的电压分布情况,判断测试的物理块的状态是否异常,并找出当前物理块的所有电压阈值点的最佳判定电压,这种方法不仅大大减少了从NANDFlash介质读取数据的次数,而且使得应用场景更加广泛。
本发明克服其技术问题所采用的技术方案是:
一种基于读数据的电压分布分析方法,应用于NAND Flash,至少包括步骤:
步骤S1、根据已知的标准电压分布图,确定待测电压的范围;
步骤S2、在待测电压的范围内确定若干个待测电压档位,其中,待测电压档位是指读取NAND Flash中原始数据时使用的电压阈值点的档位;
步骤S3、将所有电压阈值点绑定一起调档,读取NAND Flash中的原始数据并保存;
步骤S4、计算每个电压阈值点对应的每一个待测电压档位所判定的存储状态的相对个数,用CountX(i)表示,其中,i是选取档位中第i个待测电压档位,相对个数是指相邻两个待测电压档位之间的存储状态的变换个数;
步骤S5、预画出电压分布图,基于预画出的电压分布图对CountX(i)进行处理,得到最终的电压分布图。
进一步地,步骤S2中,在待测电压的范围内确定若干个待测电压档位,包括:
在待测电压的范围内,以相等间隔选择若干个待测电压档位。
进一步地,步骤S3具体包括:
设电压阈值点为R且为n个,分别为R1、R2……Rn,其中n为正整数且取值根据不同的NAND Flash类型而不同;设电压阈值点的待测电压档位有m个,分别为offset1、offset2……offsetm,其中m不大于可用的电压档位个数;
将R1~Rn绑定,同时对其进行调档,共m个档位,总共读取m次,并保存读取的NANDFlash中的原始数据。
进一步地,在步骤S3之后,还包括步骤S3':
针对读取并保存的NAND Flash中的原始数据,按照当前测试的NAND Flash类型的存储单元所存储的状态进行重新排列。
进一步地,步骤S3'具体包括:
从NAND Flash中读取的原始数据,是按照每个页的顺序进行存储的,将从NANDFlash中读取的十六进制的原始数据,转换为二进制数据;
根据不同NAND Flash类型的存储单元所存储的状态,对获得的二进制数据进行重新排列,得到与存储单元所存储的状态相同的数据表示方式。
进一步地,步骤S4具体包括:
CountX(i)= N(state B at offseti→state A at offset(i+1))
上式中,N表示的是个数,Number的简称;state A和state B分别表示电压阈值点R对应的距离最近的相邻的两个状态,左边状态为状态A、右边状态为状态B;X表示的是第X个电压阈值点,其中,1≤X≤n;CountX(i)表示第i个待测电压档位和第i+1个待测电压档位之间的状态变换个数,即,电压阈值点R用第i个待测电压档位读取时数据为状态B,用第i+1个待测电压档位读取时为状态A的存储单元的个数;offseti表示选取的待测电压档位的第i个电压档位;其中,1≤i≤m-1;
CountX表示一个数组,数组中元素个数为m-1;不同的NAND Flash类型,有不同个数的CountX,CountX的个数与电压阈值点R的个数相同。
进一步地,步骤S5具体包括:
基于所有电压阈值点的待测电压档位对应的CountX(i),预画出电压分布图;
将预画出的电压分布图与已知的标准电压分布图对比,获得每两个相邻的电压阈值点之间的重叠档位;
对于不同的NAND Flash,根据每两个相邻的电压阈值点之间的重叠档位,获得每一个电压阈值点的参数,包括左偏x和右偏 y,其中,x代表距离默认读取电压档位的左偏档位个数,y代表距离默认读取电压档位的右偏档位个数;
去掉每一个电压阈值点与左右两边相邻的电压阈值点的重叠档位,得到每一个电压阈值点的有效的待测电压档位;
将所有电压阈值点的有效的待测电压档位对应的Count X(i)按照电压从低到高的顺序排列,绘制得到最终的电压分布图。
进一步地,还包括:确定每一个电压阈值点的最佳判定电压档位。更进一步地,确定每一个电压阈值点的最佳判定电压档位,通过以下两种方式中的任一种均可实现:
(1)在步骤S4之后,再确定每一个电压阈值点的最佳判定电压档位,具体包括:
分别找出每一个电压阈值点的CountX(i)最小值,对应的电压档位即为当前电压阈值点的最佳判定电压档位;
(2)在步骤S5之后,再确定每一个电压阈值点的最佳判定电压档位,具体包括:
根据最终的电压分布图,若左右相邻的两个状态之间没有重叠,则位于这两个状态之间没有重叠区域的所有档位均可作为最佳判定电压档位;若左右相邻的两个状态之间有重叠,则距离两个状态之间的交叉点最近的电压档位即为最佳判定电压档位。
本发明的有益效果是:
1、本发明的方法,关键在于不依赖于写数据,只使用不同档位下的读数据,就可以快速获得电压分布情况,从而判断测试的物理块的状态是否异常,同时也可快速获得测试的物理块的最佳判定电压。在实际应用定位问题的过程中,该方法更加实用,更能提高定位问题的效率。
2、本发明提出将所有电压阈值点绑定一起调试的方法,大大减少了从NAND Flash介质读取数据的次数。
3、本发明不限制NAND Flash的类型,无论SLC、MLC、TLC或QLC,对不同的数据样本量,此方法都适用。
附图说明
图1为本发明实施例所述的基于读数据的电压分布分析方法的步骤流程图。
图2为本发明实施例所述的一个电压阈值点的电压分布分析示意图。
图3为本发明实施例所述的以某一种TLC为例的每一个存储单元所存储的状态以及每一种页面的读取点的示意图。
图4为本发明实施例所述的从左到右档位读取时,左边状态个数的变化情况示意图。
图5(a)是以某一种TLC的电压分布图为例用全部档位的数据画出来的有重叠档位的图;图5(b)是去除了图5(a)中重叠档位之后的图。
图6为本发明实施例所述的左右相邻的状态之间没有重叠的情况下的选取电压阈值最佳档位的示意图。
图7为本发明实施例所述的左右相邻的状态之间有重叠的情况下的选取电压阈值最佳档位的示意图。
图8为本发明实施例所述的左右相邻的状态之间有重叠的情况下,选取不同档位时,误判率的示意图。
具体实施方式
为了便于本领域人员更好的理解本发明,下面结合附图和具体实施例对本发明做进一步详细说明,下述仅是示例性的不限定本发明的保护范围。
本发明公开了一种基于读数据的电压分布分析方法,不限制应用的NAND Flash的类型,无论SLC、MLC、TLC或QLC,同样对收集的不同的数据样本量也不做要求,可以是一个或多个WL(Word Line)的数据,也可以是一个或多个物理块的数据,只要按照本实施例所述的方法,都可绘制出对应的电压分布分析图。
本实施例所述的一种基于读数据的电压分布分析方法,应用于NAND Flash,如图1所示,至少包括步骤:
步骤S1、根据已知的标准电压分布图,确定待测电压的范围。
具体地,所述标准电压分布图一般是从闪存厂商那里获得的。这里需要确定的是从NAND Flash 介质读取原始数据时使用的电压阈值的范围,一般这里的范围要比电压分析时真正使用的电压阈值范围要宽一些。
步骤S2、在待测电压的范围内确定若干个待测电压档位,其中,待测电压档位是指读取NAND Flash中原始数据时使用的电压阈值点的档位。
具体地,在待测电压的范围内,本实施例优选以相等间隔选择若干个待测电压档位,这样可以更好的保障最终得到的电压分布图更准确,更精确地体现待测物理块的实际情况。实际上,待测电压档位越多,得到的最终电压分布图也会更准确。
步骤S3、将所有电压阈值点绑定一起调档,读取NAND Flash中的原始数据并保存。具体包括:
设电压阈值点为R且为n个,分别为R1、R2……Rn,其中n为正整数且取值根据不同的NAND Flash类型而不同;设电压阈值点的待测电压档位有m个,分别为offset1、offset2……offsetm,其中m不大于可用的电压档位个数;
将R1~Rn绑定,同时对其进行调档,共m个档位,总共读取m次,并保存读取的NANDFlash中的原始数据。
其中,不同NAND Flash类型的电压阈值点的个数不同,比如SLC只有一个电压阈值点,MLC 有3个电压阈值点,TLC有7个电压阈值点。下面以TLC为例进行详细说明,如图3所示,TLC NAND 将7个电压阈值点分别表示为R1、R2、R3、R4、R5、R6 和R7,其中R1的待测电压档位指的是R1及其附近几条竖线代表的电压档位,R1位置的电压档位代表的是这个电压阈值点的默认档位,ER、A、B、C、D、E、F、G分别表示一个存储单元中存储的状态,这个例子中分别为111、110、100、000、010、011、001、101。如果采用现有的方法,即,对R1~R7分别调试,假设步骤S2中确定下来待测电压档位为10个,即,每个电压阈值点都有10个电压档位,那么就需要对测试块读取70次(7×10),具体是,对R1进行调试的时候,R2~R7不动,只调试R1,需要读取10次,依次类推,调试R2~R7时,也都分别需要读取10次,总共是7个电压阈值点,分别调试10次就是读取10次,那么总共就需要读取70次。如果采用本实施例所述的方法,即,同时对R1~R7进行调试,10个档位就读取10次,那么总共只需要对测试块读取10次即可,大大减少了从NAND Flash介质读取数据的次数。
上述所述的原始数据指的是NAND Flash中读取的数据没有经过任何的纠错算法,可以更好的反应待测物理块的实际电压分布关系。
作为本实施例优选的方案,在步骤S3之后,本实施例所述的基于读数据的电压分布分析方法还包括步骤S3':针对读取并保存的NAND Flash中的原始数据,按照当前测试的NAND Flash类型的存储单元所存储的状态进行重新排列。
步骤S3'、针对读取并保存的NAND Flash中的原始数据,按照当前测试的NANDFlash类型的存储单元所存储的状态进行重新排列,具体包括步骤:
从NAND Flash中读取的原始数据,是按照每个页的顺序进行存储的,将从NANDFlash中读取的十六进制的原始数据,转换为二进制数据;
根据不同NAND Flash类型的存储单元所存储的状态,对获得的二进制数据进行重新排列,得到与存储单元所存储的状态相同的数据表示方式。
具体地,由于不同的NAND Flash类型的存储单元存储状态是不一样的,比如SLC芯片每一个存储单元存储的状态是“1或0”,MLC芯片每个存储单元存储的状态为“11、 01、00或10”,TLC芯片每一个存储单元存储的状态为“111、 101、100、110、000、001、010或011”。以TLC为例,3 bit的状态分别表示的是,最低位表示从LSB 页读取的数据的一个bit位,中间位表示的是从CSB 页读取的数据的一个bit位,最高位表示的是从MSB页读取的数据的一个bit位。一般从NAND Flash中读取上来的数据,是按照每个页的顺序存储,这一步中需要将这样的数据按照上述的存储单元存储状态来重新排列。举例说明,对TLC NAND来说,1页、2页、3页是关联的三个页,组成TLC的一个WL(word line),其中1页为LSB(最低有效位) 页,2页为CSB(中间有效位)页,3页为MSB(最高有效位)页,举例说明,如果从NAND Flash介质中读取上来的这几个页的数据为:1页:1010000011110000111……,2页:00000111100011000111……,3页:111100001101010100101110……,经过这一步的转换后应该为101,100,101,100,000……。
步骤S4、计算每个电压阈值点对应的每一个待测电压档位所判定的存储状态的相对个数,用CountX(i)表示。CountX(i)的具体计算包括如下:
CountX(i)= N(state B at offseti→state A at offset(i+1))
上式中,N表示的是个数,Number的简称,用于数个数;state A和state B分别表示电压阈值点R对应的距离最近的相邻的两个状态,左边状态为状态A、右边状态为状态B;X表示的是第X个电压阈值点,其中,1≤X≤n;CountX(i)表示第i个待测电压档位和第i+1个待测电压档位之间的状态变换个数,即,电压阈值点R用第i个待测电压档位读取时为状态B,用第i+1个待测电压档位读取时为状态A的存储单元的个数;offseti表示选取的待测电压档位对应的第i个电压档位;其中,1≤i≤m-1。
需要说明的是,CountX表示一个数组,数组中元素个数为m-1;不同的NAND Flash类型,有不同个数的CountX,CountX的个数与电压阈值点R的个数相同,其个数为2^t-1,其中,t为每个存储单元可存储的bit个数。比如,对于SLC来说,每一个存储单元可存储的bit个数为1,那么就有2^1-1=1个CountX,表示为Count1;对于MLC来说,每一个存储单元可存储的bit个数为2,那么就有2^2-1=3个CountX,分别表示为Count1、Count2、和Count3;对于TLC来说,每一个存储单元可存储的bit个数为3,那么就有2^3-1=7个CountX,分别表示为Count1、Count2、Count3、Count4、Count5、Count6和Count7;对于QLC来说,每一个存储单元可存储的bit个数为4,那么就有2^4-1=15个CountX,分别表示为Count1、Count2、Count3、……、Count15。
特别说明的是,不同的CountX公式中的状态A和状态B亦不同,状态A和状态B取决于不同NAND Flash的类型和不同厂商的设计。随着读取时使用的待测电压档位offset从左到右进行调档,判定为状态A的存储单元的数量会增加,而判定为状态B的存储单元的数量会减少;则电压处在两个相邻的待测电压档位offseti和offset(i+1)之间的存储单元的个数,即为该电压阈值点对应的待测电压档位所判定的存储状态的相对个数。下面以图2所示的一个电压阈值点的电压分布分析图为例说明CountX(i)的计算,图2中,随着待测电压档位offset 从1增加到6,判定为状态A的存储单元数量将增加,而判定为状态B的存储单元数量将减少。举例说明,当存储单元的电压介于待测电压档位offset1和电压档位offset2的电压值之间时(图中用倾斜条填充标记),当读取时使用的判定电压为电压1时,这些存储单元被判定为状态B,而当读取时使用的判定电压为电压2时,这些存储单元会被判定为状态A。我们需要计算的也就是电压介于两个相邻档位的电压值之间的存储单元的个数,即待测电压档位offset为i时为状态B,在电压档位offset为i+1时变换为状态A的个数。标为1的那条竖线,代表的是读取时判定电压用的是这条线代表的电压值,如果NAND Flash的存储单元的电压大于1的电压值,那么就被判定为1的右边状态,即状态B,如果小于的话,就被判定为状态A。这样就不难理解,待测电压档位offset 从1增加到6这个过程中,判定为状态A的存储单元数量就会增加。也可以直观的看图,待测电压档位offset这条线和代表A 状态的波形图左半边部分围起来的面积越大,那么就说明用这个电压读取时,被判定为状态A的存储单元个数越多。还可以通过如图4所示的图来说明,图4中,若用电压档位1读取,则判定为状态A的个数为区域a的面积;若用电压档位2读取,则判定为状态A的个数为区域a和区域b的面积之和;若用电压档位3读取,则判定为状态A的个数为区域a、区域b和区域c的面积之和;依次类推,电压档位从左往右,判定为状态A的个数会增加。
步骤S5、预画出电压分布图,基于预画出的电压分布图对CountX(i)进行处理,得到最终的电压分布图,具体包括:
基于所有电压阈值点的待测电压档位对应的CountX(i),预画出电压分布图。
将预画出的电压分布图与已知的标准电压分布图对比,并通过观察,获得每两个相邻的电压阈值点之间的重叠档位,如果不把这些重叠档位去掉,最终得到的电压分布图会有多余的电压波峰,影响正常的电压分布分析和判断,如图5(a)所示,比如R2左端的电压档位,有部分档位会和R1右边电压档位有重叠,R2右边的电压档位,会有部分档位与R3左边的电压档位有重叠,这一步需要做的,就是将这些重叠的档位找出来。
对于不同的NAND Flash,根据每两个相邻的电压阈值点之间的重叠档位,获得每一个电压阈值点的参数,包括左偏x和右偏 y,其中,x代表距离默认读取电压档位的左偏档位个数,y代表距离默认读取电压档位的右偏档位个数。以图5(a)和图5(b)为例说明,图中档位4为默认读取电压档位,左边有效的档位为2和3,那么x即为2,代表左偏2;右边有效的档位为5和6,那么y即为2,代表右偏2。
去掉每一个电压阈值点与左右两边相邻的电压阈值点的重叠档位,得到每一个电压阈值点的有效的待测电压档位。
将所有电压阈值点的有效的待测电压档位对应的Count X(i)按照电压从低到高的顺序排列,绘制得到最终的电压分布图。
具体地,本实施例以某一种TLC的电压分布图为例进行说明重叠档位,图5(a)是用全部档位的数据画出来的有重叠档位的图,图5(b)是去除了图5(a)中重叠档位之后的图,7条竖线表示的分别是电压阈值点R1、R2、R3、R4、R5、R6 和R7的默认读取电压档位所在的档位位置,横坐标上的1、2、3、4、5、6、7均代表档位,即,档位1、档位2、档位3、档位4、档位5、档位6、档位7,其中档位4为默认读取电压档位。如图5(b)所示,R1的每个电压档位的数据绘制图中最左边的第一个波峰和第二个波峰的左半边部分,R2的每个电压档位的数据绘制图中的第二个波峰的右半边部分和第三个波峰的左半边部分,依次类推。再观察图5(a)可以看出,重叠部分指的是R1右边档位和R2左边档位的重叠,R2右边档位和R3左边档位的重叠,R3右边档位和R4左边档位的重叠,依次类推,去掉重叠档位后,就可以得到图5(b),对比图5(a)可知,图5(b)中的档位1和档位7为去掉的档位,以该示例中R2为例说明,R2左边档位1和档位2分别和R1右边档位6和档位7重叠,R2右边档位6和档位7分别和R3左边的档位1和档位2重叠,R2、R3、R4、R5、R6这几个档位都与左右相邻的电压阈值点有档位重叠,因此,档位1和档位7都未显示,R1只有右边与R2的左边有档位重叠,只需要去掉重叠档位7即可,R7只有左边与R6的右边有档位重叠,只需去掉重叠档位1即可。
作为本实施例优选的,所述的基于读数据的电压分布分析方法还包括步骤:确定每一个电压阈值点的最佳判定电压档位。
具体地,本实施例中确定每一个电压阈值点的最佳判定电压档位,通过以下两种方式中的任一种均可实现:
(1)在步骤S4之后,再确定每一个电压阈值点的最佳判定电压档位,具体包括:
分别找出每一个电压阈值点的CountX(i)最小值,对应的电压档位即为当前电压阈值点的最佳判定电压档位。具体可以通过图2来看,图2中,最小的档位区间为[3,4],这样就将这个电压阈值点的最佳判定电压档位锁定3或4两个档位,可以指定档位3或指定档位4为最佳判定电压档位,因为这两个档位相差很小;还可以通过分别使用这两个档位读取一次来找出最佳判定电压档位,具体是用档位3和档位4分别进行调档读,根据返回的状态,选取最佳判定电压档位,这里的读操作是需要经过纠错算法模块,返回的状态指的是该物理块中没有被纠正成功的数据块的个数,没有被纠正成功的数据块个数小的档位,即为最佳判定电压档位。
(2)在步骤S5之后,再确定每一个电压阈值点的最佳判定电压档位,具体又分为两种情况:
第一种情况:根据最终的电压分布图,若左右相邻的两个状态之间没有重叠,则位于这两个状态之间没有重叠区域的所有档位均可作为最佳判定电压档位。具体如图6所示,左右相邻的状态A与状态B之间没有重叠,那么位于状态A与状态B之间的所有档位,即档位1、档位2、档位3和档位4均可以作为最佳判定电压档位。
第二种情况:根据最终的电压分布图,若左右相邻的两个状态之间有重叠,则距离两个状态之间的交叉点最近的电压档位即为最佳判定电压档位。具体如图7所示,左右相邻的状态A与状态B之间有重叠,图中圆圈标出来的点,是状态A与状态B的交叉点,距离这个交点最近的电压档位就是这个电压阈值点的最佳判定电压档位。
最佳判定电压档位指的是,使用这个档位读取NAND的原始数据,获得的错误是最少的,也就是被误判的bit数最少。以三个档位举例说明为什么距离左右相邻的状态的交叉点的档位为最优,如图8所示,图中3条竖线自左到右分别设为档位1、档位2、档位3,其中档位2这条线代表的档位为最优。
用档位2作为判定电压时,出错为a+b+c+e的面积,其中,a+b的面积为将状态B误判为状态A的个数,c+e的面积为将状态A误判为状态B的个数。
用档位1作为判定电压时,出错为a+b+c+e+f的面积,其中,a的面积为将状态B误判为状态A的个数,b+c+e+f的面积为将状态A误判为状态B的个数。
用档位3作为判定电压时,出错为a+b+c+e+d的面积,其中,a+b+c+d的面积为将状态B误判为状态A的个数,e的面积为将状态A误判为状态B的个数。
因此,从图8可以直观的看到,档位2这条线代表最佳判定电压档位。
本实施例所述的基于读数据的电压分布分析方法,在不依赖写数据的情况下,只使用不同档位下的读数据,可以快速获得电压分布情况,从而判断测试的物理块的状态是否异常,同时也可快速获得测试的物理块的最佳判定电压档位。从理论和实验的结果看来,这种算法获得的电压分布图和依赖于写数据获得的电压分布图是一样的。
以上仅描述了本发明的基本原理和优选实施方式,本领域人员可以根据上述描述做出许多变化和改进,这些变化和改进应该属于本发明的保护范围。
Claims (8)
1.一种基于读数据的电压分布分析方法,应用于NAND Flash,其特征在于,至少包括步骤:
步骤S1、根据已知的标准电压分布图,确定待测电压的范围;
步骤S2、在待测电压的范围内确定若干个待测电压档位,其中,待测电压档位是指读取NAND Flash中原始数据时使用的电压阈值点的档位;
步骤S3、将所有电压阈值点绑定一起调档,读取NAND Flash中的原始数据并保存;
步骤S4、计算每个电压阈值点对应的每一个待测电压档位所判定的存储状态的相对个数,用CountX(i)表示,其中,i是选取档位中第i个待测电压档位,相对个数是指相邻两个待测电压档位之间的存储状态的变换个数;
步骤S5、预画出电压分布图,基于预画出的电压分布图对CountX(i)进行处理,得到最终的电压分布图;
步骤S5具体包括:
基于所有电压阈值点的待测电压档位对应的CountX(i),预画出电压分布图;
将预画出的电压分布图与已知的标准电压分布图对比,获得每两个相邻的电压阈值点之间的重叠档位;
对于不同的NAND Flash,根据每两个相邻的电压阈值点之间的重叠档位,获得每一个电压阈值点的参数,包括左偏x和右偏 y,其中,x代表距离默认读取电压档位的左偏档位个数,y代表距离默认读取电压档位的右偏档位个数;
去掉每一个电压阈值点与左右两边相邻的电压阈值点的重叠档位,得到每一个电压阈值点的有效的待测电压档位;
将所有电压阈值点的有效的待测电压档位对应的Count X(i)按照电压从低到高的顺序排列,绘制得到最终的电压分布图。
2.根据权利要求1所述的基于读数据的电压分布分析方法,其特征在于,步骤S2中,在待测电压的范围内确定若干个待测电压档位,包括:
在待测电压的范围内,以相等间隔选择若干个待测电压档位。
3.根据权利要求1所述的基于读数据的电压分布分析方法,其特征在于,步骤S3具体包括:
设电压阈值点为R且为n个,分别为R1、R2……Rn,其中n为正整数且取值根据不同的NAND Flash类型而不同;设电压阈值点的待测电压档位有m个,分别为offset1、offset2……offsetm,其中m不大于可用的电压档位个数;
将R1~Rn绑定,同时对其进行调档,共m个档位,总共读取m次,并保存读取的NAND Flash中的原始数据。
4.根据权利要求1-3任一项所述的基于读数据的电压分布分析方法,其特征在于,在步骤S3之后,还包括步骤S3':
针对读取并保存的NAND Flash中的原始数据,按照当前测试的NAND Flash类型的存储单元所存储的状态进行重新排列。
5.根据权利要求4所述的基于读数据的电压分布分析方法,其特征在于,步骤S3'具体包括:
从NAND Flash中读取的原始数据,是按照每个页的顺序进行存储的,将从NAND Flash中读取的十六进制的原始数据,转换为二进制数据;
根据不同NAND Flash类型的存储单元所存储的状态,对获得的二进制数据进行重新排列,得到与存储单元所存储的状态相同的数据表示方式。
6.根据权利要求3所述的基于读数据的电压分布分析方法,其特征在于,步骤S4具体包括:
CountX(i)= N(state B at offseti→state A at offset(i+1))
上式中,N表示的是个数,Number的简称;state A和state B分别表示电压阈值点R对应的距离最近的相邻的两个状态,左边状态为状态A、右边状态为状态B;X表示的是第X个电压阈值点,其中,1≤X≤n;CountX(i)表示第i个待测电压档位和第i+1个待测电压档位之间的状态变换个数,即,电压阈值点R用第i个待测电压档位读取时为状态B,用第i+1个待测电压档位读取时为状态A的存储单元的个数;offseti表示选取的待测电压档位的第i个电压档位;其中,1≤i≤m-1;
CountX表示一个数组,数组中元素个数为m-1;不同的NAND Flash类型,有不同个数的CountX,CountX的个数与电压阈值点R的个数相同。
7.根据权利要求1所述的基于读数据的电压分布分析方法,其特征在于,还包括:确定每一个电压阈值点的最佳判定电压档位。
8.根据权利要求7所述的基于读数据的电压分布分析方法,其特征在于,确定每一个电压阈值点的最佳判定电压档位,通过以下两种方式中的任一种均可实现:
(1)在步骤S4之后,再确定每一个电压阈值点的最佳判定电压档位,具体包括:
分别找出每一个电压阈值点的CountX(i)最小值,对应的电压档位即为当前电压阈值点的最佳判定电压档位;
(2)在步骤S5之后,再确定每一个电压阈值点的最佳判定电压档位,具体包括:
根据最终的电压分布图,若左右相邻的两个状态之间没有重叠,则位于这两个状态之间没有重叠区域的所有档位均可作为最佳判定电压档位;若左右相邻的两个状态之间有重叠,则距离两个状态之间的交叉点最近的电压档位即为最佳判定电压档位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210184370.XA CN114242149B (zh) | 2022-02-28 | 2022-02-28 | 一种基于读数据的电压分布分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210184370.XA CN114242149B (zh) | 2022-02-28 | 2022-02-28 | 一种基于读数据的电压分布分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114242149A CN114242149A (zh) | 2022-03-25 |
CN114242149B true CN114242149B (zh) | 2022-05-27 |
Family
ID=80748229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210184370.XA Active CN114242149B (zh) | 2022-02-28 | 2022-02-28 | 一种基于读数据的电压分布分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114242149B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9542258B1 (en) * | 2013-03-15 | 2017-01-10 | Western Digital Technologies, Inc. | System and method for error-minimizing voltage threshold selection |
CN111341375A (zh) * | 2020-02-19 | 2020-06-26 | 哈尔滨工业大学 | 一种面向TLC型NAND Flash的阈值电压获取方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8077520B1 (en) * | 2008-09-05 | 2011-12-13 | Marvell International Ltd. | Determining threshold voltage distribution in flash memory |
US8848453B2 (en) * | 2012-08-31 | 2014-09-30 | Micron Technology, Inc. | Inferring threshold voltage distributions associated with memory cells via interpolation |
US9036413B2 (en) * | 2013-09-27 | 2015-05-19 | Seagate Technology Llc | Flash memory reference voltage detection with tracking of cross-points of cell voltage distributions using histograms |
KR20160051328A (ko) * | 2014-11-03 | 2016-05-11 | 에스케이하이닉스 주식회사 | 데이터 복구 방법 및 이를 사용한 비휘발성 메모리 시스템 |
JP2020107376A (ja) * | 2018-12-27 | 2020-07-09 | キオクシア株式会社 | メモリシステム |
CN111899784B (zh) * | 2020-08-07 | 2022-07-12 | 广东工业大学 | 一种nand闪存中阈值电压分布的测量方法、装置、存储介质 |
CN112582012B (zh) * | 2020-12-23 | 2024-03-12 | 深圳大普微电子科技有限公司 | 获取最佳阈值电压的方法、装置及非易失性存储设备 |
CN112735502B (zh) * | 2020-12-31 | 2022-08-23 | 中国科学院微电子研究所 | 一种用于闪存的阈值分布拟合方法、装置及系统 |
-
2022
- 2022-02-28 CN CN202210184370.XA patent/CN114242149B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9542258B1 (en) * | 2013-03-15 | 2017-01-10 | Western Digital Technologies, Inc. | System and method for error-minimizing voltage threshold selection |
CN111341375A (zh) * | 2020-02-19 | 2020-06-26 | 哈尔滨工业大学 | 一种面向TLC型NAND Flash的阈值电压获取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114242149A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11953980B2 (en) | Memory sub-system with dynamic calibration using component-based function(s) | |
CN103843067B (zh) | 用于非易失性存储器的片上动态读取 | |
US6558967B1 (en) | Multi-bit-per-cell memory system with numbers of bits per cell set by testing of memory units | |
TWI596616B (zh) | 胞元間干擾的消除 | |
US7787307B2 (en) | Memory cell shift estimation method and apparatus | |
US8055988B2 (en) | Multi-bit memory error detection and correction system and method | |
US7447955B2 (en) | Test apparatus and test method | |
US20100296350A1 (en) | Method of setting read voltage minimizing read data errors | |
US20040170058A1 (en) | Reducing the effects of noise in non-volatile memories through multiple reads | |
US7180795B1 (en) | Method of sensing an EEPROM reference cell | |
US10713104B2 (en) | Storage system with read threshold mechanism and method of operation thereof | |
US8910020B2 (en) | Intelligent bit recovery for flash memory | |
US20150178148A1 (en) | Threshold voltage calibration using reference pattern detection | |
US11398291B2 (en) | Method and apparatus for determining when actual wear of a flash memory device differs from reliability states for the flash memory device | |
US20220027083A1 (en) | Regression Neural Network for Identifying Threshold Voltages to be Used in Reads of Flash Memory Devices | |
KR20000048015A (ko) | 플래시 메모리의 제어 방법, 및 이 제어 방법을 이용한플래시 메모리 시스템과 이 제어 방법을 이용한 플래시메모리 칩 | |
US20080282120A1 (en) | Memory structure, repair system and method for testing the same | |
CN115295057B (zh) | 一种快速获取nand最优读取数据的方法 | |
CN1216388A (zh) | 非易失存储装置及退化检测方法 | |
CN114242149B (zh) | 一种基于读数据的电压分布分析方法 | |
US20090046510A1 (en) | Apparatus and method for multi-bit programming | |
US11216338B2 (en) | Storage device that performs state shaping of data | |
CN117393025B (zh) | 生成符合nand数据特征带软判决信息的数据的方法 | |
JPH08235871A (ja) | 多値データ記憶再生方法及び多値データ記憶再生装置 | |
US11907047B2 (en) | Data storage device and error tolerance selecting method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |