一种闪存错误检测方法及装置.pdf

上传人:a3 文档编号:4597634 上传时间:2018-10-21 格式:PDF 页数:8 大小:553.28KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510017290.5

申请日:

2015.01.14

公开号:

CN104572336A

公开日:

2015.04.29

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 11/10申请日:20150114|||公开

IPC分类号:

G06F11/10

主分类号:

G06F11/10

申请人:

广东省电子信息产业集团有限公司

发明人:

黎智

地址:

510507广东省广州市天河区粤垦路188号8楼

优先权:

专利代理机构:

成都九鼎天元知识产权代理有限公司51214

代理人:

詹永斌

PDF下载: PDF下载
内容摘要

本发明提供了一种闪存错误检测方法及装置。根据闪存中各页所在位置的物理特性,将一个块中的页按照ECC增长的速度差异分为不同的组,在实际巡检操作中,根据不同的页组的ECC增长速度差异分配不同的ECC巡检门限值,ECC增长越快的页面,ECC巡检门限值越低,反之越高;对某个块中的某一页的读取操作完成后,判断该页当前ECC值是否已经超过该页所在组的巡检门限,否,则等待一个定时周期后,继续读取下一个页;是,则将新数据写入新的页面,让所述该页内数据中的ECC归零。各页面的寿命得到了最大程度的利用,也提升了巡检操作的效率。

权利要求书

1.  一种闪存错误检测方法,根据闪存中各页所在位置的物理特性,将一个块中的页按照ECC增长的速度差异分为不同的组,在实际巡检操作中,根据不同的页所在组的ECC增长速度差异分配不同的ECC巡检门限值,ECC增长越快的页面,ECC巡检门限值越低,反之越高。

2.
  根据权利要求1所述的闪存错误检测方法,所述方法还包括,对某个块中的某一页的读取操作完成后,判断该页当前ECC值是否已经超过该页所在组的巡检门限,否,则等待一个定时周期后,继续读取下一个页;是,则将新数据写入新的页面,并让所述新页面内数据中的ECC归零。

3.
  根据权利要求2所述的闪存错误检测方法,所述方法还包括,在将所述新页面内数据中的ECC归零的同时,将该块内,后面还没有被读取过的页面,不等待巡检的定时器,依次读完,在确认读操作的过程中,依然和本页面所在的组对应的巡检门限值进行对比。

4.
  根据权利要求3所述的闪存错误检测方法,所述方法还包括,将所述块读取完成后,选择下一个块的第一页,巡检的定时器重新工作。

5.
  一种闪存错误检测方法,对某个块中的某一页的读取操作完成后,判断该页当前ECC值是否已经超过该页所在组的巡检门限,否,则等待一个定时周期后,继续读取下一个页;是,则将新数据写入新的页面,并让所述新页面内数据中的ECC归零。

6.
  根据权利要求5所述的闪存错误检测方法,所述方法还包括,在将所述新页面内数据中的ECC归零的同时,将该块内,后面还没有被读取过的页面,不等待巡检的定时器,依次读完,在确认读操作的过程中,依然和本页面所在的组对应的巡检门限值进行对比。

7.
  根据权利要求6所述的闪存错误检测方法,所述方法还包括,将所述块读取完成后,选择下一个块的第一页,巡检的定时器重新工作。

8.
  一种闪存错误检测装置,其特征在于,包括
页分组模块,根据闪存中各页所在位置的物理特性,将一个块中的页按照ECC增长的速度差异分为不同的组;
巡检门限值分配模块,根据不同的页组的ECC增长速度的差异分配不同的ECC巡检门限值,ECC增长越快的页面,ECC巡检门限值越低,反之越高。

9.
  根据权利要求8所述的闪存错误检测装置,其特征在于,还包括,
巡检门限超出判断模块,对某个块中的某一页的读取操作完成后,判断该页当前ECC值是否已经超过该页所在组的巡检门限;
超出巡检门限处理模块,将超出的新数据写入新的页面,并让所述新页面内数据中的ECC归零。

10.
  根据权利要求9所述的闪存错误检测装置,其特征在于,还包括,读取操作模块,在将所述新页面内数据中的ECC归零的同时,将该块内,后面还没有被读取过的页面,不等待巡检的定时器,依次读完。

说明书

一种闪存错误检测方法及装置
技术领域
本发明涉及一种闪存错误检测方法及装置,特别是涉及一种适用于包含Nand Flash闪存介质的存储器的闪存错误检测方法及装置。
背景技术
目前,Nand Flash作为非易失存储介质,从TF卡、SD卡到SSD硬盘及各种电子设备,都得到了广泛的应用。Nand Flash闪存的对外封装形式是颗粒设计,每个颗粒中有一个或多个Die,每个Die有数个块组成,而块则由页组成,页中包含数个数据单元,这些数据单元根据设计可以存储1bit到几bit的数据。在操作上,必须要先擦除才能写入,擦除以块为最小单位,写入和读取以页为最小单位。Nand Flash闪存存在寿命,以擦除/写入周期作为衡量标准指标。
Nand Flash闪存本身存在着固有缺陷,存储数据的单元中的电子数目会随着时间发生变化,当这种变化累积到一定程度之后,就会出现读取状态的变化,即该Bit的值发生了翻转。同时,随着加工工艺的进步,Nand Flash颗粒的制程进一步缩小,也加剧了该问题的发生概率。
在Bit翻转问题的处理上,通用的处理方式是加入ECC校验功能。将一个页中的数据划分为数个ECC单元,当ECC单元内的数据发生翻转的Bit数是在ECC引擎的纠错能力范围内,则该ECC单元中的数据都可以保证正确。但Bit翻转数会随着时间的增长而增加,随着时间累积,ECC单元中Bit翻转的总数目会超过ECC引擎能力,从而导致整个ECC单元的数据失效。这种情况在现实应用中是存在的,比如数据中心的某条历史记录,存放进Nand Flash介质之后只会在查阅时被读取,而不会再次写入。
为解决长期存储的数据有可能超过ECC引擎能力的问题,有一种通用的处理方法,业界称为巡检,即存储器的控制器将按照块的顺序,依次读取块中的每个页,设定一个统一的ECC门限值,读取时发现超过门限值的页,数据会被写入到新页中,由于读取过程中经过了ECC引擎的纠错,则重新写入的数据中无ECC,避免了在本周期内出现数据不可纠正的问题。在一个块读取完成后,继续对下一个块执行同样的操作。
发明内容
巡检技术在解决问题的同时,也引入了新的问题。如图1所示,在一个产品中,其ECC最大可纠值是固定的,代表了一个ECC单元内最大允许出错的Bit数。现有的巡检技术中,ECC巡检门限值也是一个全局的值。但实际观测发现,一个块内,不同的页在同一周期内,其ECC增幅是不一样的。由于ECC巡检门限采用全局统一值,表示需要考虑一个块内最恶劣的页,要保证一个巡检周期内,其ECC的增幅不超过ECC最大可纠值和ECC巡检门限值的差值,而这之中,ECC最大可纠值和巡检周期是在设计初期定下来的,则可调整的是ECC巡检门限值。
采用统一的ECC巡检门限值,覆盖了情况最恶劣的页,但是对于ECC情况较好的页,则在该页离ECC最大可纠值还有很长一段时间的情况下,就会将该页进行重写,会增加擦除/写入周期,这个是对产品寿命的牺牲。特别是在情况恶劣的页在块内的数量较少的情况下,对整个产品的寿命影响牺牲更大。
本发明要解决的技术问题是提供一种延长产品寿命、提升巡检操作效率的闪存错误检测方法及装置。
本发明采用的技术方案如下:一种闪存错误检测方法,根据闪存中各页所在位置的物理特性,将一个块中的页按照ECC增长的速度差异分为不同的组,在实际巡检操作中,根据不同的页组的ECC增长速度的差异分配不同的ECC巡检门限值,ECC增长越快的页面,ECC巡检门限值越低,反之越高。
作为优选,所述方法还包括,对某个块中的某一页的读取操作完成后,判断该页当前ECC值是否已经超过该页所在组的巡检门限,否,则等待一个定时周期后,继续读取下一个页;是,则将新数据写入新的页面,并让所述新页面内数据中的ECC归零。
作为优选,所述方法还包括,在将所述新页面内数据中的ECC归零的同时,将该块内,后面还没有被读取过的页面,不等待巡检的定时器,依次读完,在确认读操作的过程中,依然和本页面所在的组对应的巡检门限值进行对比。
作为优选,所述方法还包括,将所述块读取完成后,选择下一个块的第一页,巡检的定时器重新工作。
一种闪存错误检测方法,对某个块中的某一页的读取操作完成后,判断该页当前ECC值是否已经超过该页所在组的巡检门限,否,则等待一个定时周期后,继续读取下一个页;是,则将新数据写入新的页面,并让所述新页面内数据中的ECC归零。
作为优选,所述方法还包括,在将所述新页面内数据中的ECC归零的同时,将该块内,后面还没有被读取过的页面,不等待巡检的定时器,依次读完,在确认读操作的过程中,依然和本页面所在的组对应的巡检门限值进行对比。
作为优选,所述方法还包括,将所述块读取完成后,选择下一个块的第一页,巡检的定时器重新工作。
一种闪存错误检测装置,其特征在于,包括
页分组模块,根据闪存中各页所在位置的物理特性,将一个块中的页按照ECC增长的速度差异分为不同的组;
巡检门限值分配模块,根据不同的页组的ECC增长速度的差异分配不同的ECC巡检门限值,ECC增长越快的页面,ECC巡检门限值越低,反之越高。
作为优选,还包括,
巡检门限超出判断模块,对某个块中的某一页的读取操作完成后,判断该页当前ECC值是否已经超过该页所在组的巡检门限;
超出巡检门限处理模块,将超出的新数据写入新的页面,并让所述新页面内数据中的ECC归零。
作为优选,还包括,读取操作模块,在将所述新页面内数据中的ECC归零的同时,将该块内,后面还没有被读取过的页面,不等待巡检的定时器,依次读完。
与现有技术相比,本发明的有益效果是:根据各页面实际的不同,分别进行了ECC巡检门限的设置,各页面的寿命得到了最大程度的利用;读取到ECC超限的情况后,会对本块内的所有页全部读取一遍,由于一个块内的页之间相互影响较大,这种情况下,发现这个块内其他页同样出现ECC超限的几率也会大大增加,因此,也提升了巡检操作的效率。
附图说明
图1为ECC累积值示意图。
图2为本发明其中一实施例的分组逻辑示意图。
图3为本发明其中一实施例的巡检控制流程示意图。
图4为本发明其中一实施例的ECC超限处理流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
Nand Flash闪存以页作为其操作过程中最小的读写单位,若干个页Page(128/256/512)组成一个块Block。现有的巡检方案按照块的顺序依次读取块中的每一个页,以此确定是否有页出现了超过ECC门限的情况。由于采用的全局统一的ECC门限值,很多ECC情况较好的页也会在超过这个统一门限值的情况下被重写,浪费了一部分寿命。
在本发明方案中,基于颗粒实际的情况,根据闪存中各页所在位置的物理特性,将一个块中的页按照ECC增长的速度差异分为不同的组,在实际巡检操作中,根据不同的页组的ECC增长速度的差异分配不同的ECC巡检门限值,ECC增长越快的页面,ECC巡检门限值越低,反之越高。
如图2所示,需要根据块内各页的特性差异以及特定的技术手段,将同一个块内的各页分成不同的组,组内的页越容易出现Bit翻转的情况,则其对应的ECC巡检门限值越低。
将页面进行分组,为每组分配不同的ECC巡检门限值,确保在巡检周期不变的情况下,本组内的页面在一个周期内,其ECC增长值不会由本组的ECC巡检门限值增长到超过ECC最大可纠值。在不增加成本和保证数据的前提下,保证产品寿命的最大实现,从而提升产品的可靠性。
如图3所示,启动巡检后,先按照块的顺序选择块,依次选择块内的各页,当一次读写操作的定时器到时后,将当前页发送给读取操作执行结构进行读取操作,在读取完成后,和该页所在的组对应的ECC巡检门限值进行对比,即图中的门限值n,判断该页当前ECC值是否已经超过该页所在组的巡检门限,在门限以下,则等待巡检定时器发起下一个页面的读取,等待一个定时周期后,继续读取下一个页;超过该组的门限,则将新数据写入新的页面,并让所述新页面内数据中的ECC归零。
如图4所示,读取到ECC超限之后,会先将该页的数据写入到一个新页面中,由于经过了ECC引擎的纠正,则该页面中发生Bit翻转的数据已经被纠正,即写入新页的数据是没有Bit翻转的。
在将所述新页面内数据中的ECC归零的同时,将该块内,后面还没有被读取过的页面,不等待巡检的定时器,依次读完,在确认读操作的过程中,依然和本页面所在的组对应的巡检门限值进行对比,,直到将整个块遍历完成,在这个过程中,发现的ECC超限的页也会进行一样的操作步骤,即经过ECC引擎纠错后,写入新页,将所有发生Bit翻转的数据均纠正过来。
将所述块读取完成后,即在该块的所有页被遍历完成后,等待定时器的下次启动,选择下一个块的第一页,巡检的定时器重新工作。
现有的技术,没有对各块内的页进行区分,设定的ECC巡检门限是为了满足情况最恶劣的页面,相对于其他的页面而言,对其寿命有较大的浪费。
本方案中,根据各页面实际的不同,分别进行了ECC巡检门限的设置,也就是说,各页面的寿命得到了最大程度的利用。
同时,本方案中,读取到ECC超限的情况后,会对本块内的所有页全部读取一遍。由于一个块内的页之间相互影响较大,这种情况下,发现这个块内其他页同样出现ECC超限的几率也会大大增加。因此,也提升了巡检操作的效率。
可以举例分析该方案的实际效果。采用本方案后,最差组含有2%的页,需要在巡检周期t内进行一次重写,其ECC门限值为E1;中间组含有49%的页,可以在4个巡检周期内被重写,其在2t时间内ECC数增长到E1;最优组含有49%的页,可以在8个巡检周期内被重写,其在4t时间内ECC数增长到E1。假设一个块内有128页面。则现有方案,8t时间内,
(2%*8 + 49%*(8t/2t) + 49%*(8t/4t))*128=396页被重新写入,才有本方案后,8t时间内
(2%*8 + 49%*(8t/4t) + 49%*(8t/8t))*128=208页被重新写入。
可见,在数据不变的情况下,同样的时间内,为保证数据的可靠,现方案耗费的新页面数接近本方案的两倍。

一种闪存错误检测方法及装置.pdf_第1页
第1页 / 共8页
一种闪存错误检测方法及装置.pdf_第2页
第2页 / 共8页
一种闪存错误检测方法及装置.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《一种闪存错误检测方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种闪存错误检测方法及装置.pdf(8页珍藏版)》请在专利查询网上搜索。

本发明提供了一种闪存错误检测方法及装置。根据闪存中各页所在位置的物理特性,将一个块中的页按照ECC增长的速度差异分为不同的组,在实际巡检操作中,根据不同的页组的ECC增长速度差异分配不同的ECC巡检门限值,ECC增长越快的页面,ECC巡检门限值越低,反之越高;对某个块中的某一页的读取操作完成后,判断该页当前ECC值是否已经超过该页所在组的巡检门限,否,则等待一个定时周期后,继续读取下一个页;是,则。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1