CN107291382B - 一种固态硬盘降低读响应延迟的方法及固态硬盘 - Google Patents

一种固态硬盘降低读响应延迟的方法及固态硬盘 Download PDF

Info

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
Application number
CN201710357269.9A
Other languages
English (en)
Other versions
CN107291382A (zh
Inventor
王猛
徐伟华
许毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN201710357269.9A priority Critical patent/CN107291382B/zh
Publication of CN107291382A publication Critical patent/CN107291382A/zh
Application granted granted Critical
Publication of CN107291382B publication Critical patent/CN107291382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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)是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。
1.对于给定的M(M>>4)组样本集合
Figure GDA0001404325150000043
Figure GDA0001404325150000044
表示第j个样本的影响因子集合,数学表示为4行1列的向量;c_j表示第j个样本对应的纠错策略,假设本实施例中共有4种策略。
2.根据SVM理论,这M组样本可以映射到一个4维平面中,如图5,而且可以找到超平面1:
Figure GDA0001404325150000045
(
Figure GDA0001404325150000046
Figure GDA0001404325150000047
为4行1列向量,由大写斜体表示,b_1为常量,
Figure GDA0001404325150000048
和b_1能根据现有样本数据和SVM算法确定)。
3.这个超平面1把M组样本分隔成两类,超平面左边的样本数据
Figure GDA0001404325150000049
满足
Figure GDA00014043251500000410
Figure GDA00014043251500000411
对应的纠错策略为1或2;右边的样本数据
Figure GDA00014043251500000412
Figure GDA00014043251500000413
满足
Figure GDA00014043251500000414
Figure GDA00014043251500000415
对应的纠错策略为3或4。
4.在运行时刻,需要选择纠错策略时,输入新的影响因子向量
Figure GDA00014043251500000416
如果
Figure GDA00014043251500000417
那么选择纠错算法1或2,否则选择纠错算法3或4。
5.假设第四步得出选择纠错算法1或2,那么如何进一步确认1还是2呢?显然是再次运用SVM算法,以超平面1左边的样本为新样本,确定超平面2:
Figure GDA00014043251500000418
Figure GDA00014043251500000419
如图6,超平面2分隔了纠错策略1和纠错策略2对应的样本点。再根据
Figure GDA00014043251500000420
的值就可以确定选择哪种纠错策略了,也就实现了推荐纠错策略的预测。
以下举例说明通过回归预测算法预测纠错电压,回归预测算法选择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},满足,
Figure GDA0001404325150000041
最小
借助如上的规则,确定e_i值。
在运行时刻,当读取特定的物理页时,根据e_i和a_i值,可直接计根据如下公式预测出最佳电压设置值
Figure GDA0001404325150000042
从而实现了预测推荐纠错电压。
固态硬盘根据预测的推荐纠错策略和推荐纠错电压进行数据读取,可大大提高一次读取成功的概率,进而实现降低读响应延迟,达到提升固态硬盘性能的效果。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

Claims (6)

1.一种固态硬盘降低读响应延迟的方法,其特征在于当采用第一级错误纠错还无法正确读数据时,将无法正确读数据所在的页或块的影响因子输入纠错策略预测模块和纠错电压预测模块,纠错策略预测模块和纠错电压预测模块根据输入的影响因子预测读数据的推荐纠错策略和推荐纠错电压,NAND根据推荐纠错策略和推荐纠错电压重新读取数据。
2.根据权利要求1所述的固态硬盘降低读响应延迟的方法,其特征在于所述纠错策略预测模块通过SVM分类算法预测推荐纠错策略,所述SVM为支持向量机。
3.根据权利要求2所述的固态硬盘降低读响应延迟的方法,其特征在于纠错电压预测模块采用回归预测算法。
4.根据权利要求3所述的固态硬盘降低读响应延迟的方法,其特征在于回归预测算法为OLS算法。
5.根据权利要求1至4任意一项所述的固态硬盘降低读响应延迟的方法,其特征在于所述的影响因子包括:擦写次数、数据保持时间、物理块完成编程后到下一次擦除前读取次数和Block内页WordLine编号。
6.一种固态硬盘,其特征在于采用了权利要求1至5任意一项所述的固态硬盘降低读响应延迟的方法进行数据读取。
CN201710357269.9A 2017-05-19 2017-05-19 一种固态硬盘降低读响应延迟的方法及固态硬盘 Active CN107291382B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 记忆科技(深圳)有限公司 一种降低固态硬盘响应延迟的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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