CN112151101A - 一种扫描TLC NANDFlash最优读参数的方法 - Google Patents
一种扫描TLC NANDFlash最优读参数的方法 Download PDFInfo
- Publication number
- CN112151101A CN112151101A CN202010987450.XA CN202010987450A CN112151101A CN 112151101 A CN112151101 A CN 112151101A CN 202010987450 A CN202010987450 A CN 202010987450A CN 112151101 A CN112151101 A CN 112151101A
- Authority
- CN
- China
- Prior art keywords
- bec
- scanning
- reading
- max
- parameters
- 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.)
- Granted
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/08—Address circuits; Decoders; Word-line control circuits
Landscapes
- Read Only Memory (AREA)
Abstract
本发明公开一种扫描TLC NANDFlash最优读参数的方法,使用阈值梯度下降方法对NAND Flash进行扫描,执行扫描时不需要了解Block内存储的数据内容,并且不受NAND Flash的磨损状况限制,根据用户输入的阈值快速准确的找到NAND Flash的最优读参数,扫描过程不需要用户参与,扫描的基准数据长度可以灵活配置。本方法在NAND Flash shift read基础上通过对NAND Flash错误数的扫描获取当前状态下NAND Flash的最优读取参数,从而进一步提升NAND Flash保存数据的稳定性。
Description
技术领域
本发明涉及一种扫描TLC NANDFlash最优读参数的方法,属于存储技术领域。
背景技术
NAND Flash作为数据存储介质广泛应用于固态存储设备中。然而,NAND Flash的物理结构和材料特性决定了其保存数据存在天然的风险。NAND Flash保存的数据随着NANDFlash的磨损、读次数的升高和保存时间的增加会出现数据位翻转的情况,从而导致数据读取出错。所以,使用NAND Flash作为存储介质的设备中都会针对NAND Flash增加ECC校验,目前主要的ECC编码为BCH和LDPC。虽然ECC可以从一定程度上增强数据的稳定性,但是为了进一步提高数据的稳定性,我们需要一些方法对NAND Flash读取进行优化。
发明内容
本发明要解决的技术问题是提供一种扫描TLC NANDFlash最优读参数的方法,在NAND Flash shift read基础上通过对NAND Flash错误数的扫描获取当前状态下NANDFlash的最优读取参数,从而进一步提升NAND Flash保存数据的稳定性。
为了解决所述技术问题,本发明采用的技术方案是:一种扫描TLC NANDFlash最优读参数的方法,包括以下步骤:
S01)、获取整个block的最大错误位数量BECmax,以整个Block的BECmax作为基础参考值BECcmp;
S02)、设定下降幅度BECdec和扫描阈值BECthr,判断BECcmp– BECdec与BECthr的关系,如果BECcmp– BECdec>BECthr,则将BECcmp– BECdec作为参考阈值,如果小于则以BECthr作为参考阈值;
S03)、以步骤S02确定的参考阈值进行block最优读参数扫描,记录本次扫描整个block的BEC‘ max;
S04)、判断BEC‘ max与BECthr的关系,如果BEC‘ max小于BECthr,则将扫描结果进行记录并退出;如果大于则将本次扫描的BEC‘ max作为下次梯度下降的基础参考值BECcmp,执行步骤S02至S04。
进一步的,步骤S03进行block最优读参数扫描的过程为:
S31)、判断是否已经执行过扫描过程,如果是则选用上次扫描记录的读参数作为本次扫描的基础,如果不是则使用默认值0作为本次扫描的读参数基础;
S32)、将扫描设置在block的开始位置,即WL等于0,page等于Lower Page处,然后开始扫描;
S33)、判断WL是否达到当前block的WL最大值,如果是则使用之前扫描得到的读参数读取当前block,记录BECmax和读参数,然后结束扫描;如果不是则进入步骤S34;
S34)、判断page是否到达Upper Page,如果是,则切换到下一个WL进行步骤S33;如果不是,则根据当前Page选择读参数P的顺序,进入步骤S35;
S35)、判断当前读参数P是否是当前Page对应的最后一个读参数,如果是则切换到下一个Page执行步骤S34;如果不是则进入步骤S36;
S36)、根据预设的offset值,判断shift read的offset是否达到最后一个offset,如果是则切换到当前Page的下一个读参数,执行S35;如果不是则执行S37;
S37)、选取offset然后与当前读参数P相加组成新的shift read读参数,然后执行S38;
S38)、使用S37得到的读参数读取当前Page,得到当前Page的BECmax,执行S39;
S39)、判断BECmax是否小于BECcmp,如果不是则选择下一个offset然后执行S36;如果是则记录Nok加1,然后执行S10;
S310)、判断Nok是否等于3,即是否有3次shift read使BECmax小于BECcmp,如果不是则选择下一个offset然后执行S36;如果是则找出3次BECmax最小那次对应的offset,然后执行S311;
S311)、将原Px对应的原值与S310得到的offset相加,得到一个新值并记录下来,然后切换到当前page的下一个读参数,执行S35。
进一步的,对于232编码TLC NANDFlash,每个WL包含3个page,分别是LP、MP、UP,其中LP对应的读参数为P0、P4,MP对应的读参数为P1、P3、P5,UP对应的读参数为P2、P6。
进一步的,block扫描从WL0开始,每个WL内部的读取顺序为LP、MP、UP,每个Page内部的读参数顺序为先大后小。
进一步的,每次shift read间隔为2,shift read顺序如下:
0、-2、2、-4、4、-6、6、-8、8、-10、10、-12、12、……、-62、62、-64、64。
进一步的,扫描得到的最优读参数保存到表格文件中。
进一步的,步骤S01中,通过normal read获取整个block的最大错误位数量BECmax。
本发明的有益效果:本专利使用阈值梯度下降方法对NAND Flash进行扫描,执行扫描时不需要了解Block内存储的数据内容,并且不受NAND Flash的磨损状况限制,根据用户输入的阈值快速准确的找到NAND Flash的最优读参数,扫描过程不需要用户参与,扫描的基准数据长度可以灵活配置。
附图说明
图1为实施例1所述方法的流程图;
图2为block最优读参数扫描流程图。
具体实施方式
本实施例公开一种扫描TLC NANDFlash最优读参数的方法,下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
NAND Flash的读取命令分为两种:normal read和shift read,本实施例使用shiftread的方式对NAND Flash进行读取。3D TLC作为目前主流的NAND Flash被广泛应用,本发明以2-3-2编码的3D TLC NAND Flash为例进行方法说明。扫描过程中保存的读电压参数使用表格形式进行保存。
根据NAND Flash cell的健康状态和数据保存的情况,数据内容读取时会出现位翻转,使用shift read改变输入参数能够从一定程度上缓解位翻转现象,从而降低读取的数据出现位错误的数量。
如图1所示,本实施例所述方法包括以下步骤:
S01)、使用normal read方式获取整个block的最大错误位数量BECmax,并以整个Block的BECmax作为基础参考值BECcmp,目的是得到当前Block未经扫描的原始错误数;
S02)、设定下降幅度BECdec和扫描阈值BECthr,判断BECcmp– BECdec与BECthr的关系,如果BECcmp– BECdec>BECthr,则将BECcmp– BECdec作为参考阈值,如果小于则以BECthr作为参考阈值;
S03)、以步骤S02确定的参考阈值进行block最优读参数扫描,记录本次扫描整个block的BEC‘ max;
S04)、判断BEC‘ max与BECthr的关系,如果BEC‘ max小于BECthr,则将扫描结果进行记录并退出;如果大于则将本次扫描的BEC‘ max作为下次梯度下降的基础参考值BECcmp,执行步骤S02至S04。
如图2所示,步骤S03进行block最优读参数扫描的过程为:
S31)、判断是否已经执行过扫描过程,如果是则选用上次扫描记录的读参数作为本次扫描的基础,如果不是则使用默认值0作为本次扫描的读参数基础;
S32)、将扫描设置在block的开始位置,即WL等于0,page等于Lower Page处,然后开始扫描;
S33)、判断WL是否达到当前block的WL最大值,如果是则使用之前扫描得到的读参数读取当前block,记录BECmax和读参数,然后结束扫描;如果不是则进入步骤S34;
S34)、判断page是否到达Upper Page,如果是,则切换到下一个WL进行步骤S33;如果不是,则根据当前Page选择读参数P的顺序,进入步骤S35;
S35)、判断当前读参数P是否是当前Page对应的最后一个读参数,如果是则切换到下一个Page执行步骤S34;如果不是则进入步骤S36;
S36)、根据预设的offset值,判断shift read的offset是否达到最后一个offset,如果是则切换到当前Page的下一个读参数,执行S35;如果不是则执行S37;
S37)、选取offset然后与当前读参数P相加组成新的shift read读参数,然后执行S38;
S38)、使用S37得到的读参数读取当前Page,得到当前Page的BECmax,执行S39;
S39)、判断BECmax是否小于BECcmp,如果不是则选择下一个offset然后执行S36;如果是则记录Nok加1,然后执行S10;
S310)、判断Nok是否等于3,即是否有3次shift read使BECmax小于BECcmp,如果不是则选择下一个offset然后执行S36;如果是则找出3次BECmax最小那次对应的offset,然后执行S311;
S311)、将原Px对应的原值与S310得到的offset相加,得到一个新值并记录下来,然后切换到当前page的下一个读参数,执行S35。
对于232编码TLC NANDFlash,每个WL包含3个page,分别是LP、MP、UP,其中LP对应的读参数为P0、P4,MP对应的读参数为P1、P3、P5,UP对应的读参数为P2、P6。
block扫描从WL0开始,每个WL内部的读取顺序为LP、MP、UP,每个Page内部的读参数顺序为先大后小。即MP先扫描P5,然后P3,最后P1;LP和UP类似。
本实施例中,每次shift read间隔为2,shift read顺序如下:
0、-2、2、-4、4、-6、6、-8、8、-10、10、-12、12、……、-62、62、-64、64。
每次shift read只修改一个参数Px,将获取的BECmax与BECthr做比较,如果BECmax小于BECthr则记录这一次Px满足条件,如果所有shift read中有3次都满足条件,就找到这3次中使BECmax最小的那一次Px,记录下来。
本方案最终得到的读参数保存到表格文件中,也可以保存成其他形式。
本专利描述的方法使用阈值梯度下降方法能够快速准确的对NAND Flash进行扫描,然后获取满足阈值条件的最优读参数。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (7)
1.一种扫描TLC NANDFlash最优读参数的方法,其特征在于:包括以下步骤:
S01)、获取整个block的最大错误位数量BECmax,以整个Block的BECmax作为基础参考值BECcmp;
S02)、设定下降幅度BECdec和扫描阈值BECthr,判断BECcmp– BECdec与BECthr的关系,如果BECcmp– BECdec>BECthr,则将BECcmp– BECdec作为参考阈值,如果小于则以BECthr作为参考阈值;
S03)、以步骤S02确定的参考阈值进行block最优读参数扫描,记录本次扫描整个block的BEC‘ max;
S04)、判断BEC‘ max与BECthr的关系,如果BEC‘ max小于BECthr,则将扫描结果进行记录并退出;如果大于则将本次扫描的BEC‘ max作为下次梯度下降的基础参考值BECcmp,执行步骤S02至S04。
2.根据权利要求1所述的扫描TLC NANDFlash最优读参数的方法,其特征在于:步骤S03进行block最优读参数扫描的过程为:
S31)、判断是否已经执行过扫描过程,如果是则选用上次扫描记录的读参数作为本次扫描的基础,如果不是则使用默认值0作为本次扫描的读参数基础;
S32)、将扫描设置在block的开始位置,即WL等于0,page等于Lower Page处,然后开始扫描;
S33)、判断WL是否达到当前block的WL最大值,如果是则使用之前扫描得到的读参数读取当前block,记录BECmax和读参数,然后结束扫描;如果不是则进入步骤S34;
S34)、判断page是否到达Upper Page,如果是,则切换到下一个WL进行步骤S33;如果不是,则根据当前Page选择读参数P的顺序,进入步骤S35;
S35)、判断当前读参数P是否是当前Page对应的最后一个读参数,如果是则切换到下一个Page执行步骤S34;如果不是则进入步骤S36;
S36)、根据预设的offset值,判断shift read的offset是否达到最后一个offset,如果是则切换到当前Page的下一个读参数,执行S35;如果不是则执行S37;
S37)、选取offset然后与当前读参数P相加组成新的shift read读参数,然后执行S38;
S38)、使用S37得到的读参数读取当前Page,得到当前Page的BECmax,执行S39;
S39)、判断BECmax是否小于BECcmp,如果不是则选择下一个offset然后执行S36;如果是则记录Nok加1,然后执行S10;
S310)、判断Nok是否等于3,即是否有3次shift read使BECmax小于BECcmp,如果不是则选择下一个offset然后执行S36;如果是则找出3次BECmax最小那次对应的offset,然后执行S311;
S311)、将原Px对应的原值与S310得到的offset相加,得到一个新值并记录下来,然后切换到当前page的下一个读参数,执行S35。
3.根据权利要求2所述的扫描TLC NANDFlash最优读参数的方法,其特征在于:对于232编码TLC NANDFlash,每个WL包含3个page,分别是LP、MP、UP,其中LP对应的读参数为P0、P4,MP对应的读参数为P1、P3、P5,UP对应的读参数为P2、P6。
4.根据权利要求2所述的扫描TLC NANDFlash最优读参数的方法,其特征在于:block扫描从WL0开始,每个WL内部的读取顺序为LP、MP、UP,每个Page内部的读参数顺序为先大后小。
5.根据权利要求2所述的扫描TLC NANDFlash最优读参数的方法,其特征在于:每次shift read间隔为2,shift read顺序如下:
0、-2、2、-4、4、-6、6、-8、8、-10、10、-12、12、……、-62、62、-64、64。
6.根据权利要求1所述的扫描TLC NANDFlash最优读参数的方法,其特征在于:扫描得到的最优读参数保存到表格文件中。
7.根据权利要求1所述的扫描TLC NANDFlash最优读参数的方法,其特征在于:步骤S01中,通过normal read获取整个block的最大错误位数量BECmax。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010987450.XA CN112151101B (zh) | 2020-09-18 | 2020-09-18 | 一种扫描TLC NANDFlash最优读参数的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010987450.XA CN112151101B (zh) | 2020-09-18 | 2020-09-18 | 一种扫描TLC NANDFlash最优读参数的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112151101A true CN112151101A (zh) | 2020-12-29 |
CN112151101B CN112151101B (zh) | 2023-03-14 |
Family
ID=73892359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010987450.XA Active CN112151101B (zh) | 2020-09-18 | 2020-09-18 | 一种扫描TLC NANDFlash最优读参数的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112151101B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190102084A1 (en) * | 2017-10-03 | 2019-04-04 | Cnex Labs, Inc. | Storage system with read threshold mechanism and method of operation thereof |
US10453537B1 (en) * | 2018-05-10 | 2019-10-22 | International Business Machines Corporation | Techniques for reducing read voltage threshold calibration in non-volatile memory |
CN110473588A (zh) * | 2019-08-15 | 2019-11-19 | 山东华芯半导体有限公司 | 一种SSD中在线校准NAND Flash读参考电压的方法 |
CN111078498A (zh) * | 2019-12-03 | 2020-04-28 | 山东华芯半导体有限公司 | 一种ssd中数据巡检的方法 |
US20220027083A1 (en) * | 2020-07-27 | 2022-01-27 | Microchip Technology Inc. | Regression Neural Network for Identifying Threshold Voltages to be Used in Reads of Flash Memory Devices |
-
2020
- 2020-09-18 CN CN202010987450.XA patent/CN112151101B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190102084A1 (en) * | 2017-10-03 | 2019-04-04 | Cnex Labs, Inc. | Storage system with read threshold mechanism and method of operation thereof |
US10453537B1 (en) * | 2018-05-10 | 2019-10-22 | International Business Machines Corporation | Techniques for reducing read voltage threshold calibration in non-volatile memory |
CN110473588A (zh) * | 2019-08-15 | 2019-11-19 | 山东华芯半导体有限公司 | 一种SSD中在线校准NAND Flash读参考电压的方法 |
CN111078498A (zh) * | 2019-12-03 | 2020-04-28 | 山东华芯半导体有限公司 | 一种ssd中数据巡检的方法 |
US20220027083A1 (en) * | 2020-07-27 | 2022-01-27 | Microchip Technology Inc. | Regression Neural Network for Identifying Threshold Voltages to be Used in Reads of Flash Memory Devices |
Also Published As
Publication number | Publication date |
---|---|
CN112151101B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10521292B2 (en) | Error correction code unit, self-test method and associated controller applied to flash memory device for generating soft information | |
Parnell et al. | Modelling of the threshold voltage distributions of sub-20nm NAND flash memory | |
CN104934062B (zh) | 非易失性存储器及写入方法 | |
US9122626B2 (en) | Linearly related threshold voltage offsets | |
TW201814532A (zh) | 資料儲存裝置及其資料寫入方法 | |
US20150186210A1 (en) | Method for performing error correction, associated memory apparatus and associated controller thereof | |
CN108647109A (zh) | 一种固态硬盘提升ldpc纠错能力的方法 | |
CN109887537A (zh) | 一种阈值电压飘移感知的ldpc码译码方法 | |
TW201108232A (en) | Method and system of finding a read voltage for a flash memory | |
CN110502185A (zh) | 重读页面数据方法 | |
CN104575618B (zh) | 一种基于闪存错误校验的读写调制方法 | |
JP2005235287A (ja) | 不揮発性半導体記憶装置のプログラミング方法、プログラミング装置、及び、不揮発性半導体記憶装置 | |
CN111192620A (zh) | 一种SSD中优化NAND Flash读参考电压的方法 | |
CN110659146A (zh) | 一种基于温度的闪存重读方法 | |
CN109716282B (zh) | 用于编程存储器系统的方法 | |
US20170262218A1 (en) | Storage device and data moving method for storage device | |
CN114047887A (zh) | 一种提高数据读取的成功率的方法、装置及介质 | |
CN110473588A (zh) | 一种SSD中在线校准NAND Flash读参考电压的方法 | |
CN112151101B (zh) | 一种扫描TLC NANDFlash最优读参数的方法 | |
CN101276645B (zh) | 采用三电平单元的存储装置及相关的管理方法 | |
US9875811B2 (en) | Method and device for reading a memory | |
US8194449B2 (en) | Memory device and operating method | |
CN105788637A (zh) | Nand flash擦写衰退的补偿方法和补偿装置 | |
CN111158965A (zh) | 一种评估bps内存模式的方法 | |
CN106205699A (zh) | 存储器管理方法、存储器存储装置与存储器控制电路单元 |
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 |