CN111522687B - 数据处理方法、装置、固态硬盘及计算机可读存储介质 - Google Patents
数据处理方法、装置、固态硬盘及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111522687B CN111522687B CN202010300573.1A CN202010300573A CN111522687B CN 111522687 B CN111522687 B CN 111522687B CN 202010300573 A CN202010300573 A CN 202010300573A CN 111522687 B CN111522687 B CN 111522687B
- Authority
- CN
- China
- Prior art keywords
- data
- decoded
- sample
- module
- group
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供一种数据处理方法、装置、固态硬盘及计算机可读存储介质,该方法包括:获取N个待解码数据和N个待解码数据对应的电压分布曲线的分布参数范围;每个待解码数据对应的数值为第一数值或第二数值;每个待解码数据对应一个实际电压值;根据第一数值的个数、第二数值的个数和实际电压值确定M个读取电压;M个读取电压为M次样本采集对应的读取电压;根据M个读取电压对N个待解码数据进行M次样本采集,每次样本采集获得N个样本数据。本发明能根据分布参数和参考电压构造大量的样本数据,有效避免通过构造样本数据而造成时间成本大的问题,能够提供充足的样本数据保证充分验证和测试LDPC模块解码功能。
Description
技术领域
本发明涉及固态硬盘领域,具体而言,涉及一种数据处理方法、装置、固态硬盘及计算机可读存储介质。
背景技术
在固态硬盘中,通常会使用Nandflash进行数据存储,但是存储在Nandflash上面的数据因为多种原因会出现出错的情况。因此为保证存储在Nandflash上面数据的可靠性,通常会增加一些冗余数据以便在读取的时候可以对发生错误的数据进行纠错。
目前,低密度奇偶校验码LDPC(LowDensityParityCode,简称LDPC),作为一种新型的纠错码,极大程度的较强的纠错能力,然而,在固态硬盘中验证解码LDPC模块的解码功能的效率时,通常采用的方式是通过高温烘烤,读干扰等使Nandflash中的数据发生比较多的错误,构造发生较多数据错误的样本数据,然后再将构造的样本数据进去读取,输入LDPC模块验证是否能解码纠正错误,以此来进行验证。
但是,上述方法通常比较麻烦,时间和人力成本大,而且数据样本发生错误的情况不是很好进行控制,对LDPC模块解码功能的验证和测试通常不是很充分。
发明内容
有鉴于此,本发明提供一种数据处理方法、装置、固态硬盘及计算机可读存储介质,用于解决构造发生较多数据错误的样本数据的时间和人力成本大的问题。
第一方面,本发明实施例提供的一种数据处理方法,应用于SimNand模块,所述方法包括:
获取N个待解码数据和所述N个待解码数据对应的电压分布曲线的分布参数范围;每个所述待解码数据对应的数值为第一数值或第二数值;每个所述待解码数据对应一个实际电压值;所述分布参数范围用于重新拟合所述N个待解码数据对应的电压分布曲线;
根据所述第一数值的个数、所述第二数值的个数和实际电压值确定M个读取电压;所述M个读取电压为进行M次样本采集对应的读取电压;
根据所述M个读取电压对所述N个待解码数据进行M次样本采集,每次样本采集获得N个样本数据。
可选地,所述SimNand模块与低密度奇偶校验码LDPC模块进行数据通信;所述方法还包括:将M次样本采集获得的样本数据发送给所述LDPC模块,以使所述LDPC模块对所述M次样本采集获得的样本数据进行软解码。
可选地,所述根据所述第一数值和所述第二数值对应的待解码数据的个数和实际电压值确定所述第一数值和所述第二数值对应的待解码数据的分布参数范围和M个读取电压的步骤,包括:将所述N个待解码数据划分为第一组待解码数据和第二组待解码数据;所述第一组待解码数据对应的数值为第一数值;所述第二组待解码数据对应的数值为第二数值;根据所述第一组待解码数据和所述第二组待解码数据对应的数据个数和实际电压值确定所述第一组待解码数据的分布区域和所述第二组待解码数据的分布区域;在所述第一组待解码数据和所述第二组待解码数据的分布重叠区域确定所述M个读取电压。
可选地,所述方法还包括:当第m次采样时对应的读取电压大于所述待解码数据对应的实际电压值时,则确定采集的样本数据的样本数值为所述第一数值;当第m次采样时对应的读取电压小于所述待解码数据对应的实际电压值时,确定所述样本数据对应的样本值为所述第二数值。
可选地,所述方法还包括:更新所述N个待解码数据对应的电压分布曲线的分布参数范围以重新拟合所述N个待解码数据对应的电压分布曲线。
第二方面,本发明实施例提供一种数据处理装置,设置于SimNand模块中,包括:获取模块、确定模块和采集模块;所述获取模块,用于获取N个待解码数据和所述N个待解码数据对应的电压分布曲线的分布参数范围;每个所述待解码数据对应的数值为第一数值或第二数值;每个所述待解码数据对应一个实际电压值;所述分布参数范围用于重新拟合所述N个待解码数据对应的电压分布曲线;所述确定模块,用于根据所述第一数值的个数、所述第二数值的个数和实际电压值确定M个读取电压;所述M个读取电压为进行M次样本采集对应的读取电压;所述采集模块,用于根据所述M个读取电压对所述N个待解码数据进行M次样本采集,每次样本采集获得N个样本数据。
可选地,所述SimNand模块与低密度奇偶校验码LDPC模块进行数据通信;所述装置还包括:发送模块;所述发送模块,用于将M次样本采集获得的样本数据发送给所述LDPC模块,以使所述LDPC模块对所述M次样本采集获得的样本数据进行软解码。
可选地,该数据处理装置还包括:划分模块,所述划分模块,用于将所述N个待解码数据划分为第一组待解码数据和第二组待解码数据;所述第一组待解码数据对应的数值为第一数值;所述第二组待解码数据对应的数值为第二数值;所述确定模块,具体用于根据所述第一组待解码数据和所述第二组待解码数据对应的数据个数和实际电压值确定所述第一组待解码数据的分布区域和所述第二组待解码数据的分布区域;在所述第一组待解码数据和所述第二组待解码数据的分布重叠区域确定所述M个读取电压。
第三方面,本发明实施例提供一种固态硬盘,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如第一方面所述的数据处理方法。
第四方面,本发明实施例一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的数据处理方法。
与现有技术相比,本发明实施例提供的一种数据处理方法、装置、固态硬盘及计算机可读存储介质,该方法应用于SimNand模块,包括:获取N个待解码数据和N个待解码数据对应的电压分布曲线的分布参数范围;每个待解码数据对应的数值为第一数值或第二数值;每个待解码数据对应一个实际电压值;分布参数范围用于重新拟合N个待解码数据对应的电压分布曲线,根据第一数值的个数、第二数值的个数和实际电压值确定M个读取电压;M个读取电压为进行M次样本采集对应的读取电压;根据M个读取电压对N个待解码数据进行M次样本采集,每次样本采集获得N个样本数据。本方法在验证LDPC软解码的效率之前,先获得待解码数据的分布参数范围和用于样本数据采集的参考电压,利用样本数据来验证LDPC软解码的效率,进一步地,当需要更多的样本数据时,可以直接通过调整待解码数据的分布参数获得不同分布情况的数据,然后通过调整参考电压再次进行样本数据采集,获取样本数据的整个过程只需要进行参数调整,在有效避免通过构造发生较多数据错误获得样本数据而造成的麻烦的同时,能够提供充足的样本数据,保证充分验证和测试LDPC模块解码功能。
本发明实施例的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本发明实施例提供的一种验证LDPC模块解码效率的系统架构图;
图2为本发明实施例提供的一种数据处理方法的示意性流程图;
图3为本发明实施例提供的另一种数据处理方法的示意性流程图;
图4为本发明实施例提供的一种利用正态分布模拟Nandflash数据的电压分布曲线示意图;
图5为本发明实施例提供的一种获取样本数据的示意图;
图6为本发明是实施例提供的另一种数据处理方法的示意性流程图;
图7为本发明实施例提供的一种数据处理装置的功能模块图;
图8为本发明实施例提供的另一种数据处理装置的功能模块图;
图9为本发明实施例提供的另一种数据处理装置的功能模块图;
图10为本发明实施例提供的固态硬盘结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
需要说明的是,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在固态硬盘中,通常会使用Nandflash进行数据存储,因此为保证存储在Nandflash上面数据的可靠性,通常会增加一些冗余数据以便在读取的时候可以对发生错误的数据进行纠错,在固态硬盘上比较主流的纠错方法包括汉明码算法和LDPC算法。在使用LDPC算法进行纠错时,除了可以直接读取数据进行硬解码(harddecode))之外,还可以对同一个页面(page)通过多个参考电压进行多次样本采集,然后将样本采集的样本数据发送给LDPC模块进行软解码(softdecode),其中,硬解码指得是对待解码数据只进行一次读取之后直接发送给处理器进行解码,软解码指得是对待解码数据进行多次读取,得到多笔数据的可靠性信息,然后根据可靠性信息进行解码。
为了验证LDPC模块软解码功能的质量效率,通常采用的方式是通过高温烘烤,读干扰等使Nandflash中的数据发生比较多的错误,构造发生较多数据错误的样本数据,然后再将构造的样本数据进去读取,输入LDPC模块验证是否能解码纠正错误,以此来进行验证LDPC模块的软解码功能的质量。
但是,上述方法通常比较麻烦,而且数据样本发生错误的情况不是很好进行控制,因此对LDPC模块解码功能的验证和测试通常不是很充分。
为了解决上述问题,首先,请参见图1,图1为本发明实施例提供的一种验证LDPC模块解码效率的系统架构图,该系统包括处理器CPU10、LDPC模块11、SimNand模块12和数据存储模块13。
处理器CPU10用于与LDPC模块11、SimNand模块12和数据存储模块13之间进行数据传输,以完成Nandflash的读、写、擦错误异常处理。
LDPC模块11是固态硬盘中的硬件模块,用于Nandflash数据错误纠错模块,具体而言,LDPC模块11用于在向Nandflash写数据时负责对写入数据进行编码、加入校验数据;还用于在从Nandflash读数据时负责对读数据进行解码、去除校验数据并纠正读数据中的错误。LDPC模块11能够提供对数据进行软解码功能,通过软解码的方法为LDPC模块提供数据的数据可信度LLR(log-likelihoodratio,简称LLR)然后对不同可信度的数据进行编码进行纠错,软解码方法可以较大提高LDPC模块11的纠错能力。
为了能够验证LDPC模块11的软解码效率,通常需要为LDPC模块11提供足够充分的数据样本,构造发生比较多数据错误的场景,为了能够提供更多的样本数据,SimNand模块12是本发明实施例提供的用于模拟Nandflash模块,提供验证LDPC软解码需要的数据,SimNand模块12可以硬件实现或者软件模拟。
本系统用于解决技术问题的核心思路是:通过Nandflash模块读取一些待解码数据并得到待解码数据对应的电压分布曲线的分布参数取值范围,SimNand模块获得待解码数据和分布参数范围之后,通过多次样本采集获得样本数据发送给LDPC模块解码,并通过更新分布参数获取更多的样本数据,为LDPC模块提供很大的样本量,并且能很好的体现Nandflash实际的场景,因此能对LDPC的软解码功能进行充分的验证。
为了能够提供验证LDPC模块软解码效率的数据样本,构造发生较多数据错误的样本数据,本发明实施例提供一种数据处理方法,请参见图2,图2为本发明实施例提供的一种数据处理方法的示意性流程图,其中,该数据处理方法包括以下几个步骤:
步骤201、获取N个待解码数据和N个待解码数据对应的电压分布曲线的分布参数范围。
在本申请实施例中,每个待解码数据对应的数值为第一数值或第二数值;每个待解码数据对应一个实际电压值。第一数值和第二数值可以分别为1和0,例如,Nandflash中的SLC(Single-LevelCell)类型存储单元,单个存储单元中只存储一位数据,表示1或0。
可以理解的是,对于Nandflash而言,数据满足一定的电压分布,以SLC(Single-LevelCell)类型的存储单元为例,SLC存储单元内的存储的数据主要对应两个数值为1和0,数值1和数值0的电压分布区域不同,每一个区域不同电压分布的数量满足某一正态分布,通过对获取到SLC存储单元内的存储的数据一些数据得到数据的电压分布曲线,然后进行拟合便可以得到正态分布曲线相关参数的值,正态分布对于曲线满足公式:
其中,μ为电压分布曲线的中心位置,σ曲线的电压分布曲线均方差。
在本发明实施例中,可以通过仿真试验的方式得到在得到分布参数μ和分布参数σ的取值范围,然后根据数据分布区域的重叠部分确定多个参考电压,并以此作为分布参数μ和分布参数σ变量得到不同的分布曲线,并根据多个读取电压获得用于软解码的数据。
步骤202、根据第一数值的个数、第二数值的个数和实际电压值确定M个读取电压。
在本申请实施例中,M个读取电压是用来进行样本采集时对应的阈值电压,每次样本采集获得N个样本数据,在读取待解码数据时,如果读取电压值大于数据的实际电压值,则读取的样本数据值为1,反之,样本数据值就表示为0,其中,读取电压的个数可以根据实际的场景进行确定,此处对读取电压的个数不作限定。
步骤203、根据M个读取电压对N个待解码数据进行M次样本采集,每次样本采集获得N个样本数据。
本发明实施例提供的一种数据处理方法、应用于SimNand模块,包括:获取N个待解码数据和N个待解码数据对应的电压分布曲线的分布参数范围;每个待解码数据对应的数值为第一数值或第二数值;每个待解码数据对应一个实际电压值;分布参数范围用于重新拟合N个待解码数据对应的电压分布曲线,根据第一数值的个数、第二数值的个数和实际电压值确定M个读取电压;M个读取电压为进行M次样本采集对应的读取电压;根据M个读取电压对N个待解码数据进行M次样本采集,每次样本采集获得N个样本数据。本方法在验证LDPC软解码的效率之前,先获得待解码数据的分布参数范围和用于样本数据采集的读取电压,利用读取电压获得样本数据发送给LDPC模块进行软解码,验证LDPC软解码功能的质量,进一步地,分布参数范围可以用于重新拟合N个待解码数据对应的电压分布曲线,因此当需要更多的样本数据时,可以直接通过调整待解码数据的分布参数获得不同分布情况的数据,然后再次进行样本数据采集,获取样本数据,整个过程只需要进行分布参数调整,有效节省了通过构造发生较多数据错误获得样本数据的时间和人力,同时能够提供充足的样本数据,保证充分验证和测试LDPC模块解码功能。
可选地,从图1可以看出,SimNand模块可以与低密度奇偶校验码LDPC模块进行数据通信,因此,通过SimNand模块获得符合正态分布的样本数据之后,可以将获得的样本数据发送给LDPC模块进行软解码功能的验证,因此,本发明提供一种可能的实现方式,包括:将M次样本采集获得的样本数据发送给LDPC模块,以使LDPC模块对M次样本采集获得的样本数据进行软解码。
可选地,为了给LDPC模块提供样本数据,SimNand模块可以先根据确定的M个读取电压对待解码数据进行样本采集而获得样本数据,然后将样本数据发送给LDPC模块进行软解码,因此,为了详细描述获得M个读取电压的过程,下面给出一种可能的实现方式,参见图3,图3为本发明实施例提供另一种数据处理方法的示意性流程图,其中,步骤202还包括以下子步骤:
子步骤202-1、将N个待解码数据划分为第一组待解码数据和第二组待解码数据;第一组待解码数据对应的数值为第一数值;第二组待解码数据对应的数值为第二数值。
在本申请实施例中,用户可以将待解码数据增加扰动之后,通过图1中的LDPC模块11获得加密过后增加了校验码的数据,然后将增加了校验码的数据发送给SimNand模块12后得到待解码数据。
可以理解的是,由于Nandflash中存储的数据中,数值不同的数据的电压分布区域不同,因此可以先将根据存储的数值将Nandflash中存储的数据进行分组,例如,可以按照每一个bit存储的数值是0还是1分成2组:C0,C1;其中C0中的数据对应的数值可以为0,C1中的数据对应的数值可以为1。
子步骤202-2、根据第一组待解码数据和第二组待解码数据对应的数据个数和实际电压值确定第一组待解码数据和第二组待解码数据分布区域。
在本申请实施例中,当Nandflash中存储的数据根据数值不同进行分组之后可以根据分组之后数据的分布参数获得分布区域,例如,将待解码数据分成C0和C1,通过仿真的方式可以获知C0和C1中数据分区曲电压分布可以如图4所示,图4为本发明实施例提供的一种利用正态分布模拟Nandflash数据的电压分布曲线,其中,C1组数据的数值为1,数据满足分布参数为(μ0,σ0)的正态分布、C0组数据的数值为0,数据满足分布参数为(μ1,σ1)的正态分布,通过仿真的方式可以获得分布参数μ0,σ0、μ1,σ1的取值范围,根据C1和C0的分布参数范围可以获得数值为1和数值为0的分布区域。
子步骤202-3、在第一组待解码数据和第二组待解码数据的分布重叠区域确定M个读取电压。
在本发明实施例中,可以在第一组待解码数据和第二组待解码数据的电压分布曲线的重叠区域来确定M个读取电压,例如,假设M=3,则确定3个读取电压的方式可以是:先将重叠区域的中心位置对应的电压作为第一个读取电压,然后可以根据预设的偏移间隔在第一个读取电压的左右区域进行偏移,确定第二个读取电压和第三个读取电压,例如,继续参见图4、图4中的x0、x1、x2为确定的3个读取电压,假设在第一组数据和第二组数据对应的分布曲线的重叠区域的中心位置为x0,对应的电压值为1.5v,预设的偏移间隔可以是0.5v,则将x0左偏0.5v获得可以获得一个读取电压x1,即1v,将x0左偏0.5v获得可以获得另一个读取电压x2,即2v。其中,参考电压的个数和预设的偏移间隔可以根据实际的场景进行确定,此处对参考电压的个数不作限定。
通过确定的多个读取电压后便可以对待解码数据进行多次采样,从而获得多笔样本数据,该过程不需要通过将待解码数据构造数据错误,减少了现有技术中获得样本数据耗时费力的缺点,同时能够提供充足的样本数据,保证充分验证和测试LDPC模块解码功能。
可选地,获得M个读取电压之后,可以通过M个读取电压对待解码数据进行M次样本采集,从而可以获得M笔样本数据供LDPC模块进行软解码,因此,下面给出一种可能的实现方式,详细描述M个读取电压对待解码数据进行M次样本采集获得样本数据的过程,其中包括以下步骤:
第一步、当第m次采样时对应的读取电压大于待解码数据对应的实际电压值时,则确定采集的样本数据的样本数值为第一数值。
第二步、当第m次采样时对应的读取电压小于待解码数据对应的实际电压值时,确定样本数据对应的样本值为第二数值。
为了方便理解上述过程,请参见图5,图5为本发明实施例提供的一种获取样本数据的示意图,图5给出了Nandflash某一个页面(page)的数据电压分布图,其中横坐标为数据所在位置的电压,纵坐标为数据的个数,V0,V1,V2为3个读取时用的参考电压,读取时使用的参考电压高于所在位置的电压读出来,则读取的数据的数值为1,否则为0。
从图5中可以看出,V0,V1,V2将横坐标划分为4个区域,通过参考电压V0读取时,电压值小于V0的区域所采集的样本数据数值均为1,则针对参考电压V0,在4个区域内读取的样本数据的数值为1,1,0,0,同理,针对参考电压V1和参考电压V2,在4个区域内读取的样本数据的数值分别为1,0,0,0和1,1,1,0,在同一个电压位置处,同理可以读取任意电压位置处的数据对应的样本数值。
通过上述描述可以看出,在同一电压位置处,通过参考电压V0,V1,V2采集的样本数据的数值可能为1或者为0,例如参考电压V0,V1之间的区域,通过三个参考电压V0,V1,V2对同一电压位置的数据进行采样获得数值为1,0,1,简单理解,V1左边区域和V2右边区域,每次进行采样时数据的数值读恒为1或者0,则可以认为V1左边区域和V2右边区域的数据可信度比较高;V1V0和V0V2之间区域的数据会出现样本数值由1变为0或者0变为1的情况,则认为这些位置的数据可信度稍低,因此根据不同参考电压获得的样本数据能够提供的数据可信度不同,LDPC模块可以根据所有数据的可信度信息来进行解码和纠错。
可选地,在确定待解码数据的分布参数范围和参考电压之后,为了能够提供更加充分的样本数据,在图1的基础上给出一种可能的实现方式,参见图6,图6为本发明是实施例提供的另一种数据处理方法的示意性流程图,其中该方法还包括:
步骤204、根据分布参数范围更新N个待解码数据对应的电压分布曲线的分布参数以重新拟合N个待解码数据对应的电压分布曲线。
在本申请实施例中,当需要更多的样本数据时,可以直接通过调整待解码数据的分布参数获得不同分布情况的数据,然后通过调整参考电压再次进行样本数据采集,获取样本数据的整个过程只需要进行参数调整,在有效避免通过构造发生较多数据错误获得样本数据而造成的麻烦的同时,能够提供充足的样本数据。
为了执行上述实施例及各个可能的方式中的相应步骤,以实现相应的技术效果,下面给出一种实数据处理装置的实现方式,参见图7,图7为本发明实施例提供的一种数据处理装置的功能模块图。需要说明的是,本发明实施例所提供的一种数据处理装置,可以设置在SimNand模块中,此时SimNand模块可以是一个硬件模块,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该数据处理装置40包括:获取模块401、确定模块402和采集模块403。
获取模块401,用于获取N个待解码数据和N个待解码数据对应的电压分布曲线的分布参数范围。
在本申请实施例中,每个待解码数据对应的数值为第一数值或第二数值;每个待解码数据对应一个实际电压值;分布参数范围用于重新拟合N个待解码数据对应的电压分布曲线。
确定模块402,用于根据第一数值的个数、第二数值的个数和实际电压值确定M个读取电压。
在本申请实施例中,M个读取电压为进行M次样本采集对应的读取电压。
采集模块403,用于根据M个读取电压对N个待解码数据进行M次样本采集,每次样本采集获得N个样本数据。
可以理解的是,获取模块401、确定模块402和采集模块403可以用来执行步骤201~步骤203以实现相应的技术效果。
可选地,为了实现获得待解码数据的M个读取电压的功能,在一种可能的实现方式下,参见图8,图8为本发明实施例提供的另一种数据处理装置的功能模块图,数据处理装置40还包括:划分模块404。
划分模块404,用于将N个待解码数据划分为第一组待解码数据和第二组待解码数据。
在本发明实施例中,第一组待解码数据对应的数值为第一数值;第二组待解码数据对应的数值为第二数值。
确定模块402,具体用于根据第一组待解码数据和第二组待解码数据对应的数据个数和实际电压值确定第一组待解码数据的分布区域和第二组待解码数据分布区域;在第一组待解码数据和第二组待解码数据的分布重叠区域确定M个读取电压。
可以理解的是,划分模块404和确定模块402可以协同执行子步骤202-1和子步骤202-3以实现相同的技术效果。
可选地,为了能够实现获得用于验证LDPC模块的样本数据的功能,确定模块402还用于当第m次采样时对应的读取电压大于待解码数据对应的实际电压值时,确定采集的样本数据的样本数值为第一数值;当第m次采样时对应的读取电压小于待解码数据对应的实际电压值时,确定样本数据对应的样本值为第二数值。
可选地,为了实现获得更多样本数据的功能,在一种可能的实现方式下,参见图9,图9为本发明实施例提供的另一种数据处理装置的功能模块图,数据处理装置40还包括:更新模块405。
更新模块405,用于更新第一组待解码数据和第二组待解码数据对应的分布参数和M个读取电压以重新获取M次样本采集的样本数据。
可以理解的是,更新模块405可以用来执行步骤204以实现相应的技术效果。
本发明实施例还提供一种固态硬盘,参见图10,图10为本发明实施例提供的一种固态硬盘的结构图,该固态硬盘50包括通信接口501、处理器502和存储器503,处理器502可以是主控芯片的处理器,其中,图1中的系统可以以集成的形式设置在该主控芯片中,用于执行数据处理方法,存储器503存储有能够被处理器执行的机器可执行指令,可执行指令以实现上述实施例中的数据处理方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例揭示的数据处理方法。该存储介质可以是,但不限于,U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (6)
1.一种数据处理方法,其特征在于,应用于SimNand模块,所述SimNand模块与低密度奇偶校验码LDPC模块进行数据通信;所述方法包括:
获取N个待解码数据和所述N个待解码数据对应的电压分布曲线的分布参数范围;每个所述待解码数据对应的数值为第一数值或第二数值;每个所述待解码数据对应一个实际电压值;所述分布参数范围用于重新拟合所述N个待解码数据对应的电压分布曲线;
根据所述第一数值的个数、所述第二数值的个数和实际电压值确定M个读取电压;所述M个读取电压为进行M次样本采集对应的读取电压,包括:将所述N个待解码数据划分为第一组待解码数据和第二组待解码数据;所述第一组待解码数据对应的数值为第一数值;所述第二组待解码数据对应的数值为第二数值;根据所述第一组待解码数据和所述第二组待解码数据对应的数据个数和实际电压值确定所述第一组待解码数据的分布区域和所述第二组待解码数据的分布区域;在所述第一组待解码数据和所述第二组待解码数据的分布重叠区域确定所述M个读取电压;
根据所述M个读取电压对所述N个待解码数据进行M次样本采集,每次样本采集获得N个样本数据;
将M次样本采集获得的样本数据发送给所述LDPC模块,以使所述LDPC模块对所述M次样本采集获得的样本数据进行软解码。
2.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
当第m次采样时对应的读取电压大于所述待解码数据对应的实际电压值时,则确定采集的样本数据的样本数值为所述第一数值;
当第m次采样时对应的读取电压小于所述待解码数据对应的实际电压值时,确定所述样本数据对应的样本值为所述第二数值。
3.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
根据所述分布参数范围更新所述N个待解码数据对应的电压分布曲线的分布参数以重新拟合所述N个待解码数据对应的电压分布曲线。
4.一种数据处理装置,其特征在于,设置于SimNand模块中,所述SimNand模块与低密度奇偶校验码LDPC模块进行数据通信;包括:获取模块、确定模块和采集模块;
所述获取模块,用于获取N个待解码数据和所述N个待解码数据对应的电压分布曲线的分布参数范围;每个所述待解码数据对应的数值为第一数值或第二数值;每个所述待解码数据对应一个实际电压值;所述分布参数范围用于重新拟合所述N个待解码数据对应的电压分布曲线;
所述确定模块,用于根据所述第一数值的个数、所述第二数值的个数和实际电压值确定M个读取电压;所述M个读取电压为进行M次样本采集对应的读取电压;
所述采集模块,用于根据所述M个读取电压对所述N个待解码数据进行M次样本采集,每次样本采集获得N个样本数据;
发送模块,用于将M次样本采集获得的样本数据发送给所述LDPC模块,以使所述LDPC模块对所述M次样本采集获得的样本数据进行软解码;
所述数据处理装置还包括:划分模块;所述划分模块,用于将所述N个待解码数据划分为第一组待解码数据和第二组待解码数据;所述第一组待解码数据对应的数值为第一数值;所述第二组待解码数据对应的数值为第二数值;
所述确定模块,具体用于根据所述第一组待解码数据和所述第二组待解码数据对应的数据个数和实际电压值确定所述第一组待解码数据的分布区域和所述第二组待解码数据的分布区域;在所述第一组待解码数据和所述第二组待解码数据的分布重叠区域确定所述M个读取电压。
5.一种固态硬盘,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-3中任一项所述的数据处理方法。
6.一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-3中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010300573.1A CN111522687B (zh) | 2020-04-16 | 2020-04-16 | 数据处理方法、装置、固态硬盘及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010300573.1A CN111522687B (zh) | 2020-04-16 | 2020-04-16 | 数据处理方法、装置、固态硬盘及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111522687A CN111522687A (zh) | 2020-08-11 |
CN111522687B true CN111522687B (zh) | 2022-10-14 |
Family
ID=71901738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010300573.1A Active CN111522687B (zh) | 2020-04-16 | 2020-04-16 | 数据处理方法、装置、固态硬盘及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522687B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733209B (zh) * | 2021-01-19 | 2023-08-08 | 贵州黔龙图视科技有限公司 | 一种低成本硬件加密方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101715595A (zh) * | 2007-03-12 | 2010-05-26 | 爱诺彼得技术有限责任公司 | 存储器单元读取阈的自适应估计 |
CN106169308A (zh) * | 2015-03-16 | 2016-11-30 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN108399109A (zh) * | 2017-02-07 | 2018-08-14 | 西部数据技术公司 | 软解码调度 |
CN108647109A (zh) * | 2018-03-27 | 2018-10-12 | 深圳忆联信息系统有限公司 | 一种固态硬盘提升ldpc纠错能力的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8665650B2 (en) * | 2011-02-18 | 2014-03-04 | Marvell World Trade Ltd. | Reliability metrics management for soft decoding |
US9235467B2 (en) * | 2013-03-15 | 2016-01-12 | Pmc-Sierra Us, Inc. | System and method with reference voltage partitioning for low density parity check decoding |
-
2020
- 2020-04-16 CN CN202010300573.1A patent/CN111522687B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101715595A (zh) * | 2007-03-12 | 2010-05-26 | 爱诺彼得技术有限责任公司 | 存储器单元读取阈的自适应估计 |
CN106169308A (zh) * | 2015-03-16 | 2016-11-30 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN108399109A (zh) * | 2017-02-07 | 2018-08-14 | 西部数据技术公司 | 软解码调度 |
CN108647109A (zh) * | 2018-03-27 | 2018-10-12 | 深圳忆联信息系统有限公司 | 一种固态硬盘提升ldpc纠错能力的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111522687A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210319837A1 (en) | Read Level Tracking and Optimization | |
CN101599303B (zh) | 闪存的统计跟踪 | |
US20100146191A1 (en) | System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices | |
CN102098133A (zh) | 用于量化信道的软解码 | |
CN111309544B (zh) | 一种读参考电压受多维因子影响的预测建模及施加方法 | |
CN102279776B (zh) | 一种错误检查与纠正能力的测试方法及装置 | |
CN106341136A (zh) | Ldpc解码方法及其装置 | |
Lerch et al. | Simulation-based comparison of multivariate ensemble post-processing methods | |
US10642747B1 (en) | Virtual flash system | |
US20160005460A1 (en) | Soft information module | |
CN110689914B (zh) | 一种固态硬盘的读纠错方法、装置、设备及存储介质 | |
CN112232495A (zh) | 预测模型的训练方法、装置、介质和计算设备 | |
CN111522687B (zh) | 数据处理方法、装置、固态硬盘及计算机可读存储介质 | |
CN105468471A (zh) | 固态存储装置及其错误更正方法 | |
Lv et al. | Mgc: Multiple-gray-code for 3d nand flash based high-density ssds | |
CN113627159A (zh) | 纠错模型的训练数据确定方法、装置、介质及产品 | |
CN117130822A (zh) | 一种用于预测nand闪存数据出错的方法及系统 | |
US20230305734A1 (en) | Platform for non-volatile memory storage devices simulation | |
CN111767165B (zh) | 数据处理方法、装置及控制设备 | |
CN109558265B (zh) | 具有特征增强的存储器系统及其操作方法 | |
US20200264974A1 (en) | Decoding of high-density memory cells in a solid-state drive | |
CN114356218A (zh) | Flash存储器的数据纠错方法、设备以及介质 | |
CN110970080B (zh) | 训练人工智能估测存储装置的感测电压的方法 | |
CN203882621U (zh) | 一种存储装置 | |
Qin et al. | CeSR+ assisted LDPC: A holistic strategy to improve MLC NAND flash reliability |
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 |