CN114360628B - 闪存的检测方法以及装置 - Google Patents
闪存的检测方法以及装置 Download PDFInfo
- Publication number
- CN114360628B CN114360628B CN202210215475.7A CN202210215475A CN114360628B CN 114360628 B CN114360628 B CN 114360628B CN 202210215475 A CN202210215475 A CN 202210215475A CN 114360628 B CN114360628 B CN 114360628B
- Authority
- CN
- China
- Prior art keywords
- scanning
- area
- scanned
- data
- flash memory
- 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
Landscapes
- Read Only Memory (AREA)
Abstract
本说明书实施例提供闪存的检测方法以及装置,其中所述闪存的检测方法包括:确定闪存存储器的待扫描的区域;在所述区域中确定待扫描的字线,并对所述字线进行扫描处理;根据扫描处理结果确定与所述字线对应的纠错单元,并利用所述纠错单元确定参考电压,本方案通过在待扫描的区域中选择待扫描的字线进行扫描,从而避免了对待扫描的全部区域进行扫描,缩短了扫描时间。
Description
技术领域
本说明书实施例涉及数据存储技术领域,特别涉及一种闪存的检测方法。
背景技术
随着计算机技术的发展,NAND FLASH的技术也在不断的升级,然而随着温度的变化,NAND FLASH的阈值电压也会不断的发生变化,这将导致使用默认的电压值进行数据读取时,数据读取错误的可能性也会随之提高。因此亟需一种较为简单可靠的方法来解决上述问题。
发明内容
有鉴于此,本说明书实施例提供了一种闪存的检测方法。本说明书一个或者多个实施例同时涉及一种闪存的检测装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种闪存的检测方法,包括:
确定闪存存储器的待扫描的区域;
在所述区域中确定待扫描的字线,并对所述字线进行扫描处理;
根据扫描处理结果确定与所述字线对应的纠错单元,并利用所述纠错单元确定参考电压。
可选地,所述确定闪存存储器的待扫描的区域步骤执行之前,包括:
预设所述闪存存储器的扫描区域对应的扫描时长;
将所述扫描区域划分为多个待扫描的区域;
根据所述扫描时长确定每个待扫描的区域对应的子扫描时长,其中,所述子扫描时长,用于确定每个待扫描的区域的扫描启动时间。
可选地,还包括:
对主机是否存在读操作进行检测;
在检测到存在读操作的情况下,进入所述确定闪存存储器的待扫描的区域的步骤;
在未检测到存在读操作的情况下,进入休眠状态。
可选地,所述确定闪存存储器的待扫描的区域步骤执行之后,包括:
在逐个区域扫描的过程中,判断当前区域中的数据属性;
在所述数据属性为热数据的情况下,在所述当前区域中确定待扫描的字线,并对所述字线进行扫描处理;
在所述数据属性为冷数据的情况下,跳过所述当前区域,进入下一区域进行扫描。
可选地,所述利用所述纠错单元确定参考电压之后,还包括:
基于所述参考电压读取所述区域的数据;
在所述数据读取错误的情况下,使用默认电压读取所述数据。
可选地,还包括:
在所述闪存存储器的每轮扫描过程中,根据所述数据的读取结果,更新所述区域中的纠错单元的备注信息,其中,所述闪存存储器对应多轮扫描过程;
在所述闪存存储器的每轮扫描过程中,将所述备注信息作为选择纠错单元的参考信息。
可选地,所述根据所述数据的读取结果,更新所述区域中的纠错单元的备注信息,包括:
根据所述数据的读取结果,更新所述区域的状态参数,所述状态参数用于记录所述区域的数据读取错误次数;
在所述状态参数达到预设参数阈值的情况下,将所述参考电压对应的所述纠错单元进行所述备注信息的标注。
可选地,在所述状态参数达到预设参数阈值的情况下,将所述参考电压对应的所述纠错单元进行所述备注信息的标注,包括:
如果所述纠错单元的标注次数达到预设标注阈值,将所述备注信息设置为表示不可选的信息。
根据本说明书实施例的第二方面,提供了一种闪存的检测装置,包括:
确定模块,被配置为确定闪存存储器的待扫描的区域;
扫描模块,被配置为在所述区域中确定待扫描的字线,并对所述字线进行扫描处理;
处理模块,被配置为根据扫描处理结果确定与所述字线对应的纠错单元,并利用所述纠错单元确定参考电压。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述闪存的检测方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述闪存的检测方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述闪存的检测方法的步骤。
本说明书一个实施例通过确定闪存存储器的待扫描的区域;在确定的待扫描的区域中再确定待扫描的字线,对确定的字线进行扫描处理;根据扫描处理结果确定与字线对应的纠错单元,并利用纠错单元确定参考电压,其中,对待扫描的区域中被选中的字线进行扫描,避免了对待扫描的全部区域进行扫描,缩小了扫描的范围,从而缩短了扫描时间,利用纠错单元确定参考电压,后续使用参考电压读取数据,提高了数据读取的准确性。
附图说明
图1是本说明书一个实施例提供的一种闪存的检测方法的流程图;
图2是本说明书一个实施例提供的一种闪存的检测方法的示意图;
图3是本说明书一个实施例提供的一种闪存的检测方法的处理过程流程图;
图4是本说明书一个实施例提供的一种闪存的检测装置的结构示意图;
图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
闪存,(FLASH MEMORY),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。这种科技主要用于一般性数据存储,以及在计算机与其他数字产品间交换传输数据,如储存卡与U盘,按照闪存的颗粒类型进行划分,可以划分为SLC闪存、MLC闪存、TLC闪存和QLC闪存。SLC闪存每个单元储存1个数据;MLC闪存每个单元储存2个数据;TLC闪存每个单元储存3个数据;QLC闪存每个单元储存4个数据。
NAND FLASH,NAND FLASH是一种非易失性存储技术,即断电后仍能保存数据。是一种比硬盘驱动器更好的存储设备,在不超过4GB的低容量应用中表现得尤为明显。
FTL指Flash Translation Layer(闪存转换层),是NAND FLASH管理的核心,用于完成逻辑地址到物理地址的转换,以及回收无用数据、维护磨损平衡。
扫描处理,是一个连续的查找动作,按照一定的顺序对特定的目标进行全局或局部扫描,从而获得扫描结果。
纠错单元,用于纠正在传送或存储数据期间产生的出错数据的单元。
参考电压,也可以被称为阈值电压,用于读取数据,通常是指将传输特性曲线中输出电压随输入电压改变而急剧变化转折区的中点对应的输入电压。
在本说明书中,提供了一种闪存的检测方法,本说明书同时涉及一种闪存的检测装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种闪存的检测方法的流程图,具体包括以下步骤。
步骤S102:确定闪存存储器的待扫描的区域。
其中,闪存存储器是指一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器,本实施例中提及的闪存存储器主要是指NAND型闪存,即NANDFLASH;待扫描的区域是指NAND FLASH中的多个字线组成的可扫描区域,字线即Word Line,由多个Word Line组成了Word Line group,Word Line group即字线组,一个字线组包含至少两个字线;一个Word Line包含一个或若干个用于存储数据的页,即page。每个Page的大小通常是16KB,Page是闪存中能够进行读取和写入操作的最小读写单位。即如果需要读取512字节的数据,那在闪存层面上就必须把包含这512字节数据的整个Page的内容全部读取出。下述字线、页、字线组等闪存存储结构均使用英文表达形式。
基于此,确定将要进行扫描的闪存存储器,由于闪存存储器是由多个存储单元按照一定的组织结构组成的,存储单元用cell表示,cell是闪存的最小工作单位,执行数据存储的任务,闪存存储器中由多个cell单元组成了一个Page,由多个Page组成了一个WordLine,由多个Word Line组成了一个Word Line group,因此在对闪存存储器进行扫描时,需要对闪存存储器进行分区扫描,确定进行扫描的最小单位的区域范围,即待扫描的区域。
进一步的,在对闪存存储器进行扫描前,考虑到闪存存储器的Word Line较多,多个Word Line组成了多个Word Line group,因此在对闪存存储器进行扫描前时为了不影响主机的正常读写操作,又能有序的对多个Word Line group进行扫描,因此预设扫描时间,合理的将闪存存储器划分为多个待扫描的区域,并确定每个待扫描的区域对应的扫描时长,具体实现如下:
预设所述闪存存储器的扫描区域对应的扫描时长;将所述扫描区域划分为多个待扫描的区域;根据所述扫描时长确定每个待扫描的区域对应的子扫描时长,其中,所述子扫描时长,用于确定每个待扫描的区域的扫描启动时间。
其中,扫描时长是指完成对所有Word Line group的扫描所需要的时间,此扫描时长可以由技术人员根据经验设定,如设置扫描时长为24小时或16小时等,在设置扫描时长时,要考虑闪存存储器的稳定性,且不能影响性能指标,即,连续读写、随机读写的能力;子扫描时长是指对扫描时长按照待扫描区域的数量进行划分,为每个待扫描的区域分配的扫描时长。
基于此,根据闪存存储器的扫描区域,确定对扫描区域进行一次完整的扫描所需的扫描时长,再对扫描区域进行划分,将扫描区域划分为多个待扫描的区域,即,多个WordLine group,根据确定的扫描时长为每个待扫描的区域分配与其对应的子扫描时长,对每个待扫描的区域进行的扫描操作均在与待扫描的区域对应的子扫描时长内完成,对每个待扫描的区域依次进行扫描,直到每个待扫描的区域均完成扫描。
在具体的应用中,对NAND FLASH进行扫描时,先设置扫描时间以及待扫描的区域的大小,计算每个待扫描的区域的平均耗时,依次对待扫描的区域进行扫描。如图2所示的示意图,示出了NAND FLASH中QLC的组织架构。逻辑单元(die),是可以执行命令并回报自身状态的最小独立单元;页(page)是闪存中能够读取和写入的最小单位,一个page内又包括多个单元(cell);cell是最小工作单位,执行数据存储的任务。die-0中的page0-page3组成了一个字线(Word Line),由die-0至die-n对应的page0-page3组成了一个超级字线(superWord Line0);由一个或多个super Word Line组成了一个Word Line group,一个WordLine group即为一个待扫描的区域。对扫描任务进行初始化时先设定扫描时间。在设定了Word Line group的大小,即一个Word Line group包含多少个super Word Line时,考虑到NAND的稳定性,以及连续读写、随机读写的能力等性能指标,可以灵活的设定扫描时间,以及一个Word Line group包含的super Word Line数量。若想缩短扫描时间,只需要增加一个Word Line group包含的super Word Line数量即可。若不影响性能指标设置的扫描时间为24小时,而NAND的稳定时间是16小时,则划分Word Line group时要增加每个Word Linegroup包含的super Word Line的数量。
综上,通过为闪存存储器划分扫描区域的方式,在固定的时间区间内对划分得到的每个待扫描的区域进行扫描,且待扫描的区域大小可以灵活的调整,因此可以尽可能的提高闪存存储器的稳定性,降低在进行扫描操作时对主机连续读写、随机读写等性能的影响。
进一步的,在设定了扫描时间,以及确定了待扫描的区域后,即可启动扫描过程,在对待扫描区域进行扫描前,为了不影响主机的写操作,还要对主机的操作状态进行检测,若检测到主机一直在进行写操作,则不能启动扫描,具体实现如下:
对主机是否存在读操作进行检测;在检测到存在读操作的情况下,进入所述确定闪存存储器的待扫描的区域的步骤;在未检测到存在读操作的情况下,进入休眠状态。
其中,读操作和写操作是相对应的两种操作,读操作是指访问或读取原有的文件或数据,而写操作则是添加或写入新的文件或数据。在计算机中,将内存中的数据传送到计算机的硬盘中即为写操作,将硬盘上的数据传送到计算机的内存中即为读操作;休眠状态是指停止扫描的状态,在本实施例中若检测到主机一直在进行写操作,而没有进行读操作,则一直处于休眠状态,只有在检测到主机有读操作时才开始对待扫描的区域进行扫描。
基于此,在设定了闪存存储器的扫描区域和扫描时长,并为每个待扫描的区域分配的子扫描时长,即将启动扫描操作前,对主机的读写状态进行检测,检测主机当前是否存在读操作,在检测到存在读操作的情况下,确定待扫描的区域,获取与待扫描的区域对应的子扫描时长,在子扫描时长范围内,对此区域进行扫描;在未检测到存在读操作的情况下,则进入休眠状态,不启动扫描操作,直到检测到主机存在读操作,才启动扫描。
综上,在启动扫描前,先判断主机的读写状态,若主机一直在进行写操作则不启动扫描,从而降低对主机性能的影响,综合闪存存储器的稳定性设置扫描时间,从而提高了扫描结果的有效性及准确性。
进一步的,在确定了将要进行扫描的待扫描区域后,还需要对待扫描区域中的数据对应的数据属性进行判断,若为热数据,则可以对待扫描区域进行扫描,若为冷数据,则当前的区域无需进行扫描,具体实现如下:
在逐个区域扫描的过程中,判断当前区域中的数据属性;在所述数据属性为热数据的情况下,在所述当前区域中确定待扫描的字线,并对所述字线进行扫描处理;在所述数据属性为冷数据的情况下,跳过所述当前区域,进入下一区域进行扫描。
其中,数据属性是指待扫描的区域中的数据对应的数据类型,数据类型包括冷数据和热数据,热数据是指被计算节点频繁访问的在线类数据;冷数据是指离线类不经常访问或访问频次较低的数据,比如企业备份数据、业务与操作日志数据、统计数据等;字线即Word Line,由多个Page组成。
基于此,在对每个待扫描的区域进行扫描的过程中,在确定了第一个待扫描的区域后,判断当前区域中存储的数据对应的数据属性,若当前需要进行扫描的数据的数据属性为热数据,则可以直接对当前区域进行扫描操作;若当前需要进行扫描的数据的数据属性为冷数据,则当前区域不需要进行扫描操作,跳过当前区域,选择下一个待扫描的区域,继续判断此区域中数据的数据属性,若为热数据,则对此区域进行扫描,若为冷数据,则此区域也不需要进行扫描,继续选择下一个待扫描的区域进行扫描操作,重复上述操作,直到所有待扫描的区域均***作过,即,对闪存存储器完成了一轮扫描操作。
例如,在进行全盘扫描时,在扫描开始前,先判断主机的读写操作状态,若主机一直在执行写操作,则不启动扫描过程,若检测到主机执行了读操作,则启动扫描,选择已经划分的一个Word Line group,通过FTL中用于记录冷数据和热数据的表,确定当前需要进行扫描的Word Line group中数据的数据属性,若为热数据则对当前Word Line group进行扫描,若为冷数据则确定下一个Word Line group,对其进行冷数据和热数据的判断,从而确定是否对其进行扫描,直到对所有Word Line group都完成了判断、扫描操作,则一轮扫描结束。
综上,在扫描前对数据属性进行判断,只扫描存储有热数据的待扫描区域,避免了资源的浪费。由于冷数据更新频次较低,而热数据更新的较为频繁,因此在主机进行读操作时,为了提高读操作读取的数据的准确性,需要对其进行扫描,而冷数据,被读取的概率较低,则不对其进行扫描,从而提高资源的利用率。
步骤S104:在所述区域中确定待扫描的字线,并对所述字线进行扫描处理。
其中,待扫描的字线即为待扫描的Word Line,每个Word Line中包含一个或多个page,如:QLC包含4个page,TLC包含3个page,MLC包含2个page,SLC包含1个page;扫描处理是一个连续的查找动作,按照一定的顺序对特定的目标进行全局或局部扫描,从而获得扫描结果,在本实施例中扫描处理是指对待扫描区域进行的查找操作,用于在待扫描区域中选择样本。
基于此,在确定了待扫描的区域中存储的数据为热数据时,启动对待扫描区域的扫描处理,确定待扫描的区域中的样本,即字线,对确定的一个字线进行扫描处理,此字线作为样本能够代表确定的待扫描的区域。此外,样本还可以最小化,即选择了与待扫描的区域对应的字线后,选择字线中page对应的纠错单元作为样本,其中,纠错单元是指用于纠正在传送或存储数据期间产生的出错数据的单元。
例如,在确定了待扫描的Word Line group,经过判断Word Line group中存储的是热数据,对其进行扫描时,在Word Line group中的众多Word Line中确定一个Word Line作为样本,后续继续对此Word Line进行扫描处理。
步骤S106:根据扫描处理结果确定与所述字线对应的纠错单元,并利用所述纠错单元确定参考电压。
其中,扫描处理结果是指对字线进行扫描后确定的,字线中包含的page对应的纠错单元;纠错单元是指用于纠正在传送或存储数据期间产生的出错数据的单元;参考电压也可以被称为阈值电压,用于读取数据,通常是指将传输特性曲线中输出电压随输入电压改变而急剧变化转折区的中点对应的输入电压,根据阈值电压进行数据读取,通过记录数据的读取错误次数判断样本是否可继续使用,从而确定读取错误次数较少的阈值电压。
基于此,在对待扫描的区域进行扫描,即,对待扫描的区域中的字线进行扫描确定了字线后,根据确定的字线在字线中选择纠错单元,针对字线包含的每个page,确定每个page对应的纠错单元,将选中的纠错单元作为对应待扫描的区域的样本,并根据样本纠错单元确定参考电压,以便于后续将得到的参考电压作为默认读数据的参数进行数据读取。
在确定了纠错单元后,通过读取裸数据判断电子的变化,可以用“0”和“1”表示电子的变化,从而确定波谷值对应的电压,此时波谷值对应的电压即为参考电压,或称为阈值电压,使用此参考电压进行数据读取可以提高数据读取的准确性。
进一步的,在确定了参考电压后,即可基于参考电压进行数据读取,由控制器判断数据读取的错误情况,若发生数据读取错误则使用默认的电压值进行数据读取,具体实现如下:
基于所述参考电压读取所述区域的数据;在所述数据读取错误的情况下,使用默认电压读取所述数据。
其中,数据是否发生读取错误是由闪存存储器中的控制器判断的,使用参考电压读取数据时,一旦检测到数据读取错误,则改用默认电压重读被读错的数据,默认电压是闪存存储器中用于进行数据读取的预设的电压值,但是由于温度等因素的影响,使用预设的默认电压读取数据时,数据读取的错误率则会上升,因此在进行数据读取时,优先使用参考电压。
基于此,在确定了参考电压后,参考电压即可用于对与其对应的待扫描的区域进行数据读取,在进行数据读取时,由闪存存储器中对应的控制器对数据读取结果进行检测,若检测到数据读取错误,则确定参考电压无法进行准确的数据读取,使用闪存存储器对应的默认电压重新对此区域进行数据读取,同时记录下此默认电压读取数据发生错误的次数,此默认电压对应着待扫描的区域对应的样本,即字线和纠错单元。
通过对数据读取的错误情况进行判断,从而判断参考电压的准确性,一旦发生数读取错误则使用默认电压重读数据,并对数据读取错误的次数进行记录,用于衡量选取的样本的可靠性,从而提高数据读取的准确性。
进一步的,当使用参考电压对待扫描的区域进行数据读取时,每次发生数据读取错误时,均进行记录,在完成了对一个区域的扫描后,根据数据读取错误情况确定是否对此区域对应的字线、纠错单元进行标注,从而为后续扫描此区域时字线的选取提供参考消息,具体实现如下:
在所述闪存存储器的每轮扫描过程中,根据所述数据的读取结果,更新所述区域中的纠错单元的备注信息,其中,所述闪存存储器对应多轮扫描过程;在所述闪存存储器的每轮扫描过程中,将所述备注信息作为选择纠错单元的参考信息。
其中,备注信息是指附加或附注的信息,在本实施例中备注信息是指在使用参考电压对待扫描的区域进行数据读取时,发生数据读取错误的次数大于对待扫描的区域进行数据读取的次数的一半时,就会对当前的参考电压对应的字线或纠错单元等样本进行备注,用于表示选择此字线或纠错单元作为样本确定的参考电压进行数据读取时,发生数据读取错误的概率较大;参考信息是指用于辅助研究或了解事物的信息,在本实施例中是指在对待扫描的区域进行扫描,确定待扫描的区域对应的字线等样本时,可以作为参考条件的信息,字线被备注后,表示此字线作为待扫描的区域的样本时确定的参考电压用于读取数据时,可能会发生数据读取错误,但是此字线仍然可以被选择为样本。
对闪存存储器的每个需要扫描的区域都完成一次扫描操作后,即为完成了一轮扫描。因此,一轮扫描的过程至少包括:确定闪存存储器的待扫描的区域,在所述区域中确定待扫描的字线,并对所述字线进行扫描处理,根据扫描处理结果确定与所述字线对应的纠错单元,并利用所述纠错单元确定参考电压的步骤。相应的,由于温度等因素不是恒定不变的,因此可以对闪存存储器进行多轮扫描,当一轮扫描结束后,可以立即启动下一轮扫描,也可以重新设置扫描时间,以及重新对扫描区域进行划分,继续对闪存存储器进行扫描操作。
基于此,使用参考电压对与其对应的区域进行数据读取时,记录每次数据读取的结果,即数据读取的错误情况,当一个区域的数据读取错误的次数大于对这个区域进行数据读取次数的一半时,则对此区域中的纠错单元对应的备注信息进行更新,表示此纠错单元作为对应此区域的样本纠错单元,使用区域对应的参考电压进行数据读取时,数据读取错误的次数较多。当对闪存存储器进行下一轮扫描,选取纠错单元作为样本时,将纠错单元对应的备注信息作为参考信息,若纠错单元备注信息更新了一次,则此纠错单元还可以被选择为样本纠错单元。
综上,在每轮对闪存存储器进行扫描完成,使用参考电压对与其对应的区域进行数据读取时均对数据读取错误次数进行记录,以及对纠错单元进行备注,从而在下一轮扫描时可以以设备信息作为参考信息选取样本纠错单元,避免了多次选择到容易发生数据读取错误的纠错单元,从而减少样本选择错误的次数,提高样本选择的有效性以及扫描的准确性。
进一步的,考虑到一个待扫描的区域中包含多个字线,在进行数据读取时,需要对每个字线的每个纠错单元均进行数据读取,因此针对一个区域需要进行多次数据读取,每次数据读取结束后,均需要判断此次数据读取是否发生错误,并记录此区域发生数据读取错误的次数,在错误次数达到阈值时,对相应的纠错单元进行标注,具体实现如下:
根据所述数据的读取结果,更新所述区域的状态参数,所述状态参数用于记录所述区域的数据读取错误次数;在所述状态参数达到预设参数阈值的情况下,将所述参考电压对应的所述纠错单元进行所述备注信息的标注。
其中,状态参数是指用于表示数据读取错误次数的数值初始状态参数为0,发生一次数据读取错误则状态参数加1,每个待扫描的区域对应一个状态参数,用于记录此区域进行的数据读取操作,发生数据读取错误的次数;参数阈值是指对应状态参数的临界值或最高值,是由待扫描的区域包含的纠错单元的数量决定的,参数阈值一般设置为此区域包含的纠错单元的数量的一半,如:待扫描的区域包含的纠错单元为100个,则参数阈值可以设置为50,当此区域数据读取是发生数据读取错误的次数大于50次时,则对此纠错单元进行标注,即备注此样本位置;标注是指针对纠错单元的备注信息进行标记和记录,用于表示此纠错单元作为此区域的样本时,数据读取错误次数较多,下一轮扫描选取样本时可以参考此标记,确定是否再次选择此纠错单元作为样本。
基于此,针对一个待扫描的区域预设其对应的参数阈值,在使用参考电压对与其对应的待扫描的区域进行数据读取时,记录发生数据读取错误的次数,发生一次数据读取错误更新一次状态参数,在不断的进行数据读取时,也不断的更新状态参数,将状态参数的数值与预设的参数阈值进行比较,当状态参数的数值大于参数阈值时表示发送数据读取错误的次数过多,则对此参考电压对应的纠错单元进行第一次标注,当此纠错单元再次被标注时,则下一次对此待扫描的区域进行扫描时,则不再选择此纠错单元作为样本,而是跳过此纠错单元,选择其他的纠错单元作为样本。
综上,在每轮对闪存存储器进行扫描完成,使用参考电压对与其对应的区域进行数据读取,发生数据读取错误时均对状态参数进行更新,从而判断此纠错单元的有效性,减少样本选择错误的次数,提高样本选择的有效性以及扫描的准确性。
进一步的,在纠错单元的标注次数达到参数阈值时,考虑到纠错单元选取的有效性,对纠错单元的备注信息进行设置,下一次进行扫描时,则无法选择此纠错单元,具体实现如下:
如果所述纠错单元的标注次数达到预设标注阈值,将所述备注信息设置为表示不可选的信息。
其中,表示不可选的信息是指对纠错单元的备注信息设置的信息,用于表示在对字线进行扫描,选取纠错单元时,不可以选择被设置为表示不可选的备注信息对应的纠错单元,直接跳过此纠错单元,选择其他的纠错单元。
基于此,对闪存存储器进行每一轮扫描,针对闪存存储器的每个待扫描的区域,若进行数据读取时,当状态参数的数值大于参数阈值时表示发送数据读取错误的次数过多,则对此参考电压对应的纠错单元进行第一次标注,在后续对闪存存储器进行扫描以及数据读取的过程中,若同一个纠错单元被标注的次数达到固定的次数时,则将此纠错单元对应的备注信息设置为表示不可选的信息,则此纠错单元在后续的扫描过程中,均不可被选择为样本。
如图2所示,在待扫描的Word Line group0中选择了die-0对应的Word Line0后,选择Word Line0中的每个page对应的纠错单元,即,CW。page0-page3分别对应的CW0,在进行裸数据的读取时不开启选中的四个纠错单元CW0,从而确定阈值电压,使用阈值电压进行数据读取,在对Word Line group中的数据进行读取的过程中,由控制器判断是否发生数据读取错误,发现一次错误进行一次记录,并使用默认值重新读取发生错误的位置的数据,在一个Word Line group包含100个CW时,当数据读取错误的次数超过50次时,则对page0-page3分别对应的CW0进行备注,当下一轮扫描依然选择了page0-page3分别对应的CW0为样本时,数据读取错误的次数仍然超过50次,进行第二次备注,在后续扫描过程中page0-page3分别对应的CW0不会再被选取为样本,跳过此样本,选择其他的CW作为样本。
综上所述,本说明书一个实施例通过选择字线以及纠错单元作为样本确定参考电压,使得样本最小化,通过多次扫描,每次扫描都进行样本采集,从而降低数据读取的错误率,缩短了扫描时间。在后台扫描的同时充分的对闪存的稳定性以及闪存的读写性能进行考虑,在完成参考电压变化的确定的同时,降低对闪存正常工作带来的影响,此外,通过对待扫描的区域的大小进行调整,实现灵活的设置扫描时间。
下述结合附图3,以本说明书提供的闪存的检测方法在使用阈值电压读取数据的应用为例,对所述闪存的检测方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种闪存的检测方法的处理过程流程图,具体包括以下步骤。
步骤S302:开始第一轮扫描,闪存初始化,设置扫描时间划分待扫描的区域。
初始化时,设置对闪存进行全盘扫描的扫描时间,并将全盘划分为多个待扫描的区域。
步骤S304:判断是否启动后台扫描,若是,执行步骤S306,若否,执行步骤S308。
判断主机是否满足启动扫描的条件,若主机一直进行写操作,则不启动扫描,若主机执行了读操作,则启动扫描。
步骤S306:选择待扫描的区域。
从划分得到的多个待扫描的区域中选择一个区域,进行扫描。
步骤S308:进入休眠状态。
若主机一直进行写操作,则不启动扫描,进入休眠状态。
步骤S310:判断区域中的数据属性是否为热数据,若是,执行步骤S312,若否,执行步骤S306。
若选择的区域中存储的是冷数据则重新在多个待扫描的区域进行选择,选择另一个区域,继续进行判断,判断此区域中存储的数据是数据属性。
步骤S312:在区域中选择样本。
选择区域中的字线,确定字线对应的样本纠错单元。
步骤S314:根据选择的样本确定阈值电压。
利用纠错单元,进行数据读取确定阈值电压。
步骤S316:使用阈值电压进行数据读取。
使用阈值电压对区域中存储的数据分别进行数据读取。
步骤S318:在发生数据读取错误的情况下,使用默认电压进行数据读取,并记录错误次数。
步骤S320:判断错误次数是否超过错误阈值,若是,执行步骤S322。
根据对区域中存储的数据进行的数据读取次数确定错误阈值,若错误次数超过这个阈值,则对选择的样本进行标注。
步骤S322:对样本进行第一次备注。
步骤S324:在新一轮扫描时判断选取的样本是否被第二次备注,若是,执行步骤S326。
步骤S326:在下一轮扫描选取样本时跳过被备注了两次的样本,选取其他样本。
本说明书一个实施例通过确定闪存存储器的待扫描的区域;在确定的待扫描的区域中再确定待扫描的字线,对确定的字线进行扫描处理;根据扫描处理结果确定与字线对应的纠错单元,并利用纠错单元确定参考电压,其中,对待扫描的区域中被选中的字线进行扫描,避免了对待扫描的全部区域进行扫描,缩小了扫描的范围,从而缩短了扫描时间,利用纠错单元确定参考电压,后续使用参考电压读取数据,提高了数据读取的准确性。
与上述方法实施例相对应,本说明书还提供了闪存的检测装置实施例,图4示出了本说明书一个实施例提供的一种闪存的检测装置的结构示意图。如图4所示,该装置包括:
确定模块402,被配置为确定闪存存储器的待扫描的区域;
扫描模块404,被配置为在所述区域中确定待扫描的字线,并对所述字线进行扫描处理;
处理模块406,被配置为根据扫描处理结果确定与所述字线对应的纠错单元,并利用所述纠错单元确定参考电压。
所述确定模块402,进一步被配置为:
预设所述闪存存储器的扫描区域对应的扫描时长;
将所述扫描区域划分为多个待扫描的区域;
根据所述扫描时长确定每个待扫描的区域对应的子扫描时长,其中,所述子扫描时长,用于确定每个待扫描的区域的扫描启动时间。
所述确定模块402,还被配置为:
对主机是否存在读操作进行检测;
在检测到存在读操作的情况下,进入所述确定闪存存储器的待扫描的区域的步骤;
在未检测到存在读操作的情况下,进入休眠状态。
所述确定模块402,进一步被配置为:
在逐个区域扫描的过程中,判断当前区域中的数据属性;
在所述数据属性为热数据的情况下,在所述当前区域中确定待扫描的字线,并对所述字线进行扫描处理;
在所述数据属性为冷数据的情况下,跳过所述当前区域,进入下一区域进行扫描。
所述处理模块406,还被配置为:
基于所述参考电压读取所述区域的数据;
在所述数据读取错误的情况下,使用默认电压读取所述数据。
所述处理模块406,还被配置为:
在所述闪存存储器的每轮扫描过程中,根据所述数据的读取结果,更新所述区域中的纠错单元的备注信息,其中,所述闪存存储器对应多轮扫描过程;
在所述闪存存储器的每轮扫描过程中,将所述备注信息作为选择纠错单元的参考信息。
所述处理模块406,进一步被配置为:
根据所述数据的读取结果,更新所述区域的状态参数,所述状态参数用于记录所述区域的数据读取错误次数;
在所述状态参数达到预设参数阈值的情况下,将所述参考电压对应的所述纠错单元进行所述备注信息的标注。
所述处理模块406,进一步被配置为:
如果所述纠错单元的标注次数达到预设标注阈值,将所述备注信息设置为表示不可选的信息。
上述为本实施例的一种闪存的检测装置的示意性方案。需要说明的是,该闪存的检测装置的技术方案与上述的闪存的检测方法的技术方案属于同一构思,闪存的检测装置的技术方案未详细描述的细节内容,均可以参见上述闪存的检测方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WordLineAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述闪存的检测方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的闪存的检测方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述闪存的检测方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述闪存的检测方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的闪存的检测方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述闪存的检测方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述闪存的检测方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的闪存的检测方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述闪存的检测方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种闪存的检测方法,包括:
对主机是否存在读操作进行检测;
在检测到存在读操作的情况下确定闪存存储器的待扫描的区域;
在未检测到存在读操作的情况下,进入休眠状态;
在所述区域中确定待扫描的字线,并对所述字线进行扫描处理;
根据扫描处理结果确定与所述字线对应的纠错单元,并利用所述纠错单元确定参考电压。
2.根据权利要求1所述的方法,所述确定闪存存储器的待扫描的区域步骤执行之前,包括:
预设所述闪存存储器的扫描区域对应的扫描时长;
将所述扫描区域划分为多个待扫描的区域;
根据所述扫描时长确定每个待扫描的区域对应的子扫描时长,其中,所述子扫描时长,用于确定每个待扫描的区域的扫描启动时间。
3.根据权利要求2所述的方法,所述确定闪存存储器的待扫描的区域步骤执行之后,包括:
在逐个区域扫描的过程中,判断当前区域中的数据属性;
在所述数据属性为热数据的情况下,在所述当前区域中确定待扫描的字线,并对所述字线进行扫描处理;
在所述数据属性为冷数据的情况下,跳过所述当前区域,进入下一区域进行扫描。
4.根据权利要求1所述的方法,所述利用所述纠错单元确定参考电压之后,还包括:
基于所述参考电压读取所述区域的数据;
在所述数据读取错误的情况下,使用默认电压读取所述数据。
5.根据权利要求4所述的方法,还包括:
在所述闪存存储器的每轮扫描过程中,根据所述数据的读取结果,更新所述区域中的纠错单元的备注信息,其中,所述闪存存储器对应多轮扫描过程;
在所述闪存存储器的每轮扫描过程中,将所述备注信息作为选择纠错单元的参考信息。
6.根据权利要求5所述的方法,所述根据所述数据的读取结果,更新所述区域中的纠错单元的备注信息,包括:
根据所述数据的读取结果,更新所述区域的状态参数,所述状态参数用于记录所述区域的数据读取错误次数;
在所述状态参数达到预设参数阈值的情况下,将所述参考电压对应的所述纠错单元进行所述备注信息的标注。
7.根据权利要求6所述的方法,在所述状态参数达到预设参数阈值的情况下,将所述参考电压对应的所述纠错单元进行所述备注信息的标注,包括:
如果所述纠错单元的标注次数达到预设标注阈值,将所述备注信息设置为表示不可选的信息。
8.一种闪存的检测装置,包括:
确定模块,对主机是否存在读操作进行检测;在检测到存在读操作的情况下被配置为确定闪存存储器的待扫描的区域;在未检测到存在读操作的情况下,进入休眠状态;
扫描模块,被配置为在所述区域中确定待扫描的字线,并对所述字线进行扫描处理;
处理模块,被配置为根据扫描处理结果确定与所述字线对应的纠错单元,并利用所述纠错单元确定参考电压。
9.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至7任意一项所述闪存的检测方法的步骤。
10.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至7任意一项所述闪存的检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210215475.7A CN114360628B (zh) | 2022-03-07 | 2022-03-07 | 闪存的检测方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210215475.7A CN114360628B (zh) | 2022-03-07 | 2022-03-07 | 闪存的检测方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114360628A CN114360628A (zh) | 2022-04-15 |
CN114360628B true CN114360628B (zh) | 2022-08-16 |
Family
ID=81094563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210215475.7A Active CN114360628B (zh) | 2022-03-07 | 2022-03-07 | 闪存的检测方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114360628B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454710B (zh) * | 2022-11-10 | 2023-03-24 | 珠海妙存科技有限公司 | 闪存数据读取方法及其装置、电子设备、存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104282339A (zh) * | 2013-07-08 | 2015-01-14 | 群联电子股份有限公司 | 读取电压设定方法、控制电路与存储器储存装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7954037B2 (en) * | 2005-10-25 | 2011-05-31 | Sandisk Il Ltd | Method for recovering from errors in flash memory |
JP4791912B2 (ja) * | 2006-08-31 | 2011-10-12 | 株式会社東芝 | 不揮発性半導体記憶装置及び不揮発性記憶システム |
CN101794622B (zh) * | 2010-02-10 | 2012-12-12 | 华为数字技术(成都)有限公司 | 存储设备的数据扫描方法和装置 |
TWI523025B (zh) * | 2013-12-27 | 2016-02-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其錯誤校正方法 |
KR102578153B1 (ko) * | 2016-08-25 | 2023-09-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
JP6674361B2 (ja) * | 2016-09-29 | 2020-04-01 | キオクシア株式会社 | メモリシステム |
US10340016B2 (en) * | 2017-06-26 | 2019-07-02 | Micron Technology, Inc. | Methods of error-based read disturb mitigation and memory devices utilizing the same |
CN111433754B (zh) * | 2017-09-30 | 2024-03-29 | 美光科技公司 | 先占式闲置时间读取扫描 |
US10811091B2 (en) * | 2018-10-12 | 2020-10-20 | Western Digital Technologies, Inc. | Adaptive processing for read threshold voltage calibration |
US11367488B2 (en) * | 2018-12-11 | 2022-06-21 | SK Hynix Inc. | Memory system and method for read operation based on grouping of word lines |
KR20200076403A (ko) * | 2018-12-19 | 2020-06-29 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치, 컨트롤러, 이들을 포함하는 저장 장치 및 그들의 동작 방법 |
KR20200118989A (ko) * | 2019-04-09 | 2020-10-19 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 |
-
2022
- 2022-03-07 CN CN202210215475.7A patent/CN114360628B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104282339A (zh) * | 2013-07-08 | 2015-01-14 | 群联电子股份有限公司 | 读取电压设定方法、控制电路与存储器储存装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114360628A (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425597B (zh) | 数据储存装置和快闪存储器的区块管理方法 | |
US20110202709A1 (en) | Optimizing storage of common patterns in flash memory | |
US8732385B2 (en) | Non-volatile memory, controller controlling next access | |
CN101369463B (zh) | 闪存检测分类方法 | |
US20070081401A1 (en) | Apparatus for controlling flash memory and method thereof | |
EP0973097A1 (en) | Memory and access method | |
CN101706822B (zh) | 提高挂载日志式文件***速度的方法及设备 | |
US20040246779A1 (en) | Non-volatile storage device and control method thereof | |
CN114360628B (zh) | 闪存的检测方法以及装置 | |
CN114327258B (zh) | 一种固态硬盘处理方法、***、设备及计算机存储介质 | |
CN112347001B (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
CN114287031A (zh) | 存储器中的操作 | |
CN109343800B (zh) | 存储设备管理方法、装置及可读存储介质 | |
CN116610636A (zh) | 一种文件***的数据处理方法、装置、电子设备及存储介质 | |
CN109243517B (zh) | 一种用于NAND Flash不良区块的查找方法、固态硬盘 | |
CN106021124B (zh) | 一种数据的存储方法及存储*** | |
CN112347524B (zh) | 闪存编程方法、装置及电子设备 | |
CN111356094B (zh) | 一种sim短消息处理方法及装置 | |
CN114625321A (zh) | 数据写入方法以及装置 | |
CN113448771A (zh) | 存储器控制器与数据处理方法 | |
KR20060123075A (ko) | 플래쉬 메모리 내의 손상된 블록 관리 | |
KR20200101884A (ko) | 데이터 저장 시스템 및 그것의 동작 방법 | |
CN116185309B (zh) | 一种数据处理方法及数据存储设备 | |
CN113419674B (zh) | 数据编程管理方法、存储器及其控制器,以及计算机*** | |
CN111596859B (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 | ||
CB02 | Change of applicant information |
Address after: Room 554, 5 / F, building 3, 969 Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 310052 room 508, 5th floor, building 4, No. 699 Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: Alibaba (China) Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |