[发明专利]一种软件定义的固态盘融合存储方法有效
申请号: | 201410051045.1 | 申请日: | 2014-02-14 |
公开(公告)号: | CN103777905B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 刘景宁;冯丹;童薇;张双武;雷宗浩;余晨晔;罗锐;张建权 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/02 |
代理公司: | 华中科技大学专利中心42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 定义 固态 融合 存储 方法 | ||
技术领域
本发明属于计算机数据存储领域,具体涉及一种软件定义的固态盘融合存储方法。
背景技术
近些年来,基于NAND FLASH的固态盘飞速发展,已经逐渐取代传统的机械硬盘。NAND FLASH芯片制程工艺不断提高,从2008年的25nm制程到现在的10nm制程,性能不断提高。然而NAND FLASH的磨损次数有限,小写性能差,不支持原地修改等缺陷仍然限制了它的性能。
现有的基于NAND FLASH的固态盘,基本上都是利用固态盘中的固件程序屏蔽NAND FLASH的缺点,提供类似磁盘的块设备接口供主机端使用。主机端完全把固态盘看成一个黑盒子,不管其物理特性而直接使用。虽然这是最简单,也是最快的取代传统机械硬盘的方法,但是这存在严重的缺点。例如,在主机端针对机械磁盘设计的IO调度算法将不适用于固态盘,针对机械磁盘设计的文件系统也将不适用于固态盘;由于NAND FLASH的读写操作单位是Page(最小2KB)单位,传统以磁盘扇区大小(512B)为单位的请求发送到固态盘中,导致在固态盘中需要额外的处理请求的合并与分发,降低了存储速度;主机端无法获取固态盘的物理特性、磨损状况、使用信息,无法在文件的管理、地址空间的分配上进行性能优化。除此之外,由于固态盘的控制器需对NAND FLASH进行缺点屏蔽和性能优化,占用了大量的嵌入式系统有限的资源,这是非常不划算的,且因不知主机端数据的特点使得性能提升受限。因此需要重新考虑基于NAND FLASH的固态盘的存储结构设计,向主机暴露更多的物理特性及使用信息,使主机不能再完全把固态盘看成黑盒子,而看成一个灰盒子。
Fusion-io公司提出了一种VSL(Visual Storage Layer)层,同样把固态盘看成灰盒子,把FTL(Flash Translation Layer闪存转换层)放在主机端驱动程序下实现,获取了很大的性能提高。但VSL是驱动程序与FTL的结合,实际上到达驱动程序层的IO请求已经不具备那么多的数据属性,在驱动程序中不能有效的针对固态盘的物理特性做优化,并且文件系统层仍然是无法获得固态盘的物理特性及磨损状况等统计信息,限制了固态盘的性能提升。
目前除了上述的高性能的NAND FLASH存储芯片,新型的非易失存储芯片的发展也非常快,特别是PCM(Phase Change Memory,相变存储器),现在美光公司已经生产有1GB大小的PCM存储芯片。PCM相对于NAND FLASH有很多优势,最特突出的就是PCM支持以字节为单位的读写操作,读写速度相对NAND FLASH要快,同时PCM写之前不需要擦除,并且具有更多的可磨损次数。目前PCM还处于研究阶段,关于PCM的研究基本都是用仿真的方法把PCM作为内存的替代或者与内存混合使用。特别是固态盘中,很多研究把PCM作为NAND FLASH的缓存使用,但是这并不能充分发挥PCM的性能优势来弥补NAND FLASH的性能缺点。
发明内容
鉴于此,本发明的目的是在主机端实现对NAND FLASH的性能优化以及PCM与NAND FLASH融合的存储管理,来提高固态盘的整体性能;同时,利用PCM优秀的性能弥补NAND FLASH的性能缺点,提高固态盘读写性能以及使用寿命。
本发明提出一种软件定义的固态盘融合存储方法,其中,在基于NAND FLASH的固态盘中融合相变存储器(PCM),所述方法包括以下步骤:
(1)开机时从固态盘PCM固定区域读取PCM地址映射表和FLASH地址映射表到主机内存中,同时在主机内存中开辟一段固态盘的缓存区,当主机有访问固态盘的请求Q(lsn,size,op,data)时,首先获取Q.lsn和Q.size,根据Q.lsn以及Q.size判断请求Q访问的数据是否在缓存区中,其中,lsn是逻辑地址,size是请求大小,op是读写标志,data是数据在主机内存中的地址,即主机端的数据目的地址或源地址,
如果命中,对于读请求,把数据从缓存区中拷贝到data地址,对于写请求,把data地址数据拷贝到缓存区中,转入步骤(8);如果没命中,对于读请求,转入步骤(2),对于写请求,如果缓存区没有满,直接把data地址处的数据拷贝到缓存区中,转入步骤(8),否则进行缓存区替换更新操作,转入步骤(3);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410051045.1/2.html,转载请声明来源钻瓜专利网。