CN107291382B - 一种固态硬盘降低读响应延迟的方法及固态硬盘 - Google Patents
一种固态硬盘降低读响应延迟的方法及固态硬盘 Download PDFInfo
- Publication number
- CN107291382B CN107291382B CN201710357269.9A CN201710357269A CN107291382B CN 107291382 B CN107291382 B CN 107291382B CN 201710357269 A CN201710357269 A CN 201710357269A CN 107291382 B CN107291382 B CN 107291382B
- Authority
- CN
- China
- Prior art keywords
- error correction
- solid state
- state disk
- recommended
- data
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Read Only Memory (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种固态硬盘降低读响应延迟的方法及固态硬盘,其特征在于当采用第一级错误纠错还无法正确读数据时,将无法正确读数据所在的页或块的影响因子输入纠错策略预测模块和纠错电压预测模块,纠错策略预测模块和纠错电压预测模块根据输入的影响因子预测读数据的推荐纠错策略和推荐纠错电压,NAND根据推荐纠错策略和推荐纠错电压重新读取数据。本发明通过纠错策略预测模块和纠错电压预测模块预测推荐纠错策略和推荐纠错电压,固态硬盘根据预测的推荐纠错策略和推荐纠错电压进行数据读取,可大大提高一次读取成功的概率,进而实现降低读响应延迟,达到提升固态硬盘性能的效果。
Description
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种固态硬盘降低读响应延迟的方法及固态硬盘。
背景技术
图1是典型的NAND组成示意图:DIE,可独立并发操作的单元;Block,可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个Block擦除;Page,读写单元。
图2是常规NADN内部读取数据流程图,主机随机访问NAND数据时,NAND控制器接收到前端的命令且经过NAND内部映射表转换成物理地址后,NAND控制器发起对NAND的读操作;NAND加载对应的数据并返回NAND控制器;NAND控制器根据写入时附加的校验信息(典型地如ECC Parity)可以识别数据是否正确,当数据出错的bit数量在一定范围(TH_1)内时,可通过第一级错误纠错Error Recovery Selection 1即可纠正回来。
当数据错误超过一定范围(TH_1)时,数据不可直接纠错,此时需要进行一系列的纠错。如进行第二级错误纠错Error Recovery Selection 2:通过依次调整读参考调压并获取NAND数据,若能够纠错成功则返回,否则继续尝试下一个读参考电压设置;若所有读参考电压均尝试过还无法成功纠错则进入第三级错误纠错Error Recovery Selection 3;在第二级错误纠错Error Recovery Selection 2过程中,只启用了硬件纠错Hard Decoder,其只需要单笔读输入,解码时间短,但纠错能力弱。
第三级错误纠错Error Recovery Selection 3,此时也会如第二级错误纠错Error Recovery Selection 2一样,依次尝试各个读参考电压设置。与第二级错误纠错Error Recovery Selection 2不同的是,此过程中,启用了硬件加软件纠错同时进行Hard/Soft Decoder,需要3笔输入,解码时间更长,纠错能力强。若所有方式均尝试过仍然不能获取正确的数据,则标志数据错误。
由于Error Recovery Selection 2和Error Recovery Selection 3操作中需要尝试较多的组合,耗时达到数十毫秒,与典型的数百微秒差距过大,大大降低了SSD的性能。
图3是不同级纠错设置的读取电压设置,分别对应Error Recovery Selection 1/2/3。A对应Error Recovery Selection 1;B对应Error Recovery Selection 2;C对应Error Recovery Selection 3。伴随各种因素的影响,NAND的电压分布会发生漂移,此时需要通过选择合适的读参考电压进行数据读取。进一步地,当单笔读无法完成纠错时(HardDecoder),需要引入耗时更长,纠错能力更强的Hard/Soft+Decoder。
发明内容
针对以上缺陷,本发明目的如何提高NAND数据读取的速度,特别是降低数据存在异常时读响应延迟。
为了解决以上问题本发明提出了一种固态硬盘降低读响应延迟的方法,其特征在于当采用第一级错误纠错还无法正确读数据时,将无法正确读数据所在的页或块的影响因子输入纠错策略预测模块和纠错电压预测模块,纠错策略预测模块和纠错电压预测模块根据输入的影响因子预测读数据的推荐纠错策略和推荐纠错电压,NAND根据推荐纠错策略和推荐纠错电压重新读取数据。
所述的固态硬盘降低读响应延迟的方法,其特征在于所述纠错策略预测模块通过SVM分类算法预测推荐纠错策略,所述SVM为支持向量机。
所述的固态硬盘降低读响应延迟的方法,其特征在于纠错电压预测模块采用回归预测算法。
所述的固态硬盘降低读响应延迟的方法,其特征在于回归预测算法为OLS算法。
所述的固态硬盘降低读响应延迟的方法,其特征在于所述的影响因子包括:擦写次数、数据保持时间、物理块完成编程后到下一次擦除前读取次数、Block内页WordLine编号。
一种固态硬盘,其特征在于采用了权利要求1至5任意一项所述的固态硬盘降低读响应延迟的方法进行数据读取。
本发明通过纠错策略预测模块和纠错电压预测模块预测推荐纠错策略和推荐纠错电压,固态硬盘根据预测的推荐纠错策略和推荐纠错电压进行数据读取,可大大提高一次读取成功的概率,进而实现降低读响应延迟,达到提升固态硬盘性能的效果。
附图说明
图1是典型的NAND组成示意图;
图2是常规NADN内部读取数据流程图;
图3是不同级纠错设置的读取电压设置;
图4是具体实施示例的学习表格图例;
图5是超平面1将样板分类示意图;
图6是超平面2将样板分类示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图4是具体实施示例的学习表格图例,为解释本发明所述的纠错策略与纠错电压选择,通过图4的学习表格来演示说明。借助机器学习的分类算法,通过输入批量的样本、目标值,给出分类规则;借助机器学习的回归算法,通过输入批量的样本、目标值,给出预测规则。
为便于解释,本实施例中仅提取了几个典型的影响因子,实际应用中可根据NAND需求扩展,具体算法推导过程与下文类似。
其中:
因子0(a_0):常量,固定为1;因子1(a_1):PE,Block擦写次数;因子2(a_2):Retention,数据写入后在常温下等效保持时间(涉及不同温度的可转换为常温);因子3(a_3):Read Count,物理块完成编程后到下一次擦除前,读取次数;因子4(a_4):Block内页、WordLine编号。
基于以上的影响因子分别进行纠错策略的预测和纠错电压:
我们运用SVM(支持向量机)的分类算法确定纠错策略,(Support VectorMachine)是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。
5.假设第四步得出选择纠错算法1或2,那么如何进一步确认1还是2呢?显然是再次运用SVM算法,以超平面1左边的样本为新样本,确定超平面2: 如图6,超平面2分隔了纠错策略1和纠错策略2对应的样本点。再根据的值就可以确定选择哪种纠错策略了,也就实现了推荐纠错策略的预测。
以下举例说明通过回归预测算法预测纠错电压,回归预测算法选择OLS算法进行说明,也可以是其它算法。OLS是ordinary least square的的简称,意思是普通最小二乘法。
假设一组系数e_i(i=0,1,2…4);对于给定的M(M>>4)组数值集合{a_i_j,Y_j|i=0,1,2,3,4;j=1,2…M},满足,
借助如上的规则,确定e_i值。
固态硬盘根据预测的推荐纠错策略和推荐纠错电压进行数据读取,可大大提高一次读取成功的概率,进而实现降低读响应延迟,达到提升固态硬盘性能的效果。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (6)
1.一种固态硬盘降低读响应延迟的方法,其特征在于当采用第一级错误纠错还无法正确读数据时,将无法正确读数据所在的页或块的影响因子输入纠错策略预测模块和纠错电压预测模块,纠错策略预测模块和纠错电压预测模块根据输入的影响因子预测读数据的推荐纠错策略和推荐纠错电压,NAND根据推荐纠错策略和推荐纠错电压重新读取数据。
2.根据权利要求1所述的固态硬盘降低读响应延迟的方法,其特征在于所述纠错策略预测模块通过SVM分类算法预测推荐纠错策略,所述SVM为支持向量机。
3.根据权利要求2所述的固态硬盘降低读响应延迟的方法,其特征在于纠错电压预测模块采用回归预测算法。
4.根据权利要求3所述的固态硬盘降低读响应延迟的方法,其特征在于回归预测算法为OLS算法。
5.根据权利要求1至4任意一项所述的固态硬盘降低读响应延迟的方法,其特征在于所述的影响因子包括:擦写次数、数据保持时间、物理块完成编程后到下一次擦除前读取次数和Block内页WordLine编号。
6.一种固态硬盘,其特征在于采用了权利要求1至5任意一项所述的固态硬盘降低读响应延迟的方法进行数据读取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710357269.9A CN107291382B (zh) | 2017-05-19 | 2017-05-19 | 一种固态硬盘降低读响应延迟的方法及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710357269.9A CN107291382B (zh) | 2017-05-19 | 2017-05-19 | 一种固态硬盘降低读响应延迟的方法及固态硬盘 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107291382A CN107291382A (zh) | 2017-10-24 |
CN107291382B true CN107291382B (zh) | 2020-04-28 |
Family
ID=60094422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710357269.9A Active CN107291382B (zh) | 2017-05-19 | 2017-05-19 | 一种固态硬盘降低读响应延迟的方法及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107291382B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11080621B2 (en) | 2018-06-18 | 2021-08-03 | Western Digital Technologies, Inc. | Machine learning-based read channel data detection |
CN112424742B (zh) * | 2018-07-13 | 2022-06-14 | 华为技术有限公司 | 一种ssd数据读取方法和装置 |
CN109741783A (zh) * | 2018-12-19 | 2019-05-10 | 山东华芯半导体有限公司 | 一种选择最佳NAND Flash读操作电平的方法 |
CN111863079A (zh) * | 2020-07-08 | 2020-10-30 | 上海威固信息技术股份有限公司 | 一种用于三维闪存的原始误码率降低方法 |
CN111880736B (zh) | 2020-07-28 | 2022-08-16 | 苏州浪潮智能科技有限公司 | 一种固态硬盘访问方法、装置、设备及介质 |
US11811425B2 (en) | 2021-05-18 | 2023-11-07 | Western Digital Technologies, Inc. | Neural network soft information detector in a read channel |
CN113470727A (zh) * | 2021-06-04 | 2021-10-01 | 山东英信计算机技术有限公司 | 固态硬盘不可纠错数据的处理方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831026A (zh) * | 2012-08-13 | 2012-12-19 | 忆正科技(武汉)有限公司 | 多层单元闪存及其软信息位读取电压阈值动态调整方法 |
CN103365738A (zh) * | 2013-07-29 | 2013-10-23 | 忆正科技(武汉)有限公司 | 多层次闪存器件的轻量级软信息获取方法 |
CN105159840A (zh) * | 2015-10-16 | 2015-12-16 | 华中科技大学 | 一种闪存器件的软信息提取方法 |
CN106502583A (zh) * | 2016-10-12 | 2017-03-15 | 记忆科技(深圳)有限公司 | 一种降低固态硬盘响应延迟的方法 |
-
2017
- 2017-05-19 CN CN201710357269.9A patent/CN107291382B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831026A (zh) * | 2012-08-13 | 2012-12-19 | 忆正科技(武汉)有限公司 | 多层单元闪存及其软信息位读取电压阈值动态调整方法 |
CN103365738A (zh) * | 2013-07-29 | 2013-10-23 | 忆正科技(武汉)有限公司 | 多层次闪存器件的轻量级软信息获取方法 |
CN105159840A (zh) * | 2015-10-16 | 2015-12-16 | 华中科技大学 | 一种闪存器件的软信息提取方法 |
CN106502583A (zh) * | 2016-10-12 | 2017-03-15 | 记忆科技(深圳)有限公司 | 一种降低固态硬盘响应延迟的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107291382A (zh) | 2017-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291382B (zh) | 一种固态硬盘降低读响应延迟的方法及固态硬盘 | |
US10580514B2 (en) | Periodically updating a log likelihood ratio (LLR) table in a flash memory controller | |
US9922706B2 (en) | Solid state storage device using state prediction method | |
CN108206041B (zh) | 存储器读取操作方法、存储器控制器及存储系统操作方法 | |
US8861272B1 (en) | System and method for data recovery in a solid state storage device using optimal reference voltage values of a related storage element | |
US8059463B2 (en) | Method for generating soft bits in flash memories | |
US10347353B2 (en) | Memory system | |
US20080239823A1 (en) | Nonvolatile semiconductor memory and method for controlling the same | |
US9786379B2 (en) | Data storage device and data maintenance method | |
US20120144267A1 (en) | Data reading method, memory storage apparatus, and controller thereof | |
US20220229564A1 (en) | Selective accelerated sampling of failure-sensitive memory pages | |
US10489246B2 (en) | Data storage device and data maintenance method thereof | |
US10629289B2 (en) | Solid state storage device and control method with prediction model to increase read speed | |
US10606518B2 (en) | Solid state storage device and read retry method thereof | |
US20160283319A1 (en) | Data storage device and encoding method thereof | |
US20200135279A1 (en) | Implementing sticky read using error control success rate associated with a memory sub-system | |
US10586601B2 (en) | Semiconductor memory device and read control method thereof | |
CN112740331A (zh) | 基于存储器组件特性组件刷新存储在存储器组件处的数据 | |
US9490024B1 (en) | Solid state storage device and reading control method thereof | |
KR20130110970A (ko) | 리드 전압 생성회로, 이를 포함하는 메모리 및 메모리 시스템 | |
US10803930B2 (en) | Memory system including a memory controller and error correction circuit for reading multi-bit data and for detecting and correcting read data errors | |
CN105278866B (zh) | 固态储存装置及其错误更正控制方法 | |
US11482287B2 (en) | Memory system and method of controlling memory system | |
KR20140104829A (ko) | 멀티 레벨 셀 비휘발성 메모리 시스템 | |
CN107015915A (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 |