数据存储系统、方法、计算机设备及存储介质技术方案

技术编号:32743007 阅读:8 留言:0更新日期:2022-03-20 08:50
本公开关于一种数据存储系统、方法、计算机设备及存储介质,属于存储技术领域,该方法包括:通过工作在用户空间的PMDK单元,基于读写指令,使用MMU,对PMEM进行读写;通过工作在用户空间的SPDK单元,基于读写指令,根据数据的元数据,对SSD进行读写。通过上述技术方案,为PMEM与SSD分别规划了基于用户空间的读写路径,在用户空间即可实现数据的读写,避免了系统调用带来的性能损耗,提高了对PMEM与SSD的读写速度,充分发挥了PMEM与SSD的大吞吐量与高IOPS,进而大大提高了数据存储的效率。进而大大提高了数据存储的效率。进而大大提高了数据存储的效率。

【技术实现步骤摘要】
数据存储系统、方法、计算机设备及存储介质


[0001]本公开涉及存储
,尤其涉及一种数据存储系统、方法、计算机设备及存储介质。

技术介绍

[0002]随着存储技术的发展,出现了相较于传统HDD(Hard Disk Drive,硬盘驱动器)具有大吞吐量、高IOPS(Input/Output Operations Per Second,每秒可读写次数)的新型存储硬件,其中包括SSD(Solid State Disk,固态硬盘)和PMEM(Persistent Memory,持久化内存)。
[0003]传统的文件读写机制下,应用程序需要基于文件系统通过系统调用对存储硬件进行读写,而系统调用涉及到从用户态到内核态的转换。
[0004]对于高性能的新型存储硬件来说,传统的文件读写机制下,文件读写路径过长,使得对存储硬件进行读写耗时较久,从而导致对新型存储硬件进行读写的速度远远慢于新型存储硬件所支持的读写速度,无法充分发挥出新型存储硬件的大吞吐量与高IOPS,在新型存储硬件中进行数据存储的效率十分低下。

技术实现思路

[0005]本公开提供一种数据存储系统、方法、计算机设备及存储介质,能够提高数据存储的效率。本公开的技术方案如下:
[0006]根据本公开实施例的第一方面,提供一种数据存储系统,该系统应用于计算机设备,该计算机设备包括持久化内存PMEM和固态硬盘SSD,该数据存储系统包括工作在用户空间的存储性能开发工具包SPDK单元、持久化内存开发工具包PMDK单元以及内存管理单元MMU,该MMU提供该PMEM中的物理地址和该用户空间中的虚拟地址之间的映射关系;
[0007]该PMDK单元,被配置为基于应用层的读写指令,对该PMEM进行读写;
[0008]该SPDK单元,被配置为基于该读写指令以及该读写指令对应数据的元数据,对该SSD进行读写。
[0009]在一种可能实施方式中,该读写指令为写指令;
[0010]该SPDK单元,被配置为基于该写指令,在该SSD中写入该写指令对应的第一数据,向该应用层返回该第一数据的元数据;
[0011]该PMDK单元,被配置为基于该写指令和该第一数据的元数据,在该PMEM中写入该第一数据的元数据,将该第一数据的元数据写入至该用户空间对应的内存。
[0012]在一种可能实施方式中,该读写指令为删除指令;
[0013]该PMDK单元,被配置为基于该删除指令,在该PMEM中删除与该删除指令对应的第二数据的元数据,从该用户空间对应的内存中删除该第二数据的元数据;
[0014]该SPDK单元,被配置为基于该删除指令以及该第二数据的元数据,在该SSD中删除该第二数据。
[0015]在一种可能实施方式中,该读写指令为修改指令;
[0016]该SPDK单元,被配置为基于该修改指令以及该修改指令对应的第三数据的元数据,在该SSD中修改该第三数据;
[0017]该PMDK单元,被配置为基于该修改指令以及修改后的该第三数据,在该PMEM中修改该第三数据的元数据,在该用户空间对应的内存中更新该第三数据的元数据。
[0018]在一种可能实施方式中,该读写指令为读取指令;
[0019]该SPDK单元,被配置为基于该读取指令,从该用户空间对应的内存中读取该读取指令对应的第四数据的元数据;
[0020]基于该读取指令以及该第四数据的元数据,从该SSD中读取该第四数据。
[0021]在一种可能实施方式中,该读写指令为重启指令;
[0022]该SPDK单元,被配置为基于该重启指令,将该SSD中存储的数据设置为可读取状态;
[0023]该PMDK单元,被配置为基于该重启指令,从该PMEM中,将该SSD中存储的数据的元数据读取至该用户空间对应的内存中。
[0024]根据本公开实施例的第二方面,提供一种数据存储方法,由数据存储系统执行,该数据存储系统包括工作在用户空间的SPDK单元、PMDK单元以及MMU,该方法包括:
[0025]通过工作在用户空间的该PMDK单元,基于应用层的读写指令,对PMEM进行读写,该MMU提供该PMEM中的物理地址和用户空间中的虚拟地址之间的映射关系;
[0026]通过工作在用户空间的该SPDK单元,基于该读写指令以及该读写指令对应数据的元数据,对SSD进行读写。
[0027]在一种可能实施方式中,该读写指令为写指令;
[0028]通过该SPDK单元,基于该写指令,在该SSD中写入该写指令对应的第一数据,向该应用层返回该第一数据的元数据;
[0029]通过该PMDK单元,基于该写指令和该第一数据的元数据,在该PMEM中写入该第一数据的元数据,将该第一数据的元数据写入至该用户空间对应的内存。
[0030]在一种可能实施方式中,该读写指令为删除指令;
[0031]通过该PMDK单元,基于该删除指令,在该PMEM中删除与该删除指令对应的第二数据的元数据,从该用户空间对应的内存中删除该第二数据的元数据;
[0032]通过该SPDK单元,基于该删除指令以及该第二数据的元数据,在该SSD中删除该第二数据。
[0033]在一种可能实施方式中,该读写指令为修改指令;
[0034]通过该SPDK单元,基于该修改指令以及该修改指令对应的第三数据的元数据,在该SSD中修改该第三数据;
[0035]通过该PMDK单元,基于该修改指令以及修改后的该第三数据,在该PMEM中修改该第三数据的元数据,在该用户空间对应的内存中更新该第三数据的元数据。
[0036]在一种可能实施方式中,该读写指令为读取指令;
[0037]通过该SPDK单元,基于该读取指令,从该用户空间对应的内存中读取该读取指令对应的第四数据的元数据;
[0038]基于该读取指令以及该第四数据的元数据,从该SSD中读取该第四数据。
[0039]在一种可能实施方式中,该读写指令为重启指令;
[0040]通过该SPDK单元,基于该重启指令,将该SSD中存储的数据设置为可读取状态;
[0041]通过该PMDK单元,基于该重启指令,从该PMEM中,将该SSD中存储的数据的元数据读取至该用户空间对应的内存中。
[0042]根据本公开实施例的第三方面,提供一种计算机设备,该计算机设备包括:
[0043]一个或多个处理器;
[0044]用于存储该处理器可执行程序代码的存储器,该存储器包括:PMEM和SSD;
[0045]其中,该处理器被配置为执行该程序代码,以实现上述的数据存储方法。
[0046]根据本公开实施例的第四方面,提供一种计算机可读存储介质,该计算机可读存储介质包括:当该计算机可读存储介质中的程序代码由计算机设备的处理器执行时,使得计算机设备能够执行上述的数据存储方法。
[0047]根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储系统,其特征在于,应用于计算机设备,所述计算机设备包括持久化内存PMEM和固态硬盘SSD,所述数据存储系统包括工作在用户空间的存储性能开发工具包SPDK单元、持久化内存开发工具包PMDK单元以及内存管理单元MMU,所述MMU提供所述PMEM中的物理地址和所述用户空间中的虚拟地址之间的映射关系;所述PMDK单元,被配置为基于应用层的读写指令,对所述PMEM进行读写;所述SPDK单元,被配置为基于所述读写指令以及所述读写指令对应数据的元数据,对所述SSD进行读写。2.根据权利要求1所述的数据存储系统,其特征在于,所述读写指令为写指令;所述SPDK单元,被配置为基于所述写指令,在所述SSD中写入所述写指令对应的第一数据,向所述应用层返回所述第一数据的元数据;所述PMDK单元,被配置为基于所述写指令和所述第一数据的元数据,在所述PMEM中写入所述第一数据的元数据,将所述第一数据的元数据写入至所述用户空间对应的内存。3.根据权利要求1所述的数据存储系统,其特征在于,所述读写指令为删除指令;所述PMDK单元,被配置为基于所述删除指令,在所述PMEM中删除与所述删除指令对应的第二数据的元数据,从所述用户空间对应的内存中删除所述第二数据的元数据;所述SPDK单元,被配置为基于所述删除指令以及所述第二数据的元数据,在所述SSD中删除所述第二数据。4.根据权利要求1所述的数据存储系统,其特征在于,所述读写指令为修改指令;所述SPDK单元,被配置为基于所述修改指令以及所述修改指令对应的第三数据的元数据,在所述SSD中修改所述第三数据;所述PMDK单元,被配置为基于所述修改指令以及修改后的所述第三数据,在所述PMEM中修改所述第三数据的元数据,在所述用户空间对应的内存中更新所述...

【专利技术属性】
技术研发人员:王发强邹建平颜世光
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1