一种闪存设备的数据处理方法及闪存设备技术

技术编号:10543443 阅读:105 留言:0更新日期:2014-10-15 18:20
本发明专利技术公开了一种闪存设备的数据处理方法及闪存设备,包括:预设闪存设备中块的磨损冗余度的值为N,所述磨损冗余度N为允许闪存设备中不同块的擦除次数相差的最大值;创建包含N+1个元素的擦除计数表EC(X),将下标值X分别设为0到N,将所述N+1个元素按照所述下标值X从小到大依次排列;根据擦除计数值将所述闪存设备中所有可用空块划分为N+1个队列,将擦除计数值为0的块组成的队列加入EC(0)中,元素EC(1)到EC(N)包含的队列为空;当写入数据时,确定所述擦除计数表中擦除计数值最小且不为空的队列为最小队列,将数据写入所述最小队列的块中。本发明专利技术可在写入和删除数据时实现块的磨损平衡,以达到提高使用寿命的目的。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种闪存设备的数据处理方法及闪存设备,包括:预设闪存设备中块的磨损冗余度的值为N,所述磨损冗余度N为允许闪存设备中不同块的擦除次数相差的最大值;创建包含N+1个元素的擦除计数表EC(X),将下标值X分别设为0到N,将所述N+1个元素按照所述下标值X从小到大依次排列;根据擦除计数值将所述闪存设备中所有可用空块划分为N+1个队列,将擦除计数值为0的块组成的队列加入EC(0)中,元素EC(1)到EC(N)包含的队列为空;当写入数据时,确定所述擦除计数表中擦除计数值最小且不为空的队列为最小队列,将数据写入所述最小队列的块中。本专利技术可在写入和删除数据时实现块的磨损平衡,以达到提高使用寿命的目的。【专利说明】一种闪存设备的数据处理方法及闪存设备
本专利技术涉及通信领域中闪存
,具体地,涉及一种闪存设备的数据处理方 法及闪存设备。
技术介绍
闪存设备是一种可擦除、可重写的电子非易失性存储介质,它已被广泛用于数据 存储系统中。由于闪存设备断电时仍能保存数据,其通常用来保存预设信息,如电脑的 BIOS (基本程序)、PDA (个人数字助理)、数码相机中保存资料等,闪存是一种比硬盘驱动器 更好的存储方案,这在不超过4GB的低容量应用中表现得犹为明显。 闪存设备以块(Block)为单位进行擦写操作,闪存的写入操作必须在空白区域进 行,如果目标区域已经有数据,必须先擦除后写入,因此擦除操作是闪存设备的基本操作。 闪存具有编程速度快、擦除时间短、无噪音、散热小等优点。 在现有技术中,对闪存设备进行数据写入和擦除时,存在以下问题:擦除次数有 限,一个典型的闪存可以被可靠的擦除最多100000 (SLC,Single Layer Cell,单层单元)和 3000 (MLC,Multi-Level Cell,多层单元)次;现有技术中不能对闪存设备的块进行有效管 理,导致闪存设备中所有块的擦写次数不均衡,降低了闪存设备的使用寿命。
技术实现思路
为了解决现有技术中存在的闪存设备内部块擦除次数不均衡导致的使用寿命较 低的问题,本专利技术提出了一种闪存设备的数据处理方法及闪存设备。 本专利技术的闪存设备的数据处理方法,包括: 预设闪存设备中块的磨损冗余度的值为N,所述磨损冗余度N为允许闪存设备中 不同块的擦除次数相差的最大值; 创建包含N+1个元素的擦除计数表EC (X),将下标值X分别设为0到N,将所述N+1 个元素按照所述下标值X从小到大依次排列; 根据擦除计数值将所述闪存设备中所有可用空块划分为N+1个队列,将擦除计数 值为〇的块组成的队列加入EC(0)中,元素 EC⑴到EC(N)包含的队列为空; 当写入数据时,确定所述擦除计数表中擦除计数值最小且不为空的队列为最小队 列,将数据写入所述最小队列的块中。 本专利技术的闪存设备的数据处理方法,利用磨损冗余度,可以控制闪存中块的擦除 次数相差的最大值。通过设定磨损冗余度的值,可在写入和删除数据时实现块的磨损平衡。 磨损冗余度可以根据产品不同的用途来设定,值越小,磨损越均衡,从而使闪存设备中所有 块的擦除次数均衡,以达到提高使用寿命的目的。 本专利技术的闪存设备,包括: 冗余度预设模块,用于预设闪存设备中块的磨损冗余度的值为N,所述磨损冗余度 N为允许闪存设备中不同块的擦除次数相差的最大值; 计数表创建模块,用于创建包含N+1个元素的擦除计数表EC(X),将下标值X分别 设为0到N,将所述N+1个元素按照所述下标值X从小到大依次排列; 队列划分模块,用于根据擦除计数值将所述闪存设备中所有可用空块划分为N+1 个队列,将擦除计数值为〇的块组成的队列加入EC(0)中,元素 EC(1)到EC(N)包含的队列 为空; 数据写入模块,用于当写入数据时,确定所述擦除计数表中擦除计数值最小且不 为空的队列为最小队列,将数据写入所述最小队列的块中。 本专利技术的闪存设备,利用磨损冗余度,可以控制闪存中块的擦除次数相差的最大 值。通过设定磨损冗余度的值,可在写入和删除数据时实现块的磨损平衡。磨损冗余度可 以根据产品不同的用途来设定,值越小,磨损越均衡,从而使闪存设备中所有块的擦除次数 均衡,以达到提高使用寿命的目的。 本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明 书、权利要求书、以及附图中所特别指出的结构来实现和获得。 下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。 【专利附图】【附图说明】 附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实 施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中: 图1为本专利技术的方法流程图; 图2为本专利技术实施例的擦除计数表的结构示意图; 图3为本专利技术实施例的擦除计数表中队列结构示意图; 图4为本专利技术实施例的块移动的示意图; 图5为本专利技术实施例的队列移动的示意图; 图6为本专利技术的闪存设备的结构示意图; 图7为本专利技术的擦除计数表中队列结构示意图。 【具体实施方式】 下面结合附图,对本专利技术的【具体实施方式】进行详细描述,但应当理解本专利技术的保 护范围并不受【具体实施方式】的限制。 为了解决现有技术中存在的闪存设备内部块擦除次数不均衡导致的使用寿命较 低的问题,本专利技术提出了一种闪存设备的数据处理方法及闪存设备。 对于闪存设备写操作比较多的应用,可以对每个块(block)进行监测,从而使每 个block的擦写次数比较平均,避免出现有的block擦写次数过多,而有的block擦写次数 过少,进而提高闪存设备的寿命。本专利技术主要是针对闪存设备中的空block,动态调整闪存 设备中不同块的擦除磨损。下面的例子可以说明写平衡是如何提高闪存设备的寿命的: 假设一个MLC闪存中有4096个block,要写一个占用100个block大小的文件,每 10分钟更新一次,写在同一个位置。 没有写平衡方法时,闪存的生命周期是: 生命周期(天)=(NAND闪存尺寸*擦除次数八每天写入block数量) 那么生命周期是:(100个block*3, 000次擦除)八100个block*6次/小时*24小 时/天)=20. 83天 有写平衡方法时,擦除的次数可以平均的分配到每一个block上,假设有1000个 块可以参与写平衡,那么新的生命周期是: (1000个block*3, 000次擦除 V(100个block*6次/小时*24小时/天)=200. 83 天。 如图1所示,本专利技术的闪存设备数据处理方法包括: 步骤S101 :初始化所述闪存设备,将所述闪存设备中所有空块的擦除计数值清 零。 闪存设备初始化之后,所有可用空块的擦除计数值均为0,擦除计数值为对块进行 擦除操作的次数。 步骤S102 :预设闪存设备中块的磨损冗余度的值为N ; 磨损冗余度是指允许闪存设备中不同块的擦除次数值相差的最大值,具体的,N的 值由闪存设备的用途以及主控、使用环境决定。 步骤S本文档来自技高网
...

【技术保护点】
一种闪存设备的数据处理方法,其特征在于,包括:预设闪存设备中块的磨损冗余度的值为N,所述磨损冗余度N为允许闪存设备中不同块的擦除次数相差的最大值;创建包含N+1个元素的擦除计数表EC(X),将下标值X分别设为0到N,将所述N+1个元素按照所述下标值X从小到大依次排列;根据擦除计数值将所述闪存设备中所有可用空块划分为N+1个队列,将擦除计数值为0的块组成的队列加入EC(0)中,元素EC(1)到EC(N)包含的队列为空;当写入数据时,确定所述擦除计数表中擦除计数值最小且不为空的队列为最小队列,将数据写入所述最小队列的块中。

【技术特征摘要】

【专利技术属性】
技术研发人员:罗理坚卢明
申请(专利权)人:优佰特电子科技无锡有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1