CN102298543A - 一种存储器管理方法和装置 - Google Patents

一种存储器管理方法和装置 Download PDF

Info

Publication number
CN102298543A
CN102298543A CN2011102739724A CN201110273972A CN102298543A CN 102298543 A CN102298543 A CN 102298543A CN 2011102739724 A CN2011102739724 A CN 2011102739724A CN 201110273972 A CN201110273972 A CN 201110273972A CN 102298543 A CN102298543 A CN 102298543A
Authority
CN
China
Prior art keywords
page
bad
pages
screening
nonvolatile 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.)
Pending
Application number
CN2011102739724A
Other languages
English (en)
Inventor
周建华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2011102739724A priority Critical patent/CN102298543A/zh
Publication of CN102298543A publication Critical patent/CN102298543A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例公开了一种存储器管理方法和装置,其中方法的实现包括:监控是否达到执行筛选坏页的条件;若达到执行筛选坏页的条件,则对非易失性存储器的至少一个块内的数据页进行筛选得到坏页;所述坏页为稳定性不符合预定标准的页;读取所述坏页内的数据,并将所述读取的坏页内的数据写入至未失效页内;确认所述读取的坏页内的数据写入成功后,将所述坏页设置为禁用页。本发明实施例对非易失性存储器的页进行管理的方案,具有通用性,在保证了非易失性存储器的速度的前提下提高了非易失性存储器的可靠性。

Description

一种存储器管理方法和装置
技术领域
本发明涉及存储技术领域,特别涉及一种存储器管理方法和装置。
背景技术
固态硬盘(Solid State Disk,SSD)等类型的非易失性存储器一般采用与非门闪存(NAND Flash)来实现。NAND Flash是一种非易失性随机访问存储介质,其特点是断电后数据不消失,因此可以作为外部存储器使用。NANDFlash分为单层式储存单元(Single-Level Cell,SLC)和多层式储存单元(Multi-Level Cell,MLC)两种类型。SLC与MLC的区别主要是结构不同。SLC芯片每个存储单元只存放1Bit(字节)的资料,SLC类型的SSD效率高,速度快,可靠性高,寿命长且省电。MLC芯片通过使用大量的电压等级,在每个储存单元存放2Bit或更多Bit的资料,数据密度较大,MLC类型的SSD价格便宜。具体比较如下:
理论寿命:一般采用擦写次数(P/E Cycle)来比较,SLC可10万次擦写,MLC一般小于1万次擦写,SLC是MLC的10倍;理论速度:写入速度SLC大约是MLC的4倍左右,读取速度SLC是MLC的两倍左右;耗电:MLC比SLC耗电,在相同使用条件下比SLC要多15%左右的电流消耗;稳定性:SLC结构简单,控制容易,控制芯片兼容性好,MLC结构相对复杂,控制芯片兼容性相对要差。
以上是SLC和MLC芯片的主要区别,由于MLC更经济目前NAND Flash多采用MLC芯片。对NAND Flash的操作最主要是读、写和删除。NAND Flash的读和写以及删除,都需要一个个的命令来指示,这些命令都是以字节(Byte)为单位发布的;命令不同于数据的,所以要有命令保存使能信号;NAND Flash只有一组数据总线,并且总线的幅度只有8位或16位,地址和数据要共用这一组数据总线,所以就会有地址使能信号;另外,数据读写要有读写控制信号,所以会有读使能和写使能信号。
NAND Flash器件通常由一个内部寄存器和存储矩阵组成,存储矩阵包括若干块(Block),每个Block又包含若干页(Page),每个Page包含若干字节(Bytes),其中的某些Bytes为专有数据;每种NAND Flash芯片的存储矩阵大小定义不同,例如有一种NAND Flash以4224个Bytes组成一个Page,128个Page组成一个Block,由8192个Block组成整个闪存(Flash)存储器。在每页中前4096Bytes是用于存储数据,后128Bytes用于存放纠错码(ErrorCorrection Code,ECC)数据校验码,称为带外数据(Out of Bank,OOB)区。
随着Flash的工艺水平提升,例如,Flash工艺从50nm更新到4xnm,再更新到3xnm,目前已经到了2xnm,ECC的要求也变得越来越高,依然以上述NAND Flash的MLC为例,早期50nm MLC的ECC要求是4bit/512B,34nmMLC的ECC要求是12bit/512B,25nm MLC的ECC要求是24bit/1KB;P/ECycle的次数降低也即非易失性存储装置寿命的降低,同时在接近P/E Cycle寿命的时非易失性存储装置的可靠性也会急剧衰减。为了提高非易失性存储装置的寿命,采用减小编程电压,从而加大编程时间的方法来实现。虽然采用该方案可以大幅增加非易失性存储装置(例如SSD)的寿命,但是编程时间也大幅增加导致使SSD等非易失性存储装置速度慢。另外,由于需要减小编程电压加大编程时间,并且各供应商提供的SSD硬件特性并不相同,因此该方案由供应商针对各自的SSD提出,不具通用性。
发明内容
本发明实施例提供了一种存储器管理方法和装置,该方法和装置具有通用性,在保证非易失性存储装置的速度的前提下提高了非易失性存储装置的可靠性。
本发明实施例提供的存储器管理方法、包括:
监控是否达到执行筛选坏页的条件;
若达到执行筛选坏页的条件,则对非易失性存储器的至少一个块内的数据页进行筛选得到坏页;所述坏页为稳定性不符合预定标准的页;
读取所述坏页内的数据,并将所述读取的坏页内的数据写入至未失效页内;
确认所述读取的坏页内的数据写入成功后,将所述坏页设置为禁用页。
本发明实施例提供的存储器管理装置,包括:
监控单元,用于监控是否达到执行筛选坏页的条件;
筛选单元,用于若监控单元确认达到执行筛选坏页的条件,则对非易失性存储器的至少一个块内的数据页进行筛选得到坏页;所述坏页为稳定性不符合预定标准的页;
控制单元,用于读取所述坏页内的数据,并将所述读取的坏页内的数据写入至未失效页内;确认所述读取的坏页内的数据写入成功后,将所述坏页设置为禁用页。
从以上技术方案可以看出,本发明实施例具有以下优点:本发明实施例通过监控所述非易失性存储器是否达到执行筛选坏页的条件;并对非易失性存储器的至少一个块内的数据页进行筛选得到坏页;然后将坏页中的数据存到未失效的页能并禁用坏页,在保证非易失性存储装置的速度的前提下提高了非易失性存储装置的存储介质的寿命和设备使用的可靠性。
附图说明
图1为本发明实施例方法流程示意图;
图2为本发明实施例坏页示意图;
图3为本发明实施例坏页示意图;
图4为本发明实施例坏页示意图;
图5为本发明实施例坏页示意图;
图6为本发明实施例装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例主要应用于例如SSD等非易失性存储装置,本发明实施例中以SSD为例进行介绍。
本发明实施例提供了一种存储器管理方法、如图1所示,包括:
101:监控是否达到执行筛选坏页的条件;
上述101中对执行筛选坏页的条件进行监控。该步骤的执行主体可以是主机、也可以是SSD,还可以是其他SSD以外的SSD维护设备,对此本发明实施例不予限定。由于执行筛选坏页的条件所针对的对象可能有多种,因此本步骤的执行主体监控的对象也可能有多种,在后续实施例中将给出几个举例。
由于主机访问flash一般包括读操作和写操作,因此可以采用软件或控制器统计非易失性存储器中每个page的擦写次数和读次数,此外,还可以记录每个page的ECC错误bit数,并且将具体的次数存下来可以方便后续筛选坏页是使用。当擦写次数到达一定数值时,可以可以开始执行筛选坏页的流程。
本发明实施例还给出了上述101中监控是否达到执行筛选坏页的条件的几个举例:监控是否接收到输入的筛选命令,若接收到输入的筛选指令,则确认达到执行筛选坏页的条件;或者,
监控是否达到执行筛选的时间周期,若达到执行筛选的时间周期,则确认达到执行筛选坏页的条件;或者,
对非易失性存储器进行稳定性检测,确认上述非易失性存储器的稳定性是否在设定标准以下,若上述非易失性存储器的稳定性在设定标准以下,则确认达到执行筛选坏页的条件;或者,
监控非易失性存储器的页的擦写次数是否达到预定值,若非易失性存储器的页的擦写次数达到预定值,则确认达到执行筛选坏页的条件。
以上对启动坏页筛选的条件进行了几个举例,可以理解的是通过其他条件来启动并不影响本发明实施例的实现,因此以上举例不应理解为对本发明实施例的限定。
上述对启动坏页筛选的条件的举例中,“监控是否接收到输入的筛选命令”其监控对象是输入的筛选命令;“监控是否达到执行筛选的时间周期”其监控对象是时间周期;“对非易失性存储器进行稳定性检测”其监控对象则是非易失性存储器的稳定性;“监控非易失性存储器的页的擦写次数是否达到预定值”其监控对象则是非易失性存储器的页的擦写次数。
102:若达到执行筛选坏页的条件,则对非易失性存储器的至少一个块内的数据页进行筛选得到坏页;上述坏页为稳定性不符合预定标准的页;
本方案中可以仅对非易失性存储器的数据页进行筛选,相比于对所有页进行筛选可以减少筛选执行的范围,提高筛选效率。
筛选稳定性不符合预定标准的页的方案举例如下:Flash厂商会给出擦失败和编程失败的状态位;如果出现擦失败或编程失败,即使只是一个页有问题,因为坏块管理的原因,整个块都不再使用;所以对页的筛选是通过Flash常规的读状态命令(″0x70″)来查询,如果读出的bit值为“0”就成功,“1”就是失败;这个时候页或块实际上已经物理上失效了。本发明实施例中对坏页的筛选是基于不同的页在实际应用中的表现来进行预判,在其失效之前将其识别成坏页。
一般的,如果筛选标准降低可以筛选出更多的坏页,在实际操作中可以根据用户的实际需要确定有必要筛选出多少坏页。可选地,上述稳定性不符合预定标准包括:纠错码增加趋势高于预定标准、可擦写次数低于预定标准、可读次数低于预定标准、纠错码错误字节数高于预定标准中的至少一项。那么上述对非易失性存储器的至少一个块内的数据页进行筛选得到坏页;上述坏页为稳定性不符合预定标准的页包括:当非易失性存储器的页的可读次数低于预定标准时,判断纠错码增加趋势是否高于预定标准,当非易失性存储器的页的可读次数低于预定标准时,确定上述纠错码增加趋势高于预定标准的页为坏页;或者,
当非易失性存储器的页的纠错码错误字节数高于预定标准时,判断纠错码增加趋势是否高于预定标准,当非易失性存储器的页的纠错码错误字节数高于预定标准时,确定上述纠错码增加趋势高于预定标准的页为坏页;或者,
当非易失性存储器的页的可读次数低于预定标准,且纠错码错误字节数高于预定标准时,判断纠错码增加趋势是否高于预定标准,确定非易失性存储器的页的可读次数低于预定标准,且纠错码错误字节数高于预定标准时,确定上述纠错码增加趋势高于预定标准的页为坏页。
上述预定的标准在后续实例中将给出举例说明。另外,需要说明的是,上述三种判断方式为优选的实施方式,上述预定的标准的其他组合也是可以的,本发明实施例并对此进行限定。
需要说明的是:坏页实际上是每个block中相对最易失效的页,要将这些页挑出来必须使用一些参数来关注这些页的表现,通过列举的这几个参数可以挑出各种flash的坏页来。当然采用其它的量来确定页的稳定性也是可以的,以上四个举例不是穷举,对此本发明实施例不予限定。
上述稳定性在设定标准以下为:例如存储器读写错误率等稳定性指标在设定的标准以下,例如设置读写错误率的设定标准为:万分之一。可以理解的是,设置其它需要进行坏页筛选的条件来控制启动筛选操作也是可以的,本发明实施例不予限定。
上述实施例中,可以将以上四个举例的因素结合起来用来动态控制,完成坏页筛选;将block内的page分成数据page和冗余page两部分,数据page即为可以正常使用的page用于存放数据,冗余page是不使用的page用于替换筛选出的坏页。其中冗余page是理论上可以任意划分,冗余page的数量也任意设置,划分好之后在代码中标注page是冗余page还是数据page,设备就可以依据标注的信息对page进行识别了。
103:读取上述坏页内的数据,并将上述读取的坏页内的数据写入至未失效页内;
未失效页在后面的实施例中以冗余页中的未失效页为例进行说明,当然也可以是其他未失效的数据页。在NAND Flash中有存储数据的区和存储OOB的区,上述其他未失效的数据页可以是存储数据的区域里任意一个或者多个未失效页。
具体的,需要将源page的数据读出,写到目的page中,写命令在写完数据之后要自动回复查询状态命令0x70,如果没有返回失败的话,就确认数据全部写到目的page中了。
上述103中,将上述读取的坏页内的数据写入至未失效页内包括:确认上述坏页所在的块是否包括未失效页,若包括,则将上述读取的坏页内的数据写入至上述坏页所在的块的未失效页内;若不包括,则查找上述坏页所在块的相邻块得到未失效页,将上述读取的坏页内的数据写入至上述查找得到的未失效页内。
104:确认上述读取的坏页内的数据写入成功后,将上述坏页设置为禁用页。
可选地,在103和104中,将上述读取的坏页内的数据写入至未失效页内,确认上述读取的坏页内的数据写入成功后,将上述坏页设置为禁用页包括:将上述坏页内的数据写入至冗余页中的未失效页内,将上述冗余页中的未失效页设置为数据页;将上述冗余页中的未失效页设置为数据页后,将上述坏页设置为禁用页。实现了将上述坏页与冗余页的未失效页互换,并将上述坏页的数据存储到上述冗余页中的未失效页的目的,即:将上述坏页设置为冗余页,并将冗余页中的未失效的页设置为数据页。由于页的类型可以使用标识位来进行标识,那么上述设置的方式可以采用修改标识位来进行,例如:将坏页设置为冗余页即:将数据页的标识位修改为冗余页的标识位,因为从数据页中筛选的坏页是数据页,只是其稳定性低于了预定的标准。可以理解的是,以其它形式将坏页设置为禁用页也是可以的,并不影响本实施例的实现。可以理解的是由于每个页的空间相等,那么与坏页互换的未失效页的数量和坏页的数量是相同的。采用互换坏页与冗余页的方式可以保持存储设备存储数据的空间的大小不变。
举例说明:一个block有128个page,可以将前120个page作为数据page,后8个page作为冗余page,可以使用代码标注的方式标注冗余page,,本发明对此不作限定。
上述104中,确认读取的坏页内的数据写入成功包括:读取上述未失效页的数据,若读取成功,则确认上述读取的坏页内的数据写入成功。
下面给出使用软件控制完成上述103和104的流程如下:
1、软件记录坏页的具体位置,需要确定坏页所在的Flash、存储单元、block以及page;
2、检测坏页所在block中是否有未使用的冗余页,如果有,优先将坏页数据搬移到本block的冗余页中,如果坏页所在block中冗余页使用完了,则选择与坏页所在block临近的block中的冗余页;
3、将坏页中的数据读出,然后在将读取得到的数据写到选择的冗余页中,写完成之后如果通过读取该冗余页的数据确定写操作成功,则确定当前的坏页数据已经全部写入至未失效的页内;如果通过读取该冗余页的数据确定写操作失败,则确定当前的坏页数据写入至未失效的页内的操作失败了,那么可以重新选择一个冗余页,将从坏页中读取出的数据写入至重新选择的冗余页中,直到确定当前的坏页数据已经全部写入至未失效的页内;
4、如果block中有多个坏页,则重复上述步骤3,直到所有坏页的数据都搬移到冗余页中;
5、禁用坏页,禁用的方式可以是:将坏页的地址增加到坏页表中,后续不再使用。
本发明实施例将使用坏页管理和page冗余的方式,在存储设备的使用过程中对非易失性存储介质例如NAND Flash,进行动态分析,剔除block中最易出错的一些page;正是这些最易出错的page决定了NAND Flash的最短P/ECycle,剔除之后的block的寿命可以比原先增加3~5倍,本发明可以兼容各种NAND Flash颗粒,具有通用性,在保证SSD速度的前提下提高了SSD的可靠性。经测试,通过本发明实施例方案的坏页管理筛选之后的block的寿命比没有筛选前寿命延长3~5倍甚至更高。
另外,相比于对SSD使用坏块管理的方案,使用本实施例坏页管理的方案可以使管理粒度细化到page,可以更有效地利用SSD,例如:使用坏块管理时有一个page坏了,需要设置整个block为坏块;另外,使用本发明实施例的方案相比坏块管理的方案在冗余空间上减小了SSD的压力,以总空间为128G的SSD为例:有效空间设置为100G能达到某一性能,若使用坏页管理的方案,则达到该性能时有效空间可以增加到110G。
另外,本方案具有较好的通用性,可以适用于各个NAND Flash供应商提供的NAND Flash芯片,从而在SSD系统中广泛应用。
下面的实施例就以上举例中提到的:
纠错码增加趋势高于预定标准、可擦写次数低于预定标准、可读次数低于预定标准、纠错码错误字节数高于预定标准这四个参考指标的使用进行详细说明,步骤如下:
201:统计Flash的block内各page的ECC增加趋势典型分布图,X轴为读次数(Read Times),Y轴为ECC错误bit数(Page ECC bit),以及趋势体现的最坏的页(Worst page),如图2所示。
202:确定在典型的P/E Cycle下page的斜率水线:根据典型趋势分部图可以发现,X轴Y轴分布线上的80%~90%page的平均斜率都是分布在某条斜率水线之下,上述典型的斜率线可以参考平均的(Average)斜率这条虚线,如图3所示,高于Average斜率这条虚线以上的Worst page,即为纠错码增加趋势高于预定标准的page。
203:如图3、4、5所示;依次为:当读次数大于5000次时的示意图,在读次数大于5000次以后Worst page的稳定性很低,即可读次数低于预定标准;当ECC错误大于50bit时的示意图,该图中ECC错误大于50bit,即为纠错码错误字节数高于预定标准;多项条件同时满足时的示意图,可以用公式表示,即:f(x)=α·P/E+β·read+δ·ECC+tgθ,其中tgθ=ECC:read;上述公式右边各项依次为:PE Cycle、读次数、ECC错误bit、斜率。其中α、β、δ为设置各项在筛选坏页时候的权值,可以依据各项重要性来设置。
图3是考虑斜率和读次数的示意图;若厂商的闪存颗粒对读次数比较敏感,例如,某些闪存颗粒在擦写一定的次数之后,对读次数有具体的限制和要求,那么就可以使用读次数和斜率作为筛选条件。当在PE若干次之后,记录读取次数超过了5000次,此时如果有某page的斜率高于Average斜率就认为是坏页,需要滤除这些坏页。
图4是考虑斜率和ECC错误bit数的示意图;若厂商的闪存颗粒对ECC错误bit有较严格的要求,例如,某些闪存颗粒在擦写一定的次数之后,随着读次数的增加,ECC错误bit数的增加比较明显,那么就可以使用ECC错误bit数和斜率作为筛选条件。当在PE若干次之后,记录ECC错误bit数超过了50bit,此时如果有某page的斜率高于Average斜率就认为是坏页,需要滤除这些坏页。
图5是考虑斜率和读次数和ECC错误bit数的示意图;若厂商的闪存颗粒对ECC错误bit和读次数都比较敏感,例如,某些闪存颗粒再擦写一定的次数之后,读次数和ECC错误bit数都有要求,那么就可以使用读次数、ECC错误bit数和斜率作为筛选条件。当在PE若干次之后,记录ECC错误bit数超过了50bit或者读取次数超过了5000次,此时如果有某page的斜率高于Average斜率就认为是坏页,需要滤除这些坏页。
需要说明的是,在本发明实施例中,将上述坏页数据存储到未失效页内,将上述坏页设置为禁用页等操作中涉及的数据读写操作,是通过软件发命令给控制器,通过控制器来读写数据。
图4~5中标注了Average斜率以及Worst page。其中Worst page是可以确定为坏页的page。上述图3~5所示的方式都可以达到筛选坏页的目的,其筛选的力度,可以依据厂商的颗粒的表现以及应用场景来选择筛选方式。
204:在找出需要滤除的page之后开始执行与冗余区page互换,将坏page放入冗余区不再使用,将坏page中的数据存储到与之互换的冗余区page中。需要说明的是,冗余区的page由于有坏页的加入,为了避免将坏页重新换到数据页再次使用,可以标注那些是坏页,在操作的时候选择那些未失效的冗余区page进行互换。
本发明实施例还提供了一种存储器管理装置,如图6所示,包括:
监控单元601,用于监控是否达到执行筛选坏页的条件;
筛选单元602,用于若监控单元601确认达到执行筛选坏页的条件,则对非易失性存储器的至少一个块内的数据页进行筛选得到坏页;上述坏页为稳定性不符合预定标准的页;
控制单元603,用于读取上述坏页内的数据,并将上述读取的坏页内的数据写入至未失效页内;确认上述读取的坏页内的数据写入成功后,将上述坏页设置为禁用页。
可选地,上述控制单元603,具体用于确认上述坏页所在的块是否包括未失效页,若包括,则将上述读取的坏页内的数据写入至上述坏页所在的块的未失效页内;若不包括,则查找上述坏页所在块的相邻块得到未失效页,将上述读取的坏页内的数据写入至上述查找得到的未失效页内。
可选地,上述筛选单元602,具体用于当非易失性存储器的页的可读次数低于预定标准时,判断纠错码增加趋势是否高于预定标准,当非易失性存储器的页的可读次数低于预定标准时,确定上述纠错码增加趋势高于预定标准的页为坏页;或者,
当非易失性存储器的页的纠错码错误字节数高于预定标准时,判断纠错码增加趋势是否高于预定标准,当非易失性存储器的页的纠错码错误字节数高于预定标准时,确定上述纠错码增加趋势高于预定标准的页为坏页;或者,
当非易失性存储器的页的可读次数低于预定标准,且纠错码错误字节数高于预定标准时,判断纠错码增加趋势是否高于预定标准,确定非易失性存储器的页的可读次数低于预定标准,且纠错码错误字节数高于预定标准时,确定上述纠错码增加趋势高于预定标准的页为坏页。
可选地,监控单元601,具体用于监控是否接收到输入的筛选命令,若接收到输入的筛选指令,则确认达到执行筛选坏页的条件;或者,
具体用于监控是否达到执行筛选的时间周期,若达到执行筛选的时间周期,则确认达到执行筛选坏页的条件;或者,
具体用于对非易失性存储器进行稳定性检测,确认上述非易失性存储器的稳定性是否在设定标准以下,若上述非易失性存储器的稳定性在设定标准以下,则确认达到执行筛选坏页的条件;或者,
具体用于监控非易失性存储器的页的擦写次数是否达到预定值,若非易失性存储器的页的擦写次数达到预定值,则确认达到执行筛选坏页的条件。本发明实施例提供的装置,具有通用性,提高了SSD的可靠性。本发明实施例提供的装置可以应用在使用Flash的SSD系统、使用Flash作为缓冲存储的存储系统以及混合HDD和SSD的系统中提高系统整体性能,例如:现有技术中采用坏块管理的方案,当某个页出现写失败时,需要将该页所在的块中所有的其它页上的数据搬移到新的块中再置原块为坏块,而采用本发明实施例的坏页管理的方案只需要置原页为坏页,从而节省了上述的数据搬移的时间。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,上述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种存储器管理方法和装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种存储器管理方法、其特征在于,包括:
监控是否达到执行筛选坏页的条件;
若达到执行筛选坏页的条件,则对非易失性存储器的至少一个块内的数据页进行筛选得到坏页;所述坏页为稳定性不符合预定标准的页;
读取所述坏页内的数据,并将所述读取的坏页内的数据写入至未失效页内;
确认所述读取的坏页内的数据写入成功后,将所述坏页设置为禁用页。
2.根据权利要求1所述方法,其特征在于,确认读取的坏页内的数据写入成功包括:读取所述未失效页的数据,若读取成功,则确认所述读取的坏页内的数据写入成功。
3.根据权利要求1或2所述方法,其特征在于,将所述读取的坏页内的数据写入至未失效页内包括:
确认所述坏页所在的块是否包括未失效页,若包括,则将所述读取的坏页内的数据写入至所述坏页所在的块的未失效页内;若不包括,则查找所述坏页所在块的相邻块得到未失效页,将所述读取的坏页内的数据写入至所述查找得到的未失效页内。
4.根据权利要求1所述方法,其特征在于,将所述读取的坏页内的数据写入至未失效页内,确认所述读取的坏页内的数据写入成功后,将所述坏页设置为禁用页,包括:
将所述坏页内的数据写入至冗余页中的未失效页内,将所述冗余页中的未失效页设置为数据页;将所述冗余页中的未失效页设置为数据页后,将所述坏页设置为禁用页。
5.根据权利要求1、2或4所述方法,其特征在于,所述对非易失性存储器的至少一个块内的数据页进行筛选得到坏页;所述坏页为稳定性不符合预定标准的页包括:
当非易失性存储器的页的可读次数低于预定标准时,判断纠错码增加趋势是否高于预定标准,当非易失性存储器的页的可读次数低于预定标准时,确定所述纠错码增加趋势高于预定标准的页为坏页;或者,
当非易失性存储器的页的纠错码错误字节数高于预定标准时,判断纠错码增加趋势是否高于预定标准,当非易失性存储器的页的纠错码错误字节数高于预定标准时,确定所述纠错码增加趋势高于预定标准的页为坏页;或者,
当非易失性存储器的页的可读次数低于预定标准,且纠错码错误字节数高于预定标准时,判断纠错码增加趋势是否高于预定标准,确定非易失性存储器的页的可读次数低于预定标准,且纠错码错误字节数高于预定标准时,确定所述纠错码增加趋势高于预定标准的页为坏页。
6.根据权利要求1、2或4所述方法,其特征在于,监控是否达到执行筛选坏页的条件包括:
监控是否接收到输入的筛选命令,若接收到输入的筛选指令,则确认达到执行筛选坏页的条件;或者,
监控是否达到执行筛选的时间周期,若达到执行筛选的时间周期,则确认达到执行筛选坏页的条件;或者,
对非易失性存储器进行稳定性检测,确认所述非易失性存储器的稳定性是否在设定标准以下,若所述非易失性存储器的稳定性在设定标准以下,则确认达到执行筛选坏页的条件;或者,
监控非易失性存储器的页的擦写次数是否达到预定值,若非易失性存储器的页的擦写次数达到预定值,则确认达到执行筛选坏页的条件。
7.一种存储器管理装置,其特征在于,包括:
监控单元,用于监控是否达到执行筛选坏页的条件;
筛选单元,用于若监控单元确认达到执行筛选坏页的条件,则对非易失性存储器的至少一个块内的数据页进行筛选得到坏页;所述坏页为稳定性不符合预定标准的页;
控制单元,用于读取所述坏页内的数据,并将所述读取的坏页内的数据写入至未失效页内;确认所述读取的坏页内的数据写入成功后,将所述坏页设置为禁用页。
8.根据权利要求7所述装置,其特征在于,
所述控制单元,具体用于确认所述坏页所在的块是否包括未失效页,若包括,则将所述读取的坏页内的数据写入至所述坏页所在的块的未失效页内;若不包括,则查找所述坏页所在块的相邻块得到未失效页,将所述读取的坏页内的数据写入至所述查找得到的未失效页内。
9.根据权利要求7或8所述装置,其特征在于,
所述筛选单元,具体用于当非易失性存储器的页的可读次数低于预定标准时,判断纠错码增加趋势是否高于预定标准,当非易失性存储器的页的可读次数低于预定标准时,确定所述纠错码增加趋势高于预定标准的页为坏页;或者,
当非易失性存储器的页的纠错码错误字节数高于预定标准时,判断纠错码增加趋势是否高于预定标准,当非易失性存储器的页的纠错码错误字节数高于预定标准时,确定所述纠错码增加趋势高于预定标准的页为坏页;或者,
当非易失性存储器的页的可读次数低于预定标准,且纠错码错误字节数高于预定标准时,判断纠错码增加趋势是否高于预定标准,确定非易失性存储器的页的可读次数低于预定标准,且纠错码错误字节数高于预定标准时,确定所述纠错码增加趋势高于预定标准的页为坏页。
10.根据权利要求7或8所述装置,其特征在于,
监控单元,具体用于监控是否接收到输入的筛选命令,若接收到输入的筛选指令,则确认达到执行筛选坏页的条件;或者,
具体用于监控是否达到执行筛选的时间周期,若达到执行筛选的时间周期,则确认达到执行筛选坏页的条件;或者,
具体用于对非易失性存储器进行稳定性检测,确认所述非易失性存储器的稳定性是否在设定标准以下,若所述非易失性存储器的稳定性在设定标准以下,则确认达到执行筛选坏页的条件;或者,
具体用于监控非易失性存储器的页的擦写次数是否达到预定值,若非易失性存储器的页的擦写次数达到预定值,则确认达到执行筛选坏页的条件。
CN2011102739724A 2011-09-15 2011-09-15 一种存储器管理方法和装置 Pending CN102298543A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011102739724A CN102298543A (zh) 2011-09-15 2011-09-15 一种存储器管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011102739724A CN102298543A (zh) 2011-09-15 2011-09-15 一种存储器管理方法和装置

Publications (1)

Publication Number Publication Date
CN102298543A true CN102298543A (zh) 2011-12-28

Family

ID=45358976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102739724A Pending CN102298543A (zh) 2011-09-15 2011-09-15 一种存储器管理方法和装置

Country Status (1)

Country Link
CN (1) CN102298543A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789813A (zh) * 2012-06-20 2012-11-21 深圳市江波龙电子有限公司 一种控制存储设备内非最低有效位页使用的方法及装置
CN102915277A (zh) * 2012-10-17 2013-02-06 邹粤林 提高闪存芯片内部数据拷贝速度的方法、闪存存储系统及其控制器
CN103377010A (zh) * 2012-04-25 2013-10-30 西部数据技术公司 管理数据存储系统中的不可靠存储器
CN103514101A (zh) * 2012-06-18 2014-01-15 慧荣科技股份有限公司 存取闪存的方法以及相关的记忆装置
CN103745753A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 基于闪存的纠错方法与系统
CN105404473A (zh) * 2015-12-01 2016-03-16 清华大学 Nand flash存储器数据保持错误恢复方法
CN108052410A (zh) * 2017-12-20 2018-05-18 北京兆易创新科技股份有限公司 一种防止SPI-Nand读取数据页出错的方法及装置
CN108762670A (zh) * 2018-05-22 2018-11-06 郑州云海信息技术有限公司 一种ssd固件中数据块的管理方法、系统及装置
CN111026675A (zh) * 2019-12-06 2020-04-17 华中科技大学 一种高效的闪存数据刷新方法及基于闪存的固态硬盘
WO2020077489A1 (zh) * 2018-10-15 2020-04-23 华为技术有限公司 一种存储块处理的方法及相关设备
CN114490172A (zh) * 2022-04-02 2022-05-13 武汉杰开科技有限公司 数据存储系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329337A (zh) * 2001-05-24 2002-01-02 盖内蒂克瓦尔有限公司 动态随机存取内存的缺陷修护及状态显示的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329337A (zh) * 2001-05-24 2002-01-02 盖内蒂克瓦尔有限公司 动态随机存取内存的缺陷修护及状态显示的方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377010A (zh) * 2012-04-25 2013-10-30 西部数据技术公司 管理数据存储系统中的不可靠存储器
CN103377010B (zh) * 2012-04-25 2018-02-06 西部数据技术公司 管理数据存储系统中的不可靠存储器的系统和方法
CN103514101A (zh) * 2012-06-18 2014-01-15 慧荣科技股份有限公司 存取闪存的方法以及相关的记忆装置
US9384125B2 (en) 2012-06-18 2016-07-05 Silicon Motion Inc. Method for accessing flash memory having pages used for data backup and associated memory device
CN102789813A (zh) * 2012-06-20 2012-11-21 深圳市江波龙电子有限公司 一种控制存储设备内非最低有效位页使用的方法及装置
WO2013189212A1 (zh) * 2012-06-20 2013-12-27 深圳市江波龙电子有限公司 一种控制存储设备内非最低有效位页使用的方法及装置
CN102789813B (zh) * 2012-06-20 2015-03-18 深圳市江波龙电子有限公司 一种控制存储设备内非最低有效位页使用的方法及装置
CN102915277A (zh) * 2012-10-17 2013-02-06 邹粤林 提高闪存芯片内部数据拷贝速度的方法、闪存存储系统及其控制器
CN103745753A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 基于闪存的纠错方法与系统
CN105404473A (zh) * 2015-12-01 2016-03-16 清华大学 Nand flash存储器数据保持错误恢复方法
CN108052410A (zh) * 2017-12-20 2018-05-18 北京兆易创新科技股份有限公司 一种防止SPI-Nand读取数据页出错的方法及装置
CN108052410B (zh) * 2017-12-20 2021-04-13 北京兆易创新科技股份有限公司 一种防止SPI-Nand读取数据页出错的方法及装置
CN108762670A (zh) * 2018-05-22 2018-11-06 郑州云海信息技术有限公司 一种ssd固件中数据块的管理方法、系统及装置
CN108762670B (zh) * 2018-05-22 2021-06-29 郑州云海信息技术有限公司 一种ssd固件中数据块的管理方法、系统及装置
WO2020077489A1 (zh) * 2018-10-15 2020-04-23 华为技术有限公司 一种存储块处理的方法及相关设备
CN112805686A (zh) * 2018-10-15 2021-05-14 华为技术有限公司 一种存储块处理的方法及相关设备
CN111026675A (zh) * 2019-12-06 2020-04-17 华中科技大学 一种高效的闪存数据刷新方法及基于闪存的固态硬盘
CN111026675B (zh) * 2019-12-06 2022-02-15 华中科技大学 一种高效的闪存数据刷新方法及基于闪存的固态硬盘
CN114490172A (zh) * 2022-04-02 2022-05-13 武汉杰开科技有限公司 数据存储系统及方法
CN114490172B (zh) * 2022-04-02 2022-07-12 武汉杰开科技有限公司 数据存储系统及方法

Similar Documents

Publication Publication Date Title
CN102298543A (zh) 一种存储器管理方法和装置
US8638602B1 (en) Background selection of voltage reference values for performing memory read operations
US8332576B2 (en) Data reading method for flash memory and controller and storage system using the same
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US9582416B2 (en) Data erasing method, memory control circuit unit and memory storage apparatus
US9280460B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US9880742B2 (en) Valid data merging method, memory controller and memory storage apparatus
US8589619B2 (en) Data writing method, memory controller, and memory storage apparatus
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
TWI420308B (zh) 區塊管理方法、記憶體控制器與記憶體儲存裝置
US8370680B2 (en) Solid state storage system for controlling reserved area and method of controlling the same
KR20150020385A (ko) 데이터 저장 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템
US20070294588A1 (en) Performing a diagnostic on a block of memory associated with a correctable read error
KR20110024832A (ko) 데이터 머지 효율이 향상된 반도체 스토리지 시스템 및 그 제어 방법
CN113076218B (zh) Nvm芯片读数据错误快速处理方法及其控制器
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
CN105955672B (zh) 用于灵活控制损耗均衡的固态存储系统及方法
CN102880432B (zh) 利用数据有限寿命提高闪存芯片写入速度的方法、系统及其控制器
US20120159280A1 (en) Method for controlling nonvolatile memory apparatus
US20110087828A1 (en) Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof
US8832358B2 (en) Data writing method, memory controller and memory storage apparatus
US8448017B2 (en) Memory apparatus, memory controlling method and program
US11513722B2 (en) Memory system allowing operation during suspensions
US9830077B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US8713242B2 (en) Control method and allocation structure for flash memory device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant after: Huawei Symantec Technologies Co., Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant before: Chengdu Huawei Symantec Technologies Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

ASS Succession or assignment of patent right

Owner name: HUAWEI TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Effective date: 20130619

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 611731 CHENGDU, SICHUAN PROVINCE TO: 518129 SHENZHEN, GUANGDONG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20130619

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant after: Huawei Technologies Co., Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant before: Huawei Symantec Technologies Co., Ltd.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20111228