存储设备间移动数据的方法、控制器和存储系统技术方案

技术编号:13086233 阅读:81 留言:0更新日期:2016-03-30 17:05
本发明专利技术实施例提供一种存储设备间移动数据的方法、控制器和存储系统。方法,包括:一体化存储UAS控制器接收用户空间库发送的数据移动请求,所述数据移动请求包括源存储设备的源地址、目的存储设备的目的地址以及所需移动的数据大小,所述数据移动请求为所述用户空间库接收到应用程序对所述用户空间库中的数据移动应用程序接口API的调用请求时发送的;所述UAS控制器根据所述源地址、目的地址以及数据大小,将待移动数据从所述源存储设备移动到目的存储设备。本发明专利技术实施例的数据移动过程,在用户态即可实现两个存储设备之间的直接的数据移动,而无需操作系统参与,无需进入内核态,从而可以节约系统开销。

【技术实现步骤摘要】

本专利技术实施例涉及存储技术,尤其涉及一种存储设备间移动数据的方法、控制器和存储系统
技术介绍
一体化存储(UnifiedAccessingStorage,以下简称:UAS)系统中可以包括多种不同特性的存储设备,如可以包括动态随机访问存储器(DynamicRandomAccessMemory,以下简称:DRAM)、非易失性存储器(Non-VolatileMemory,以下简称:NVM)、基于Flash的固态硬盘(Flash-basedSolidStateDisk,以下简称:Flash-basedSSD)、磁盘(HardDisk,以下简称:HDD)等。这些不同特性的存储设备都通过内存总线或者其它互连方式连接到CPU。一体化存储系统对不同特性的存储设备进行统一编址,CPU可以寻址到整个存储系统的各个地址空间,从而可以针对一体化存储系统中的各个存储设备进行存取访问。为了更好地利用一体化存储系统的性能,需要支持应用程序在一体化存储系统的不同存储设备间移动数据。因此,如何使应用程序能够在一体化存储系统的不同存储设备间移动数据,成为亟待解决的技术问题。
技术实现思路
本专利技术实施例提供一种存储设备间移动数据的方法、控制器和存储系统。第一方面,提供一种存储设备间移动数据的方法,包括:一体化存储UAS控制器接收用户空间库发送的数据移动请求,所述数据移动请求包括源存储设备的源地址、目的存储设备的目的地址以及所需移动的数据大小,所述数据移动请求为所述用户空间库接收到应用程序对所述用户空间库中的数据移动应用程序接口API的调用请求时发送的;所述UAS控制器根据所述源地址、目的地址以及数据大小,将待移动数据从所述源存储设备移动到目的存储设备。第二方面,提供一种UAS控制器,包括:接收模块,用于接收用户空间库发送的数据移动请求,所述数据移动请求包括源存储设备的源地址、目的存储设备的目的地址以及所需移动的数据大小,所述数据移动请求为所述用户空间库接收到应用程序对所述用户空间库中的数据移动应用程序接口API的调用请求时发送的;数据移动模块,用于根据所述源地址、目的地址以及数据大小,将待移动数据从所述源存储设备移动到目的存储设备。第三方面,提供一种UAS系统,包括:UAS控制器和与所述UAS控制器连接的至少两个存储设备,所述UAS控制器采用上述的UAS控制器。本专利技术上述实施例,通过在用户空间库中增加数据移动API,从而使得应用程序可以通过调用该用户空间库中的API,向UAS控制器发送数据移动请求;UAS控制器在接收到数据移动请求之后,可以根据该请求中包含的源存储设备的源地址、目的存储设备的目的地址以及所需移动的数据大小,将所需移动的数据从源存储设备移动到目的存储设备,从而可以完成两个存储设备间的数据移动。因此,本专利技术实施例只需要开发用户空间库中的数据移动API,实现简便;而且,本专利技术实施例的数据移动过程,在用户态即可实现两个存储设备之间的直接的数据移动,而无需操作系统参与,无需进入内核态,从而可以节约系统开销。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术存储设备间移动数据的方法实施例一的流程图;图2为图1所示方法所应用的系统架构图;图3为本专利技术存储设备间移动数据的方法实施例二的流程图;图4为本专利技术UAS控制器实施例的结构示意图;图5为本专利技术UAS系统实施例的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术存储设备间移动数据的方法实施例一的流程图,图2为图1所示方法所应用的系统架构图,如图1和2所示,本实施例的方法可以包括:S101、UAS控制器接收用户空间库发送的数据移动请求,该数据移动请求包括源存储设备的源地址、目的存储设备的目的地址以及所需移动的数据大小,数据移动请求为用户空间库接收到应用程序对用户空间库中的数据移动应用程序接口(ApplicationProgrammingInterface,以下简称:API)的调用请求时发送的;S102、UAS控制器根据源地址、目的地址以及数据大小,将待移动数据从源存储设备移动到目的存储设备。具体来说,本实施例所采用的系统架构包括软件部分和硬件部分,其中,软件部分包括应用程序和用户空间库,硬件部分包括UAS控制器和与该UAS控制器连接的DRAM、NVM、Flash-basedSSD、HDD等多种不同特性的存储设备,UAS控制器可以控制这些存储设备上的数据操作。应用程序可以调用用户空间库中提供的API,从而可以通过用户空间库向UAS控制器发送访问请求,以访问存储设备中的数据。为了实现本实施例的技术方案,可以在用户空间库中增加一个数据移动API(以下简称:moveAPI),moveAPI的基本参数可以包括待移动数据所在源存储设备的源地址src_addr、目的存储设备的目的地址dest_addr以及所需移动的数据大小data_size,该接口函数可以表征为voidmove(src_addr,dest_addr,data_size,……)。应用程序可以向用户空间库发送调用请求,以调用用户空间库中的moveAPI,即可将从源地址src_addr开始的data_size大小的数据块移动到目的地址dest_addr开始的位置。用户空间库在接收到应用程序对该moveAPI的调用时,即可向UAS控制器发送数据移动请求,该数据移动请求即可将应用程序调用moveAPI时发送的源存储设备的源地址src_addr、目的存储设备的目的地址dest_addr以及所需移动的数据大小data_size传送给UAS控制器。UAS控制器在接收到用户空间库发送的数据移动请求后,即可根据该数据移动请求中所包含的源存储设备的源地址src_addr、目的存储设备的目的地址dest_addr以及所需移动的本文档来自技高网...
存储设备间移动数据的方法、控制器和存储系统

【技术保护点】
一种存储设备间移动数据的方法,其特征在于,包括:一体化存储UAS控制器接收用户空间库发送的数据移动请求,所述数据移动请求包括源存储设备的源地址、目的存储设备的目的地址以及所需移动的数据大小,所述数据移动请求为所述用户空间库接收到应用程序对所述用户空间库中的数据移动应用程序接口API的调用请求时发送的;所述UAS控制器根据所述源地址、目的地址以及数据大小,将待移动数据从所述源存储设备移动到目的存储设备。

【技术特征摘要】
1.一种存储设备间移动数据的方法,其特征在于,包括:
一体化存储UAS控制器接收用户空间库发送的数据移动请求,所述数
据移动请求包括源存储设备的源地址、目的存储设备的目的地址以及所需移
动的数据大小,所述数据移动请求为所述用户空间库接收到应用程序对所述
用户空间库中的数据移动应用程序接口API的调用请求时发送的;
所述UAS控制器根据所述源地址、目的地址以及数据大小,将待移动
数据从所述源存储设备移动到目的存储设备。
2.根据权利要求1所述的方法,其特征在于,所述UAS控制器接收用
户空间库发送的数据移动请求,所述数据移动请求包括源存储设备的源地
址、目的存储设备的目的地址以及所需移动的数据大小,包括:
所述UAS控制器接收用户空间库发送的寄存器写请求,所述寄存器写
请求包括源存储设备的源地址、目的存储设备的目的地址以及所需移动的数
据大小;
所述UAS控制器将所述源地址、目的地址以及数据大小写入寄存器;
所述UAS控制器根据所述源地址、目的地址以及数据大小,将待移动
数据从所述源存储设备移动到目的存储设备,包括:
所述UAS控制器从所述寄存器中读取所述源地址、目的地址以及数据
大小,并根据所述源地址、目的地址以及数据大小,将待移动数据从所述源
存储设备移动到目的存储设备。
3.根据权利要求1所述的方法,其特征在于,所述UAS控制器接收用
户空间库发送的数据移动请求,所述数据移动请求包括源存储设备的源地
址、目的存储设备的目的地址以及所需移动的数据大小,包括:
所述UAS控制器接收用户空间库发送的数据移动操作指令,所述数据
移动操作指令包括源存储设备的源地址、目的存储设备的目的地址以及所需
移动的数据大小。
4.根据权利要求2或3所述的方法,其特征在于,所述UAS控制器根
据所述源地址、目的地址以及数据大小,将待移动数据从所述源存储设备移
动到目的存储设备之后,还包括:
所述UAS控制器向寄存器中写入移动操作完成信息,以使所述用户空间
库在接收到所述应用程序对所述用户空间库中的检查API的调用请求时读取

\t所述移动操作完成信息并向所述应用程序通知数据移动操作完成。
5.根据权利要求1~4中任一项所述的方法,其特征在于,所述UAS控
制器根据所述源地址、目的地址以及数据大小,将待移动数据从所述源存储
设备移动到目的存储设备,包括:
所述UAS控制器将所述源地址转换为源物理地址,并将所述目的地址
转换为目的物理地址;
所述UAS控制器确定从所述源物理地址开始的所述数据大小的数据块
为待移动数据;
所述UAS控制器将所述待移动数据从所述源物理地址移动到所述目的
物理地址。
6.根据权利要求5所述的方法,其特征在于,若所述源物理地址为一
个源存储设备的物理地址,且所述目的物理地址为一个目的存储设备的物理
地址,则:
所述UAS控制器将所述待移动数据从所述源物理地址移动到所述目的
物理地址,包括:
所述UAS控制器从所述源存储设备读取所述待移动数据,并根据所述
目的物理地址将读取的所述待移动数据写入所述目的存储设备中;
或者,
所述UAS控制器从所述源存储设备读取所述待移动数据,并将读取的
所述待移动数据缓存到所述UAS控制器的缓存空间中;从所述缓存空间中
读取所述待移动数据,并根据所述目的物理地址将读取的所述待移动数据写
入所述目的存储设备中。
7.根据权利要求5所述的方法,其特征在于,若所述源物理地址为一
个源存储设备的物理地址,且所述目的物理地址包含至少两个目的存储设备
的物理地址;或者,若所述源物理地址包含至少两个源存储设备的物理地
址,且所述目的物理地址为一个目的存储设备的物理地址;或者,若所述源
物理地址包含至少两个源存储设备的物理地址,且所述目的物理地址包含至
少两个目的存储设备的物理地址,则:
所述UAS控制器将所述待移动数据从所述源物理地址移动到所述目的
物理地址,包括:
所述UAS控制器将移动操作拆分为一个源存储设备对应一个目的存储
设备的移动子操作;
所述UAS控制器针对每个移动子操作,从所述源存储设备读取所述待
移动数据,并根据所述目的物理地址将读取的所述待移动数据写入所述目的
存储设备中;或者,所述UAS控制器从源存储设备读取所述待移动数据,
并将读取的所述待移动数据缓存到所述UAS控制器的缓存空间中,从所述
缓存空间中读取所述待移动数据,并根据所述目的物理地址将读取的所述待
移动数据写入目的存储设备中。
8.根据权利要求5所述的方法,其特征在于,若所述源物理地址包含
一个源存储设备中的至少两个非连续的物理地址,所述目的物理地址为一个
目的存储设备中的连续物理地址;或者,所述源物理地址为一个源存储设备
中的连续物理地址,所述目的物理地址包含一个目的存储设备中的至少两个
非连续的物理地址;或者,所述源物理地址包含一个源存储设备中的至少两
个非连续的物理地址,所述目的物理地址包含一个目的存储设备中的至少两
个非连续的物理地址,则:
所述UAS控制器将所述待移动数据从所述源物理地址移动到所述目的
物理地址,包括:
所述UAS控制器将移动操作拆分为所述源物理地址中的每一个物理地
址对应所述目的物理地址中的每一个物理地址的移动子操作;
所述UAS控制器针对每个移动子操作,从所述源存储设备读取对应物
理地址的待移动数据,并根据对应目的物理地址将读取的所述待移动数据写
入所述目的存储设备中;或者,所述UAS控制器从源存储设备读取对应物
理地址的待移动数据,并将读取的待移动数据缓存到所述UAS控制器的缓
存空间中,从所述缓存空间中读取待移动数据,并根据对应目的物理地址将
读取的所述待移动数据写入目的存储设备中。
9.根据权利要求6~8中任一项所述的方法,其特征在于,若所述目的
存储设备是以数据块粒度存储的设备,则所述UAS控制器将所述待移动数
据写入目的存储设备,包括:
所述UAS控制器根据所述数据块粒度大小,对所述待移动数据进行数
据块划分;
若划分得到的数据块均为所述数据块粒度大小,则所述UAS控制器将
划分得到的各个数据块写入目的存储设备;
若划分得到的数据块包括N个数据块粒度大小的数据块和1个小于数据
块粒度大小的数据块,则所述UAS控制器将划分得到的所述N个数据块写

\t入目的存储设备,并将所述1个小于数据块粒度大小的数据块填充为满足数
据块粒度大小的数据块并写入目的存储设备。
10.根据权利要求5~9中任一项所述的方法,其特征在于,所述UAS控
制器确定从所述源物理地址开始的所述数据大小的数据块为待移动数据之
前,还包括:
所述UAS控制器确定所述源物理地址和目的物理地址是否超出可操作
的地址范围;
若超出,则所述UAS控制器向所述用户空间库发送地址越界报告;
若未超出,则所述UAS控制器执行确定从所述源物理地址开始的所述
数据大小的数据块为待移动数据的步骤。
11.根据权利要求1~10...

【专利技术属性】
技术研发人员:夏飞陈明宇蒋德钧熊劲
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

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

1