一种混合缓存的存储方法及装置制造方法及图纸

技术编号:32567015 阅读:18 留言:0更新日期:2022-03-09 16:52
一种混合缓存的存储方法,属于存储技术领域,其特征在于包括:将数据分割为预设大小的数据块;将数据块以数据链表形式关联并写入队列缓存;基于操作系统复杂无规则的数据命令,采用本发明专利技术所述存储方法可以对系统写命令进行动态缓存和存储,能够兼顾存储设备的IOPS和顺序写性能;同时由于对设备缓存进行分类管理,能最大化利用缓存空间,可以最大程度减少内存碎片的产生;通过对连续小数据命令的重构变换使得命令效率得到提升,并减少设备CPU在建立FTL时进行的表项操作,提高CPU利用率;兼顾随机写的高并发数及顺序写的大数据吞吐,可显著提升存储设备的总体性能。显著提升存储设备的总体性能。显著提升存储设备的总体性能。

【技术实现步骤摘要】
一种混合缓存的存储方法及装置


[0001]本专利技术属于存储
,尤其涉及一种混合缓存的存储方法及装置。

技术介绍

[0002]随着对数据传输、存储的性能需求不断提高,对于小数据的随机性与大数据的吞吐性能都提出了更高的要求。
[0003] 当前固态硬盘等存储设备主要以Nand Flash为主要的存储介质,该介质具有先擦再写,且该擦除以Block为单位,其中Block单位从4k * 128 到16k * 2048等大小种类繁多,而该介质还具有以Page为最小写单位的特性,且Page大小也有4k到 16k等大小差异,而当前普遍的操作系统的读写以512Byte为逻辑单位,因此在存储设备工作过程中就必须有一套逻辑地址

物理地址的FTL映射层。
[0004]衡量一个存储设备的性能往往包含随机并发数及数据吞吐量,但目前普遍的做法是采用一个统一大小的块来进行映射,该大小与操作系统提供的数据块通常保持一致,如4K、8K、16k、32k到128k,该映射方法下FTL架构简单,易于管理,但无法兼顾随机性和吞吐量。

技术实现思路

[0005]本专利技术旨在解决上述问题,提供一种大数据映射与小数据映射并存的混合缓存的存储方法及装置。
[0006]第一方面,本专利技术提供一种混合缓存的存储方法,包括如下过程:将数据分割为预设大小的数据块;将数据块以数据链表形式关联并写入队列缓存,待设备收到命令中断后开始读取解析命令缓存;存储设备获取命令后,基于命令长度对数据链表进行命令重构;所述命令重构包括:当数据地址连续时,逻辑电路将小数据块合并为可支持的最大数据数据块,采用最大数据数据块映射,从而可成倍提升命令传输效率;当数据地址离散或为离散命令时,采用与操作系统数据块大小相同的缓存块映射;所述命令重构中设置一缓存类标志位,标明当前命令链表所用缓存类;存储设备基于该缓存类标志位为该类数据分配相应大小物理块并生成写命令写入非遗失存储颗粒,同时填写呈相应映射表;写命令实际传输并写入非遗失存储颗粒后,基于缓存类标志查找对应状态表并释放缓存。
[0007]进一步,本专利技术所述混合缓存的存储方法,所述写入队列缓存的缓存方式包括嵌套式和分离式;所述嵌套式为:数据缓存区不做划分,大数据缓存与小数据缓存复用,数据缓存以前述预设大小为最小单位,各类单位数据块独立使用一个状态表;独立小数据块和复用大
数据块独立使用一个状态表,用于管理各单位数据;所述分离式为:数据缓存区多个大小不等的缓存区域,每个缓存区域各自独立使用地址空间,且状态表独立。
[0008]进一步,本专利技术所述混合缓存的存储方法,所述缓存的获取采用预取机制,各单位缓存对应一张预取表;在预取表不满时逻辑电路搜索相应状态表,预取表满时停止搜索。
[0009]进一步,本专利技术所述混合缓存的存储方法,所述缓存方式为分离式搜索时,各类缓存状态表独立;缓存方式为嵌套式搜索时,各类缓存状态表满足互斥关系。
[0010]进一步,本专利技术所述混合缓存的存储方法,所述单位缓存状态表大小=缓存大小
÷
(数据块单位*8)。
[0011]进一步,本专利技术所述混合缓存的存储方法,所述预设大小范围包括512b

128kb。
[0012]第二方面,本专利技术提供一种混合缓存的存储装置,存储装置进行数据存储时可运行第一方面所述任何一项所述的混合缓存的存储方法。
[0013]本专利技术所述混合缓存的存储方法及装置,基于操作系统复杂无规则的数据命令,采用本专利技术所述存储方法可以对系统写命令进行动态缓存和存储,能够兼顾存储设备的IOPS和顺序写性能;同时由于对设备缓存进行分类管理,能最大化利用缓存空间,可以最大程度减少内存碎片的产生;通过对连续小数据命令的重构变换使得命令效率得到提升,并减少设备CPU在建立FTL时进行的表项操作,提高CPU利用率;兼顾随机写的高并发数及顺序写的大数据吞吐,可显著提升存储设备的总体性能。
附图说明
[0014]图1为本专利技术实施例所述嵌套式数据缓存示意图;图2为本专利技术实施例所述分离式数据缓存示意图;图3为本专利技术实施例所述数据缓存状态管理示意图;图4为本专利技术实施例所述命令解析重构模块示意图;图5为本专利技术实施例所述嵌套式缓存回收模块示意图。
具体实施方式
[0015]下面通过附图及实施例对本专利技术所述混合缓存的存储方法及装置进行详细说明。
[0016]实施例一本公开实施例公开一种混合缓存的存储方法,包括如下过程:将数据分割为预设大小的数据块;将数据块以数据链表形式关联并写入队列缓存,待设备收到命令中断后开始读取解析命令缓存;存储设备获取命令后,基于命令长度对数据链表进行命令重构;所述命令重构包括:当数据地址连续时,逻辑电路将小数据块合并为可支持的最大数据数据块,采用最大数据数据块映射,从而可成倍提升命令传输效率;当数据地址离散或为离散命令时,采用与操作系统数据块大小相同的缓存块映射;所述命令重构中设置一缓存类标志位,标明当前命令链表所用缓存类;存储设备基于该缓存类标志位为该类数据分配相应大小物理块并生成写命令写入非遗失存储颗粒,
同时填写呈相应映射表;写命令实际传输并写入非遗失存储颗粒后,基于缓存类标志查找对应状态表并释放缓存。
[0017]在本公开实施例中,以SSD为例,前端传输协议为NVME;混合缓存存储过程包括如下:操作系统在数据命令传输过程将数据划分为4k大小的数据块,该数据块大小4k到128k不等,但大小一致,具体大小可根据实际使用情况来确定。当操作系统执行写命令后,数据被分割为4k大小的数据块,各数据块以数据链表形式关联并写入队列缓存,待设备端收到命令中断后开始读取解析命令缓存。
[0018]设备端获取命令后,基于本次命令长度对数据链表进行重构,在具体应用中基于设备不同配置,缓存方式可分为嵌套式和分离式,其中,如图1所示嵌套式为:设备端数据缓存区不做划分,大数据缓存与小数据缓存复用,其中数据缓存以4k为最小单位,8个最小数据块组成一个32k数据块。相应的若在使用中最小单位为512byte,则8个最小数据缓存组成一个4k数据块,64个最小数据组成一个32k数据块。如图3所示,各类单位数据块独立使用一个状态表,用于管理各单位数据。
[0019]如图2所示,分离式为设备数据缓存区划分为4k和32k,两种数据缓存区各自独立使用地址空间,状态表独立;在具体应用中基于需求可增加8k/16k数据区域;其中,单位缓存状态表大小=缓存大小
÷
(数据块单位*8)。
[0020]在进行命令重构时,当操作系统命令的数据地址连续时,逻辑电路将小数据块合并为可支持的最大数据数据块,在本公开实施例中,如图4所示,连续8个4k地址连续命令可重构为一个32k命令,其FTL映射块采用32k映射,从而可成倍提升命令传输效率。如命令数据地址离散或离散命令,将采用与操作系统相同数据块大小的缓存块,其FTL映射表采用4k映射。
[0021]在本公开实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种混合缓存的存储方法,其特征在于包括:将数据分割为预设大小的数据块;将数据块以数据链表形式关联并写入队列缓存;存储设备获取命令后,基于命令长度对数据链表进行命令重构;所述命令重构包括:当数据地址连续时,将小数据块合并为可支持的最大数据数据块,采用最大数据数据块映射;当数据地址离散或为离散命令时,采用与操作系统数据块大小相同的缓存块映射;所述命令重构中设置一缓存类标志位,标明当前命令链表所用缓存类;存储设备基于该缓存类标志位为该类数据分配相应大小物理块并生成写命令写入非遗失存储颗粒,同时填写呈相应映射表;写命令实际传输并写入非遗失存储颗粒后,基于缓存类标志查找对应状态表并释放缓存。2.根据权利要求1所述混合缓存的存储方法,其特征在于:所述写入队列缓存的缓存方式包括嵌套式和分离式;所述嵌套式为:数据缓存区不做划分,数据缓存以前述预设大小为最小单位,各类单位数据块独立使用一个状态表;所述分离式为:数据缓...

【专利技术属性】
技术研发人员:杨柱高明扬谷卫青唐先芝王剑立郝晨吴浚潘文洁刘艺楠马铭振
申请(专利权)人:尧云科技西安有限公司
类型:发明
国别省市:

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

1