CN112634973A - 存储介质的数据重读方法、系统、终端设备以及存储介质 - Google Patents
存储介质的数据重读方法、系统、终端设备以及存储介质 Download PDFInfo
- Publication number
- CN112634973A CN112634973A CN202011610482.4A CN202011610482A CN112634973A CN 112634973 A CN112634973 A CN 112634973A CN 202011610482 A CN202011610482 A CN 202011610482A CN 112634973 A CN112634973 A CN 112634973A
- Authority
- CN
- China
- Prior art keywords
- data
- storage medium
- data page
- bit
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012544 monitoring process Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 13
- 238000012937 correction Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种存储介质的数据重读方法、系统、终端设备及计算机存储介质,通过在监测到从存储介质的数据页读取数据报错时,确定所述数据页的数据页类型;若确定所述数据页类型为单电压阈值类型,则获取所述数据页的比特数据,其中,所述比特数据包括0比特值的数量;根据所述比特数据确定所述数据页的电压阈值的偏移方向,并按照所述偏移方向偏移所述数据页的默认电压阈值以针对所述数据页进行数据重读。相比于现有技术,本发明无需按照偏移值进行左右试探性的电压偏移来重读数据,节省了数据重读时间,提升了数据读取报错情况下的数据重读效率。
Description
技术领域
本发明涉及存储设备技术领域,尤其涉及一种存储介质的数据重读方法、系统、终端设备及计算机存储介质。
背景技术
时下,使用nand flash(一种flash闪存存储器)进行数据存储时,由于 nandflash自身存在的ReadDistrub读干扰、ProgramDistrub写干扰、高低温以及擦写次数等因素的影响,往往容易使nand flash的浮栅结构内的电子数量发生变化。如此,在nand flash进行读取数据时就会因为电子变化造成的错误比特翻转而造成数据读取失败,进而需要触发数据重读以重新进行数据的读取操作。
然而,现有数据重读方式在针对单电压阈值(电压阈值是供nand flash进行数据重读时偏移电压的基础电压阈值)类型的数据页进行数据重读时,通常是按照既定的一系列偏移值先向左偏移该电压阈值重读数据,若不成功则再向右偏移该电压阈值再次重读数据,如此反复尝试直至最终数据重读成功。如此,数据重读不仅需要耗费大量时间进行尝试,且容易存在无法重读成功的现象。
综上,现有使用nand flash针对单电压阈值类型的数据页的数据重读效率低下。
发明内容
本发明的主要目的在于提供一种存储介质的数据重读方法、系统、终端设备及计算机存储介质,旨在解决现有使用nand flash针对单电压阈值类型的数据页的数据重读效率低下的技术问题。
为实现上述目的,本发明提供一种存储介质的数据重读方法,所述存储介质的数据重读方法包括:
在监测到从存储介质的数据页读取数据报错时,确定所述数据页的数据页类型;
若确定所述数据页类型为单电压阈值类型,则获取所述数据页的比特数据,其中,所述比特数据包括0比特值的数量;
根据所述比特数据确定所述数据页的电压阈值的偏移方向,并按照所述偏移方向偏移所述数据页的默认电压阈值以针对所述数据页进行数据重读。
进一步地,所述比特数据还包括所述数据页的最大比特位数,
所述根据所述比特数据确定所述数据页的电压阈值的偏移方向的步骤,包括:
检测所述0比特值的数量是否大于所述最大比特位数的二分之一;
在检测到所述0比特值的数量大于所述最大比特位数的二分之一时,确定所述数据页的电压阈值的偏移方向为向右偏移;
在检测到所述0比特值的数量未大于所述最大比特位数的二分之一时,确定所述数据页的电压阈值的偏移方向为向左偏移。
进一步地,所述比特数据还包括1比特值的数量,
所述根据所述比特数据确定所述数据页的电压阈值的偏移方向的步骤,还包括:
检测所述0比特值的数量是否大于所述1比特值的数量;
在检测到所述0比特值的数量大于所述1比特值的数量时,确定所述数据页的电压阈值的偏移方向为向右偏移;
在检测到所述0比特值的数量未大于所述1比特值的数量时,确定所述数据页的电压阈值的偏移方向为向左偏移。
进一步地,所述存储介质的数据重读方法还包括:
统计存储介质的数据页的比特数据,其中,所述比特数据至少包括0比特值的数量。
进一步地,所述统计存储介质的数据页的比特数据的步骤,包括:
在从所述存储介质的所述数据页读取数据时,实时统计从所述数据页读取数据的0比特值的数量。
进一步地,所述按照所述偏移方向偏移所述数据页的默认电压阈值以针对所述数据页进行数据重读的步骤,包括:
提取预设的重读参数,其中,所述重读参数包括一个或者多个电压偏移值;
按照所述偏移方向和所述电压偏移值偏移所述默认电压阈值进行数据重读直至数据读取成功。
此外,为实现上述目的,本发明还提供一种存储介质的数据重读系统,所述存储介质的数据重读系统包括:
确定模块,用于在监测到从存储介质的数据页读取数据报错时,确定所述数据页的数据页类型;
获取模块,用于若确定所述数据页类型为单电压阈值类型,则获取所述数据页的比特数据,其中,所述比特数据包括0比特值的数量;
重读模块,用于根据所述比特数据确定所述数据页的电压阈值的偏移方向,并按照所述偏移方向偏移所述数据页的默认电压阈值以针对所述数据页进行数据重读。
进一步地,所述存储介质的数据重读系统还包括:
统计模块,用于统计存储介质的数据页的比特数据,其中,所述比特数据至少包括0比特值的数量。
本发明存储介质的数据重读系统的各功能模块在运行时实现如上述的存储介质的数据重读方法的步骤。
此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的存储介质的数据重读程序,所述存储介质的数据重读程序被所述处理器执行时实现如上述中的存储介质的数据重读方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的存储介质的数据重读方法的步骤。
本发明提出的存储介质的数据重读方法、系统,终端设备以及计算机存储介质,通过在监测到从存储介质的数据页读取数据报错时,确定所述数据页的数据页类型;若确定所述数据页类型为单电压阈值类型,则获取所述数据页的比特数据,其中,所述比特数据包括0比特值的数量;根据所述比特数据确定所述数据页的电压阈值的偏移方向,并按照所述偏移方向偏移所述数据页的默认电压阈值以针对所述数据页进行数据重读。
本发明通过终端设备在监测到主控从存储介质的某数据页读取数据出现报错时,先确定该数据页的数据页类型,然后,在确定到数据页类型为仅含有一个电压阈值的单电压阈值类型时,即获取包括有该数据页中0比特值的数量的比特数据,最后,基于该比特数据来确定当前触发数据重读针对该数据页进行数据重读时,应当偏移该数据页电压阈值的偏移方向,从而直接按照该偏移方向偏移该数据页的电压阈值进行数据重读操作。
本发明在从存储介质读取数据出现报错时,针对单电压阈值类型的数据页,通过获取包括有该数据页中0比特值的数量的比特数据,并根据该比特数据确定该数据页电压阈值的偏移方向,从而可以直接根据确定的该偏移方向偏移该电压阈值进行数据重读。相比于现有技术,本发明无需按照偏移值进行左右试探性的电压偏移来重读数据,节省了数据重读时间,提升了数据读取报错情况下的数据重读效率。
附图说明
图1是本发明实施例方案涉及终端设备的硬件运行的结构示意图;
图2是本发明一种存储介质的数据重读方法一实施例的流程示意图;
图3是本发明一种存储介质的数据重读系统的功能模块示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及终端设备的硬件运行环境的结构示意图。
需要说明的是,图1即可为终端设备的硬件运行环境的结构示意图。本发明实施例终端设备可以是使用nand flash进行数据存储的设备,数据存储控制终端,PC,便携计算机,车载终端等终端设备。
如图1所示,该终端设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI 接口)。存储器1005可以是非易失性存储器(如,Flash存储器)、高速RAM 存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及分布式任务的处理程序。其中,操作系统是管理和控制样本终端设备硬件和软件资源的程序,支持分布式任务的处理程序以及其它软件或程序的运行。
在图1所示的终端设备中,用户接口1003主要用于与各个终端进行数据通信;网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;而处理器1001可以用于调用存储器1005中存储的存储介质的数据重读程序,并执行以下操作:
在监测到从存储介质的数据页读取数据报错时,确定所述数据页的数据页类型;
若确定所述数据页类型为单电压阈值类型,则获取所述数据页的比特数据,其中,所述比特数据包括0比特值的数量;
根据所述比特数据确定所述数据页的电压阈值的偏移方向,并按照所述偏移方向偏移所述数据页的默认电压阈值以针对所述数据页进行数据重读。
进一步地,所述比特数据还包括所述数据页的最大比特位数,处理器1001 可以调用存储器1005中存储的存储介质的数据重读程序,还执行以下操作:
检测所述0比特值的数量是否大于所述最大比特位数的二分之一;
在检测到所述0比特值的数量大于所述最大比特位数的二分之一时,确定所述数据页的电压阈值的偏移方向为向右偏移;
在检测到所述0比特值的数量未大于所述最大比特位数的二分之一时,确定所述数据页的电压阈值的偏移方向为向左偏移。
进一步地,所述比特数据还包括1比特值的数量,处理器1001可以调用存储器1005中存储的存储介质的数据重读程序,还执行以下操作:
检测所述0比特值的数量是否大于所述1比特值的数量;
在检测到所述0比特值的数量大于所述1比特值的数量时,确定所述数据页的电压阈值的偏移方向为向右偏移;
在检测到所述0比特值的数量未大于所述1比特值的数量时,确定所述数据页的电压阈值的偏移方向为向左偏移。
进一步地,处理器1001可以调用存储器1005中存储的存储介质的数据重读程序,还执行以下操作:
统计存储介质的数据页的比特数据,其中,所述比特数据至少包括0比特值的数量。
进一步地,处理器1001可以调用存储器1005中存储的存储介质的数据重读程序,还执行以下操作:
在从所述存储介质的所述数据页读取数据时,实时统计从所述数据页读取数据的0比特值的数量。
进一步地,处理器1001可以调用存储器1005中存储的存储介质的数据重读程序,还执行以下操作:
提取预设的重读参数,其中,所述重读参数包括一个或者多个电压偏移值;
按照所述偏移方向和所述电压偏移值偏移所述默认电压阈值进行数据重读直至数据读取成功。
基于上述的结构,提出本发明存储介质的数据重读方法的各个实施例。
请参照图2,图2为本发明存储介质的数据重读方法第一实施例的流程示意图。
本发明实施例提供了存储介质的数据重读方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例存储介质的数据重读方法应用于上述终端设备,本发明实施例的终端设备可以是使用nand flash进行数据存储的设备,数据存储控制终端,PC,便携计算机,车载终端等终端设备,在此不做具体限制。
本实施例存储介质的数据重读方法包括:
步骤S100,在监测到从存储介质的数据页读取数据报错时,确定所述数据页的数据页类型;
需要说明的是,在本实施例中,数据页类型包括单电压阈值类型和多电压阈值类型,单电压阈值类型的数据页只有一根判决线,该单电压阈值类型的数据页具体可以为SLCPage、MLCLowPage和TLCLowPage等而多电压阈值类型的数据页拥有两根甚至两根以上的判决线,该多电压阈值类型的数据页具体可以为MLCPage和TLCPage等。此外,同一个存储介质当中的全部数据页中,可能该全部数据页的数据页类型均仅仅为单电压阈值类型或者多电压阈值类型,或者,该全部数据页的数据页类型还可能同时包括单电压阈值类型和多电压阈值类型,即,同一个存储介质既拥有单电压阈值类型的数据页,还拥有多电压阈值类型的数据页。
终端设备在通过存储介质的主控从存储介质的数据页上读取数据的过程中,持续监测该数据读取的操作是否出现报错现象,并在检测到该报错现象时,确定该报错现象指向的主控所读取的数据页,以及确定该数据页是单电压阈值类型还是多电压阈值类型。
进一步地,在本实施例中,终端设备持续监测主控在数据页上进行数据读取的操作是否出现的报错现象为:存储介质自身封装的数据纠错机制在针对错误数据无法纠错成功时所触发的报错。
具体地,例如,终端设备使用nand flash作为存储介质进行数据的存写和读取,该存储介质当中同时包含有单电压阈值类型的数据页和多电压阈值类型的数据页,从而,终端设备自控制该存储介质的主控,从该单电压阈值类型的数据页或者多电压阈值类型的数据页上读取数据时,就开始监控该存储介质自身封装的数据纠错机制—ecc(ErrorCorrecting Code,错误检查和纠正),是否在主控读取的数据出错且ecc无法成功纠正错误数据的情况下所触发的报错提示,然后,终端设备在监测到该ecc触发的报错提示时,随即确定该报错提示所指向的主控执行数据读取操作的数据页—SLCPage1,并同步确定该数据页—SLCPage1的数据页类型是单电压阈值类型还是多电压阈值类型。
步骤S200,若确定所述数据页类型为单电压阈值类型,则获取所述数据页的比特数据,其中,所述比特数据包括0比特值的数量;
需要说明的是,在本实施例中,存储介质的主控在任一数据页上存储数据均是以数值“0”和“1”填充对应比特位来编写存储的,如此,终端设备将该存储介质的数据页上,全部0比特值的数量作为该数据页的比特数据之一。
终端设备在监测到主控针对存储介质中数据页进行的数据读取操作出现报错现象,且确定出该报错现象指向的数据页的数据页类型是单电压阈值类型时,即刻获取已经统计好、至少包括该数据页上0比特值的数量的比特数据。
具体地,例如,终端设备在监测控制该存储介质的主控,从存储介质的数据页上读取数据过程中,该存储介质自身封装的数据纠错机制—ecc触发报错提示,并随即确定该报错提示所指向的主控执行数据读取操作的数据页— SLCPage1,以及同步确定该数据页—SLCPage1的数据页类型是单电压阈值类型时,终端设备进一步提取出当前已经统计好的、该数据页—SLCPage1上所拥有的全部0比特值的数量—数量a。
进一步地,在一种可行的实施例中,本发明存储介质的数据重读方法,还可以包括:
步骤A,统计存储介质的数据页的比特数据,其中,所述比特数据至少包括0比特值的数量。
终端设备在持续监测主控从存储介质当中读取数据的过程中,同步的统计主控所读取每一个数据页的比特数据,并且,终端设备至少统计该每一个数据页所拥有的全部0比特值的数量来作为该比特数据。
需要说明的是,在本实施例中,由于存储介质的每一个数据页上除了包含0比特值之外还包含有1比特值,从而,终端设备在持续监测主控从存储介质当中读取数据的过程中,当然也可以同步的统计主控所读取每一个数据页所拥有的全部1比特值的数量来作为该数据页比特数据。
进一步地,在一种可行的实施例中,上述步骤A,可以包括:
步骤A1,在从所述存储介质的所述数据页读取数据时,实时统计从所述数据页读取数据的0比特值的数量。
终端设备在监测主控从存储介质当中读取数据的过程中,在主控读取某数据页上的数据的同时,实时的统计该数据页所拥有的全部0比特值的数量。
进一步地,在另一种可行的实施例中,终端设备在统计得到数据也的0 比特值的数量之后,还可以将该0比特值的数量直接存储在运行内存当中,以供在监测到存储介质的数据纠错机制触发报错提示时,能够即时从运行内存当中提取出对应数据页的0比特值的数量,从而提升后续针对该数据页进行数据重读的时间,进一步提升数据重读效率。
具体地,例如,终端设备在监测控制该存储介质的主控,从存储介质的数据页上读取数据过程中,在该主控从数据页—SLCPage1上读取数据时,终端设备实时的统计该据页—SLCPage1所拥有的全部0比特值的数量a,然后将该数量a临时贮存在运行内存当中以供调用。
进一步地,在另一种可行的实施例中,若终端设备在监测主控从存储介质的数据页读取数据的整个过程当中,该存储介质自身的数据纠错机制均未触发报错,则终端设备在监测到主控读取数据结束之后,即自动针对运行内存当中存储的数据页所拥有全部0比特值的数量进行清除。
需要说明的是,在本实施例中,本发明存储介质的数据重读方法仅针对存储介质当中数据页类型为单电压阈值类型的数据页进行数据重读,从而,本发明存储介质的数据重读方法,在终端设备确定到数据报错指向的主控所读取的数据页,其数据页类型是多电压阈值类型时,终端设备随即放弃获取数据页的比特数据,并转而继续监测主控从存储介质的数据页上读取数据的过程。
步骤S300,根据所述比特数据确定所述数据页的电压阈值的偏移方向,并按照所述偏移方向偏移所述数据页的默认电压阈值以针对所述数据页进行数据重读。
终端设备在获取得到报错现象指向单电压阈值类型的数据页的比特数据之后,即刻根据该比特数据包括的该数据页所拥有全部0比特值的数量的大小,确定当前针对该数据页进行数据重读操作时,应当将该数据页的默认电压阈值进行向左或者向右偏移的偏移方向,从而在确定该偏移方向之后,便可直接按照该偏移方向将该数据页的默认电压阈值进行偏移之后,重新读取该数据页来提取数据。
需要说明的是,在本实施例中,数据页的默认电压阈值为存储介质基于向该数据页上编写存储数据时的电压来确定的、在从该数据页上读取数据时默认使用的电压大小。
进一步地,在一种可行的实施例中,所述比特数据还包括所述数据页的最大比特位数,上述步骤S300中,“根据所述比特数据确定所述数据页的电压阈值的偏移方向”的步骤,可以包括:
步骤S301,检测所述0比特值的数量是否大于所述最大比特位数的二分之一;
需要说明的是,在本实施例中,数据页的最大比特位数为不同大小数据页本身所包含的全部比特位数,例如,16KB大小的数据页所拥有的全部比特位数为:16*1024*8。终端设备通过获取数据页的大小进行计算后得到该最大比特位数,并将该最大比特位数也作为该数据页的比特数据之一。
终端设备在获取报错现象指向单电压阈值类型的数据页所拥有全部0比特值的数量之后,进一步获取得到该数据页的最大比特位数,并对比检测该0 比特值的数量与该最大比特位数的二分之一之间的大小关系。
步骤S302,在检测到所述0比特值的数量大于所述最大比特位数的二分之一时,确定所述数据页的电压阈值的偏移方向为向右偏移;
终端设备通过对比检测0比特值的数量与最大比特位数的二分之一之间的大小关系,从而在检测到该0比特值的数量大于最大比特位数的二分之一时,确定当前针对数据页进行数据重读操作时,应当将该数据页的默认电压阈值向右偏移。
具体地,例如,终端设备在监测到存储介质的主控从存储介质的数据页上读取数据过程中,该存储介质自身封装的数据纠错机制—ecc触发报错提示,并确定该报错提示所指向的主控执行数据读取操作的数据页—SLCPage1,以及同步确定出该数据页—SLCPage1的数据页类型是单电压阈值类型,且进一步提取出当前已经统计好的、该数据页—SLCPage1上所拥有的全部0比特值的数量—数量a,以及通过获取该数据页—SLCPage1的大小—16KB从而计算确定该数据页—SLCPage1的最大比特位数为:16*1024*8之后,终端设备进一步检测该数量a与该最大比特位数16*1024*8的二分之一:16*1024*8/2 之间的大小关系,从而在检测到该数量a大于16*1024*8/2时,终端设备随即确定当前针对该数据页—SLCPage1进行数据重读操作时,应当将该数据页— SLCPage1的默认电压阈值向右偏移。
步骤S303,在检测到所述0比特值的数量未大于所述最大比特位数的二分之一时,确定所述数据页的电压阈值的偏移方向为向左偏移。
终端设备通过对比检测0比特值的数量与最大比特位数的二分之一之间的大小关系,从而在检测到该0比特值的数量小于最大比特位数的二分之一时,确定当前针对数据页进行数据重读操作时,应当将该数据页的默认电压阈值向右偏移。
具体地,例如,终端设备进一步检测该数量a与该最大比特位数16*1024*8 的二分之一:16*1024*8/2之间的大小关系时,若检测到该数量a小于 16*1024*8/2,则终端设备随即确定当前针对该数据页—SLCPage1进行数据重读操作时,应当将该数据页—SLCPage1的默认电压阈值向左偏移。
进一步地,在另一种可行的实施例中,所述比特数据还包括1比特值的数量,上述步骤S300中,“根据所述比特数据确定所述数据页的电压阈值的偏移方向”的步骤,还可以包括:
步骤S304,检测所述0比特值的数量是否大于所述1比特值的数量;
需要说明的是,在本实施例中,终端设备除了基于统计数据页全部0比特值的数量相同的方式,在主控读取数据页提取数据时,实时统计该数据页所拥有全部1比特值的数量,终端设备还可以通过获取到的数据页全部0比特值的数量和该数据页的最大比特位数,以最大比特位数减去该0比特值的数量的方式,来计算得到该数据页所拥有全部1比特值的数量。此外,终端设备在通过统计获取或者以计算方式获取得到该数据页所拥有全部1比特值的数量之后,也将该1比特值的数量作为该数据页的比特数据之一。
终端设备在获取报错现象指向单电压阈值类型的数据页所拥有全部0比特值的数量之后,进一步获取得到该数据页所拥有全部1比特值的数量,并对比检测该0比特值的数量,与该1比特值的数量之间的大小关系。
步骤S305,在检测到所述0比特值的数量大于所述1比特值的数量时,确定所述数据页的电压阈值的偏移方向为向右偏移;
终端设备通过对比检测0比特值的数量与1比特值的数量之间的大小关系,从而在检测到该0比特值的数量大于1比特值的数量时,确定当前针对数据页进行数据重读操作时,应当将该数据页的默认电压阈值向右偏移。
具体地,例如,终端设备在监测到存储介质的主控从存储介质的数据页上读取数据过程中,该存储介质自身封装的数据纠错机制—ecc触发报错提示,并确定该报错提示所指向的主控执行数据读取操作的数据页—SLCPage1,以及同步确定出该数据页—SLCPage1的数据页类型是单电压阈值类型,且进一步提取出当前已经统计好的、该数据页—SLCPage1上所拥有的全部0比特值的数量—数量a,以及通过获取该数据页—SLCPage1的大小—16KB从而计算确定该数据页—SLCPage1的最大比特位数为:16*1024*8,并利用该最大比特位数16*1024*8减去全部0比特值的数量—数量a,以得到该数据页— SLCPage1上所拥有的全部1比特值的数量—数量b之后,终端设备进一步检测该数量a与该数量b之间的大小关系,从而在检测到该数量a大于数量b 时,终端设备随即确定当前针对该数据页—SLCPage1进行数据重读操作时,应当将该数据页—SLCPage1的默认电压阈值向右偏移。
步骤S306,在检测到所述0比特值的数量未大于所述1比特值的数量时,确定所述数据页的电压阈值的偏移方向为向左偏移。
终端设备通过对比检测0比特值的数量与1比特值的数量之间的大小关系,从而在检测到该0比特值的数量小于1比特值的数量时,确定当前针对数据页进行数据重读操作时,应当将该数据页的默认电压阈值向右偏移。
具体地,例如,终端设备进一步检测该数量a与数量b之间的大小关系时,若检测到该数量a小于数量b,则终端设备随即确定当前针对该数据页— SLCPage1进行数据重读操作时,应当将该数据页—SLCPage1的默认电压阈值向左偏移。
进一步地,在一种可行的实施例中,上述步骤S300中,“按照所述偏移方向偏移所述数据页的默认电压阈值以针对所述数据页进行数据重读”的步骤,可以包括:
步骤S307,提取预设的重读参数,其中,所述重读参数包括一个或者多个电压偏移值;
需要说明的是,在本实施例中,预设的重读参数为终端设备预先在配置的针对数据页进行数据重读操作时,应当向左或者向右偏移该数据页的默认电压阈值的电压偏移值,该电压偏移值可以为一个或者为多个,即,该重读参数当中可以仅包含有唯一一个指示主控应当将默认电压阈值向左或者向右偏移的电压偏移值,或者,该重读参数当中还可以包含有多个电压偏移值,以指示主控按照次序,向左或者向右依次偏移该默认电压阈值。应当理解的是,该电压偏移值具体可以是存储介质的生产开发工作人员基于不断测验操作后确定的经验值,或者,该电压偏移值也可以是基于其它可行的自动算法所自动确定得出的数据值,本发明存储介质的数据重读方法,并不针对该电压偏移值的具体配置和数值大小等进行限定。
终端设备在确定当前针对存储介质纠错机制报错指向的单电压阈值类型的数据页进行数据重读操作时,应当将该数据页的默认电压阈值进行向左或者向右偏移的偏移方向之后,终端设备进一步获取预先配置的含有指示主控偏移数据页默认电压阈值电压偏移值的重读参数。
步骤S308,按照所述偏移方向和所述电压偏移值偏移所述默认电压阈值进行数据重读直至数据读取成功。
终端设备在获取得到预先配置的针对数据页进行数据重读操作时指示主控偏移数据页默认电压阈值的重读参数之后,若该重读参数中包含有多个电压偏移值,则终端设备即可按照以已经确定的偏移方向,依次读取各电压偏移值来将数据页的默认电压阈值进行偏移后,重新读取该数据页上的数据直到数据读取成功,或者,若该重读参数中包含有一个电压偏移值,则终端设备即可按照以已经确定的偏移方向,读取电压偏移值来将数据页的默认电压阈值进行偏移后,重新读取该数据页上的数据直到数据读取成功。
具体地,例如,终端设备在确定当前针对数据页—SLCPage1进行数据重读操作时,应当将该数据页—SLCPage1的默认电压阈值向左偏移,并进一步获取得到预先基于存储介质的生产开发人员所配置的包含有电压偏移值1、电压偏移值2...电压偏移值n之后,终端设备则直接控制存储介质的主控向左将数据页—SLCPage1的默认电压阈值先偏移电压偏移值1之后,按照偏移之后的电压针对该数据页—SLCPage1进行数据重读操作,并在数据读取失败的情况下,再次向左将该默认电压阈值偏移电压偏移值2之后,继续按照偏移之后的电压针对该数据页—SLCPage1进行数据重读操作,如此循环直至数据重读操作成功以读取得到正确的数据。
在本实施例中,通过终端设备在通过存储介质的主控从存储介质的数据页上读取数据的过程中,持续监测该数据读取的操作是否出现报错现象,并在检测到该报错现象时,确定该报错现象指向的主控所读取的数据页,以及确定该数据页是单电压阈值类型还是多电压阈值类型;终端设备在监测到主控针对存储介质中数据页进行的数据读取操作出现报错现象,且确定出该报错现象指向的数据页的数据页类型是单电压阈值类型时,即刻获取已经统计好、至少包括该数据页上0比特值的数量的比特数据;终端设备在获取得到报错现象指向单电压阈值类型的数据页的比特数据之后,即刻根据该比特数据包括的该数据页所拥有全部0比特值的数量的大小,确定当前针对该数据页进行数据重读操作时,应当将该数据页的默认电压阈值进行向左或者向右偏移的偏移方向,从而在确定该偏移方向之后,便可直接按照该偏移方向将该数据页的默认电压阈值进行偏移之后,重新读取该数据页来提取数据。
本发明在从存储介质读取数据出现报错时,针对单电压阈值类型的数据页,通过获取包括有该数据页中0比特值的数量的比特数据,并根据该比特数据确定该数据页电压阈值的偏移方向,从而可以直接根据确定的该偏移方向偏移该电压阈值进行数据重读。相比于现有技术,本发明无需按照偏移值进行左右试探性的电压偏移来重读数据,节省了数据重读时间,提升了数据读取报错情况下的数据重读效率。
此外,请参照图3,本发明实施例还提出一种存储介质的数据重读系统,本发明存储介质的数据重读系统包括:
确定模块,用于在监测到从存储介质的数据页读取数据报错时,确定所述数据页的数据页类型;
获取模块,用于若确定所述数据页类型为单电压阈值类型,则获取所述数据页的比特数据,其中,所述比特数据包括0比特值的数量;
重读模块,用于根据所述比特数据确定所述数据页的电压阈值的偏移方向,并按照所述偏移方向偏移所述数据页的默认电压阈值以针对所述数据页进行数据重读。
优选地,所述存储介质的数据重读系统还包括:
统计模块,用于统计存储介质的数据页的比特数据,其中,所述比特数据至少包括0比特值的数量。
优选地,所述比特数据还包括所述数据页的最大比特位数,所述重读模块,包括:
第一检测单元,用于检测所述0比特值的数量是否大于所述最大比特位数的二分之一;
第一确定单元,用于在检测到所述0比特值的数量大于所述最大比特位数的二分之一时,确定所述数据页的电压阈值的偏移方向为向右偏移;
第二确定单元,用于在检测到所述0比特值的数量未大于所述最大比特位数的二分之一时,确定所述数据页的电压阈值的偏移方向为向左偏移。
优选地,所述比特数据还包括1比特值的数量,所述重读模块,还包括:
第二检测单元,用于检测所述0比特值的数量是否大于所述1比特值的数量;
第三确定单元,用于在检测到所述0比特值的数量大于所述1比特值的数量时,确定所述数据页的电压阈值的偏移方向为向右偏移;
第四确定单元,用于在检测到所述0比特值的数量未大于所述1比特值的数量时,确定所述数据页的电压阈值的偏移方向为向左偏移。
优选地,所述统计模块,还用于在从所述存储介质的所述数据页读取数据时,实时统计从所述数据页读取数据的0比特值的数量。
优选地,所述重读模块,还包括:
提取单元,用于提取预设的重读参数,其中,所述重读参数包括一个或者多个电压偏移值;
重读单元,用于按照所述偏移方向和所述电压偏移值偏移所述默认电压阈值进行数据重读直至数据读取成功。
其中,本发明存储介质的数据重读系统的各功能模块在运行时所实现的步骤,可参照上述本发明存储介质的数据重读方法的实施例,此处不再赘述。
此外,本发明实施例还提出一种终端设备,该终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的存储介质的数据重读程序,该存储介质的数据重读程序被所述处理器执行时实现如上述中的存储介质的数据重读方法的步骤。
其中,在所述处理器上运行的存储介质的数据重读程序被执行时所实现的步骤可参照本发明存储介质的数据重读方法的各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机存储介质,应用于计算机,该计算机存储介质可以为非易失性计算机可读计算机存储介质,该计算机存储介质上存储有存储介质的数据重读程序,所述存储介质的数据重读程序被处理器执行时实现如上所述的存储介质的数据重读方法的步骤。
其中,在所述处理器上运行的存储介质的数据重读程序被执行时所实现的步骤可参照本发明存储介质的数据重读方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机存储介质(如Flash存储器、 ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种存储介质的数据重读方法,其特征在于,所述存储介质的数据重读方法包括:
在监测到从存储介质的数据页读取数据报错时,确定所述数据页的数据页类型;
若确定所述数据页类型为单电压阈值类型,则获取所述数据页的比特数据,其中,所述比特数据包括0比特值的数量;
根据所述比特数据确定所述数据页的电压阈值的偏移方向,并按照所述偏移方向偏移所述数据页的默认电压阈值以针对所述数据页进行数据重读。
2.如权利要求1所述的存储介质的数据重读方法,其特征在于,所述比特数据还包括所述数据页的最大比特位数,
所述根据所述比特数据确定所述数据页的电压阈值的偏移方向的步骤,包括:
检测所述0比特值的数量是否大于所述最大比特位数的二分之一;
在检测到所述0比特值的数量大于所述最大比特位数的二分之一时,确定所述数据页的电压阈值的偏移方向为向右偏移;
在检测到所述0比特值的数量未大于所述最大比特位数的二分之一时,确定所述数据页的电压阈值的偏移方向为向左偏移。
3.如权利要求1所述的存储介质的数据重读方法,其特征在于,所述比特数据还包括1比特值的数量,
所述根据所述比特数据确定所述数据页的电压阈值的偏移方向的步骤,还包括:
检测所述0比特值的数量是否大于所述1比特值的数量;
在检测到所述0比特值的数量大于所述1比特值的数量时,确定所述数据页的电压阈值的偏移方向为向右偏移;
在检测到所述0比特值的数量未大于所述1比特值的数量时,确定所述数据页的电压阈值的偏移方向为向左偏移。
4.如权利要求1至3任一项所述的存储介质的数据重读方法,其特征在于,所述存储介质的数据重读方法还包括:
统计存储介质的数据页的比特数据,其中,所述比特数据至少包括0比特值的数量。
5.如权利要求4所述的存储介质的数据重读方法,其特征在于,所述统计存储介质的数据页的比特数据的步骤,包括:
在从所述存储介质的所述数据页读取数据时,实时统计从所述数据页读取数据的0比特值的数量。
6.如权利要求1所述的存储介质的数据重读方法,其特征在于,所述按照所述偏移方向偏移所述数据页的默认电压阈值以针对所述数据页进行数据重读的步骤,包括:
提取预设的重读参数,其中,所述重读参数包括一个或者多个电压偏移值;
按照所述偏移方向和所述电压偏移值偏移所述默认电压阈值进行数据重读直至数据读取成功。
7.一种存储介质的数据重读系统,其特征在于,所述存储介质的数据重读系统包括:
确定模块,用于在监测到从存储介质的数据页读取数据报错时,确定所述数据页的数据页类型;
获取模块,用于若确定所述数据页类型为单电压阈值类型,则获取所述数据页的比特数据,其中,所述比特数据包括0比特值的数量;
重读模块,用于根据所述比特数据确定所述数据页的电压阈值的偏移方向,并按照所述偏移方向偏移所述数据页的默认电压阈值以针对所述数据页进行数据重读。
8.如权利要求7所述的存储介质的数据重读系统,其特征在于,所述存储介质的数据重读系统还包括:
统计模块,用于统计存储介质的数据页的比特数据,其中,所述比特数据至少包括0比特值的数量。
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的存储介质的数据重读程序,所述存储介质的数据重读程序被所述处理器执行时实现如权利要求1至6中任一项所述的存储介质的数据重读方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的存储介质的数据重读方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011610482.4A CN112634973A (zh) | 2020-12-29 | 2020-12-29 | 存储介质的数据重读方法、系统、终端设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011610482.4A CN112634973A (zh) | 2020-12-29 | 2020-12-29 | 存储介质的数据重读方法、系统、终端设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112634973A true CN112634973A (zh) | 2021-04-09 |
Family
ID=75286810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011610482.4A Pending CN112634973A (zh) | 2020-12-29 | 2020-12-29 | 存储介质的数据重读方法、系统、终端设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112634973A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961143A (zh) * | 2021-09-16 | 2022-01-21 | 长沙市致存科技有限责任公司 | 存储器的数据重读方法、装置、终端设备以及存储介质 |
CN114296645A (zh) * | 2021-12-17 | 2022-04-08 | 合肥大唐存储科技有限公司 | 一种Nand闪存中重读方法和固态硬盘 |
CN116665761A (zh) * | 2023-05-24 | 2023-08-29 | 珠海妙存科技有限公司 | 数据分析方法、数据分析装置、电子设备和存储介质 |
CN118280423A (zh) * | 2024-05-30 | 2024-07-02 | 苏州元脑智能科技有限公司 | 闪存读取方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10210926B1 (en) * | 2017-09-15 | 2019-02-19 | Pure Storage, Inc. | Tracking of optimum read voltage thresholds in nand flash devices |
CN109584935A (zh) * | 2017-09-29 | 2019-04-05 | 大心电子(英属维京群岛)股份有限公司 | 数据读取方法以及存储控制器 |
CN111145820A (zh) * | 2019-12-11 | 2020-05-12 | 合肥大唐存储科技有限公司 | 一种数据读取方法及装置、存储介质和设备 |
CN111984451A (zh) * | 2020-08-19 | 2020-11-24 | 深圳市硅格半导体有限公司 | 表格数据的纠错方法、系统、设备及存储介质 |
-
2020
- 2020-12-29 CN CN202011610482.4A patent/CN112634973A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10210926B1 (en) * | 2017-09-15 | 2019-02-19 | Pure Storage, Inc. | Tracking of optimum read voltage thresholds in nand flash devices |
CN109584935A (zh) * | 2017-09-29 | 2019-04-05 | 大心电子(英属维京群岛)股份有限公司 | 数据读取方法以及存储控制器 |
CN111145820A (zh) * | 2019-12-11 | 2020-05-12 | 合肥大唐存储科技有限公司 | 一种数据读取方法及装置、存储介质和设备 |
CN111984451A (zh) * | 2020-08-19 | 2020-11-24 | 深圳市硅格半导体有限公司 | 表格数据的纠错方法、系统、设备及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961143A (zh) * | 2021-09-16 | 2022-01-21 | 长沙市致存科技有限责任公司 | 存储器的数据重读方法、装置、终端设备以及存储介质 |
CN114296645A (zh) * | 2021-12-17 | 2022-04-08 | 合肥大唐存储科技有限公司 | 一种Nand闪存中重读方法和固态硬盘 |
CN114296645B (zh) * | 2021-12-17 | 2024-01-02 | 合肥大唐存储科技有限公司 | 一种Nand闪存中重读方法和固态硬盘 |
CN116665761A (zh) * | 2023-05-24 | 2023-08-29 | 珠海妙存科技有限公司 | 数据分析方法、数据分析装置、电子设备和存储介质 |
CN116665761B (zh) * | 2023-05-24 | 2024-01-23 | 珠海妙存科技有限公司 | 数据分析方法、数据分析装置、电子设备和存储介质 |
CN118280423A (zh) * | 2024-05-30 | 2024-07-02 | 苏州元脑智能科技有限公司 | 闪存读取方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112634973A (zh) | 存储介质的数据重读方法、系统、终端设备以及存储介质 | |
CN108388514B (zh) | 接口自动化测试方法、装置、设备及计算机可读存储介质 | |
US8250543B2 (en) | Software tracing | |
US8473789B2 (en) | Memory leak monitoring system and associated methods | |
CN107145782B (zh) | 一种异常应用程序的识别方法、移动终端及服务器 | |
US20200183809A1 (en) | Usage amount monitoring method and monitoring unit of electronic control unit for vehicle | |
CN108628732B (zh) | 一种应用界面控件遍历测试方法及装置 | |
CN111090593A (zh) | 确定崩溃归属的方法、装置、电子设备及存储介质 | |
CN111984452A (zh) | 程序故障检测方法、装置、电子设备以及存储介质 | |
CN113127314A (zh) | 一种检测程序性能瓶颈的方法、装置及计算机设备 | |
CN108111328B (zh) | 一种异常处理方法及装置 | |
CN115858311A (zh) | 运维监控的方法、装置、电子设备及可读存储介质 | |
CN115686961A (zh) | 处理器测试方法、装置及电子设备 | |
CN108196975B (zh) | 基于多校验和的数据验证方法、装置及存储介质 | |
CN110597601A (zh) | 一种控制器任务切换方法、装置、设备及可读存储介质 | |
CN110580220A (zh) | 测量代码段执行时间的方法及终端设备 | |
CN115656788B (zh) | 一种芯片测试系统、方法、设备及存储介质 | |
CN112732358A (zh) | 一种航天器控制脚本的编写方法和装置 | |
CN117009221A (zh) | 产品测试的处理方法、装置、设备、存储介质及程序产品 | |
US11397662B2 (en) | Method for debugging computer program, device employing method, and storage medium | |
CN107291614B (zh) | 文件异常检测方法和电子设备 | |
US10041998B2 (en) | Method of debugging PLC by using general-purpose microprocessor | |
CN113986742A (zh) | 一种自动化测试方法、装置、设备及存储介质 | |
CN111931161B (zh) | 基于risc-v处理器的芯片验证方法、设备及存储介质 | |
CN115098138A (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 |