一种用于固态存储设备的容错设计方法

文档序号:6340112阅读:168来源:国知局
专利名称:一种用于固态存储设备的容错设计方法
技术领域
本发明涉及一种固态存储设备的设计方法,具体来讲涉及一种固态存储设备的容 错设计方法。
背景技术
目前,固态存储设备逐步被广大存储设备使用者所接受,其与传统存储设备特别 是硬盘相比较,具有许多其不能比拟的优越性,例如读写速率,性能,低功耗等等。但是,其 昂贵的价格以及存储次数受限等缺点,制约了此类存储设备的更广泛的应用。
NAND型Flash颗粒是目前广泛使用的固态存储介质,现以此类存储介质为例进行 说明。这类存储介质通过注入和擦除栅极的电荷来储存信息,因制造工艺的缘故,栅极有一 定的工作寿命,当擦除次数达到一定数量的时候,其工作变得不稳定因而不能继续使用。后 端的设备制造商一般都是通过对存储颗粒做损耗均衡来防止数据过于集中在同一个Flash 颗粒上,从而尽可能的延长设备的整体使用寿命。
NAND型Flash颗粒的组成形式是,一个颗粒由多个块组成,每个块又由多个页组 成;擦除电荷的最小操作单位是块,而注入电荷(编程)的最小操作单位是页。一个固态存 储设备则包含许多个Flash颗粒。NAND型Flash的另一个特征是,必须先擦除一整个块, 才能对页进行编程操作。后端的设备制造商一般都是将新写入的页数据编程到一个空闲块 上,然后擦除旧块,旧块被擦除后加入空闲块队列等待使用。
针对以上分析,关于昂贵的价格和其制造工艺所引起的问题是后端设备制造商所 不能决定和优化的,目前各家厂商会采取某些技术方法,如优化的损耗均衡算法,延长设备 的寿命。但这不能从根本上解决问题,当固态存储设备当中的一个Flash颗粒最终出现问 题而不能使用时,整个存储设备不得不报废。为此各厂商在挑选Flash颗粒的时候,都会投 入巨大的精力筛选出质量比较好的,以尽量延长固态存储设备的使用寿命。这无疑增加了 成本。发明内容
本发明的目的在于提供一种用于固态存储设备的容错设计方法,该方法能够实现 降低设备生产测试的费用,又能保证设备的优良率,同时又可以实现延长存储设备使用寿 命的目的。
本发明提供的一种用于固态存储设备的容错设计方法,在闪存阵列中设置至少一 个冗余闪存颗粒,在设备生产测试和/或使用过程中进行容错设计,其特征在于,
设备生产测试中的容错设计方法包括下述步骤
(Al)固态存储处理器对固体存储设备的闪存阵列中的当用闪存颗粒进行检查;
(A2)判断当用闪存颗粒是否出现故障,如果是,则对其进行标记,并记录故障信 息;转入步骤(A3),否则,直接进入步骤(A3);
(A3)判断闪存阵列中的当用闪存颗粒是否全部检查完毕,如果是,转入步骤(A4),否则,对闪存阵列中的下一个当用闪存颗粒进行检查,然后转入步骤(A2);
(A4)检查完所有当用闪存颗粒之后,若有故障当用闪存颗粒,则利用冗余闪存颗 粒替换故障率最大的当用闪存颗粒,将替换的信息在固态存储处理器中进行更改,转入步 骤(A6);否则执行第5步操作;
(A5)将冗余闪存颗粒作为固态存储处理器的后台空间,用于执行内部操作;
(A6)结束;
使用过程中进行容错设计方法包括下述步骤
(Bi)固态存储处理器对固体存储设备的闪存阵列中的当用闪存颗粒进行监测;
(B2)在监测的过程中,当主机系统对固体存储设备中的当用闪存颗粒介质有擦除 操作时,就对每个操作的最小单位块进行技术操作;这样一次擦除操作,计数值就累加1 ;
(B3)判断所述计数值是否超过预先设定的阈值,如果是,进入步骤(B4),否则转 入步骤(Bi)继续进行监视;
(B4)将超过阈值的当用闪存颗粒进入数据迁移的任务队列,按照设定好的优先级 进行有序的数据迁移工作;
(B5)需要迁移的当用闪存颗粒根据自己通道对应的冗余闪存颗粒选择迁移的目 标,之后在程序后台完成数据的搬移工作。
本发明采用在存储设备的电路板设计上增加备用的冗余存储颗粒的方法,当设备 在生产后端测试中或使用中发现有闪存出现故障时,使用冗余存储颗粒来替换故障颗粒, 从而保证即使颗粒没有经过封装测试,也不会影响存储设备生产的优良率;同时,通过本发 明采用增加冗余存储颗粒的方法,来有效延长设备的使用寿命,当设备中有闪存颗粒达到 一定使用寿命之后,就会被冗余颗粒或闲置颗粒替换,从而通过这种不断地替换操作,来有 效延长设备的使用寿命。
本发明采用存储设备冗余颗粒可以用来在设备生产测试中,取代出现异常状况的 闪存颗粒;
本发明采用存储设备冗余颗粒可以用来在存储设备正常使用中,取代过度使用或 出现异常状况的闪存颗粒;
本发明中过度使用的定义可以是多个使用次数的阈值,用冗余颗粒替换最先达到 第一个阈值的颗粒,冗余颗粒成为正常使用的颗粒,被替换的颗粒成为备用的冗余颗粒暂 停工作,再等待替换下一个最先达到第二个阈值而被判断过度使用的颗粒。
本发明所涉及多通道闪存存储设备冗余颗粒可以以单颗为单位进行替换操作,也 可以以通道为单位进行替换操作。
本发明依据现有的固态存储介质存在着坏块的产生,以及擦除次数有限而导致的 寿命问题,这两个特点可能会导致固态存储设备部分介质失效,因此采取冗余备份的思想, 来减少因介质出错失效带来的数据丢失问题。


图1为现有的固态存储设备的结构示意图2为本发明实施例中单颗冗余颗粒设计的示意图3为本发明方法的设备生产测试流程图4为本发明优选实施例中多颗冗余颗粒设计的示意图5为本发明方法的使用过程中冗余块工作流程图。
具体实施方式
以下利用附图并结合具体实施方式
对本发明作进一步详细的描述。本文所描述的 实施例是本发明的一部分实例,而不是全部的实施例。基于本发明的实施例,本领域普通 技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种通过对固态存储设备中存储介质的颗粒进行冗余备份的方式, 来替代即将失效或已失效的flash颗粒的容错设计方法。从而极大减少存储设备失效的概 率和生产测试阶段的费用。
如图1所示,为目前一般的固态存储设备的功能框图。其中主要包括主机系统101 和固态存储设备102。其中,固态存储设备102包括接口模块103,固态存储处理器104,以 及以Flash颗粒106为单位组成的Flash阵列105。其中,接口模块103主要用于实现与主 机一致的接口协议,例如SATA ;通过接口模块103呈现给主机的是一个拥有一定逻辑空间 的标准存储设备。固态存储处理器104是整个存储设备的控制核心,上面运行固件程序,主 要负责接口模块103以及闪存阵列105之间的控制信号及数据的传输、Flash管理、主机逻 辑地址到Flash物理地址映射、损耗均衡(将逻辑地址映射到不同的物理地址从而防止单 个Flash被过于集中的操作而提前失效)、坏块管理等。106为单个Flash颗粒,多个Flash 颗粒组成Flash阵列105,是整个设备信息存储的终端介质。
本发明方法是在上述固态存储设备的基础上提出的,首先在Flash阵列中增加冗 余颗粒,如图2、图4,并按下述过程进行管理
存储处理器中会记录冗余块的信息,包括其物理地址、个数、大小等。然后,当检测 到Flash阵列中有Flash颗粒发生失效,固件程序则标记该失效颗粒并选择一个冗余颗粒 进行替换,替换的方式就是在地址映射的时候将原来失效的Flash颗粒对应的逻辑地址重 新分配到选择的冗余Flash颗粒上。
如前所述,检测到Flash颗粒失效可能发生在设备生产制造的测试阶段,也可能 发生在设备运行过程中,下面分别说明。
如图2所示,为本发明一种实施例,在此实施例设计中,主要用于在量产测试阶段 进行。在此实施例中,只设置了一个冗余Flash颗粒以作示例,本发明并不限定冗余颗粒的 个数。
将不需要经过测试的Flash颗粒或者未经过封装的Flash晶片直接焊接在存储设 备的印刷电路板上201,同时,需要在电路板上多设计一个颗粒的位置,即冗余Flash颗粒 203的位置。其目的在于由于所焊接的闪存颗粒未经过测试或封装,当在设备检测过程中 发现有Flash颗粒有故障或不能使用时,就通过存储处理器的配置将冗余Flash颗粒替换 有问题的Flash颗粒,从而,通过这种设备制造完成后的测试方法,来弥补Flash颗粒没经 过封装测试的缺陷及问题,以保证整个设备加工的优良率没有很大变化。这种方式能节省 Flash颗粒筛选的费用和精力。
另外,绝大部分的Flash颗粒,Flash阵列202,即使没有经过封装测试,其性能也是可以保证的,因此,大部分的产品在生产后的测试中是良好的,其冗余Flash颗粒并没有 被用来替换故障Flash颗粒。本发明中,这些冗余Flash颗粒将被用来延长设备使用寿命, 当Flash颗粒使用率达到一定数量或者有Flash颗粒在设备使用中出现故障之后,让冗余 Flash颗粒取代达到使用次数阈值的Flash颗粒或故障Flash颗粒,从而保证设备仍然可以 正常使用,以达到延长设备使用寿命的目的。
如图3所示,为上述情况进行容错设计方法的具体步骤的流程图。
(1)固态存储处理器中的固件程序对Flash阵列中的每个当用Flash颗粒进行检 查,判断其是否出现故障;
本发明所指的当用Flash颗粒是指在Flash阵列中原有的Flash颗粒。
(2)若当前Flash颗粒无故障,则对下一个Flash颗粒进行检查,直至所有闪存颗 粒检查完毕;
(3)若出现故障Flash颗粒,则对其进行标记,并将其故障信息记录,如故障情况, 颗粒编号等;
(4)检查完所有Flash颗粒之后,若有故障Flash颗粒则判断信息,选取故障率最 大的Flash颗粒进行替换,否则执行第5步操作;将替换的信息在固态存储处理器的固件程 序中进行更改,即用冗余备用Flash颗粒对选出的故障Flash颗粒的物理信息进行替换,以 保证设备使用正常;
(5)若无故障Flash颗粒,则将该冗余备份用的Flash颗粒作为固态存储处理器中 的固件程序的后台空间,用来执行内部操作,以提高用户的实际使用感受,以及延长使用寿 命等操作。
如图4所示,为本发明一种实施例,此实施例中设计印刷电路板的冗余Flash颗粒 为多个,其使用目的与图2实施例一致,只是考虑其使用目的以及更高的设备优良率,因此 预留多个冗余Flash颗粒,同时,可以更多的延长设备的使用寿命。此设计主要用在固态存 储设备一般工作情况时。
在存储设备401的PCB板上,将闪存阵列402根据设备实际通道数来预留冗余 Flash颗粒的个数,在此例中,设备中有三个通道,因此为每个通道预留1个冗余颗粒,共3 个冗余颗粒。在没有出现失效的Flash颗粒之前,这些冗余Flash颗粒也可用用做空闲块, 因为擦除块的时间比较久,系统中空闲块越多,需要擦除块的几率就越小,因此能提升读写 操作的响应速度,提升用户感受。
如图5所示,为上述情况进行容错设计方法的具体步骤的流程图。
下面具体对该方法进行说明。
(1)固态存储处理器中的固件程序对设备上的Flash颗粒进行监测,该操作是对 全部Flash颗粒操作;
(2)在检测的过程中,当主机系统对固体存储设备中的Flash颗粒介质有擦除操 作时,就对每个操作的最小单位块进行技术操作;这样一次擦除操作,计数值就累加1 ;
(3)固态存储处理器中的固件程序对Flash颗粒整体技术情况进行统计和监视, 当这个计数值超过设定的阈值时,就执行步骤4,否则就继续进行监视;
阈值的取值范围为1 N,其中N为Flash颗粒允许的最大读写次数(由Flash厂 商提供此类参数)。为了降低成本,阈值通常会取接近N的值,如大于90% N等。
(4)超过阈值的Flash颗粒进入数据迁移的任务队列,按照设定好的优先级进行 有序的数据迁移工作;
(5)需要迁移的Flash颗粒根据自己通道对应的冗余闪存颗粒选择迁移的目标, 之后在程序后台完成数据的搬移工作。
在使用过程中,当其中一个颗粒使用次数达到一定数目时,就可以被其中一个冗 余Flash颗粒所取代,这样就会有多个颗粒逐渐达到预设要求时,被备用颗粒所取代。同 时,被取代的颗粒并不是被废弃,为了达到更好的优化,将设备循环使用,可以设置多个使 用次数的阈值,当其他颗粒被使用到更高的使用次数时,又可以被这些因达到较低使用阈 值而被替换的颗粒所取代,这样,可以更好的达到一种优化,增强设备的利用率,不断地有 被过度使用的Flash颗粒被替换下来,让其他没有被经常使用的Flash颗粒使用一段时间, 再被替换上去,因此,总体的设备使用时间会被大幅度的增长,有效地延长了设备的寿命。 同样,对于多通道的闪存存储设备还可以设计为整个通道的Flash替换或者以通道为单位 进行容错设计。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定 本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在 不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明由 所提交的权利要求书确定的。
权利要求
1. 一种用于固态存储设备的容错设计方法,在闪存阵列中设置至少一个冗余闪存颗 粒,在设备生产测试和/或使用过程中进行容错设计,其特征在于, 设备生产测试中的容错设计方法包括下述步骤(Al)固态存储处理器对固体存储设备的闪存阵列中的当用闪存颗粒进行检查; (A2)判断当用闪存颗粒是否出现故障,如果是,则对其进行标记,并记录故障信息;转 入步骤(A3),否则,直接进入步骤(A3);(A3)判断闪存阵列中的当用闪存颗粒是否全部检查完毕,如果是,转入步骤(A4),否 则,对闪存阵列中的下一个当用闪存颗粒进行检查,然后转入步骤(A2);(A4)检查完所有当用闪存颗粒之后,若有故障当用闪存颗粒,则利用冗余闪存颗粒 替换故障率最大的当用闪存颗粒,将替换的信息在固态存储处理器中进行更改,转入步骤 (A6);否则执行第5步操作;(A5)将冗余闪存颗粒作为固态存储处理器的后台空间,用于执行内部操作; (A6)结束;使用过程中进行容错设计方法包括下述步骤(Bi)固态存储处理器对固体存储设备的闪存阵列中的当用闪存颗粒进行监测; (B2)在监测的过程中,当主机系统对固体存储设备中的当用闪存颗粒介质有擦除操作 时,就对每个操作的最小单位块进行技术操作;这样一次擦除操作,计数值就累加1 ;(B3)判断所述计数值是否超过预先设定的阈值,如果是,进入步骤(B4),否则转入步骤 (Bi)继续进行监视;(B4)将超过阈值的当用闪存颗粒进入数据迁移的任务队列,按照设定好的优先级进行 有序的数据迁移工作;(B5)需要迁移的当用闪存颗粒根据自己通道对应的冗余闪存颗粒选择迁移的目标,之 后在程序后台完成数据的搬移工作。
全文摘要
本发明公开了一种用于固态存储设备的容错设计方法,该方法在存储设备的电路板设计上增加备用的冗余存储颗粒,当设备在生产后端测试中或使用中发现有闪存出现故障时,使用冗余存储颗粒来替换故障颗粒,从而保证即使颗粒没有经过封装测试,也不会影响存储设备生产的优良率;同时,通过本发明采用增加冗余存储颗粒的方法,来有效延长设备的使用寿命,当设备中有闪存颗粒达到一定使用寿命之后,就会被冗余颗粒或闲置颗粒替换,从而通过这种不断地替换操作,来有效延长设备的使用寿命。该方法可以在设备生产测试和/或使用过程中实现。
文档编号G06F11/16GK102043689SQ20101060796
公开日2011年5月4日 申请日期2010年12月28日 优先权日2010年12月28日
发明者吴非, 王亚轩, 陈祥 申请人:华中科技大学, 武汉固捷联讯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1