一种闪存数据管理方法及装置的制造方法

文档序号:8395811阅读:310来源:国知局
一种闪存数据管理方法及装置的制造方法
【技术领域】
[0001] 本发明涉及数据处理领域,尤其涉及一种闪存数据管理方法及装置。
【背景技术】
[0002] 固态硬盘及闪存等新型存储介质在日常生活中应用越来越广泛,它们通常都以 Flash闪存作为存储介质,但由于材料本身的特性,在对Flash介质进行读写时,闪存与固 态硬盘之间存在着明显的差异。具体的,闪存在更新数据时需要先执行擦除操作才能写入 新数据,而固态硬盘的读写都是按照磁盘扇区尺寸进行的。因此,当一个闪存块中没有空闲 页面时,再往该块中写入新页面就需将闪存块中有效数据页面移动到一个空的缓存块中, 然后对整个块进行擦除操作,这样使得闪存在写数据时存在大量数据的移动,其中,闪存在 读写时是以页为单位,在对数据进行擦除时是以块为单位。具体的,在一个闪存块中,页面 的活跃程度可能差别很大,有的页面相对不活跃,从而长期处于有效状态,而有的页面比较 活跃,更新频繁,从而使得页面很快处于失效状态,而这些失效的页面会由控制器进行垃圾 回收。而在回收失效页面,对闪存块进行擦除时,存在大量有效页面的移动,从而增加了实 际写入量,降低了垃圾回收的效率,加剧了闪存块的磨损,降低了闪存的使用寿命。因此,针 对这一问题,一些闪存控制器通过其内的FLT (Flash Translation Layer,闪存转换层)映 射表对闪存数据进行了静态数据与动态数据分离的处理,主要是将对LBA(Logical Block Address,逻辑块地址)里经常写入的数据块和不经常写入的数据块进行分类,将相同热度 的数据尽量放在一个闪存块中,这样减少了垃圾回收时有效页面的移动,从而减少了数据 的写入放大。
[0003] 但是,发明人发现,虽然上述闪存控制器中的FLT能将闪存数据中的静态数据和 动态数据进行分离,但是,由于FTL映射表是在闪存控制器中,使得闪存设备无法获知闪存 物理页面的布局和映射关系,从而不能获取那些页面属于同一文件,也就无法利用上述信 息对文件中具体的闪存页面进行优化布局。

【发明内容】

[0004] 本发明的实施例提供一种闪存数据管理方法及装置,能够对同一文件的闪存页面 进行优化布局,从而提_闪存访问效率。
[0005] 为达到上述目的,本发明的实施例采用如下技术方案:
[0006] 第一方面,提供一种闪存数据管理方法,包括:
[0007] 从闪存中选择一个文件对象,并获取所述文件对象的页面集合;其中所述页面集 合包含所述文件对象的全部页面;
[0008] 计算所述页面集合中每个页面的热度值;
[0009] 根据所述页面集合中每个页面的热度值将所述页面集合中的页面进行聚类分 组;
[0010] 将所述闪存划分为多个热度区域;其中所述闪存中的每个热度区域的热度值均不 相同;
[0011] 计算每个分组的平均热度值,并根据所述每个分组的平均热度值与所述每个热度 区域的热度值将所述每个分组中的数据写入对应的热度区域。
[0012] 在第一方面的第一种可能的实现方式中,所述计算所述目标页面集合中每个页面 的热度值具体包括:
[0013] 在预设时间段内统计所述页面集合中每个页面的擦写次数;
[0014] 根据所述每个页面的擦写次数计算所述每个页面的热度值。
[0015] 根据第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式 中,所述根据所述每个页面的擦写次数计算所述每个页面的热度值具体包括:
[0016] 若在所述预设时间段内所述页面集合中的任一页面的擦写次数为0,则将所述文 件对象中所有页面写入次数的期望值作为所述任一页面的热度值;
[0017] 或者,
[0018] 若在所述预设时间段内所述页面集合中的任一页面的擦写次数不为〇,_根据页 面热度计算公式计算所述任一页面的热度值;所述页面热度计算公式为:
【主权项】
1. 一种闪存数据管理方法,其特征在于,包括: 从闪存中选择一个文件对象,并获取所述文件对象的页面集合;其中所述页面集合包 含所述文件对象的全部页面; 计算所述页面集合中每个页面的热度值; 根据所述页面集合中每个页面的热度值将所述页面集合中的页面进行聚类分组; 将所述闪存划分为多个热度区域;其中所述闪存中的每个热度区域的热度值均不相 同; 计算每个分组的平均热度值,并根据所述每个分组的平均热度值与所述每个热度区域 的热度值将所述每个分组中的数据写入对应的热度区域。
2. 根据权利要求1所述的方法,其特征在于,所述计算所述目标页面集合中每个页面 的热度值具体包括: 在预设时间段内统计所述页面集合中每个页面的擦写次数; 根据所述每个页面的擦写次数计算所述每个页面的热度值。
3. 根据权利要求2所述的方法,其特征在于,所述根据所述每个页面的擦写次数计算 所述每个页面的热度值具体包括: 若在所述预设时间段内所述页面集合中的任一页面的擦写次数为0,则将所述文件对 象中所有页面写入次数的期望值作为所述任一页面的热度值; 或者, 若在所述预设时间段内所述页面集合中的任一页面的擦写次数不为0,则根据页面热
为所述任一页面的擦写次数;所述T为当前时间;所述7;"为所述任一页面最后的修改时 间; 其中,所述任一页面为所述页面集合中的一个页面。
4. 根据权利要求1所述的方法,其特征在于,所述根据所述页面集合中每个页面的热 度值将所述页面集合中的页面进行聚类分组具体包括: 将所述页面集合中的每个页面分为一个分组,并将所有分组组成一个第一集合; 根据所述第一集合的每个分组中每个页面的热度值计算所述第一集合的第一权重; 选择所述第一集合中相邻的一对分组进行合并,得到第二集合,并根据所述第二集合 的每个分组中每个页面的热度值计算
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1