[发明专利]一种NVMe固态硬盘写加速的方法在审
申请号: | 201710847696.5 | 申请日: | 2017-09-19 |
公开(公告)号: | CN107608909A | 公开(公告)日: | 2018-01-19 |
发明(设计)人: | 王猛;徐伟华;肖锐;李传业 | 申请(专利权)人: | 记忆科技(深圳)有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06;G06F3/06 |
代理公司: | 广东广和律师事务所44298 | 代理人: | 董红海 |
地址: | 518057 广东省深圳市南山区蛇口街道蛇*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 nvme 固态 硬盘 加速 方法 | ||
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种NVMe固态硬盘写加速的方法。
背景技术
SSD(固态硬盘)已经被广泛应用于各种场合,随着协议的发展,已经从传统的SATA发展为PCIe/NVMe时代,其接口性能也带来数倍的提升。
在SATA时代,典型的接口性能在500MB/s左右,而在PCIe/NVMe接口规范下,则典型需要2-3GB/s的带宽。
图1是常规SSD数据写入的流程图;当主机端有对SSD访问的需求时,主机通知SSD有新的命令,SSD的硬件模块自动将命令信息取到命令传输FIFO。SSD 固件(固态硬盘控制器的控制程序)通过前端FSM模块在命令传输FIFO中进行查询和读取并获取新的命令;SSD固件的前端FSM将所获取的命令提交给命令管理模块CM执行;命令管理模块CM现执行预处理操作,如:读写分离操作等,并将分离后的操作指令提交给后继模块数据通路管理模块DPM进一步执行操作。数据通路管理模块DPM进一步将命令分割为统一的单元(典型地如4KB),数据通路管理模块DPM根据数据传输地址,构建数据传输请求,检查当前缓存中是否存在命中数据,如果存在则直接执行命中写缓存操作,如果不存在则从DRAM 的空闲空间中分配新缓存Buffe。并将通知硬件接口将数据传输到新分配的缓存中;当数据传输完成后,通知软件数据传输完成,数据通路管理DPM发起后端 NAND写入请求,由后端实现将数据写入NAND的物理存储空间中。
图2是常规缓存管理的模型示意图:SSD内部内存中建立维护有一个缓存管理列表,缓存管理列表至少包括内存中已经存在的缓存信息,包括逻辑地址和 DRAM地址的映射关系,通过缓存管理列表来整体管理缓存。当SSD收到主机写入的请求时,通过分析命令获取该命令访问的逻辑地址,SSD在分配写入地址时,先检查作命中检测,具体为根据命令的逻辑地址信息在内存中的缓存管理列表 Cache Table进行检索,检查是否可命中缓存管理列表。如果命中现有DRAM中的写Cache,则直接使用该Cache Buffer;如没有命中,则分配新的DRAM Buffer;同时将该Cache Entry(逻辑地址,DRAM地址)添加到Cache Table中,作为后续写入请求检查使用。
采用常规缓存的Cache的使用机制和管理流程,其命令提交和执行的步骤较多,环节多且在数据传输前需要固件参与前置的Cache检查,因此整个处理流程引入了较大的系统延迟,成为制约SSD带宽提升的一个重要瓶颈,因此无法满足高带宽的产品需求。
发明内容
针对以上缺陷,本发明目的是如何在改善缓存管理机制,降低由于缓存机制带来的系统延迟,进而实现提高固态硬盘带宽的目的。
为了解决以上问题本发明提出了一种NVMe固态硬盘写加速的方法,其特征在于在固态硬盘中增加硬件加速单元,固态硬盘接收到主机命令后,由固态硬盘硬件自动将命令信息取到FIFO中,并自动提交到硬件加速单元处理;同时自动为该命令分配缓存,并建立数据传输,硬件自动发起数据传输,数据传输完成后通知固态硬盘的固件;固态硬盘的固件中还包括缓存合并操作,在将缓存中数据实际写入固态硬盘的物理存储空间的操作前必须先执行缓存合并操作;所述缓存合并操作具体为固态硬盘固件后台检索缓存列表,根据新的数据覆盖旧的数据原则,合并指向相同逻辑地址的缓存,并释放缓存。
所述的NVMe固态硬盘写加速的方法,其特征在于固态硬盘固件在已分配使用的缓存达到预先设定的阀值时才启动缓存合并操作,执行完缓存合并操作后才启动将缓存中数据实际写入固态硬盘的物理存储空间的操作。
所述的NVMe固态硬盘写加速的方法,其特征在于NVMe固态硬盘具体的写入流程为:主机通知SSD有新的命令,SSD硬件自动将命令信息取到本地FIFO; SSD硬件自动将命令提交硬件加速单元处理;同时SSD软件可以查询并获取新的命令;SSD硬件自动分配可用的内部SRAM,建立数据传输;SSD软件可将命令提交CM,并透传到DPM模块;硬件自动发起数据传输;传输完成后硬件通知软件数据传输完成;缓存达到预先设定的阀值时才启动缓存合并操作;缓存合并操作完成后由DPM发起对后端NAND写入请求,实际将缓存中的数据写入NAND中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于记忆科技(深圳)有限公司,未经记忆科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710847696.5/2.html,转载请声明来源钻瓜专利网。