一种快速寻找nand闪存最佳重读电压的方法

文档序号:1536688 发布日期:2020-02-14 浏览:30次 >En<

阅读说明:本技术 一种快速寻找nand闪存最佳重读电压的方法 (Method for quickly searching optimal rereading voltage of NAND flash memory ) 是由 原顺 于 2019-08-06 设计创作,主要内容包括:本发明提出一种快速寻找NAND闪存最佳重读电压的方法,包括以下步骤:A、分别确定在所有可能的读电压值下,NAND闪存中的至少一页中的所有数据出现位反转的数量;B、将出现最小位反转数量所对应的一个或多个读电压值设置为第一读电压数据集,并且将第一读电压数据集中的所有数据值的中值作为最佳重读电压;C、若所述最佳重读电压在所述NAND闪存中重读电压范围内,则将所述最佳重读电压应用到所述NAND闪存。(The invention provides a method for quickly searching the optimal rereading voltage of a NAND flash memory, which comprises the following steps: A. respectively determining the number of bit reversals of all data in at least one page in the NAND flash memory under all possible read voltage values; B. setting one or more reading voltage values corresponding to the minimum bit reversal number as a first reading voltage data set, and taking the median value of all data values in the first reading voltage data set as the optimal rereading voltage; C. and if the optimal rereading voltage is within the rereading voltage range in the NAND flash memory, applying the optimal rereading voltage to the NAND flash memory.)

一种快速寻找NAND闪存最佳重读电压的方法

技术领域

本发明涉及数据处理领域,特别涉及一种快速寻找NAND闪存最佳重读电压的方法。

背景技术

NAND闪存是现如今广泛使用的存储产片,具有速度快,非易失等优良特性。其内部实 际上以存储电荷的形式来表示数据,在实际使用过程中,由于各种内外部条件的变化会导致 存储电荷数量的变化,如果这一变化累积到一定程度,以默认的读操作来访问NAND闪存, 很可能无法得到正确的数据。一般来说NAND闪存的生产厂家会允许用于调整用于判决cell (存储单元)状态的读电压,通过调整读电压来将数据正确的恢复出来,通常这个过程被称 为readretry(重读)。本发明提供一种方法将NAND闪存内部一个page(页)内存储单元的 阈值电压分布画出来,为用于选择合适的readretry方法以及数据错误分析提供依据。

NAND闪存产品在使用过程中,由于负载的内外部条件的影响,造成cell内电子数量发 生变化,进而导致以默认读电压无法得到正确的数据,通常原厂会提供多组readretry方法以 调整读电压的方式来恢复数据。为了快速从这些readretry方法中找到最有效的情况,我们需 要了解失效数据所在page内存储单元的阈值电压分布情况。

由于原厂并没有直接提供外部命令来得到cell的阈值电压分布,现有常用的解决方法是, 在实际使用readretry恢复数据的过程中一组一组分别尝试重读,直到能正确读取数据为止, 然而,这样的操作费时又低效。

发明内容

为了解决现有技术中,确定重读电压费时低效的问题,本发明提出了一种快速寻找NAND 闪存最佳重读电压的方法。

首先,本发明提出一种快速寻找NAND闪存最佳重读电压的方法,包括以下步骤:

A、分别确定在所有可能的读电压值下,NAND闪存中的至少一页中的所有数据出现位 反转的数量;

B、将出现最小位反转数量所对应的一个或多个读电压值设置为第一读电压数据集,并 且将第一读电压数据集中的所有数据值的中值作为最佳重读电压;

C、若所述最佳重读电压在所述NAND闪存中重读电压范围内,则将所述最佳重读电压 应用到所述NAND闪存。

进一步,在本发明提出的上述方法中,所述NAND闪存中的至少一页中的数据是随机分 布的,并且数据“0”的占比和数据“1”的占比均为50%。

进一步,在本发明提出的上述方法中,所述NAND闪存中的每一个存储单元所能放置的 数据量为1bit。

其次,本发明进一步提出一种快速寻找NAND闪存最佳重读电压的方法,包括以下步骤:

A’、向待测试NAND闪存中的至少一个SLC页写入一整页的随机数据;

B’、使用所有可能的读取电压分别读取NAND闪存中的至少一页中的所有数据,并分别 对读取结果进行记录,并分别计算其中读出为“1”的个数;

C’、将相邻两次读出为“1”的个数之差的绝对值,并将绝对值最小所对应的一个或多个 读取电压值确定为最佳重读电压数据集。

进一步,在本发明提出的上述方法中,所述所有可能的读取电压的数量为256个。

进一步,在本发明提出的上述方法中,当所述最佳重读电压数据集中的数据数量大于1 时,执行所述步骤C’后还包括步骤:

D’、以读取电压值为横坐标,“1”的个数之差的绝对值为纵坐标,画出二维的散点分布 图。

进一步,在本发明提出的上述方法中,所述步骤D’中的散点分布图的坐标原点对应 NAND闪存出厂的默认读取电压值。

再次,本发明提出一种快速寻找NAND闪存最佳重读电压的装置,包括以下模块:

初始化模块,用于分别确定在所有可能的读电压值下,NAND闪存中的至少一页中的所 有数据出现位反转的数量;

判断模块,用于将出现最小位反转数量所对应的一个或多个读电压值设置为第一读电压 数据集,并且将第一读电压数据集中的所有数据值的中值作为最佳重读电压;

目标确定模块,用于若所述最佳重读电压在所述NAND闪存中重读电压范围内,则将所 述最佳重读电压应用到所述NAND闪存。

再次,本发明提出一种快速寻找NAND闪存最佳重读电压的装置,包括以下模块:

随机写入模块,用于向待测试NAND闪存中的至少一个SLC页写入一整页的随机数据;

读取测试模块,用于使用所有可能的读取电压分别读取NAND闪存中的至少一页中的所 有数据,并分别对读取结果进行记录,并分别计算其中读出为“1”的个数;

寻找最佳模块,用于将相邻两次读出为“1”的个数之差的绝对值,并将绝对值最小所对 应的一个或多个读取电压值确定为最佳重读电压数据集。

最后,本发明提出一种计算机可读存储介质,其上储存有计算机程序,所述计算机程序 被处理器执行时实现上述方法的步骤。

本发明的有益成果是:通过执行本发明所提出的方法步骤,能够快速有效地找到NAND 闪存的最佳重读电压。

附图说明

图1为本发明提出的一种快速寻找NAND闪存最佳重读电压的方法的第一实施例的流程 图;

图2为本发明提出的一种快速寻找NAND闪存最佳重读电压的方法的第二实施例的流程 图;

图3为本发明提出的一种快速寻找NAND闪存最佳重读电压的方法的第三实施例的流程 图;

图4为本发明提出的一种快速寻找NAND闪存最佳重读电压的方法的第四实施例的重读 电压分布散点图;

图5为本发明提出的一种快速寻找NAND闪存最佳重读电压的方法的第五实施例的重读 电压分布散点图;

图6为本发明提出的一种快速寻找NAND闪存最佳重读电压的装置的第一框架图;

图7为本发明提出的一种快速寻找NAND闪存最佳重读电压的装置的第二框架图。

具体实施方式

以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整 的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本 申请中的实施例及实施例中的特征可以相互组合。附图中各处使用的相同的附图标记指示相 同或相似的部分。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它 可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本 申请中所使用的上、下、左、右等描述仅仅是相对于附图中本申请各组成部分的相互位置关 系来说的。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也 旨在包括多数形式,除非上下文清楚地表示其他含义。

本文及附图所描述的示例性实施例不应视为限制。在不脱离本文和权利要求的范围的情 况下,可以进行各种机械的、组成的、结构的、电气的和操作性的变形,包括等同物。在某 些情况下,未详细示出或描述公知的结构和技术,以免与本公开混淆。两幅或多幅图表中的 相同的附图标记表示相同或类似的元件。此外,参考一个实施例所详细描述的元件及其相关 特征,可以在任何可行的情况下包括在未具体示出或描述它们的其他实施例中。例如,如果 参考一个实施例详细描述了某个元件,并且没有参考第二实施例描述该元件,则也可以主张 包括该元件在第二实施例中。

此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通 常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限 制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本申请中可能采用术语第一、第二、第三等来描述各种元件,但这些 元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本 申请范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一 元件。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”。

在本发明的实施例中,方法步骤可以按另一个顺序执行。本发明并不限于所述的方法步 骤确定的顺序。

由于原厂并没有直接提供外部命令来得到cell的阈值电压分布,因此,通常情 况下,读取电压分布情况是未知的,现有常用的解决方法是,在实际使用readretry 恢复数据的过程中通常是一组一组分别尝试,直到能找到能正确读取数据的那一组 readretry方法。现有的选择readretry的方法是一种轮询的策略,当数据出现错误时, 从原厂所给的多组readretry中,从第一组尝试到最后一组,如果有一组readretry能 正确纠正数据就停止轮询。这种方法存在很大的盲目性,特别是当原厂提供的readtry 组数比较多的时候,这种方案会造成数据正确恢复时间大大延长。

因此,本发明提供了一种快速有效找到最佳readtry的方法。

具体地,参照图1的本发明提出的一种快速寻找NAND闪存最佳重读电压的方法的第一 实施例的流程图,在本发明的一个实施例中,所提出的方法包括以下步骤:

A、分别确定在所有可能的读电压值下,NAND闪存中的至少一页中的所有数据出现位反转 的数量;

B、将出现最小位反转数量所对应的一个或多个读电压值设置为第一读电压数据集,并且将 第一读电压数据集中的所有数据值的中值作为最佳重读电压;

C、若所述最佳重读电压在所述NAND闪存中重读电压范围内,则将所述最佳重读电压应用 到所述NAND闪存。具体地,出现位反转的情况意味数据“0”被读出为“1”或反过来,数 据“1”被读出为“0”。具体地,在本发明的一个实施例中,上述“中值”可以为平均值的意思。

进一步,在本发明的一个实施例中,所述NAND闪存中的至少一页中的数据是随机分布 的,并且数据“0”的占比和数据“1”的占比均为50%。随机分布的数据可避免所存储的数 据对于寻找最佳重读电压的影响,并且能够反映出普遍的闪存的数据存储情况,即在不考虑 所存储的数据的特殊性的一般情况下,数据“0”和数据“1”出现的概率基本上是一样的, 均为50%。

进一步,在本发明的一个实施例中,所述NAND闪存中的每一个存储单元所能放置的数 据量为1bit,即所述的NAND闪存为SLC NAND闪存。

具体地,参照图2的本发明提出的一种快速寻找NAND闪存最佳重读电压的方法的第二 实施例的流程图,在本发明的一个实施例中,所提出的方法包括以下步骤:

A’、向待测试NAND闪存中的至少一个SLC页写入一整页的随机数据;

B’、使用所有可能的读取电压分别读取NAND闪存中的至少一页中的所有数据,并分别对读 取结果进行记录,并分别计算其中读出为“1”的个数;

C’、将相邻两次读出为“1”的个数之差的绝对值,并将绝对值最小所对应的一个或多个读取 电压值确定为最佳重读电压数据集。

优选地,参照图3的本发明提出的一种快速寻找NAND闪存最佳重读电压的方法的第三 实施例的流程图,在本发明的一个实施例中,当所述最佳重读电压数据集中的数据数量大于 1时,执行所述步骤C’后还包括步骤D’、以读取电压值为横坐标,“1”的个数之差的绝对值 为纵坐标,画出二维的散点分布图。

具体地,在本发明的一个实施例中,所述所有可能的读取电压的数量为256个。

优选地,在本发明的一个优选实施例中,以SLC page为例,说明具体画出此page内默 认读电压附近cell阈值电压分布的方法。SLC类型的page cell只有“0”和“1”两种状态,读电压的作用是区分每个cell的状态是状态“0”还是状态“1”,由于NAND闪存写机制的 影响,一个page内cell的阈值电压应该大致是一个正态分布。本优选实施例的详细步骤如下:

1.向待测试slc page写入一整页的随机数据。一般而言,在实际使用过程中,原厂会要求所 有page的写入数据都是随机的,这里的随机数据至少满足的条件是数据“0”和数据“1”的 比例为50%;

2.用原厂提供的set offset命令,从左向右移动读电压,每移动一次,将这个page的原始数 据读出,计算其中“1”的个数。假设原厂提供的set offset命令可以将读电压移动256次,得 到的数据可以填入下表1所示的表格;

3.将相邻两次“1”的个数取差的绝对值;“1”的个数的差值可间接地反映位反转的数量;

4.以表的第一列为横坐标,第三列为纵坐标,画出散点图,这个图就可以反映出此page内阈 值电压的变化趋势,如图4所示;

5.从分布图中找到读电压的合适位置,与原厂提供的readretry值进行比较,得到最靠近此 值的一组readretry。

表1

Figure BDA0002157703520000051

Figure BDA0002157703520000061

具体地,参照图4的本发明提出的一种快速寻找NAND闪存最佳重读电压的方法的第四 实施例的重读电压分布散点图,在该图中,画出的是在默认读电压左右127个解析度(一个 解析度代表一个有厂家自定义的电压刻度)范围内一个SLC page的阈值电压分布,横坐标是 与默认读电压的相对位置,其中0刻度就是默认读电压的位置。可以看出分布边界离刻度0 的距离较远,意味着用默认读电压可以很好的区分cell中的“0”和“1”,数据以默认的电压 就可以正确读出。不需要进入readretry流程。

然而,在实际使用中,NAND闪存中的数据由于读写干扰,高低温等因素发生分布偏移,画 出的分布可能出现如图5所示的情况,这时默认的读电压在数据“0”分布之内,这样以默认 读电压去读取数据就会出现位反转,读电压应该向左移动才能更好的区分“0”和“1”的分 布。读电压应该向左移动25个单位左右才能正确的读出数据,可以参考厂家提供的readretry 方法,选择向左移动近似刻度的readretry方法来恢复数据。

特别地,在图4及图5中,均只能看到其中一个分布,即右侧的数据“0”分布,这时因为 SLC page的“0”分布和“1”分布距离较远,而原厂提供的读电压偏移范围有限,左侧的数据“1”分布不在读电压设置范围之内,而且在本优选实施例中没有必要将读电压设置到数据 的“1”分布范围内。

应当理解,根据本发明所提出的方法,所使用的NAND闪存优选为SLC NAND闪存,但在不违反本发明精神的前提下,也可以使用其他类型的闪存,而不限于SLC NAND闪存,例如MLC NAND闪存、TLC NAND闪存等。

具体地,参照图6的本发明提出的一种快速寻找NAND闪存最佳重读电压的装置的第一 框架图,在本发明的一个实施例中,所提出的装置包括以下模块:

初始化模块,用于分别确定在所有可能的读电压值下,NAND闪存中的至少一页中的所有数 据出现位反转的数量;

判断模块,用于将出现最小位反转数量所对应的一个或多个读电压值设置为第一读电压数据 集,并且将第一读电压数据集中的所有数据值的中值作为最佳重读电压;

目标确定模块,用于若所述最佳重读电压在所述NAND闪存中重读电压范围内,则将所述最 佳重读电压应用到所述NAND闪存。

优选地,在本发明的一个实施例中,上述的装置中所述NAND闪存中的至少一页中的数 据是随机分布的,并且数据“0”的占比和数据“1”的占比均为50%。

优选地,在本发明的一个实施例中,上述的装置中的NAND闪存中的每一个存储单元所 能放置的数据量为1bit,即所述的NAND闪存为SLC NAND闪存。

具体地,参照图7的本发明提出的一种快速寻找NAND闪存最佳重读电压的装置的第二 框架图,在本发明的一个实施例中,所提出的装置包括以下模块:

随机写入模块,用于向待测试NAND闪存中的至少一个SLC页写入一整页的随机数据;

读取测试模块,用于使用所有可能的读取电压分别读取NAND闪存中的至少一页中的所有数 据,并分别对读取结果进行记录,并分别计算其中读出为“1”的个数;

寻找最佳模块,用于将相邻两次读出为“1”的个数之差的绝对值,并将绝对值最小所对应的 一个或多个读取电压值确定为最佳重读电压数据集。

优选地,在本发明的一个实施例中,所述所有可能的读取电压的数量为256个。

优选地,在本发明的一个实施例中,当所述最佳重读电压数据集中的数据数量大于1时, 所述寻找最佳模块后还包括画图模块,用于以读取电压值为横坐标,“1”的个数之差的绝对 值为纵坐标,画出二维的散点分布图。这样可以更直观地了解分布情况。

最后,本发明提出一种计算机可读存储介质,其上储存有计算机程序,所述计算机程序 被处理器执行时实现上述方法的步骤。

综上所述,执行本发明所提出的方法步骤,能够达到以下的效果:

1.能直观的画出一个page内cell的阈值电压分布,用于分析此page内数据状态;

2.可以根据一个page的阈值电压分布直观的挑选最佳的readretry方法,不需要盲目的尝 试readretry,大大减少数据恢复时间。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在 非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术 包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置 的存储介质使得计算机以特定和预定义的方式操作-根据在具体实施例中描述的方法和附图。 每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要, 该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外, 为此目的该程序能够在编程的专用集成电路上运行。

进一步,该方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限 于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算 机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂 时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬 盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储 介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器 可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数 据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非 暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机 本身。

本文描述了本公开的实施例,包括发明人已知用于执行本发明的最佳模式。在阅读了上 述描述后,这些所述实施例的变化对本领域的技术人员将变得明显。发明人希望技术人员视 情况采用此类变型,并且发明人意图以不同于如本文具体描述的方式来实践本公开的实施例。 因此,经适用的法律许可,本公开的范围包括在此所附的权利要求书中叙述的主题的所有修 改和等效物。此外,本公开的范围涵盖其所有可能变型中的上述元素的任意组合,除非本文 另外指示或以其他方式明显地与上下文矛盾。

尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局 限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求 考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本发明的预定范围。 此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而 那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。

因此,应以说明性意义而不是限制性意义来理解本说明书和附图。然而,将明显的是: 在不脱离如权利要求书中阐述的本申请的更宽广精神和范围的情况下,可以对本申请做出各 种修改和改变。

其他变型在本申请的精神内。因此,尽管所公开的技术可容许各种修改和替代构造,但 在附图中已示出并且在上文中详细描述所示的其某些实施例。然而,应当理解,并不意图将 本申请局限于所公开的一种或多种具体形式;相反,其意图涵盖如所附权利要求书中所限定 落在本申请的精神和范围内的所有修改、替代构造和等效物。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:电压调整方法、存储器控制电路单元以及存储器存储装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!