掌桥专利:专业的专利平台
掌桥专利
首页

数据的复制方法、系统、设备及存储介质

文献发布时间:2023-06-19 19:35:22


数据的复制方法、系统、设备及存储介质

技术领域

本发明涉及数据传输领域,尤其涉及一种数据的复制方法、系统、设备及存储介质。

背景技术

1、当前的数据传输过程中,主要涉及存储控制器和NandFlash,存储控制器和NandFlash之间存在Flash总线。在复制操作过程中,host主机(比如我们的电脑主机等,不是这里描述的存储控制)读指令给固态硬盘;

2、固态硬盘中的存储控制器收到读指令后,FTL会解析出对应要读NandFlash的什么地址,然后把读取出来的数据返回给host主机;

3、host主机收完数据后,再下写指令给固态硬盘;

4、固态硬盘中的存储控制器收到读指令后,FTL会解析出对应要写NandFlash的地址;

5、再把host下发的数据写到NandFlash中。

但是,目前这种数据传输过程,数据从flash总读出需要解密等操作,数据再写到flash前需要再加密,数据都要经过host主控这一层的操作,效率比较低下且会产生较多的中间文件。因此,针对当前固态存储设备的数据传输操作的效率低下和中间文件传输较多的技术问题,需要一种新的技术。

发明内容

本发明的主要目的在于解决固态存储设备的数据传输操作的效率低下和中间文件传输较多的技术问题。

本发明第一方面提供了一种数据的复制方法,所述数据的复制方法应用于数据的复制系统,所述数据的复制系统包括:第一固态存储系统、第二固态存储系统、存储控制系统,所述数据的复制方法包括:

所述存储控制系统发送数据复制指令至所述第一固态存储系统中;

所述第一固态存储系统接收所述数据复制指令,将所述数据复制指令对应的目标数据传输至Flash内存中,发送内存获取指令进入所述第二固态存储系统中;

所述第二固态存储系统接收所述内存获取指令,基于所述内存获取指令,从所述Flash内存中抓取所述目标数据,以及对所述目标数据进行存储处理。

可选的,在本发明第一方面的第一种实现方式中,所述将所述数据复制指令对应的目标数据传输至Flash内存中包括:

将所述数据复制指令对应的目标数据复制进入Flash内存中;

擦除所述第一固态存储系统中存储的目标数据。

可选的,在本发明第一方面的第二种实现方式中,在所述对所述目标数据进行存储处理之后,还包括:

检验所述目标数据的数据丢失情况;

当所述目标数据不存在数据丢失情况时,发送复制完成指令至所述存储控制系统。

可选的,在本发明第一方面的第三种实现方式中,在所述对所述目标数据进行存储处理之后,还包括:

检验所述目标数据的数据丢失情况;

当所述目标数据不存在数据丢失情况时,发送复制完成指令至所述第一固态存储系统中;

所述第一固体系统接收所述复制完成指令,擦除所述第一固态存储系统中存储的目标数据。

可选的,在本发明第一方面的第四种实现方式中,所述将所述数据复制指令对应的目标数据传输至Flash内存中包括:

将所述复制指令对应的目标数据进行拆分处理,得到拆分数据集;

按照拆分顺序,将所述拆分数据集中的拆分数据传输至Flash内存中。

可选的,在本发明第一方面的第五种实现方式中,所述基于所述内存获取指令,从所述Flash内存中抓取所述目标数据,以及对所述目标数据进行存储处理包括:

基于所述内存获取指令,基于拆分顺序,从所述Flash内存中抓取所述拆分数据,以及对所述拆分数据进行存储处理。

可选的,在本发明第一方面的第六种实现方式中,所述数据复制指令包括:cmdcopy指令。

本发明第二方面提供了一种数据的复制系统,所述数据的复制系统包括:

第一固态存储系统、第二固态存储系统、存储控制系统;

所述存储控制系统发送数据复制指令至所述第一固态存储系统中;

所述第一固态存储系统接收所述数据复制指令,将所述数据复制指令对应的目标数据传输至Flash内存中,发送内存获取指令进入所述第二固态存储系统中;

所述第二固态存储系统接收所述内存获取指令,基于所述内存获取指令,从所述Flash内存中抓取所述目标数据,以及对所述目标数据进行存储处理。

本发明第三方面提供了一种数据的复制设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据的复制设备执行上述的数据的复制方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的数据的复制方法。

在本发明实施例中,中间数据直接缓存在Flash内存的中间缓存中,而不需要来回与host主控进行交互,减少flash解密与加密的中间文件,不需要存储控制调用资源解析NandFlash内部的数据搬运,由NandFlash内部进行运算控制,提高了复制数据过程中的效率,减少了中间文件数量。

附图说明

图1为本发明实施例中数据的复制方法的一个实施例示意图;

图2为本发明实施例中数据的复制系统的一个实施例示意图;

图3为本发明实施例中数据的复制设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种数据的复制方法、系统、设备及存储介质。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中数据的复制方法的一个实施例,所述数据的复制方法应用于数据的复制系统,数据的复制系统包括:第一固态存储系统、第二固态存储系统、存储控制系统,数据的复制方法包括:

101、存储控制系统发送数据复制指令至第一固态存储系统中;

在本实施例中,存储控制系统可以是上位机或者是多个服务器组合成的抽象集合,发送C盘中某个mp4文件复制进入D盘的数据传输指令至第一固态存储系统中,第一固态存储系统可以是一个固态硬盘的分区,也可以是一个固态硬盘中的NandFlash,也可以是多个固态硬盘的一个实体硬盘,还可以是一个固态存储设备,比如基于UFS或EMMC的固态存储设备,数据复制指令可以包括有cmd copy指令。

102、第一固态存储系统接收数据复制指令,将数据复制指令对应的目标数据传输至Flash内存中,发送内存获取指令进入第二固态存储系统中;

在本实施例中,第一固态存储系统接收数据复制指令,根据复制指令将第一固态存储系统中存储的目标数据mp4文件传输至Flash内存中。Flash内存用来作为一种缓存数据,用来作为不同存储系统的传输数据的中转数据。

进一步的,“将数据复制指令对应的目标数据传输至Flash内存中”可以执行以下步骤:

1021、将数据复制指令对应的目标数据复制进入Flash内存中;

1022、擦除第一固态存储系统中存储的目标数据。

在1021-1022步骤中,复制指令可以是具体的剪切操作,也即是复制完成后将原有的数据进行删除。在第一种剪切操作中,可以在第一固态存储系统复制mp4文件传输至Flash内存中就将原mp4文件进行删除。

进一步的,“将数据复制指令对应的目标数据传输至Flash内存中”还可以执行以下步骤:

1023、将复制指令对应的目标数据进行拆分处理,得到拆分数据集;

1024、按照拆分顺序,将拆分数据集中的拆分数据传输至Flash内存中。

在1023-1024步骤中,可能出现mp4文件的大小超过了至Flash内存,例如mp4文件是4.5GB的大小,而Flash内存只有2GB。由此,每次搬运只能搬运2GB大小的数据,对mp4文件拆分为1.5GB、1.5GB、1.5GB的三份的数据,得到拆分数据集。每次传输1.5GB的拆分数据至Flash内存中,然后复制进入第二固态存储系统后再删除Flash内存中数据重复搬运,搬运三次后将整个mp4文件成功搬运。

103、第二固态存储系统接收内存获取指令,基于内存获取指令,从Flash内存中抓取目标数据,以及对目标数据进行存储处理。

在本实施例中,第二固态存储系统为D盘,也可以是一个固态硬盘中的NandFlash,也可以是多个固态硬盘的一个实体硬盘,还可以是一个固态存储设备,比如基于UFS或EMMC的固态存储设备,接收到第一固态存储系统(也即是C盘,)传输的内存获取通知后,再从Flash内存中抓取mp4文件,将mp4文件存储在第二固态存储系统中,实现了不通过存储控制系统调度对不同盘的数据复制。

进一步的,在1023-1024基础上,103可以执行以下步骤:

1031、基于内存获取指令,基于拆分顺序,从Flash内存中抓取拆分数据,以及对拆分数据进行存储处理。

在1031步骤中,内存获取指令针对的都是1.5GB的拆分mp4文件,每次针对一个1.5GB的拆分mp4文件进行存储,然后发送存储完成信息至C盘。C盘将下一个1.5GB的拆分mp4文件发送至Flash内存中,再通知D盘获取Flash内存中的下一个顺序的1.5GB拆分mp4文件,循环至所有文件都被D盘存储完成,解决大文件的搬运过程。

进一步的,在103之后,还可以执行以下步骤:

104、检验目标数据的数据丢失情况;

105、当目标数据不存在数据丢失情况时,发送复制完成指令至存储控制系统。

在104-105步骤中,该步骤主要是D盘确认数据复制完成后,通知存储控制系统已经完成复制的指令,在复制过程中存储控制系统没有参与数据运算,只发送指令并接收操作结果数据,减少传统传输过程中的来回计算过程释放了存储控制系统运算算力,减少了中间文件。

进一步的,在103之后,还可以执行以下步骤:

1032、检验目标数据的数据丢失情况;

1033、当目标数据不存在数据丢失情况时,发送复制完成指令至第一固态存储系统中;

1034、第一固体系统接收复制完成指令,擦除第一固态存储系统中存储的目标数据。

在1032-1034步骤中,执行的复制指令是剪切操作时,第二种删除原有mp4数据的过程是在确定mp4数据已经完整的复制进入了第二固态存储系统后,第二固态存储系统发送复制完成指令至第一固态存储系统中,然后第一固态存储系统在内部数据中将原有的mp4数据进行删除处理。

在本发明实施例中,中间数据直接缓存在Flash内存的中间缓存中,而不需要来回与host主控进行交互,减少flash解密与加密的中间文件,不需要存储控制调用资源解析NandFlash内部的数据搬运,由NandFlash内部进行运算控制,提高了复制数据过程中的效率,减少了中间文件数量。

上面对本发明实施例中数据的复制方法进行了描述,下面对本发明实施例中数据的复制系统进行描述,请参阅图2,本发明实施例中数据的复制系统一个实施例,所述数据的复制系统包括:

第一固态存储系统201、第二固态存储系统202、存储控制系统203;

所述存储控制系统203,用于发送数据复制指令至所述第一固态存储系统中;

所述第一固态存储系统201,用于接收所述数据复制指令,将所述数据复制指令对应的目标数据传输至Flash内存中,发送内存获取指令进入所述第二固态存储系统中;

所述第二固态存储系统202,用于接收所述内存获取指令,基于所述内存获取指令,从所述Flash内存中抓取所述目标数据,以及对所述目标数据进行存储处理。

其中,所述第一固态存储系统201具体用于:

将所述数据复制指令对应的目标数据复制进入Flash内存中;

擦除所述第一固态存储系统中存储的目标数据。

其中,所述第二固态存储系统202还可以具体用于:

检验所述目标数据的数据丢失情况;

当所述目标数据不存在数据丢失情况时,发送复制完成指令至所述存储控制系统。

其中,所述第二固态存储系统202还可以具体用于:

检验所述目标数据的数据丢失情况;

当所述目标数据不存在数据丢失情况时,发送复制完成指令至所述第一固态存储系统中;

所述第一固体系统接收所述复制完成指令,擦除所述第一固态存储系统中存储的目标数据。

其中,所述第一固态存储系统201还可以具体用于:

将所述复制指令对应的目标数据进行拆分处理,得到拆分数据集;

按照拆分顺序,将所述拆分数据集中的拆分数据传输至Flash内存中

其中,所述第二固态存储系统202还可以具体用于:

基于所述内存获取指令,基于拆分顺序,从所述Flash内存中抓取所述拆分数据,以及对所述拆分数据进行存储处理。

在本发明实施例中,中间数据直接缓存在Flash内存的中间缓存中,而不需要来回与host主控进行交互,减少flash解密与加密的中间文件,不需要存储控制调用资源解析NandFlash内部的数据搬运,由NandFlash内部进行运算控制,提高了复制数据过程中的效率,减少了中间文件数量。

上面图2从模块化功能实体的角度对本发明实施例中的数据的复制系统进行详细描述,下面从硬件处理的角度对本发明实施例中数据的复制设备进行详细描述。

图3是本发明实施例提供的一种数据的复制设备的结构示意图,该数据的复制设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)310(例如,一个或一个以上处理器)和存储器320,一个或一个以上存储应用程序333或数据332的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器320和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据的复制设备300中的一系列指令操作。更进一步地,处理器310可以设置为与存储介质330通信,在数据的复制设备300上执行存储介质330中的一系列指令操作。

基于数据的复制设备300还可以包括一个或一个以上电源340,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口360,和/或,一个或一个以上操作系统331,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图3示出的数据的复制设备结构并不构成对基于数据的复制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述数据的复制方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或系统、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 云复制/粘贴方法、装置、系统及设备和存储介质
  • 一种数据存储方法、调度装置、系统、设备及存储介质
  • 一种数据存储方法、系统、智能可穿戴设备及存储介质
  • 数据存储方法及系统、设备和存储介质
  • 存储设备测试方法、存储设备测试系统及存储介质
  • 数据复制方法、分布式存储系统、电子设备及存储介质
  • 用于存储复制保护数据的存储介质、调制方法、存储设备和再现设备
技术分类

06120115959782