【技术实现步骤摘要】
一种数据搬移的方法、系统、存储介质及设备
[0001]本专利技术涉及数据处理
,尤其涉及数据搬移
,具体涉及主机数据页链表和本地数据页链表之间的数据搬移。
技术介绍
[0002]通过DMA(Direct Memory Access,直接存储器存取)控制器在主机数据页链表和本地数据页链表之间进行数据搬移时,由于数据页可能存在页内偏移,造成数据页的可用容量小于该数据页的总容量,所以DMA控制器需要合理计算每次搬移的数据量,既要保证充分利用数据页的可用容量,又要防止搬移数据量超出数据页可用容量造成溢出。
[0003]目前,大部分算法采用以数据页为单位进行处理,这样的算法应用于实际场景时由于分类较多,操作时容易出现问题。
[0004]下面以数据从主机存储器(host)端向本地存储器(local)端搬移,并且两端均存在页内偏移(Offset)的三种典型场景为例,说明现有算法的实现过程。
[0005]三种场景具有以下共同点:
[0006](1)数据搬移方向为从host到local;
[ ...
【技术保护点】
【技术特征摘要】
1.一种数据搬移的方法,其特征在于,包括以下步骤:比较主机存储器首个数据页的有效容量host_size和本地存储器首个数据页的有效容量local_size的大小,将较小值作为首个数据页的传输的数据量以完成数据传输,并基于host_size和local_size计算差值split_size;获取剩余数据的量,并与单个数据页总容量PAGE_SIZE进行比较;响应于所述剩余数据的量大于或等于PAGE_SIZE,根据所述差值split_size的状态分批次完成数据量为PAGE_SIZE的数据传输,并将更新的剩余数据的量和PAGE_SIZE进行比较;响应于所述剩余数据的量小于PAGE_SIZE,根据所述差值split_size的状态和所述剩余数据的量分批次完成剩余数据的数据传输。2.根据权利要求1所述的方法,其特征在于,所述响应于所述剩余数据的量大于或等于PAGE_SIZE,根据所述差值split_size的状态分批次完成数据量为PAGE_SIZE的数据传输,并将更新的剩余数据的量和PAGE_SIZE进行比较进一步包括:响应于所述差值split_size为零,一次性完成数据量为PAGE_SIZE的数据传输。3.根据权利要求1所述的方法,其特征在于,所述响应于所述剩余数据的量大于或等于PAGE_SIZE,根据所述差值split_size的状态分批次完成数据量为PAGE_SIZE的数据传输,并将更新的剩余数据的量和PAGE_SIZE进行比较进一步包括:响应于所述差值split_size为非零,基于PAGE_SIZE和差值split_size计算传输数据量trans_size,并分两次完成数据量为PAGE_SIZE的数据传输,其中,第一次完成数据量为split_size的数据传输,第二次完成数据量为trans_size的数据传输。4.根据权利要求1至3任一项所述的方法,其特征在于,所述响应于所述剩余数据的量小于PAGE_SIZE,根据所述差值split_size的状态和所述剩余数据的量分批次完成剩余数据的数据传输进一步包括:响应于所述差值split_size为零,一次性完成剩余数据的数据传输。5.根据权利要求1至3任一项所述的方法,其特征在于,所述响应于所述剩余数据的量小于PAGE_SIZE,根据所述差值split_size的状态和所述剩余数据的量分批次完成剩余数据的数据传输进一步包括:响应...
【专利技术属性】
技术研发人员:赵恒正,邵海波,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。