一种数据备份方法、装置及系统与流程

文档序号:17397714发布日期:2019-04-13 00:57阅读:154来源:国知局
一种数据备份方法、装置及系统与流程

本申请涉及存储领域,尤其涉及一种数据备份的方法、装置和系统。



背景技术:

随着存储技术的发展,尤其是在使用闪存(flash)作为存储介质的固态硬盘(solidstatedrive,ssd)中,传统的机械硬盘设计的串行高级技术附件(serialadvancedtechnologyattachment,sata)接口与串行ata高级主控接口/高级主机控制器接口(serialataadvancedhostcontrollerinterface,ahci)标准已经无法满足存储设备的要求,成为限制存储设备处理能力的一大瓶颈。非易失性高速传输总线(non-volatilememoryexpress,nvme)应运而生,nvme是一种允许主机(host)和非易失性存储(non-volatilememory,nvm)子系统通信的接口,nvm子系统(包括控制器和存储介质)通信的该接口以寄存器接口的方式附加到高速外围部件互连总线(peripheralcomponentinterconnectexpress,pcie)接口之上,为企业级和消费级固态存储做了优化具有性能高、访问时延低的优势。

现有技术中,一种数据备份的方式是设置两个存储装置,其中一个存储装置是另外一个存储装置的备份。主机在进行写操作时,分别向两个存储装置触发nvme写指令,两个存储装置获取nvme写指令后,分别从主机处获取数据,并将待存储数据写入各自的存储介质。



技术实现要素:

本申请公开了一种数据备份方法、装置和系统。在进行数据存储的过程中,第一存储装置从主机侧获取到待存储数据后,会主动向第二存储装置推送数据报文,第二存储装置不再需要从主机获取待存储数据。

第一方面,本申请公开了一种数据备份系统,该系统包括第一存储装置,第二存储装置和主机。其中,第二存储装置为第一存储装置的备份,第一存储装置包含第一控制器和存储介质,第二存储装置包含第二控制器和存储介质。主机用于向第一控制器触发第一写指令,并向第二控制器触发第二写指令,其中,第一写指令携带关联标识,该关联标识用于关联待存储数据和第二写指令。第一控制器用于获取第一写指令和待存储数据,根据第一写指令将待存储数据存入第一存储装置的存储介质,并向第二控制器发送数据报文,该数据报文包含待存储数据和该关联标识。第二控制器用于获取第二写指令和数据报文,根据数据报文中携带的关联标识关联第二写指令和待存储数据,并根据第二写指令将待存储数据存入第二存储装置的存储介质。

其中,该备份系统可以为基于非易失性高速传输总线(non-volatilememoryexpress,nvme)的备份系统,第一写指令和/或第二写指令可以为基于nvme的提交队列条目(submissionqueueentry,sqe)。主机触发第一写指令可以为将第一写指令写入与第一控制器关联的提交队列(submissionqueue,sq),并通过门铃机制通知第一控制器。同理,主机触发第二写指令可以为主机将第二写指令写入与第二控制器关联的sq,并通过门铃机制通知第二控制器。主机也可以直接将第一写指令发送至第一控制器,并将第二写指令发送至第二控制器。第一控制器获取到待存储数据后主动向第二控制器发送该存储数据,并在数据报文中携带关联待存储数据和第二写指令的关联标识,第二写指令接收到数据报文后,根据关联标识关联第二写指令和待存储数据,并根据第二写指令将待存储数据写入第二存储装置的存储介质,从而完成待存储数据的备份操作。第二控制器不再需要从主机获取待存储数据,与现有技术中第一控制器和第二控制器分别取主机获取待存储数据相比,主机与第一存储装置和第二存储装置互联的交换网络的上行端口的数据流量减半。

根据第一方面,在第一方面的第一种可能的实现方式中,该数据报文为pcie报文,关联标识包含第二控制器的pcie地址字段。第一控制器可以通过pcie报文的形式向第二控制器写入待存储数据,关联标识指示的pcie地址是写入待存储数据的入口。第二控制器可以根据pcie报文的地址确定与该待存储数据关联的第二写指令。

根据第一方面或第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,第二控制器包含内部存储器,第二控制器将待存储数据存入第二存储装置的存储介质之前,还用于将待存储数据存入内部存储器的存储空间,并记录存储空间与关联标识之间的映射关系。本发明不限定第二控制器获取第二写指令和待存储数据的顺序,第二控制器可以首先接收到数据报文后,并将待存储数据缓存在自己的内部存储器中,并记录存储待存储数据的存储空间与关联标识的映射关系。

根据第一方面或第一方面以上任意种可能的实现方式,在第一方面第三种可能的实现方式中,第二控制器还用于根据关联标识确定第二写指令的存储位置,第二控制器用于根据第二写指令的存储位置获取第二写指令。主机和第二控制器维护有关联标识与发送队列的槽位之间的对应关系,主机在触发第一写指令和第二写指令的时候,将第二写指令存入关联标识对应的sq槽位中,第二控制器获取到关联标识后,可以根据关联标识确定第二写指令存储的sq槽位,并从该sq槽位中获取第二写指令。

根据第一方面或第一方面以上任一种可能的实现方式,在第一方面第四种可能的实现方式中,关联标识包含第二写指令的部分字段,第二控制器用于根据第二写指令的部分字段获取第二写指令。关联标识可以为第二写指令的指示信息,第二控制器获取到关联标识后,可以根据该关联标识查询第二写指令。

根据第一方面或第一方面以上任一种可能的实现方式,在第一方面第五种可能的实现方式中,第二控制器还用于触发完成消息,完成消息用于指示第二控制器完成对待存储数据的存储操作,主机还用于获取完成消息。

完成消息可以为触发完成队列条目(completionqueueentry,cqe),cqe用于指示第二控制器完成第二写指令指示的写操作。第二控制器触发完成消息可以具体为第二控制器完成写操作后,将cqe写入完成队列(completionqueue,cq),并通过中断通知主机。

第二方面,本发明提供了一种数据备份方法,数据备份系统包括第一存储装置,第二存储装置和主机,第二存储装置为第一存储装置的备份,第一存储装置包含第一控制器和存储介质,第二存储装置包含第二控制器和存储介质,该方法包括:主机触发第一写指令,第一写指令携带关联标识,关联标识用于关联第二写指令和待存储数据;第一写指令用于指示第一控制器将待存储数据存入第一存储装置的存储介质,并指示第一控制器向第二控制器发送数据报文,数据报文包含待存储数据和关联标识;主机触发第二写指令,第二写指令用于指示第二控制器将待存储数据存入第二存储装置的存储介质。

根据第二方面,在第二方面的第一种可能的实现方式中,该方法还包括:主机获取第二控制器触发的完成消息,完成消息用于指示第二控制器完成对待存储数据的存储操作。

根据第二方面或第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,该数据报文为pcie报文,关联标识包含第二控制器的pcie地址字段。

根据第二方面或第二方面第一种可能的实现方式,在第二方面第三种可能的实现方式中,关联标识包含第二写指令的部分字段。

根据第二方面或第二方面以上任一种可能的实现方式,在第二方面第四种可能的实现方式中,第一写指令和/或第二写指令为基于nvme的sqe

第二方面为第一方面系统对应的主机侧的方法实现方式,第一方面或第一方面任一种可能的实现方式中的描述对应适用于第二方面或第二方面任一种可能的实现方式,在此不再赘述。

第三方面,本申请提供了一种可读介质,包括执行指令,当计算设备的处理器执行该执行指令时,该计算设备执行以上第二方面或以上第二方面的任一种可能的实现方式中的方法。

第四方面,本申请提供了一种计算设备,包括:处理器、存储器和总线;存储器用于存储执行指令,处理器与存储器通过总线连接,当计算设备运行时,处理器执行存储器存储的执行指令,以使计算设备执行以上第二方面或以上第二方面的任一种可能的实现方式中的方法。

第五方面,本申请公开了一种数据备份方法,数据备份系统包括第一存储装置,第二存储装置和主机,第二存储装置为第一存储装置的备份,第一存储装置包含第一控制器和存储介质,第二存储装置包含第二控制器和存储介质,该方法包括:第一控制器获取主机触发的第一写指令和待存储数据,第一写指令携带关联标识,关联标识用于关联待存储数据和第二写指令,该第二写指令由主机触发,用于指示第二控制器将待存储数据写入第二存储装置的存储介质;第一控制器根据第一写指令将待存储数据存入第一存储装置的存储介质;第一控制器向第二控制器发送数据报文,数据报文包含待存储数据和关联标识。

根据第五方面,在第五方面的第一种可能的实现方式中,该数据报文为pcie报文,关联标识包含第二控制器的pcie地址字段。

根据第五方面,在第五方面第二种可能的实现方式中,关联标识包含第二写指令的部分字段。

根据第五方面或第五方面以上任一种可能的实现方式,在第五方面第三种可能的实现方式中,第一写指令和/或第二写指令为基于nvme的sqe。

第五方面为第一方面系统对应的第一控制器侧的方法实现方式,第一方面或第一方面任一种可能的实现方式中的描述对应适用于第五方面或第五方面任一种可能的实现方式,在此不再赘述。

第六方面,本申请提供了一种可读介质,包括执行指令,当计算设备的处理器执行该执行指令时,该计算设备执行以上第五方面或以上第五方面的任一种可能的实现方式中的方法。

第七方面,本申请提供了一种计算设备,包括:处理器、存储器和总线;存储器用于存储执行指令,处理器与存储器通过总线连接,当计算设备运行时,处理器执行存储器存储的执行指令,以使计算设备执行以上第五方面或以上第五方面的任一种可能的实现方式中的方法。

第八方面,本申请公开了一种数据备份方法,数据备份系统包括第一存储装置,第二存储装置和主机,第二存储装置为第一存储装置的备份,第一存储装置包含第一控制器和存储介质,第二存储装置包含第二控制器和存储介质,该方法包括:第二控制器获取主机触发的写指令,该写指令用于指示第二控制器将待存储数据写入第二存储装置的存储介质;第二控制器接收第一控制器发送的数据报文,数据报文包含待存储数据和关联标识,关联标识用于关联写指令和待存储数据;第二控制器根据写指令将待存储数据存入第二存储装置的存储介质。

根据第八方面,在第八方面的第一种可能的实现方式中,数据报文为pcie报文,关联标识包含第二控制器的pcie地址字段。

根据第八方面或第八方面第一种可能的实现方式,在第八方面第二种可能的实现方式中,第二控制器包含内部存储器,第二控制器将待存储数据存入第二存储装置的存储介质之前,该方法还包括:第二控制器将待存储数据存入内部存储器的存储空间,并记录存储空间与关联标识之间的映射关系。

根据第八方面或第八方面以上任意种可能的实现方式,在第八方面第三种可能的实现方式中,该方法还包括:第二控制器根据关联标识确定写指令的存储位置;第二控制器获取写指令包括:第二控制器根据写指令的存储位置获取写指令。

根据第八方面或第八方面以上任一种可能的实现方式,在第八方面第四种可能的实现方式中,关联标识包含写指令的部分字段;第二控制器获取写指令包括:第二控制器根据写指令的部分字段获取写指令。

根据第八方面或第八方面以上任一种可能的实现方式,在第八方面第五种可能的实现方式中,该方法还包括:第二控制器触发完成消息,完成消息用于指示第二控制器完成对待存储数据的存储操作。

根据第八方面或第八方面以上任一种可能的实现方式,在第八方面第六种可能的实现方式中,该写指令为基于nvme的sqe。

第八方面为第一方面系统对应的第二控制器侧的方法实现方式,第一方面或第一方面任一种可能的实现方式中的描述对应适用于第八方面或第八方面任一种可能的实现方式,在此不再赘述。

第九方面,本申请提供了一种可读介质,包括执行指令,当计算设备的处理器执行该执行指令时,该计算设备执行以上第八方面或以上第八方面的任一种可能的实现方式中的方法。

第十方面,本申请提供了一种计算设备,包括:处理器、存储器和总线;存储器用于存储执行指令,处理器与存储器通过总线连接,当计算设备运行时,处理器执行存储器存储的执行指令,以使计算设备执行以上第八方面或以上第八方面的任一种可能的实现方式中的方法。

第十一方面,本申请公开了一种数据备份装置,数据备份系统包括第一存储装置,第二存储装置和数据备份装置,第二存储装置为第一存储装置的备份,第一存储装置包含第一控制器和存储介质,第二存储装置包含第二控制器和存储介质,数据备份装置包括:处理单元,用于触发第一写指令,第一写指令携带关联标识,关联标识用于关联第二写指令和待存储数据;第一写指令用于指示第一控制器将待存储数据存入第一存储装置的存储介质,并指示第一控制器向第二控制器发送数据报文,数据报文包含待存储数据和关联标识;处理单元还用于触发第二写指令,第二写指令用于指示第二控制器将待存储数据存入第二存储装置的存储介质。

根据第十一方面,在第十一方面的第一种可能的实现方式中,该备份装置还包括获取单元,用于获取第二控制器触发的完成消息,完成消息用于指示第二控制器完成对待存储数据的存储操作。

根据第十一方面或第十一方面第一种可能的实现方式,在第十一方面第二种可能的实现方式中,数据报文为pcie报文,关联标识包含第二控制器的pcie地址字段。

根据第十一方面或第十一方面第一种可能的实现方式,在第十一方面第三种可能的实现方式中,关联标识包含第二写指令的部分字段。

根据第十一方面或第十一方面以上任一种可能的实现方式,在第十一方面第四种可能的实现方式中,该第一写指令和/或第二写指令为基于nvme的sqe。

第十一方面为第一方面系统对应的主机侧的装置实现方式,第一方面或第一方面任一种可能的实现方式中的描述对应适用于第十一方面或第十一方面任一种可能的实现方式,在此不再赘述。

第十二方面,本申请公开了一种数据备份装置,数据备份系统包括第一存储装置,第二存储装置和主机,第二存储装置为第一存储装置的备份,第一存储装置包含数据备份装置和存储介质,第二存储装置包含控制器和存储介质,该数据备份装置包括:处理单元,用于获取主机触发的第一写指令和待存储数据,第一写指令携带关联标识,关联标识用于关联待存储数据和第二写指令,该第二写指令由主机触发,用于指示控制器将待存储数据写入所述第二存储装置的存储介质,并根据第一写指令将待存储数据存入第一存储装置的存储介质;发送单元,用于向控制器发送数据报文,数据报文包含待存储数据和关联标识。

根据第十二方面,在第十二方面的第一种可能的实现方式中,数据报文为pcie报文,关联标识包含控制器的pcie地址字段。

根据第十二方面,在第十二方面第二种可能的实现方式中,关联标识包含第二写指令的部分字段。

根据第十二方面或第十二方面以上任一种可能的实现方式,在第十二方面第三种可能的实现方式中,该第一写指令和/或第二写指令为基于nvme的sqe。

第十二方面为第一方面系统对应的第一控制器侧的装置实现方式,第一方面或第一方面任一种可能的实现方式中的描述对应适用于第十二方面或第十二方面任一种可能的实现方式,在此不再赘述。

第十三方面,本申请公开了一种数据备份装置,数据备份系统包括第一存储装置,第二存储装置和主机,第二存储装置为第一存储装置的备份,第一存储装置包含控制器和存储介质,第二存储装置包含数据备份装置和存储介质,数据备份装置包括:获取单元,用于获取主机触发的写指令,该写指令用于指示数据备份装置将待存储数据写入第二存储装置的存储介质,并接收控制器发送的数据报文,数据报文包含待存储数据和关联标识,关联标识用于关联写指令和待存储数据;处理单元,用于根据写指令将待存储数据存入第二存储装置的存储介质。

根据第十三方面,在第十三方面的第一种可能的实现方式中,数据报文为pcie报文,关联标识包含数据备份装置的pcie地址字段。

根据第十三方面或第十三方面第一种可能的实现方式,在第十三方面第二种可能的实现方式中,数据备份装置还包含内部存储器,处理单元将待存储数据存入第二存储装置的存储介质之前,还用于将待存储数据存入内部存储器的存储空间,并记录存储空间与关联标识之间的映射关系。

根据第十三方面或第十三方面以上任意种可能的实现方式,在第十三方面第三种可能的实现方式中,获取单元还用于根据关联标识确定写指令的存储位置,并根据写指令的存储位置获取写指令。

根据第十三方面或第十三方面以上任一种可能的实现方式,在第十三方面第四种可能的实现方式中,关联标识包含写指令的部分字段;获取单元还用于根据写指令的部分字段获取该写指令。

根据第十三方面或第十三方面以上任一种可能的实现方式,在第十三方面第五种可能的实现方式中,处理单元还用于触发完成消息,完成消息用于指示数据备份装置完成对待存储数据的存储操作。

根据第十三方面或第十三方面以上任一种可能的实现方式,在第十三方面第六种可能的实现方式中,该写指令为基于nvme的sqe。

第十三方面为第一方面系统对应的第二控制器侧的装置实现方式,第一方面或第一方面任一种可能的实现方式中的描述对应适用于第十三方面或第十三方面任一种可能的实现方式,在此不再赘述。

根据本发明实施例公开的技术方案,主机向第一控制器触发第一写指令,并向第二控制器触发第二写指令。其中,主机向第一控制器触发的第一写指令中携带有关联第二写指令和待存储数据的关联标识。第一控制器获取到待存储数据后,主动向第二控制器发送数据报文,数据报文中携带待存储数据和该关联标识。第二控制器获取到数据报文后,根据关联标识关联第二写指令和待存储数据,并根据第二写指令将待存储数据写入第二存储装置的存储介质,从而避免了第二控制器从主机获取待存储数据的流程。主机与第一存储装置和第二存储装置互联的交换网络的上行端口的数据流量与不进行数据备份时一样,从而提升了系统的总体性能。

附图说明

图1为依据本申请一实施例的nvme系统的逻辑结构示意图;

图2为一种基于nvme的数据备份方法的流程示意图;

图3为依据本申请一实施例的数据备份方法的流程示意图;

图4为依据本申请一实施例的主机的硬件结构示意图;

图5为依据本申请一实施例的控制器的硬件结构示意图;

图6为依据本申请一实施例的控制器的硬件结构示意图;

图7为依据本申请一实施例的数据备份方法的流程示意图;

图8为依据本发明一实施例的入口组织结构示意图;

图9为依据本发明一实施例的pcie地址结构示意图;

图10为依据本发明一实施例的数据存储结构示意图;

图11为依据本申请一实施例的数据备份装置的逻辑结构示意图;

图12为依据本申请一实施例的数据备份装置的逻辑结构示意图;

图13为依据本申请一实施例的数据备份装置的逻辑结构示意图。

具体实施方式

下面将结合附图,对本发明实施例进行描述。

本发明实施例采用术语第一和第二等来区分各个对象,例如第一写指令和第二写指令等,但各个“第一”和“第二”之间不具有逻辑或时序上的依赖关系。

在本发明实施例中,“数据报文”是指第一存储装置向第二存储装置发送的携带载荷数据和关联标识的报文。其中,载荷数据为待存储数据或待存储数据的部分数据。在本发明实施例中,根据待存储数据的大小,第一存储装置可以使用一个数据报文将待存储数据发送至第二存储装置,也可以将待存储数据拆分成多个数据报文发送至第二存储装置,本发明实施例对此不进行限定。在以下描述中,本发明实施例将数据报文中的载荷数据统称为待存储数据。

在本发明实施例中,推送(push)一词是指第一存储装置向第二存储装置主动发送数据报文。

在本发明实施例中,入口为第二存储装置向第一存储装置开放的地址空间,入口地址可以具体为pcie地址,数据报文可以为pcie写报文。更具体的,入口可以为第二存储装置的控制器向第一存储装置的控制器开放的地址空间,第一存储装置的控制器可以根据该地址空间向第二存储装置的控制器推送待存储数据。

在本发明实施例中,数据报文中携带的关联标识用于关联待存储数据和写指令。关联标识可以包含入口地址或者入口地址的部分字段。

在本发明实施例中,第一存储装置可以通过入口向第二存储装置推送数据报文,数据报文中可以携带该入口地址。第二存储装置接收到数据报文后,识别入口地址,可以在本地的内部存储器中为该入口分配对应的存储空间,并将数据报文携带的载荷数据缓存至该存储空间,而不是将载荷数据存入入口地址指示的存储空间。内部存储器可以具体为控制器的私有内存空间。

在本发明实施例中,存储装置包含控制器和存储介质,存储控制器以下简称控制器。存储装置的执行主体一般是控制器。例如,第一存储装置包含第一控制器和存储介质,第二存储装置包含第二控制器和存储介质。第一存储装置与外界交互的主体是第一控制器,第二存储装置与外界的交互主体是第二控制器。在以下描述中,在于外界交互时,本发明实施例不对存储装置和控制器进行区分。

在本发明实施例中,主机触发的指令的具体实现方式可以为sqe。

在本发明实施例中,主机通过交换网络与第一存储装置和第二存储装置互联。交换网络的上行端口是指交换网络与主机互联的端口。交换网络的上行流量是指与主机之间交互的数据流量。

在本发明实施例中,主机一词是指可以与存储装置进行交互,并向存储装置存储数据的主体。主机可以是一个实体计算机,虚拟机或者网卡等。本发明实施例不限定主机的具体实现形式。

图1为依据本发明一实施例的数据备份系统100的架构图,如图1所示,系统100包含主机101,交换网络102,第一存储装置103和第二存储装置105。其中,第一存储装置103包含第一控制器104和存储介质,第二存储装置105包含第二控制器106和存储介质。第二存储装置105为第一存储装置103的备份(也就是说第一存储装置103的部分数据或者全部数据会被备份到第二存储装置105中)。

在本发明实施例中,存储介质一般为非易失存储介质,用于永久存储数据。存储介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如光盘)、或者半导体介质(例如闪存(flash)等,本发明实施例不限定存储介质的具体实现形式。在一些实施例中,存储介质还可能进一步包括与控制器分离的远程存储器,例如通过网络与控制器互联的存储介质。

在本发明实施例中,交换网络102可以用于指代:主机101、第一存储装置103以及第二存储装置105互联的任意方式或互联协议等。例如,交换网络102可以为pcie总线,其中pcie总线可以包含pcie交换机,该pcie交换机与主机101互联。交换网络102还可以为计算机设备内部互联总线,因特网,内联网(intranet),局域网(localareanetwork,lan),广域网络(wideareanetwork,wan),存储区域网络(storageareanetwork,san)等,或者以上网络的任意组合。本发明实施例不限定交换网络102的具体实现形式。

如图2所示,在传统备份方法中,主机101在进行数据存储时,需要向第一存储装置103和第二存储装置105分别触发相同的写指令。具体的,该写指令为sqe,主机101向与第一存储装置103关联的发送队列中写入该sqe,并通过门铃机制通知第一控制器104有新的sqe。第一控制器104接收到门铃通知后,去发送队列获取对应的sqe,其中,sqe的prp或sgl字段携带有待存储数据的地址信息。第一控制器104根据sqe中携带的地址信息从主机101侧读取待存储数据,然后将待存储数据存入第一存储装置103存储介质。同理,主机101将相同的读指令写入与第二存储装置105关联的发送队列,并通过命令机制通知第二控制器106有新的sqe。第二控制器106获取到该sqe后,仍需根据sqe携带的地址信息去主机101侧读取待存储数据,然后将待存储数据写入第二存储装置105的存储介质,并向主机101触发完成消息。基于以上流程,需要从主机侧读取两次相同的数据,交换网络102的上行数据流量是没有备份时的两倍。其中,上行数据流量是指与主机101交互的数据流量。

在本发明实施例中,如图3所示,主机101在需要存储数据的时候,分别向第一存储装置103和第二存储装置105触发第一写指令和第二写指令,其中第一写指令中携带关联标识,该关联标识用于关联待存储数据和第二写指令。第一控制器104获取到第一写指令和待存储数据后,将待存储数据写入第一存储装置103的存储介质,并主动向第二控制器106推送数据报文,数据报文中携带待存储数据和该关联标识。第二控制器106获取到第二写指令和该数据报文后,根据关联标识关联第二写指令和待存储数据,并根据第二写指令将待存储数据写入第二存储装置105的存储介质,并向主机101触发完成消息。本发明实施例通过第一存储装置103主动向第二存储装置105推送包含待存储数据和关联标识的数据报文,从而避免了第二存储装置105从主机101侧读取报文的步骤,从而减少了第一存储装置103,第二存储装置105与主机101互联的交换网络102的上行端口的流量,提升了系统的总体性能。

图4为依据本申请一实施例的主机400的结构示意图。

如图4所示,主机400包括处理器401,处理器401与系统内存402连接。处理器301可以为中央处理器(cpu),图像处理器(graphicsprocessingunit,gpu),现场可编程门阵列(fieldprogrammablegatearray,fpga),专用集成电路(applicationspecificintegratedcircuit,asic)或数字信号处理器(digitalsignalprocessor,dsp)等计算逻辑或以上任意计算逻辑的组合。处理器301可以为单核处理器或多核处理器。

在本申请的一个实施例中,处理器401还可以包括备份逻辑410,备份逻辑410可以为具体的硬件电路或集成在处理器401中的固件模块。如果备份逻辑410为具体的硬件电路,则备份逻辑410执行本申请实施例的方法,如果备份逻辑410为固件模块,则处理器410执行备份逻辑410中的固件代码来实现本申请实施例的技术方案。备份逻辑410包括:(1)用于触发第一写指令的逻辑(电路/固件代码),第一写指令携带关联标识,该关联标识用于关联第二写指令和待存储数据,该第一写指令用于指示第一存储装置将待存储数据存入第一存储装置的存储介质,并指示第一存储装置向第二存储装置发送数据报文,数据报文包含待存储数据和关联标识;(2)用于触发第二写指令的代码的逻辑(电路/固件代码),该第二写指令用于指示第二存储介质将待存储数据存入第二存储装置的存储介质。

总线409用于在主机400的各部件之间传递信息,总线409可以使用有线的连接方式或采用无线的连接方式,本申请并不对此进行限定。总线409还连接有输入/输出接口405和通信接口403。

输入/输出接口405连接有输入/输出设备,用于接收输入的信息,输出操作结果。输入/输出设备可以为鼠标、键盘、显示器、或者光驱等。

通信接口403用来实现与其他设备或网络之间的通信,通信接口403可以通过有线或者无线的形式与其他设备或网络互联。例如,主机400可以通过通信接口403与交换网络互联,并通过交换网络连接控制器。

本申请实施例的一些特征可以由处理器401执行系统内存402中的软件代码来完成/支持。系统内存402可以包括一些软件,例如,操作系统408(例如darwin、rtxc、linux、unix、osx、windows或嵌入式操作系统(例如vxworks)),应用程序407,和备份模块406等。

在本申请的一个实施例中,处理器401执行备份模块406来实现本申请实施例的技术方案。备份模块406包括:(1)用于触发第一的代码,第一写指令携带关联标识,该关联标识用于关联第二写指令和待存储数据,该第一写指令用于指示第一存储装置将待存储数据存入第一存储装置的存储介质,并指示第一存储装置向第二存储装置发送数据报文,数据报文包含待存储数据和关联标识;(2)用于触发第二写指令的代码,该第二写指令用于指示第二存储介质将待存储数据存入第二存储装置的存储介质。

此外,图4仅仅是一个主机400的例子,主机400可能包含相比于图4展示的更多或者更少的组件,或者有不同的组件配置方式。同时,图4中展示的各种组件可以用硬件、软件或者硬件与软件的结合方式实施。

图5为依据本申请一实施例的控制器500的结构示意图。

如图5所示,控制器500包括处理器501,处理器501与系统内存502连接。处理器401可以cpu,gpu,fpga,asic或dsp等计算逻辑或以上任意计算逻辑的组合。处理器401可以为单核处理器或多核处理器。

在本申请的一个实施例中,处理器501还可以包括备份逻辑505,备份逻辑505可以为具体的硬件电路或集成在处理器501中的固件模块。如果备份逻辑505为具体的硬件电路,则备份逻辑505执行本申请实施例的方法,如果备份逻辑505为固件模块,则处理器501执行备份逻辑505中的固件代码来实现本申请实施例的技术方案。备份逻辑505包括:(1)用于获取主机触发的第一写指令和待存储数据的逻辑(电路/固件代码),该第一写指令携带关联标识,关联标识用于关联待存储数据和第二写指令;(2)用于根据第一写指令将待存储数据存入第一存储装置的存储介质的逻辑(电路/固件代码);(3)用于向第二存储装置发送数据报文的逻辑(电路/固件代码),该数据报文包含待存储数据和关联标识。

总线507用于在控制器500的各部件之间传递信息,总线507可以使用有线的连接方式或采用无线的连接方式,本申请并不对此进行限定。总线507还可以连接有通信接口503。

通信接口503用来实现与其他设备或网络之间的通信,通信接口503可以通过有线或者无线的形式与其他设备或网络互联。例如,控制器500通过通信接口503与交换网络和存储介质互联。

本申请实施例的一些特征可以由处理器501执行系统内存502中的软件代码来完成/支持。系统内存502可以包括一些软件,例如,操作系统504(例如darwin、rtxc、linux、unix、osx、windows、macos或嵌入式操作系统(例如vxworks))和备份模块506等。

在本申请的一个实施例中,处理器501执行备份模块506来实现本申请实施例的技术方案。备份模块506包括:(1)用于获取主机触发的第一写指令和待存储数据的代码,该第一写指令携带关联标识,关联标识用于关联待存储数据和第二写指令;(2)用于根据第一写指令将待存储数据存入第一存储装置的存储介质的代码;(3)用于向第二存储装置发送数据报文的代码,该数据报文包含待存储数据和关联标识。

此外,图5仅仅是一个控制器500的例子,控制器500可能包含相比于图5展示的更多或者更少的组件,或者有不同的组件配置方式。同时,图5中展示的各种组件可以用硬件、软件或者硬件与软件的结合方式实施。

图6为依据本申请一实施例的控制器600的结构示意图。

如图6所示,控制器600包括处理器601,处理器601与系统内存602连接。处理器401可以cpu,gpu,fpga,asic或dsp等计算逻辑或以上任意计算逻辑的组合。处理器401可以为单核处理器或多核处理器。

在本发明实施例中,处理器601内部还可以包含寄存器,该寄存器可以开放给其他存储装置的控制器访问。更具体的,该寄存器可以作为pcie地址空间开放给其他存储装置的控制器,供其他存储装置的控制器通过pcie地址进行访问。

在本申请的一个实施例中,处理器601还可以包括备份逻辑605,备份逻辑605可以为具体的硬件电路或集成在处理器601中的固件模块。如果备份逻辑605为具体的硬件电路,则备份逻辑605执行本申请实施例的方法,如果备份逻辑605为固件模块,则处理器601执行备份逻辑605中的固件代码来实现本申请实施例的技术方案。备份逻辑605包括:(1)用于获取主机触发的写指令的逻辑(电路/固件代码);(2)用于接收所述第一存储装置发送的数据报文的逻辑(电路/固件代码),该数据报文包含待存储数据和关联标识,关联标识用于关联该写指令和待存储数据;(3)用于根据该写指令将待存储数据存储入第二存储装置的存储介质的逻辑(电路/固件代码)。

总线607用于在控制器600的各部件之间传递信息,总线607可以使用有线的连接方式或采用无线的连接方式,本申请并不对此进行限定。总线607还可以连接有通信接口603。

通信接口603用来实现与其他设备或网络之间的通信,通信接口603可以通过有线或者无线的形式与其他设备或网络互联。例如,控制器600通过通信接口603与主机和存储介质互联,控制器600也可以通过通信接口603连接网络,并通过网络与主机或存储介质互联。

本申请实施例的一些特征可以由处理器601执行系统内存602中的软件代码来完成/支持。系统内存602可以包括一些软件,例如,操作系统604(例如darwin、rtxc、linux、unix、osx、windows、macos或嵌入式操作系统(例如vxworks))和备份模块606等。

在本申请的一个实施例中,处理器601执行备份模块606来实现本申请实施例的技术方案。备份模块606包括:(1)用于获取主机触发的写指令的代码;(2)用于接收第一存储装置发送的数据报文的代码,数据报文包含待存储数据和关联标识,关联标识用于关联写指令和待存储数据;(3)用于根据写指令将待存储数据存入第二存储装置的存储介质的代码。

此外,图6仅仅是一个控制器600的例子,控制器600可能包含相比于图6展示的更多或者更少的组件,或者有不同的组件配置方式。同时,图6中展示的各种组件可以用硬件、软件或者硬件与软件的结合方式实施。

为了减少数据备份过程中对交换网络的上行端口的带宽的占用,本发明实施例提供了一种数据备份方法。数据备份系统包括第一存储装置,第二存储装置和主机,其中第一存储装置是第二存储装置的备份,第一存储装置包含第一控制器和存储介质,第二存储装置包含第二控制器和存储介质。如图7所示,方法700包括:

步骤701:主机触发第一写指令。

其中,第一写指令携带关联标识,该关联标识用于关联第二写指令和待存储数据。

在本发明实施例中,第一写指令可以具体为基于nvme的sqe。在以下描述中,以第一写指令为sqe为例进行解释说明。但应理解,本发明实施例并不限定第一写指令的具体实现形式。

在本发明实施例中,主机向触发第一写指令的流程可以参照nmve标准。主机将sqe写入与第一控制器关联的发送队列,并通过门铃通知第一控制器有新的sqe进了与第一控制器相关的发送队列,以便提醒第一控制器读取sqe。

在本发明实施例中,主机触发第一写指令也可以为其他实现形式。例如,主机可以将第一写指令直接发送至第一控制器。本发明不限定主机触发第一写指令的具体实现形式。

步骤702:主机触发第二写指令。

同理,第二写指令可以为基于nvme的sqe。在以下描述中,以第二写指令为sqe为例进行解释说明。但应理解,本发明实施例不限定第二写指令的具体实现形式。

在本发明实施例中,第二写指令可以具体为写指令,用于指示第二控制器将待存储数据存入第二存储装置的存储介质。

在本发明实施例中,主机触发第二写指令可以为主机将第二写指令写入与第二控制器关联的发送队列,并通过门铃通知第二控制器有新的sqe进入了与第二控制器相关的发送队列,以便提醒第二控制器读取sqe。主机触发第二写指令也可以为其他实现形式。例如,主机可以将第二写指令直接发送至第二控制器。本发明不限定主机触发第二写指令的具体实现形式。

步骤703:第一控制器获取第一写指令。

在本发明实施例中,第一控制器可以从与主机关联的发送队列里获取第一写指令。具体的,第一控制器接收到主机的门铃通知,该门铃用于指示有新的sqe到达发送队列,第一控制器去发送队列中获取该sqe。第一控制器也可以直接接收主机发送的第一写指令。本发明实施例不限定第一控制器获取第一写指令的具体实现形式。

步骤704:第一控制器获取待存储数据。

本发明实施例中,第一写指令的格式可以参照nvme标准,主机可以在第一写指令中通过sqe的prp或sgl字段指示待存储数据的地址信息。第一控制器根据该地址信息从主机侧读取待存储数据。

在本发明实施例中,主机也可以直接向第一控制器发送待存储数据,第一控制器从主机直接接收待存储数据。本发明实施例不限定第一控制器获取待存储数据的具体实现形式。

步骤705:第一控制器根据第一写指令将待存储数据存入第一存储装置的存储介质。

步骤706:第一控制器向第二控制器发送数据报文。

其中,该数据报文中包含待存储数据和该关联标识。在具体实现过程中,因为数据报文携带的载荷数据的大小受限,第一控制器可以将待存储数据分为多个数据报文发送至第二控制器。

在本发明实施例中,第一控制器可以主动向第二控制器推送该数据报文。其中,数据报文携带的关联标识用于关联待存储数据和第二写指令。本发明实施例不限定关联标识的具体实现方式,关联标识可以直接或间接的指示数据报文中携带的待存储数据对应的第二写指令。

在本发明实施例中,数据报文可以为pcie写操作报文,更具体的,数据报文可以是事务层包,载荷数据可以为传输层包(transactionlayerpacket,tlp)中携带的负荷(payload),该关联标识可以为tlp的pcie地址或者pcie地址的部分字段。

在本发明实施例中,第二控制器将其一部分地址空间开放给第一控制器。更具体的,第二控制器给第一控制器开放的地址空间可以作为第二控制器的pcie地址空间。第一控制器可以访问该pcie地址访问。例如,第二控制器可以将基地址寄存器的一部分pcie地址开放给第一控制器访问。

在以下描述中,以基地址寄存器举例说明,但应理解本发明实施例不限定第二控制器开放给第一控制器访问的地址空间的种类和形式。

在本发明实施例中,第二控制器可以将一部分基地址寄存器的pcie地址组织成入口(portal)的形式,每一个入口占据该基地址寄存器的一部分pcie地址空间。第一控制器可以通过入口向第二控制器写入数据报文。入口即第一控制器向第二控制器进行pcie写操作的数据入口,在下面的描述中,会对入口的功能进行更详细的描述。

在本发明实施例中,第一控制器向第二控制器推送的数据报文可以为pcie报文,第一控制器通过将与第二写指令关联的待存储数据通过入口写入到第二控制器,pcie报文的地址段指示该写操作对应的入口,即入口地址为数据报文中pcie地址或者pcie地址的部分字段。

在本发明实施例中,关联标识可以为入口地址或者入口地址的部分字段。第二控制器接收到数据报文后,还用于根据关联标识确定第二写指令的存储地址,并根据第二写指令的存储地址获取第二写指令。存储第二写指令的地址可以为提交队列中存储第二写指令的槽位地址。

在本发明实施例中,主机和第二控制器维护有入口与发送队列中槽位的对应关系。主机在触发第一写指令和第二写指令的时候,将第二写指令存入关联标识指示的入口对应的发送队列的槽位,并在第一写指令中携带该关联标识。第一控制器根据该关联标识向第二控制器发送数据报文,数据报文中携带该关联标识。第二控制器获取到数据报文后,根据关联标识确定与主机关联的发送队列中存储第二地址的槽位,并从该槽位中获取待存储数据关联的第二写指令。

本发明不限定pcie地址空间里的入口的组织方式,只需要保证在数据备份操作的过程中,每个入口和具体的第二写指令唯一对应,每个入口唯一地关联到具体的第二写指令。例如,可以将第二控制器的基地址寄存器的一部分pcie地址组织成通孔(aperture)的形式,每一个通孔中包含多个入口,即入口可以组织成数组的形式,通过数组基地址加入口偏移量寻址到入口,这个数组称为通孔。每一个入口关联发送队列的一个槽位。图8为基地址寄存器的结构示意图,如图8所示,每个通孔由一组入口p0~pn组成。

图9为依据本发明一实施例的pcie数据报文中的pcie地址结构。如图9所示,pcie地址结构中包含bar的基地址、通孔偏移量以及入口偏移量。其中,bar和通孔偏移量用于唯一的确定通孔,入口偏移量用于指示该通孔中具体的入口。在本发明实施例中,待存储数据由第一控制器通过pciebar空间的通孔“推送”到第二控制器。“推送”指的是第一控制器发起的pcie写事务。

在本发明实施例中,入口还可以任意分布在pcie地址空间,在pcie空间中任意分布的入口称为任意的“数据入口”。

在本发明实施例中,关联标识为入口地址或者入口地址的部分字段。主机和第二控制器维护有入口与sq中槽位的对应关系,sq槽位与入口一一对应。主机通过入口与sq槽位的对应关系触发第一写指令和第二写指令。第二控制器根据sq槽位与入口的对应关系,可以根据数据报文中的关联标识获取到对应的第二写指令。本发明实施例使用存储第二写指令的sq槽位将入口与第二写指令关联起来,通过sq槽位确定入口对应的第二写指令。

在本发明实施例的其他实现方式中,关联标识还可以为第二写指令的指示信息。例如,关联标识还可以包含第二写指令的部分字段,第二控制器根据关联标识获取第二写指令。具体的,第二写指令可以为sqe,关联标识为sqe的指示信息,用于唯一的确定一个sqe。

在本发明实施例中,通过在数据报文中携带sqe的指示信息,从而直接实现sqe与待存储数据的关联,而不是通过sq槽位实现间接的关联。例如,如果一个sq中的每个sqe有各自独特的命令标识cid,则关联标识可以由“队列id+cid”组成。如果每个sqe的cid都是唯一的,则关联标识可以为对应sqe携带的cid。在其他实现方式中,关联标识还可以为cid的一部分。在本发明实施例中,关联标识还可以使用特别定义的sgl类型或者sgl子类型或者sqe中其他字段指定,只要第二控制器可以根据关联标识唯一的确定第二写指令,本发明实施例不限定关联标识的具体实现方式。

步骤707:第二控制器获取第二写指令。

本发明实施例中,第二控制器可以从与主机关联的发送队列里获取该第二写指令。更具体的,第二控制器接收到主机的门铃通知,该门铃用于指示有新的sqe到达第二控制器所对应的发送队列,控制器在接收到主机的门铃后,去发送队列获取该第二写指令。第二控制器也可以直接接收主机发送的第二写指令。本发明实施例不限定第二控制器获取第二写指令的具体实现形式。

本发明实施例中,第二写指令的格式可以参照nvme标准,但本发明实施例通过关联标识关联了待存储数据和第二写指令,且待存储数据由第一控制器主动推送至第二控制器。第二写指令不再需要第二控制器主动通过pcie读操作去获取待存储数据,所以第二写指令中不需要再通过sgl域或者prp域携带待存储数据的地址信息。在具体实现中,第二写指令的sgl域或者prp域中可以不携带其他信息,第二控制器对sgl域或者prp域的处理方法可以为“忽略”,即本发明实施例可以省略sgl或者prp。

在本发明实施例中,关联标识可以为入口地址或者入口地址的部分字段。第二控制器维护有入口与发送队列中槽位的对应关系。第二控制器接收到数据报文后,还用于根据关联标识确定第二写指令的存储地址,并根据第二写指令的存储地址获取第二写指令。

在本发明实施例中,关联标识还可以为第二写指令的指示信息。例如,关联标识还可以包含第二写指令的部分字段。第二控制器还可以根据该关联标识在发送队列中查找该关联标识指示的第二写指令。

步骤708:第二控制器获取待存储数据。

在本发明实施例中,数据报文中携带待存储数据。数据报文中携带的地址信息指示第二控制器的一个入口,第二控制器的入口用于接收数据报文,是第一控制器向第二控制器发送数据报文的入口。第二控制器接收到数据报文后,用于待存储数据的存储空间可以是第二控制器的内部存储器,而不是将待存储数据存入入口地址指示的存储空间。

第二控制器接收到数据报文后,解析数据报文获得数据报文的地址,获得关联标识,并识别出关联标识是第二控制器想第一控制器开放的入口的地址信息,第二地址将数据报文中的待存储数据存入自己的内部存储器。具体的,第二控制器可以为每个入口在自己的内部存储器中分配具体的存储块,用于存储该入口接收到的待存储数据。为了便于数据管理和查询,第二控制器可以建立存储块与入口的映射关系。第二控制器用于存储数据的内部存储器可以不再通过pcie寻址的方式供外界访问,不是也不作为命令内存缓冲区,本发明实施例不限定用于存储待存储数据的存储块的具体实现方式。

可选的,第一控制器可以使用多个数据报文对待存储数据进行发送。第二控制器可以使用根数据结构对从入口接收的数据进行组织。如图10所示,数据报文可以具体为pcie写报文,第一控制器通过pcie写操作将待写入数据写入第二控制器。第二控制器接收到数据报文后,可以将数据组织成根数据结构,以方便数据的管理。

在本发明实施例中,第二控制器接收到数据报文后,解码数据报文的地址并识别关联标识,根据关联标识识别入口和根数据结构,从内存存储器中为数据分配空闲的内存块,并将数据保存至分配的内存块,将内存块附到根数据结构。第二控制器首先将数据存储在自己的内部存储器中,在满足一定的条件时,将自己的内部存储器中存储的数据存储至第二存储装置的存储介质。此处的满足条件可以为第二控制器获取到第二写指令,或者数据量积累到第二nmve控制器可以对存储介质进行一次写操作的程度。其中,第二控制器的内部存储器可以为控制器的私有内存。

本发明实施例不限定第二控制器获取数据报文和第二写指令的顺序,第二控制器可以先接收到第一控制器推送的数据报文,并根据关联标识确定第二写指令。第二控制器也可以先获取第二写指令,再根据第二写指令获取对应的待存储数据。例如,第二控制器可以根据第二写指令确定该关联标识,然后根据关联标识确定对应的入口,并根据关联标识从为该入口分配的存储空间中获取存储的载荷数据。

本发明实施例不限定与第二写指令对应的待存储数据和第二写指令本身的到达第二控制器的顺序。

第二控制器可以维护有sq槽位与入口的一一对应关系,当从一个槽位中获取到第二写指令后,可以根据维护的对应关系确定该第二写指令对应的入口。如果第二控制器检测到对应的入口还没有数据到达,则第二控制器挂起第二写指令,等待数据到来。直至第二控制器检测到对应的入口有数据到达,便可以执行对待存储数据的写操作。

如果一部分数据先于第二写指令到达第二控制器,第二控制器根据数据报文中携带的关联标识检测到数据对应的第二写指令还没有到达第二控制器或者对应的sq槽位。则第二控制器可以将数据附到根数据结构,等待相关的第二写指令到来,直至对应的第二写指令到达第二控制器或者第二控制器可寻址的sq槽位,第二控制器获取该第二写指令,并根据第二写指令将待存储数据存入第二存储装置的存储介质。

步骤709:第二控制器将待存储数据存入第二存储装置的存储介质。

在本发明实施例中,第一控制器可以通过多个数据报文发送待存储数据,第二控制器通过入口接收第一控制器推送的待存储数据和第二控制器向第二存储装置的存储介质的写操作可以并行执行。如果当前通过入口接收的待存储数据处理完成,即当前通过入口接收到的数据已经完全写入第二存储装置的存储介质,但系统需要更多的数据来完成备份操作,第二控制器则挂起第二写指令等待数据到来。

步骤710:第二控制器触发完成消息。

第二控制器完成对待存储数据的存储操作后,会触发完成消息。该完成消息用于指示第二控制器完成对待存储数据的存储操作。

在本发明实施例中,完成消息可以为触发完成队列条目(completionqueueentry,cqe),cqe用于指示第二控制器完成第二写指令指示的写操作。第二控制器触发完成消息可以具体为第二控制器完成写操作后,将cqe写入完成队列(completionqueue,cq),并通过中断通知主机。

根据本发明实施例公开的技术方案,主机向第一控制器触发第一写指令,并向第二控制器触发第二写指令。其中,主机向第一控制器触发的第一写指令中携带有关联第二写指令和待存储数据的关联标识。第一控制器获取到待存储数据后,主动向第二控制器发送数据报文,数据报文中携带待存储数据和该关联标识。第二控制器获取到数据报文后,根据关联标识关联第二写指令和待存储数据,并根据第二写指令将待存储数据写入第二存储装置的存储介质,从而避免了第二控制器从主机获取待存储数据的流程。主机与第一存储装置和第二存储装置互联的交换网络的上行端口的数据流量与不进行数据备份时一样,从而提升了系统的总体性能。

图11为依据本发明一实施例的一种数据备份装置1100的逻辑结构示意图。数据备份系统包括第一存储装置,第二存储装置和数据备份装置1100,第二存储装置为第一存储装置的备份,第一存储装置包含第一控制器和存储介质,第二存储装置包含第二控制器和存储介质,如图11所示,数据备份装置1100包括处理单元1101和获取单元1102,其中,

处理单元1101用于触发第一写指令,第一写指令携带关联标识,该关联标识用于关联第二写指令和待存储数据;第一写指令用于指示第一控制器将待存储数据存入第一存储装置的存储介质,并指示第一控制器向第二控制器发送数据报文,数据报文包含待存储数据和关联标识。处理单元1101还用于触发第二写指令,第二写指令用于指示第二控制器将待存储数据存入第二存储装置的存储介质。

可选的,备份装置1100还包括获取单元1102,用于获取第二控制器触发的完成消息,该完成消息用于指示第二控制器完成对待存储数据的存储操作。

可选的,数据报文为pcie报文,关联标识包含第二控制器的pcie地址字段。

可选的,关联标识包含第二写指令的部分字段。

可选的,该第一写指令和/或第二写指令为基于nvme的sqe。

在本申请实施例中,处理单元1101和获取单元1102可以由图4中的处理器401中的备份逻辑410来实现,或者由图4中的处理器401和系统内存402中的备份模块406来实现。

本申请实施例为以上实施例对应的主机的装置实施例,以上实施例部分的特征描述适用于本申请实施例,在此不再赘述。

图12为依据本发明一实施例的一种备份装置1200的逻辑结构示意图。数据备份系统包括第一存储装置,第二存储装置和主机,第二存储装置为第一存储装置的备份,第一存储装置包含数据备份装置1200和存储介质,第二存储装置包含控制器和存储介质。如图12所示,备份装置1200包括处理单元1201和发送单元1202,其中,

处理单元1201用于获取主机触发的第一写指令和待存储数据,第一写指令携带关联标识,关联标识用于关联待存储数据和第二写指令,该第二写指令由主机触发,用于指示控制器将待存储数据写入所述第二存储装置的存储介质,并根据第一写指令将待存储数据存入第一存储装置的存储介质。

发送单元1202用于向控制器发送数据报文,数据报文包含待存储数据和关联标识。

可选的,数据报文为pcie报文,关联标识包含该控制器的pcie地址字段。

可选的,关联标识包含第二写指令的部分字段。

可选的,该第一写指令和/或第二写指令为基于nvme的sqe。

在本申请实施例中,处理单元1201和发送单元1202可以由图5中的处理器501中的备份逻辑505来实现,或者由图5中的处理器501和系统内存502中的备份模块506来实现。

本申请实施例为以上实施例对应的第一控制器的装置实施例,以上实施例部分的特征描述适用于本申请实施例,在此不再赘述。

图13为依据本发明一实施例的一种备份装置1300的逻辑结构示意图。数据备份系统包括第一存储装置,第二存储装置和主机,第二存储装置为第一存储装置的备份,第一存储装置包含控制器和存储介质,第二存储装置包含数据备份装置1300和存储介质。如图13所示,备份装置1300包括获取单元1301和处理单元1302,其中,

获取单元1301用于获取主机触发的写指令,该写指令用于指示数据备份装置将待存储数据写入第二存储装置的存储介质,并接收控制器发送的数据报文,数据报文包含待存储数据和关联标识,关联标识用于关联写指令和待存储数据。

处理单元1302用于根据写指令将待存储数据存入第二存储装置的存储介质。

可选的,数据报文为pcie报文,关联标识包含数据备份装置1301的pcie地址字段。

可选的,数据备份装置1300还包含内部存储器,处理单元1302将待存储数据存入第二存储装置的存储介质之前,还用于将待存储数据存入内部存储器的存储空间,并记录存储空间与关联标识之间的映射关系。

可选的,获取单元1301还用于根据关联标识确定写指令的存储位置,并根据写指令的存储位置获取写指令。

可选的,关联标识包含写指令的部分字段,获取单元1301还用于根据写指令的部分字段获取该写指令。

可选的,处理单元1302还用于触发完成消息,完成消息用于指示数据备份装置1300完成对待存储数据的存储操作。

可选的,该写指令为基于nvme的sqe。

在本申请实施例中,获取单元1301和处理单元1302可以具体由图6中的处理器601中的备份逻辑605来实现,或者由图6中的处理器601和系统内存602中的备份模块606来实现。

本申请实施例为以上实施例对应的第二控制器的装置实施例,以上实施例部分的特征描述适用于本申请实施例,在此不再赘述。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1