[发明专利]一种管理固态硬盘映射表的方法有效
申请号: | 201711070866.X | 申请日: | 2017-11-03 |
公开(公告)号: | CN107832013B | 公开(公告)日: | 2019-10-25 |
发明(设计)人: | 许胤龙;陈浩;李永坤;吕敏;刘彩银 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 汪祥虬 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 管理 固态 硬盘 映射 方法 | ||
本发明公开了一种管理固态硬盘映射表的方法,特征是包括设计固态硬盘的功能结构,将存储映射表的闪存页分为顺序存储和动态存储,为动态的闪存转换页建立索引,设计缓冲区写回策略,映射记录的查找流程和动态闪存转换页的合并等步骤。缓存中的脏数据给了第二次机会留在缓冲区,减少了写回操作。命中动态闪存转换页时一次读取一个闪存页的映射记录并全部加载到缓冲区中,提高了缓存的命中率。本发明的方法与传统的映射表管理方法相比,减少了对固态硬盘的读写次数,同时可以提高固态硬盘的寿命,缓冲区命中率的提高可以大大提升固态硬盘的性能。
技术领域
本发明属于固态硬盘技术领域,具体涉及管理固态硬盘地址映射表的方法。
背景技术
美国计算机协会出版的《2009年编程语言和操作系统的架构支持的国际会议的会议记录》(Proceedings of the 2009International Conference on ArchitecturalSupport for Programming Languages and Operating Systems,2009年,第229~240页)中所介绍的固态硬盘映射表的管理方法(DFTL:a flash translation layer employingdemand-based selective caching of page-level address mappings),将固态硬盘的映射表存储到底层的闪存中,并将部分映射表放入到缓存中;当需要查找映射表时,首选在缓存中查找,如果没有命中就需要从闪存中读取一个页的映射表,并从中查找所需的映射记录,将其加载到缓存中;缓存中剔除一个脏的映射记录时,会先读取该映射记录所在的闪存页,修改其内容再重新写入。固态硬盘中闪存的最小读写单元是4KB,一个映射记录的大小只有8B,缓冲区中映射表都是按照一个映射记录(8B)来管理的,而闪存中保存的映射记录都是按照闪存的page(4KB)来管理的,这样当缓存区中的映射记录发生换进换出时,会造成很大的读放大和写放大效应;另一方面,存储映射表的闪存页中只有少数的映射记录是被频繁访问的,这对缓存的命中率也是有影响的。
发明内容
本发明的目的是提出一种管理固态硬盘映射表的方法,以避免现有技术的上述缺点,在保证较低额外开销的情况下,提升固态硬盘的性能,减少对固态硬盘的写入量,提升缓存中映射表的命中率。
本发明管理固态硬盘映射表的方法,其特征在于包括以下步骤:
第一步:设计固态硬盘的功能结构
将固态硬盘中存储数据的闪存分为两部分:一部分用以存储用户数据,另一部分用以存储映射表;将存储映射表的闪存页再分为两部分:一部分按序存储映射记录,后面称为In-order Translation Page,另一部分乱序动态地存放映射记录,后面称为DynamicTranslation Page,这部分的映射记录都是从缓冲区中替换出来的;固态硬盘的内存区域大致分为两部分,一部分用以缓存映射记录,另一部分保存映射表的映射记录,称为GTD;
第二步:为Dynamic Translation Page建立索引
Dynamic Translation Page的索引是存放在内存中的,每个DynamicTranslation Page的索引包括两部分,一部分是Bloom Filter,一部分是该闪存页中映射记录逻辑地址的最大值和最小值,Dynamic Translation Page的索引用来查找某个映射记录是否存在于某个物理的闪存页中;
第三步:缓冲区的写回策略
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711070866.X/2.html,转载请声明来源钻瓜专利网。