一种NVMe固态硬盘写加速的方法技术

技术编号:17097380 阅读:68 留言:0更新日期:2018-01-21 09:08
本发明专利技术公开了一种NVMe固态硬盘写加速的方法,由固态硬盘硬件自动将命令信息取到F I FO中,并自动提交到硬件加速单元处理;同时自动为该命令分配缓存,并建立数据传输,硬件自动发起数据传输,数据传输完成后通知固态硬盘的固件;固态硬盘的固件中还包括缓存合并操作,在将缓存中数据实际写入固态硬盘的物理存储空间的操作前必须先执行缓存合并操作。通过引入写入通路的硬件自动传输机制,优化缓存的管理机制,进而适应性修改固态硬盘的写入机制,可有效降低了命令处理延迟,提高内部内存带宽,可以满足主机端的高速写入带宽需求。同时,经过缓存合并缓存合并操作,还可以有效合并重复地址的写入。

A method of writing acceleration for NVMe solid state hard disk

The invention discloses a method for NVMe solid state disk write acceleration, by SSD hardware will automatically take command information to F I FO, and automatically submitted to the hardware accelerated processing unit; at the same time as the automatic command cache allocation, and the establishment of data transmission, the hardware automatically initiates the data transfer, data transmission completion notice SSD Firmware; cache merge operation also includes SSD Firmware, the cache must perform a merge operation cache data is actually written to the physical storage space of SSDs before operation. Automatic transmission mechanism by introducing the writing pathway hardware cache management mechanism optimization, and adaptive mechanism of solid state disk write modify, can effectively reduce the command processing delay, improve the internal memory bandwidth, can meet the needs of high speed write bandwidth of the host. At the same time, after caching combined with caching, it can also effectively merge the writing of repeated addresses.

【技术实现步骤摘要】
一种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在分配写入地址时,先检查作命中检测,具体为根据命令的逻辑地址信息在内存中的缓存管理列表CacheTable进行检索,检查是否可命中缓存管理列表。如果命中现有DRAM中的写Cache,则直接使用该CacheBuffer;如没有命中,则分配新的DRAMBuffer;同时将该CacheEntry(逻辑地址,DRAM地址)添加到CacheTable中,作为后续写入请求检查使用。采用常规缓存的Cache的使用机制和管理流程,其命令提交和执行的步骤较多,环节多且在数据传输前需要固件参与前置的Cache检查,因此整个处理流程引入了较大的系统延迟,成为制约SSD带宽提升的一个重要瓶颈,因此无法满足高带宽的产品需求。
技术实现思路
针对以上缺陷,本专利技术目的是如何在改善缓存管理机制,降低由于缓存机制带来的系统延迟,进而实现提高固态硬盘带宽的目的。为了解决以上问题本专利技术提出了一种NVMe固态硬盘写加速的方法,其特征在于在固态硬盘中增加硬件加速单元,固态硬盘接收到主机命令后,由固态硬盘硬件自动将命令信息取到FIFO中,并自动提交到硬件加速单元处理;同时自动为该命令分配缓存,并建立数据传输,硬件自动发起数据传输,数据传输完成后通知固态硬盘的固件;固态硬盘的固件中还包括缓存合并操作,在将缓存中数据实际写入固态硬盘的物理存储空间的操作前必须先执行缓存合并操作;所述缓存合并操作具体为固态硬盘固件后台检索缓存列表,根据新的数据覆盖旧的数据原则,合并指向相同逻辑地址的缓存,并释放缓存。所述的NVMe固态硬盘写加速的方法,其特征在于固态硬盘固件在已分配使用的缓存达到预先设定的阀值时才启动缓存合并操作,执行完缓存合并操作后才启动将缓存中数据实际写入固态硬盘的物理存储空间的操作。所述的NVMe固态硬盘写加速的方法,其特征在于NVMe固态硬盘具体的写入流程为:主机通知SSD有新的命令,SSD硬件自动将命令信息取到本地FIFO;SSD硬件自动将命令提交硬件加速单元处理;同时SSD软件可以查询并获取新的命令;SSD硬件自动分配可用的内部SRAM,建立数据传输;SSD软件可将命令提交CM,并透传到DPM模块;硬件自动发起数据传输;传输完成后硬件通知软件数据传输完成;缓存达到预先设定的阀值时才启动缓存合并操作;缓存合并操作完成后由DPM发起对后端NAND写入请求,实际将缓存中的数据写入NAND中。本专利技术通过引入写入硬件加速以及优化缓存的管理机制,进而适应性修改固态硬盘的写入机制,可实现写入命令的硬件与软件最大并发性,有效降低了命令处理延迟,提高内部Memory带宽,可以满足主机端的高速写入带宽需求。同时,经过缓存合并Cachemerge,还可以有效合并重复地址的写入,降低了写放大。附图说明图1是常规SSD数据写入的流程图;图2是常规缓存管理的模型示意图;图3是改进后的SSD数据写入的流程图;图4是改进后的缓存管理的模型示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图3是改进后的SSD数据写入的流程图;为本专利技术所引入的硬件加速单元所处理的写入模型:当主机有数据写入的需求时,主机通知SSD有新的命令;SSD硬件接到命令通知后自动将命令信息取到本地FIFO;SSD硬件自动将命令提交硬件加速单元处理;同时SSD软件可以查询并获取新的命令;SSD硬件自动分配可用的内部SRAM,建立数据传输;SSD软件可将命令提交CM,并透传到DPM模块,此时DPM模块不需要负责任何Buffer分配、传输建立等工作;硬件自动发起数据传输;硬件通知软件数据传输完成;DPM发起对后端NAND写入请求。图4是改进后的缓存管理的模型示意图,由于数据是由硬件自动分配可用的SRAM空间进行写入,在硬件加速单元中,存在重复的逻辑地址数据。如果将这些数据依次写入到NAND上,则只有最新的逻辑数据是有效数据,而其他的都是垃圾数据,对于主机来说是无效的。在传统方案中,由于前置的CacheTable策略的存在,可以通过分配相同的DRAMBuffer进行需求合并,不会产生重复的NAND写。在本专利技术中,结合硬件自动传输模型,当SRAM中数据达到阈值,需要对NAND发起写操作请求时,通过CacheMerge模块,进行重复地址的合并。根据相同逻辑地址的数据,最近写入的有效的原则,将无效的数据直接释放,从而减少了NAND的写入,并可直接用于后续的主机命令写入。以上所揭露的仅为本专利技术一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本专利技术权利要求所作的等同变化,仍属于本专利技术所涵盖的范围。本文档来自技高网
...
一种NVMe固态硬盘写加速的方法

【技术保护点】
一种NVMe固态硬盘写加速的方法,其特征在于在固态硬盘中增加硬件加速单元,固态硬盘接收到主机命令后,由固态硬盘硬件自动将命令信息取到FIFO中,并自动提交到硬件加速单元处理;同时自动为该命令分配缓存,并建立数据传输,硬件自动发起数据传输,数据传输完成后通知固态硬盘的固件;固态硬盘的固件中还包括缓存合并操作,在将缓存中数据实际写入固态硬盘的物理存储空间的操作前必须先执行缓存合并操作;所述缓存合并操作具体为固态硬盘固件后台检索缓存列表,根据新的数据覆盖旧的数据原则,合并指向相同逻辑地址的缓存,并释放缓存。

【技术特征摘要】
1.一种NVMe固态硬盘写加速的方法,其特征在于在固态硬盘中增加硬件加速单元,固态硬盘接收到主机命令后,由固态硬盘硬件自动将命令信息取到FIFO中,并自动提交到硬件加速单元处理;同时自动为该命令分配缓存,并建立数据传输,硬件自动发起数据传输,数据传输完成后通知固态硬盘的固件;固态硬盘的固件中还包括缓存合并操作,在将缓存中数据实际写入固态硬盘的物理存储空间的操作前必须先执行缓存合并操作;所述缓存合并操作具体为固态硬盘固件后台检索缓存列表,根据新的数据覆盖旧的数据原则,合并指向相同逻辑地址的缓存,并释放缓存。2.根据权利要求1所述的NVMe固态硬盘写加速的方法,其特征在于固态硬盘固件在已分配使用的缓存达到预先设定的阀值时才启...

【专利技术属性】
技术研发人员:王猛徐伟华肖锐李传业
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:广东,44

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

1