重复数据删除方法和存储阵列与流程

文档序号:11413004阅读:258来源:国知局
重复数据删除方法和存储阵列与流程
本发明涉及信息技术领域,尤其涉及一种重复数据删除方法和存储阵列。

背景技术:
存储阵列,一般包括一个引擎,一个引擎中包括两个控制器,通常称为双控制器结构。如图1所示,存储阵列包括输入输出管理器A和输入输出管理器B,控制器A和控制器B。输入输出管理器A与控制器A连接,输入输出管理器B与控制B连接。控制器A包括外围组件快速互联(PeripheralComponentInterconnectexpress,PCIe)交换A、中央处理单元(CentralProcessingUnit,CPU)A和内存A;控制器B包括外围组件快速互联(PeripheralComponentInterconnectexpress,PCIe)交换B、中央处理单元(CentralProcessingUnit,CPU)B和内存B。PCIe交换A与PCIe交换B连接。在图1所示的存储阵列中,在将待写入数据写入到硬盘之前,进行重复数据删除。具体过程:控制器A的CPUA将内存A中待写入数据分块得到多个数据块,并且计算每一个数据块的特征值,通过查找控制器A的特征值索引集合中的特征值,判断是否为重复数据块,如果是重复数据块,则将该数据块删除;如果不是重复数据块,则将该数据块写入硬盘。上述存储阵列重复数据删除过程,消耗了控制器的CPU的计算能力和控制器的内存资源,严重影响了存储阵列的性能。

技术实现要素:
本发明实施例提供了一种重复数据删除方法和存储阵列。第一方面,本发明实施例提供了一种重复数据删除方法,所述方法应用于存储阵列,所述存储阵列包括交换设备、第一控制器和缓存设备;其中所述第一控制器与所述交换设备连接;所述缓存设备与所述交换设备连接;所述交换设备与所述存储阵列中的硬盘连接;所述方法包括:所述第一控制器从所述缓存设备接收待重删数据块的特征值,在数据块特征值索引集合查找所述待重删数据块的特征值;;当在所述数据块特征值索引集合中没有查找到所述待重删数据块的特征值时,所述第一控制器,通过所述交换设备,获取所述待重删数据块在所述缓存设备中的缓存地址;所述第一控制器,通过所述交换设备,向目标硬盘的控制器发送数据读取指令;所述数据读取指令携带所述缓存设备的标识和所述缓存地址;所述目标硬盘的控制器根据所述缓存设备的标识和所述缓存地址,通过所述交换设备,从所述缓存地址中读取所述待重删数据块;所述目标硬盘的控制器将所述待重删数据块存储到所述目标硬盘。结合本发明第一方面,第一种可能的实施方式中,所述方法还包括:所述目标硬盘的控制器,通过所述交换设备,向所述第一控制器发送目标硬盘存储地址;所述目标硬盘存储地址包括所述目标硬盘的控制器标识和所述目标硬盘中存储所述待重删数据块的逻辑存储地址;所述第一控制器在所述数据块特征值索引集合中建立所述待重删数据块的特征值索引;所述待重删数据块的特征值索引包括所述待重删数据块的特征值和所述目标硬盘存储地址。结合本发明第一方面,第二种可能的实施方式中,所述存储阵列还包括第二控制器,所述第二控制器与所述交换设备连接;所述第二控制器存储所述待重删数据块地址,所述第二控制器为所述待重删数据块所在的目标逻辑单元的归属控制器;则所述第一控制器从所述缓存设备接收待重删数据块的特征值,具体包括:所述缓存设备通过所述交换设备,向所述第二控制器发送所述待重删数据块的特征值;所述第二控制器确定所述待重删数据块的特征值的归属控制器为所述第一控制器;所述第二控制器,通过所述交换设备,向所述第一控制器发送所述待重删数据块的特征值。结合本发明第一方面的第二种可能的实施方式,第三种可能的实施方式中,在所述数据块特征值索引集合中没有查找到所述待重删数据块的特征值时,所述方法还包括:所述第一控制器,通过所述交换设备,向所述第二控制器发送通知,所述通知中携带所述目标硬盘存储地址;所述第二控制器根据所述通知,建立所述待重删数据块地址、所述待重删数据块的特征值和所述目标硬盘存储地址的对应关系。结合本发明第一方面的第二种可能的实施方式,第四种可能的实施方式中,所述方法还包括:所述第二控制器建立所述待重删数据块地址、所述待重删数据块的特征值与所述第一控制器地址的对应关系。第二方面,本发明实施例提供了一种存储阵列,所述存储阵列包括交换设备、第一控制器、缓存设备;其中,所述第一控制器与所述交换设备连接;所述缓存设备与所述交换设备连接;所述交换设备与所述存储阵列中的硬盘连接;所述第一控制器用于从所述缓存设备接收待重删数据块的特征值,在数据块特征值索引集合查找所述待重删数据块的特征值;当在所述数据块特征值索引集合中没有查找到所述待重删数据块的特征值时,所述第一控制器还用于通过所述交换设备,获取所述待重删数据块在所述缓存设备中的缓存地址;所述第一控制器还用于通过所述交换设备,向目标硬盘的控制器发送数据读取指令;所述数据读取指令携带所述缓存设备的标识和所述缓存地址;所述目标硬盘的控制器用于根据所述缓存设备的标识和所述缓存地址,通过所述交换设备,从所述缓存地址中读取所述待重删数据块;所述目标硬盘的控制器还用于将所述待重删数据块存储到所述目标硬盘。结合本发明第二方面,第一种可能的实施方式中,所述目标硬盘的控制器还用于通过所述交换设备,向所述第一控制器发送目标硬盘存储地址;所述目标硬盘存储地址包括所述目标硬盘的控制器标识和所述目标硬盘中存储所述待重删数据块的逻辑存储地址;所述第一控制器还用于在所述数据块特征值索引集合中建立所述待重删数据块的特征值索引;所述待重删数据块的特征值索引包括所述待重删数据块的特征值和所述目标硬盘存储地址。结合本发明第二方面,第二种可能的实施方式中,所述存储阵列还包括第二控制器,所述第二控制器与所述交换设备连接;所述第二控制器用于存储所述待重删数据块地址,所述第二控制器为所述待重删数据块所在的目标逻辑单元的归属控制器;则所述第一控制器从所述缓存设备接收待重删数据块的特征值,具体包括:所述缓存设备通过所述交换设备,向所述第二控制器发送所述待重删数据块的特征值;所述第二控制器确定所述待重删数据块的特征值的归属控制器为所述第一控制器;所述第二控制器,通过所述交换设备,向所述第一控制器发送所述待重删数据块的特征值。结合本发明第一方面的第二种可能的实施方式,第三种可能的实施方式中,在所述数据块特征值索引集合中没有查找到所述待重删数据块的特征值时,所述第一控制器还用于通过所述交换设备,向所述第二控制器发送通知,所述通知中携带所述目标硬盘存储地址;所述第二控制器还用于根据所述通知,建立所述待重删数据块地址、所述待重删数据块的特征值和所述目标硬盘存储地址的对应关系。结合本发明第一方面的第二种可能的实施方式,第四种可能的实施方式中,所述第二控制器还用于建立所述待重删数据块地址、所述待重删数据块的特征值与所述第一控制器地址的对应关系。本发明实施例提供的重复数据删除方法和存储阵列,控制器与缓存设备通过交换设备连接,第一控制器从所述缓存设备接收待重删数据块的特征值,在数据块特征值索引集合查找所述待重删数据块的特征值,当没有查询到相同的特征值时,第一控制器将待重删数据块在缓存设备中的缓存地址发送给目标硬盘的控制器,目标硬盘的控制器,从待重删数据块的缓存地址中读取该待重删数据块。由缓存设备实现待重删数据块指纹的计算,节省了控制器的计算资源。在将待重删数据块存储到目标硬盘过程,控制器只提供待重删数据块缓存地址,由目标硬盘的控制器直接从缓存地址中读取待重删数据块,节省了控制器的计算资源数据和内存资源,提高了存储阵列的性能。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本发明的一些实施例,还可以根据这些附图获得其他的附图。图1为现有技术存储阵列结构图;图2为本发明实施例存储阵列结构图;图3为本发明实施例数据写请求处理流程图;图4为本发明实施例数据写请求处理流程图;图5为本发明实施例数据读请求处理流程图;图6为数据块特征值索引集合示意图;图7为本发明实施例重复数据删除处理流程图。具体实施例下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明提供的实施例所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供的存储阵列,如图2所示的存储阵列中,包括输入输出管理器A、控制器A、输入输出管理器B、控制器B、交换设备A、交换设备B和缓存设备M。其中,控制器A包括CPUA和内存A,CPUA和内存A通过总线进行通信;控制器B包括CPUB和内存B,CPUB和内存B通过总线进行通信。输入输出管理器A分别与交换设备A和交换设备B连接,输入输出管理器B分别与交换设备A和交换设备B连接。交换设备A与交换设备B互连连接。交换设备A和交换设备B均与缓存设备M连接。关于缓存设备M下面将详细描述。控制器A分别与交换设备A和交换设备B连接,控制器B分别与交换设备A和交换设备B连接。基于上述描述,围绕交换设备A和交换设备B,组成了输入输出管理器A、输入输出管理器B、控制器A和控制器B的全互连架构。图2所示存储阵列中,交换设备A与所有硬盘连接,交换设备B也与所有硬盘连接。控制器A与控制器B分别与图2中所示的所有硬盘通信。具体地,控制器A通信交换设备A与所有硬盘通信,控制器B通信交换设备B与所有硬盘通信。控制器A用于将硬盘虚拟化,形成逻辑单元LUA,提供给主机A使用,主机A挂载LUA,主机A通过控制器A对该LUA进行数据访问操作,这里称该LUA归属控制器A,即控制器A是LUA的归属控制器。同理,控制器B用于将硬盘虚拟化,形成逻辑单元LUB,提供给主机B使用,主机B挂载LUB,主机B通过控制器B对该LUB进行数据访问操作,这里称该LUB归属控制器B,即控制器B是LUB的归属控制器。这里的主机可以为物理主机(或称物理服务器),也可以为虚拟主机(或称虚拟服务器)。逻辑单元LU,业界通常称为逻辑单元号(LogicalUnitNumber,LUN)。分配给主机LUN,实际是指将某一LU的标识分配给主机,以使主机挂载该LU,因此,这里LU与LUN具有相同含义。图2所示的存储阵列中,交换设备A和B可以为PCIe交换设备,也可以为非易失性存储介质的高速传输总线(Non-VolatileMemoryexpress,NVMe)交换设备或者串行小型计算机系统接口(SerialattachedSCSI,SAS)交换设备等,本发明实施例不作限定。当交换设备A和B为PCIe交换设备时,则与PCIe交换设备连接的硬盘为PCIe协议接口的硬盘;当交换设备A和B为NVMe交换设备时,则与NVMe交换设备连接的硬盘为NVMe协议接口的硬盘;当交换设备A和B为SAS交换设备时,则与SAS交换设备连接的硬盘为SAS协议接口的硬盘;图2所示的硬盘可以是机械硬盘,也可以是固态存储硬盘(SolidStateDisk,SSD),或者其他介质的硬盘。图2所示的存储阵列中的硬盘,不同盘的存储介质可以不同,从而组成混合硬盘存储阵列,本发明实施例不作限定。缓存设备M具体可以为由易失性存储介质或非易失性存储介质组成的存储设备,如相变存储器(PhaseChangeMemory,PCM)等,其他适合用来作为缓存设备的非易失性存储介质也可,本发明实施例对此不作限定。缓存设备M用于缓存数据。下面将结合本发明具体实施例,对缓存设备M进行描述。本发明实施例中以交换设备A为PCIe交换设备,交换设备B为PCIe交换设备,硬盘为PCIe协议接口SSD为例。图2所示的存储阵列,输入输出管理器A接收主机发送的数据写请求。一种实施方式,控制器A是输入输出管理器A的归属控制器。因此,输入输出管理器A接收到主机发送的数据操作请求,在没有改变输入输出管理器A的请求发送策略的情况下,根据数据操作请求,默认向控制器A发送请求,则称控制器A是输入输出管理器A的归属控制器。本发明实施例中,输入输出管理器A接收主机发送的数据写请求,通过PCIe交换设备A或PCIe交换设备B,向控制器A发送数据写请求。具体通过哪一个PCIe交换设备转发该请求,可以根据预设规则,一旦选定PCIe交换设备,则后续输入输出管理器A均通过该PCIe交换设备与控制器A通信。当然输入输出管理器A也可随机选择PCIe交换设备与控制器A进行通信,本发明实施例对此不作限定。本发明实施例以输入输出管理器A选定PCIe交换设备A与控制器A进行通信为例。输入输出管理器A接收到的数据写请求携带待写入数据地址。其中待写入数据地址包括待写入数据的目标LU的标识、待写入数据的逻辑块地址(LogicalBlockAddress,LBA)及待写入数据的长度。输入输出管理器A向控制器A发送数据写请求。控制器A接收到数据写请求,通过待写入数据地址中的待写入数据的目标LU的标识判断控制器A是否为目标LU的归属控制器。当控制器A是目标LU的归属控制器,也就是目标LU是由控制器A通过虚拟化硬盘形成的,并向主机提供的。控制器A确定用于缓存待写入数据的缓存设备,本发明实施例中为缓存设备M。一种实现方式为,控制器A根据数据写请求,指示缓存设备M为待写入数据分配缓存地址,缓存设备M根据待写数据长度分配缓存地址。控制器A获取缓存设备M为待写入数据分配的缓存地址(以下称缓存设备M为待写入数据分配的缓存地址为缓存地址M,一种实现方式,缓存地址包括缓存的起始地址和长度)。控制器A通过PCIe交换设备A,向输入输出管理器A发送缓存设备M的标识和缓存地址M。输入输出管理器A接收到控制器A发送的缓存设备M的标识和缓存地址M,根据缓存设备M的标识和缓存地址M,向缓存地址M写入待写入数据(也可称为直接向缓存地址M写入待写入数据)。控制器A只获取待写入数据分配缓存地址M,输入输出管理器通过PCIe交换设备A,直接向缓存地址写入待写入数据,相对于现有技术,节省了控制器A的CPU的计算资源和控制器A的内存资源,提高数据写入效率。控制器A建立待写入数据地址、缓存设备M的标识以及缓存地址M的对应关系,以供读取该待写入数据时,控制器A向输入输出管理器A发送待写入数据的缓存地址,输入输出管理器A可从待写入数据的缓存地址中读取该待写入数据(也可称为直接从待写入数据的缓存地址中读取该待写入数据),从而节省控制器A的CPU的计算资源和控制器A的内存资源,提高数据读取效率。待满足条件后,如果存储阵列不进行重复数据删除,则缓存设备M将待写入数据存储到存储阵列的目标SSD中。目标SSD是指存储待写入数据的SSD。待写入数据写入到目标SSD的具体过程,可以是控制器A,通过PCIe交换设备A或PCIe交换设备B,向目标SSD的控制器发送缓存设备M的标识和缓存地址M。目标SSD的控制器根据缓存设备M的标识和缓存地址M,通过PCIe交换设备A或PCIe交换设备B,直接从缓存地址M中读取待写入数据,并且存储待写入数据。目标SSD的控制器,通过PCIe交换设备A或PCIe交换设备B,向控制器A发送待写入数据的目标SSD存储地址。其中,待写入数据的目标SSD存储地址包括目标SSD的控制器标识和目标SSD中存储待写入数据的逻辑存储地址。控制器A建立待写入数据地址和待写入数据的目标SSD存储地址的对应关系。上述过程,具体如图3所示:步骤301:主机向输入输出管理器A发送数据写请求。输入输出管理器A为存储阵列中输入输出接收管理设备,负责接收主机发送数据操作请求,并转发到控制器。本发明实施例中,主机向输入输出管理器A发送携带待写入数据地址的数据写请求。示例性地,数据写请求可以使用小型计算机系统接口(SmallComputerSystemInterface,SCSI)协议,即SCSI协议数据写请求,当然还可以使用其他协议,本发明实施例对此不作限定。步骤302:向控制器A发送数据写请求。本发明实施例中,输入输出管理器A通常与特定的一个控制器进行通信。关于输入输出管理器A如何建立与某一个控制器的对应关系,可以有多种方式,比如根据控制器的负载,或者根据特定的路径选择算法,本发明对此不作限定。输入输出管理器A接收到数据写请求,通过PCIe交换设备A或者PCIe交换设备B向控制器A发送数据写请求。本发明实施例中,以输入输出管理器A接收到数据写请求,通过PCIe交换设备A向控制器A发送数据写请求为例。步骤303:控制器A获取待写入数据的缓存地址。控制器A接收输入输出设备A发送的数据写请求,确定缓存待写入数据的缓存设备,本发明实施例中,为缓存设备M。一种实现方式,缓存设备M分配给控制器A一段缓存地址。控制器A在该段缓存地址中,根据待写入数据的长度,为待写入数据分配缓存地址M。另一种实现方式,控制器A通过PCIe交换设备A或者PCIe交换设备B向缓存设备M发送指令,指令中携带待写入数据的长度,指示缓存设备M为待写入数据分配缓存地址,控制器A获得缓存地址M。步骤304:发送缓存设备M的标识和缓存地址M。控制器A获得缓存地址M,通过PCIe交换设备A向输入输出管理器A发送缓存设备M的标识和缓存地址M。其中,缓存设备M的标识为。步骤305:主机向输入输出管理器A发送待写入数据。输入输出设备A接收控制器A发送的缓存设备M的标识和缓存地址M,接收主机发送的待写入数据。步骤306:向缓存地址M写入待写入数据。输入输出管理器A根据缓存设备M的标识和缓存地址M,通过PCIe交换设备A,直接向缓存地址M中写入待写入数据。输入输出管理器A,通过PCIe交换设备A,接收缓存设备M发送的待写入数据写成功响应。输入输出管理器A向主机发送数据写请求完成响应,通知主机写请求操作完成。步骤307:通知控制器A待写入数据写入缓存地址M。输入输出管理器A将待写入数据写入缓存地址M成功,通知控制器A待写入数据写入到缓存地址M。步骤308:控制器A建立待写入数据地址、缓存设备M和缓存地址M的对应关系。控制器A接收输入输出管理器A发送的通知,建立待写入数据地址、缓存设备M和缓存地址M的对应关系。缓存设备M为待写入数据分配缓存地址M,则建立待写入数据地址与缓存地址M的对应关系。缓存设备M可以从控制器A发送的缓存地址分配指令中获得待写入数据地址,缓存设备M分配缓存地址M后,建立待写入数据地址与缓存地址M的对应关系。另一种实现方式,缓存设备M为目标LU的专属缓存设备,即只用来缓存目标LU的数据,则缓存设备M默认保存目标LU、目标LU中的LBA和缓存地址的对应关系。缓存设备M认保存目标LU、目标LU中的LBA与缓存设备M的某一段缓存地址的对应关系,缓存设备M在该段缓存地址中为待写入数据分配缓存地址M。为提高存储阵列的可靠性,为将待写入数据缓存多份,在图1所示的现有技术中,输入输出管理器A发送待写入数据,CPU将待写入数据写入内存A,CPUA从内存A中读取待写入数据,通过PCIe交换A将待写入数据发送到PCIe交换B,PCIe交换B将待写入数据发送到CPUB,CPUB将待写入数据内存B。在本发明实施例中,防止缓存设备M中待写入数据丢失,存储阵列会将待写入数据缓存在多个缓存设备上。因此,以在两个缓存设备上分别缓存待写入数据为例,图2所示的存储阵列中还包括缓存设备N。PCIe交换设备A和PCIe交换设备B均与缓存设备N连接。因此,控制器A接收到输入输出管理器A发送的数据写请求,确定缓存设备M作为主缓存设备缓存待写入数据,缓存设备N作为备份缓存设备缓存待写入数据。控制器A分别获取缓存设备M和缓存设备N中为待写入数据分配的缓存地址。一种实现方式,控制器A分别向缓存设备M和缓存设备N发送指令,该指令分别用于指示缓存设备M和缓存设备N为该待写入数据分配缓存地址。其中,该指令中携带待写入数据的长度。缓存设备M为待写入数据分配缓存地址称为缓存地址M,缓存设备N为待写入数据分配缓存地址称为缓存地址N。控制器A获取缓存地址M和缓存地址N。控制器A通过PCIe交换设备A向输入输出管理器A发送缓存设备M的标识和存缓存地址M,通过PCIe交换设备A向输入输出管理器A发送缓存设备N的标识和缓存地址N。具体实现中,控制器A可以通过一条消息将缓存设备M的标识和缓存地址M,以及缓存设备N的标识和缓存地址N,发送给输入输出管理器A。也可以通过两条消息分别发送,这里不作限定。另一种实现,缓存设备M为控制器A分配一段专属缓存地址,即只用来缓存归属控制器A的LU的数据。控制器A在缓存设备M的该段缓存地址中,直接为待写入数据分配缓存地址M;缓存设备N为控制器A分配一段专属缓存地址,控制器A在缓存设备N的该段缓存地址中,直接为待写入数据分配缓存地址N。输入输出管理器A接收到缓存设备M的标识和缓存地址M,以及缓存设备N的标识和缓存地址N。输入输出管理器A根据缓存设备M的标识和缓存地址M,通过PCIe交换设备A,直接向缓存地址M写入待写入数据;输入输出管理器A根据缓存设备N的标识和缓存地址N,PCIe交换设备A,直接向缓存地址N写入待写入数据。输入输出管理器A,通过PCIe交换设备A,接收缓存地址M写入待写入数据成功响应,通知控制器A建立待写入数据地址、缓存设备M的标识以及缓存地址M的对应关系。同理,控制器A建立待写入数据地址、缓存设备N的标识以及缓存地址N的对应关系。另一种实现方式,控制器A通过PCIe交换设备A,向输入输出管理器A发送缓存设备M的标识和缓存地址M。输入输出管理器A接收到缓存设备M的标识和缓存地址M。输入输出管理器A根据缓存设备M的标识和缓存地址M,通过PCIe交换设备A或者PCIe交换设备B,直接向缓存地址M写入待写入数据。控制器A通过PCIe交换设备A或者PCIe交换设备B,向缓存设备M发送数据写入指令,数据写入指令缓存设备N的标识和缓存地址N。缓存设备M缓存待写入数据,缓存设备M根据数据写入指令,通过PCIe交换设备A或者PCIe交换设备B,直接向缓存地址N写入待写入数据。控制器A只获取待写入数据分配缓存地址M和缓存地址M,即可由输入输出管理器A实现将待写入数据缓存到缓存设备M和缓存设备N,节省了控制器A的CPU的计算资源和控制器A的内存资源,提高数据写入效率。另一种情况,输入输出管理器A接收主机的数据写请求。数据写请求携带待写入数据地址。输入输出管理器A通过PCIe交换设备A转发向控制器发送数据写请求。控制器A接收到输入输出管理器A发送的数据写请求,根据数据写请求中携带的目标LU的标识,判断控制器A不是目标LU的归属控制器,具体实施例如图4所示。步骤401:主机向输入输出管理器A发送数据写请求。主机向输入输出管理器A发送数据写请求,数据写请求携带待写入数据地址。步骤402:向控制器A发送数据写请求。本发明实施例中,控制器A是输入输出管理器A的归属控制器。输入输出管理器A接收到数据写请求,通过PCIe交换设备A或者PCIe交换设备B,向控制器A发送数据写请求。本发明实施例中,以输入输出管理器A接收到数据写请求,通过PCIe交换设备A,向控制器A发送数据写请求为例。步骤403:判断控制A不是目标LU的归属控制器。控制器A接收到输入输出管理器A发送的数据写请求,根据数据写请求中携带的待写入数据的目标LU的标识,判断控制器A不是目标LU的归属控制器。控制器A查询控制器与LU的对应关系,确定控制器B为目标LU的归属控制器。步骤404:向控制器B发送数据写请求。控制器A通过PCIe交换设备A或者PCIe交换设备B,向控制器B发送数据写请求。本实施例以通过PCIe交换设备B,向控制器B转发数据写请求为例。步骤405获取待写入数据的缓存地址。控制器B接收控制器A发送的数据写请求,确定缓存待写入数据的缓存设备,本发明实施例中,为缓存设备M。具体实现方式可以参考前述控制器A从缓存设备M中获取待写入数据缓存地址的方式。步骤406:向控制器A发送缓存设备M的标识和缓存地址M。控制器B获取缓存地址M,通过PCIe交换设备B向控制器A发送缓存设备M的标识和缓存地址M。另一种实现方式,也可以通过PCIe交换设备A或者PCIe交换设备B,直接向输入输出管理器A缓存设备M的标识和缓存地址M。步骤407:向输入输出管理器A发送缓存设备M的标识和缓存地址M。控制器A收到控制器B发送的缓存设备M的标识和缓存地址M,通过PCIe交换设待写入数据的缓存地址M。步骤408:主机向输入输出管理器A发送待写入数据。输入输出管理器A收到缓存设备M的标识和缓存地址M,响应主机发送的数据写请求。主机向输入输出管理器A发送待写入数据。步骤409:向缓存地址M写入待写入数据。输入输出管理器A接收主机发送的待写入数据,根据缓存设备M的标识和缓存地址M,通过PCIe交换设备A,直接向缓存地址M中写入待写入数据。输入输出管理器A,通过PCIe交换设备A,接收缓存设备M发送的待写入数据写成功响应。输入输出管理器A向主机发送数据写请求完成响应,通知主机写请求操作完成。步骤410:通知控制器B待写入数据写入缓存地址M。输入输出管理器A将待写入数据写入缓存地址M成功,通知控制器A待写入数据写入到缓存地址M。具体包括输入输出管理器A,通过PCIe交换设备A转发该通知至控制器A,控制器A将该通知通过PCIe交换设备B转发给控制器B。或者,输入输出管理器A,通过PCIe交换设备A或者PCIe交换设备B,直接向控制器B发送该通知。步骤411:控制器B建立待写入数据地址、缓存设备M和缓存地址M的对应关系。控制器B接收输入输出管理器A发送的通知,建立待写入数据地址、缓存设备M和缓存地址M的对应关...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1