一种提高NandFlash芯片使用寿命的方法

文档序号:6481224阅读:354来源:国知局
专利名称:一种提高Nand Flash芯片使用寿命的方法
技术领域
本发明涉及一种延长硬盘使用寿命的技术,具体地说是一种提高Nand Flash芯片使用寿命的方法。
背景技术
Nand Flash是现在市场上主要的非易失闪存芯片,是存储芯片的一种。 Nand Flash的结构能提供极高的单元密度,可以达到高存储密度,并且写 入和擦除的速度也很快。Nand Flash芯片具有速度快、体积小、功耗低、轻 便、抗震及数据不易失的特点,而以Nand Flash芯片为存储介质的SSD(固态 硬盘Solid State Disk或Solid State Drive)与带有机械部分的传统硬盘
相比,同样具备以上的优势。
目前主流的SSD通常都采用了Nand Flash芯片技术,Nand Flash芯片闪 存阵列分为一系列128kB的Block (Block是数据库中的最小存储和处理单 位,包含块本身的头信息数据或PL/SQL代码,也称为区块),每个单位Block 可通过电子放电的原理纪录一个数值。这个过程就好像用一个杯子装水一样, 当这个杯子装满水的时候,系统记录为"1",当杯子为空的时候,系统就自 动记录为"0",正是在"0"与"1"的切换中,数据被保存了下来。
但是,由于Nand Flash芯片的存储结构的特点,使其在写入数据对,必 须先要进行数据擦除,而Nand Flash芯片的擦除次数是有限制的。Nand Flash 芯片闪存技术通过电子放电的形式记录单位空间内的电平来保存数据,但是单 位空间内的电子放电次数则是有限的。因此,为了提高Nand Flash芯片的使 用寿命,除了工艺上的改进外,还要使Nand Flash芯片各个Block的擦除次 数尽量平均。
4为了有效避免对Nand Flash芯片某一 Block的频繁读写造成该Block的 老化加速,目前最常用的算法是热点均衡算法。热点均衡是均衡写入负载,避 免在Nand Flash芯片内部造成频繁写入的"热点";也就是将擦除/写入循环 平均地分配到Nand Flash芯片的所有Block中。
但有局限性,当Nand Flash芯片上某块Block的数据几乎是不擦除的, 即静态的,则存储数据时,只能对除了这种数据以外的Block进行均衡算法。 如果类似这种数据很多,则同样会使得其它Block频繁擦除,而达不到各Block 读写次数均衡的目的。 ,

发明内容
本发明的技术任务是提供一种能克服现有技术热点均衡算法的局限性、更 好的均衡了 Nand Flash芯片中Block的擦除次数的一种提高Nand Flash芯片 使用寿命的方法。
一个SSD是由很多个独立的Nand Flash芯片组成的。每个Nand Flash芯 片则由一个块阵列组成。在将数据写入Nand Flash芯片的存储单元之前,必 须对该存储单元进行擦除,以便可以进行写入。最小的擦除单元是Block (区 块),最小的写入或者读取单元是Page (页)。
Nand Flash芯片中数据块Block可以分成两种类型动态区块和静态区块。
本发明的技术任务是按以下方式实现的,将Nand Flash芯片中的数据块 Block划分到动态存储区或静态存储区,并在设定的条件下,动态存储区与静 态存储区区域转换,从而达到读写次数的均衡;由一个参数Ei来确定每个数据 块Block是为动态存储区或为静态存储区,E产dXi/ (EXi/n),其中,Blocki 为第i(i为正整数)个数据块Block,Xi为Blocki的擦除次数,n为数据块Block 的总数,a为可设置的参数;根据需求设定一个临界值,当Ei大于这个临界 值时,则Blocki为动态存储区,当Ei小于这个临界值时,则Blocki为静态存 储区。具体步骤为
(1 )、由一个参数Ei来确定每个数据块Block是为动态存储区或为静态存 储区,Ef aXi/ (EXi/n),驱动开发时可以根据不同要求设置a值;
(2) 、建立物理扇区和逻辑扇区的空间映射表,防止物理扇区和逻辑扇区 一一对应关系被改变,使得物理扇区和逻辑扇区可以动态的分配;
(3) 、选定Blocki;提取其空间映射表中的擦除次数Xi,根据(1)中公式, 计算出参数Ei;
(4) 、根据需求设定一个临界值Y,比较Ei与临界值Y的大小;
(5) 、当Ei大于Y时,则Blocki划分为动态存储区;在空间映射表中査 找E小于Y的空闲区域;将此Blocki中的数据挪移至此空闲区域的Block中;
然后在空间映射表中设置Bl0Cki数据无效;
(6) 、当Ei小于Y时,则Blocki划分为静态存储区;在空间映射表中査 找E大于Y的空闲区域;将此Blocki中的数据挪移至此空闲区域的Block中; 然后在空间映射表中设置Blocki数据无效。
建立的空间映射表中扇区号为数据块Block的序号,也是数据块Block在 物理扇区与逻辑扇区的映射标志;空间映射表中记录了每个数据块Block的擦 除次数、数据有效、数据无效和坏块标志;空间映射表中数据块Block若数据 有效则数据有效标志位为1,数据无效、坏块标志位为O,数据块Block若数 据无效则数据无效标志位为1,数据有效、坏块标志位为0,数据块Block若 为坏块则坏块标志位为l,数据有效、数据无效位为0。
本发明的一种提高Nand Flash芯片使用寿命的方法和现有技术相比,能 克服现有技术热点均衡算法的局限性,更好的均衡了 Nand Flash芯片中Block 的擦除次数,从而提高了 Nand Flash芯片的使用寿命,继而提高了以Nand Flash芯片为存储介质的SSD的使用寿命;设计合理、操作方便,因而,具有 很好的推广使用价值。


下面结合附图对本发明进一步说明。
附图1为一种提高Nand Flash芯片使用寿命的方法的流程框图。
具体实施例方式
参照说明书附图和具体实施例对本发明的一种提高Nand Flash芯片使用 寿命的方法作以下详细地说明。 实施例
本发明的一种提高Nand Flash芯片使用寿命的方法,将Nand Flash芯片 中的数据块Block划分到动态存储区或静态存储区,并在设定的条件下,动态 存储区与静态存储区区域转换,从而达到读写次数的均衡;由一个参数Ei来确 定每个数据块Block是为动态存储区或为静态存储区,ctXi/ (EXi/n), 其中,Blocki为第i (i为正整数)个数据块Block, Xi为Blocki的擦除次数, n为数据块Block的总数,a为可设置的参数;根据需求设定一个临界值,当 Ei大于这个临界值时,则Blocki为动态存储区,当Ei小于这个临界值时,则 Blocki为静态存储区。
具体步骤为
(1 )、由一个参数Ei来确定每个数据块Block是为动态存储区或为静态存 储区,aXi/ (EXi/n),驱动开发时可以根据不同要求设置a值;
(2) 、建立物理扇区和逻辑扇区的空间映射表,防止物理扇区和逻辑扇区 一一对应关系被改变,使得物理扇区和逻辑扇区可以动态的分配;
(3) 、选定Blocki;提取其空间映射表中的擦除次数Xi,根据(1)中公式, 计算出参数Ei;
(4) 、根据需求设定一个临界值Y,比较Ei与临界值Y的大小;
(5) 、当Ei大于Y时,则Blocki划分为动态存储区;在空间映射表中査 找E小于Y的空闲区域;将此Block,中的数据挪移至此空闲区域的Block中;
然后在空间映射表中设置Blocki数据无效;
(6) 、当Ei小于Y时,则Blocki划分为静态存储区;在空间映射表中查
7找E大于Y的空闲区域;将此Blocki中的数据挪移至此空闲区域的Block中; 然后在空间映射表中设置Blocki数据无效。
建立的空间映射表中扇区号为数据块Block的序号,也是数据块Block在 物理扇区与逻辑扇区的映射标志;空间映射表中记录了每个数据块Block的擦 除次数、数据有效、数据无效和坏块标志;空间映射表中数据块Block若数据 有效则数据有效标志位为1,数据无效、坏块标志位为0,数据块Block若数 据无效则数据无效标志位为1,数据有效、坏块标志位为0,数据块Block若 为坏块则坏块标志位为l,数据有效、数据无效位为O。
本发明的一种提高Nand Flash芯片使用寿命的方法其加工制作非常简单 方便,按说明书附图所示。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
权利要求
1、一种提高Nand Flash芯片使用寿命的方法,其特征在于将Nand Flash芯片中的数据块Block划分到动态存储区与静态存储区,并在设定的条件下,动态存储区与静态存储区区域转换,从而达到读写次数的均衡;由一个参数Ei来确定每个数据块Block是为动态存储区或为静态存储区,Ei=αXi/(∑Xi/n),其中,Blocki为第i(i为正整数)个数据块Block,Xi为Blocki的擦除次数,n为数据块Block的总数,α为可设置的参数;根据需求设定一个临界值,当Ei大于这个临界值时,则Blocki为动态存储区,当Ei小于这个临界值时,则Blocki为静态存储区。
2、 根据权利要求1所述的一种提高Nand Flash芯片使用寿命的方法,其 特征在于具体步骤为(1) 、由一个参数Ei来确定每个数据块Block是为动态存储区或为静态存 储区,Ei= ctXi/ (EXi/n),驱动开发时可以根据不同要求设置a值;(2) 、建立物理扇区和逻辑扇区的空间映射表,防止物理扇区和逻辑扇区 一一对应关系被改变,使得物理扇区和逻辑扇区可以动态的分配;(3) 、选定Blocki;提取其空间映射表中的擦除次数Xi,根据(1)中公式,计算出参数Ei;(4) 、根据需求设定一个临界值Y,比较Ei与临界值Y的大小;(5) 、当Ei大于Y时,则Blocki划分为动态存储区;在空间映射表中査找E小于Y的空闲区域;将此Blocki中的数据挪移至此空闲区域的Block中;然后在空间映射表中设置Blocki数据无效;(6)、当Ei小于Y时,则Blocki划分为静态存储区;在空间映射表中査 找E大于Y的空闲区域;将此Blocki中的数据挪移至此空闲区域的Block中; 然后在空间映射表中设置Blocki数据无效。
3、根据权利要求2所述的一种提高NandFlash芯片使用寿命的方法,其 特征在于建立的空间映射表中扇区号为数据块Block的序号,也是数据块 Block在物理扇区与逻辑扇区的映射标志;空间映射表中记录了每个数据块 Block的擦除次数、数据有效、数据无效和坏块标志;空间映射表中数据块Block 若数据有效则数据有效标志位为1,数据无效、坏块标志位为0,数据块Block 若数据无效则数据无效标志位为1,数据有效、坏块标志位为0,数据块Block 若为坏块则坏块标志位为1,数据有效、数据无效位为0。
全文摘要
本发明公开了一种提高Nand Flash芯片使用寿命的方法,属于一种延长硬盘使用寿命的技术领域,将Nand Flash芯片中的数据块Block划分到动态存储区与静态存储区,并在设定的条件下,动态存储区与静态存储区区域转换,从而达到读写次数的均衡。本发明的一种提高Nand Flash芯片使用寿命的方法和现有技术相比,能克服现有技术热点均衡算法的局限性,更好的均衡了Nand Flash芯片中Block的擦除次数,从而提高了Nand Flash芯片的使用寿命,继而提高了以Nand Flash芯片为存储介质的SSD的使用寿命;设计合理、操作方便。
文档编号G06F12/10GK101667160SQ20091001904
公开日2010年3月10日 申请日期2009年9月27日 优先权日2009年9月27日
发明者于治楼, 凯 姜, 峰 李, 梁智豪 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1