一种存储阵列系统及数据写请求处理方法

文档序号:8223307阅读:326来源:国知局
一种存储阵列系统及数据写请求处理方法
【技术领域】
[0001]本发明涉及信息技术领域,尤其涉及一种存储阵列系统及数据写请求处理方法。
【背景技术】
[0002]目前的存储阵列系统中,包含有多个存储阵列,存储阵列之间通过无限带宽(Infiniband,IB)通道等物理接口通讯。每个存储阵列中包括两个控制器,通常称为双控制器结构。如图1所示,存储阵列I中包括输入输出管理器(Input/Output Manager, 1M)A和输入输出管理器B,控制器A和控制器B。输入输出管理器A与控制器A连接,输入输出管理器B与控制器B连接。控制器A包括外围组件快速互联(Peripheral ComponentInterconnect express, PCIe)交换 A、中央处理单元(Central Processing Unit, CPU)A和内存A ;控制器B包括外围组件快速互联(Peripheral Component Interconnectexpress, PCIe)交换 B、中央处理单元(Central Processing Unit, CPU)B 和内存 B。PCIE交换A与PCIe交换B连接。存储阵列2的结构与存储阵列I的结构相同。图1所示的存储阵列系统以两个存储阵列为例,当有多个存储阵列时,各个存储阵列的结构均与存储阵列I的结构相同,且存储阵列之间的两两连接与图1中所示的两个存储阵列的连接方式相同,在此不再赘述。
[0003]存储阵列之间通过IB通道连接,相互不能共享彼此的内部架构,将其他存储阵列当做一个对象来操作。
[0004]在图1所示的存储阵列系统中,存储阵列I中的输入输出管理器BI接收主机发送的数据写入请求,数据写入请求的目标逻辑单元(Logical Unit,LU)归属于存储阵列2中控制器A2时,即由存储阵列2中的控制器A2将该数据写入请求携带的数据写入目标LU,所述目标LU为与控制器A2连接的存储设备的逻辑存储空间。输入输出管理器BI将数据写入请求通过控制器BI的交换BI发送到CPU BI通知申请缓存空间,CPU BI准备好缓存空间后将缓存地址返回给主机,主机通过直接内存访问方式(Direct Memory Access,DMA)将数据传输到控制器BI的CPUB1,CPUBl将数据存储到内存BI的缓存中。CPU BI接收到数据写入请求之后确定所述数据写入请求的目标LU的归属控制器为存储阵列2中控制器A2,将所述数据写入请求通过交换BI转发至目标LU的归属控制器A2,在接收到归属控制器B2发送的缓存地址之后,将缓存的数据通过DMA传输给归属控制器B2。归属控制器B2将数据写入请求中携带的数据及元数据写入内存B2。根据存储阵列的设置,CPU BI将内存BI中的数据及元数据写入目标LU。
[0005]上述存储阵列数据写入过程中,在数据到达目标存储设备之前,需要在经过的存储阵列的控制器的内存上暂存数据,导致不必要的资源浪费,通过存储阵列中的交换转发的次数越多,浪费的资源也越多,将严重影响系统的性能。

【发明内容】

[0006]本发明实施例提供了一种存储阵列系统和数据写请求处理方法。
[0007]本发明第一方面提供一种存储阵列系统,所述存储阵列系统至少包括第一存储阵列和第二存储阵列,所述第一存储阵列包括第一输入输出管理器,第一交换设备、第一控制器和第一缓存设备,其中,所述第一输入输出管理器与所述第一交换设备连接;所述第一控制器与所述第一交换设备连接;所述第一缓存设备与所述第一交换设备连接;所述第二存储阵列包括第二输入输出管理器,第二交换设备、第二控制器和第二缓存设备,其中,所述第二输入输出管理器与所述第二交换设备连接;所述第二控制器与所述第二交换设备连接;所述第二缓存设备与所述第二交换设备连接;所述第一交换设备与所述第二交换设备连接;所述第一输入输出管理器用于接收主机发送的数据写请求,并通过所述第一交换设备将所述数据写请求发送至所述第一控制器;所述数据写请求中携带有待写入数据地址;所述第一控制器用于根据所述数据写请求中携带的待写入数据地址确定所述待写入数据地址的归属控制器为所述第二控制器,并将所述数据写请求通过所述第一交换设备和所述第二交换设备发送给所述第二控制器;所述第二控制器用于根据所述数据写请求通过所述第二交换设备在所述第二缓存设备上为所述待写入数据分配缓存地址,并将所述缓存地址通过所述第二交换设备和所述第一交换设备发送给所述第一控制器;所述第一控制器还用于将接收的所述缓存地址通过所述第一交换设备发送给所述第一输入输出管理器;所述第一输入输出管理器还用于通过所述第一交换设备和所述第二交换设备将所述待写入数据写入到所述第二缓存设备的所述缓存地址中。
[0008]结合本发明的第一方面的实现方式,在本发明第一方面的第一种可能的实现方式中,所述第二控制器还用于通过所述第二交换设备接收所述第二缓存设备发送的所述待写入数据写成功响应消息;所述第二控制器还用于根据所述通知,建立所述待写入数据地址、所述第二缓存设备的标识和所述缓存地址的对应关系。
[0009]结合本发明的第一方面的第一种可能的实现方式,在本发明第一方面的第二种可能的实现方式中,所述待写入数据地址包括所述待写入数据的目标逻辑单元LU的标识、所述待写入数据的逻辑块地址和所述待写入数据的长度;所述第一控制器用于根据所述待写入数据地址确定所述待写入数据地址的归属控制器为所述第二控制器,具体包括:所述第一控制器用于根据所述目标LU的标识,查询所述第一控制器存储的目标LU与控制器的对应关系,确定所述目标LU的归属控制器为所述第二控制器。
[0010]结合本发明的第一方面的实现方式,在本发明第一方面的第三种可能的实现方式中,第一存储阵列还包括第一存储设备,所述第一存储设备与所述第一交换设备连接;所述第二存储阵列还包括第二存储设备,所述第二存储设备与所述第二交换设备连接;所述第一控制器用于接收所述第二控制器通过所述第一交换设备和所述第二交换设备转发的所述第二缓存设备计算的待重删数据块的特征值,并在数据块特征值索引集合中查找所述待重删数据块的特征值;当在所述数据块特征值索引集合中没有查找到所述待重删数据块的特征值时,通过所述第一交换设备和所述第二交换设备,从所述第二缓存设备获取所述待重删数据块在所述第二缓存设备中的缓存地址;所述第一控制器还用于,通过所述第一交换设备向所述第一存储设备发送数据获取指令,所述第一存储设备为所述重删数据块的目标存储设备;所述数据获取指令携带所述第二缓存设备的标识和所述缓存地址;所述第一存储设备用于根据所述第二缓存设备的标识和所述缓存地址,通过所述第一交换设备和所述第二交换设备,从所述缓存地址中获取所述待重删数据块。
[0011]结合本发明的第一方面的第三种可能的实现方式,在本发明第一方面的第四种可能的实现方式中,所述第一存储设备还用于通过所述第一交换设备,向所述第一控制器发送所述待重删数据块的存储地址;所述存储地址包括所述第一存储设备归属的第一控制器的控制器标识和所述第一存储设备中存储所述待重删数据块的逻辑存储地址;所述第一控制器还用于在所述数据块特征值索引集合中建立所述待重删数据块的特征值索引;所述待重删数据块的特征值索引包括所述待重删数据块的特征值和所述存储地址。
[0012]结合本发明的第一方面的第四种可能的实现方式,在本发明第一方面的第五种可能的实现方式中,所述第一控制器还用于通过所述第一交换设备和所述第二交换设备向所述第二控制器发送成功响应消息;所述第二控制器还用于通过所述第二交换设备通知所述第二缓存设备释放所述待重删数据块的缓存地址。
[0013]本发明第二方面提供一种在存储阵列系统中数据写请求的处理方法,所述存储阵列系统至少包括第一存储阵列和第二存储阵列,所述第一存储阵列包括第一输入输出管理器,第一交换设备、第一控制器和第一缓存设备,其中,所述第一输入输出管理器与所述第一交换设备连接;所述第一控制器与所述第一交换设备连接;所述第一缓存设备与所述第一交换设备连接;所述第二存储阵列包括第二输入输出管理器,第二交换设备、第二控制器和第二缓存设备,其中,所述第二输入输出管理器与所述第二交换设备连接;所述第二控制器与所述第二交换设备连接;所述第二缓存设备与所述第二交换设备连接;所述第一交换设备与所述第二交换设备连接;所述方法包括:所述第一输入输出管理器接收主机发送的数据写请求,并通过所述第一交换设备将所述数据写请求发送至所述第一控制器;所述数据写请求中携带有待写入数据地址;所述第一控制器根据所述数据写请求中携带的待写入数据地址确定所述待写入数据地址的归属控制器为所述第二控制器,并将所述数据写请求通过所述第一交换设备和所述第二交换设备发送给所述第二控制器;所述第二控制器根据所述数据写请求通过所述交换设备2在所述第二缓存设备上为所述待写入数据分配缓存地址,并将所述缓存地址通过所述第二交换设备和所述第一交换设备发送给所述第一控制器;所述第一控制器将接收的所述缓存地址通过所述第一交换设备发送给所述第一输入输出管理器;所述第一输入输出管理器通过所述第一交换设备和所述第二交换设备将所述待写入数据写入到所述第二缓存设备的所述缓存地址中。
[0014]结合本发明的第二方面的实现方式,在本发明第二方面的第一种可能的实现方式中,所述第二控制器通过所述第二交换设备接收所述第二缓存设备发送的所述待写入数据写成功响应消息;所述第二控制器根据所述通知,建立所述待写入数据地址、所述第二缓存设备的标识和所述缓存地址的对应关系。
[0015]结合本发明的第二方面的第一种可能的实现方式,在本发明第二方面的第二种可能的实现方式中,所述待写入数据地址包括所述待写入数据的目标逻辑单元LU的标识、所述待写入数据的逻辑块地址和所述待写入数据的长度;所述第一控制器根据所述待写入数据地址确定所述待写入数据地址的归属控制器为所述第二控制器,具体为:所述第一控制器根据所述目标LU的标识,查询所述第一控制器存储的目标LU与控制器的对应关系,确定所述目标LU的归属控制器为所述第二控制器。
[0016]结合本发明的第二方面的实现方式,在本发明第二方面的第二种可能的实现方式中,所述第一存储阵列还包括第一存储设备,所述第一存储设备与所述第一交换设备连接;所述第二存储阵列还包括第二存储设备,所述第二存储设备与所述第二交换设备连接;所述方法还包括:所述第一控制器接收所述第二控制器通过所述第一交换设备和所述第二交换设备转发的所述第二缓存设备计算的待重删数据块的特征值;所述第一控制器在数据块特征值索引集合中查找所述待重删数据块的特征值;所述第一控制器当在所述数据块特征值索引集合中没有查找到所述待重删数据块的特征值时,通过所述第一交换设备和所述第二交换设备,从所述第二缓存设备获取所述待重删数据块在所述第二缓存设备中的缓存地址;所述第一控制器通过所述第一交换设备向所述第一存储设备发送数据获取指令,所述第一存储设备为所述重删数据块的目标存储设备;所述数据获取指令携带所述第二缓存设备的标识和所述缓存地址;所述第一存储设备根据所述第二缓存设备的标识和所述缓存地址,通过所述第一交换设备和所述第二交换设备,从所述缓存地址中获取所述待重删数据块。
[0017]结合本发明的第二方面的第二种可能的实现方式,在本发明第二方面的第三种可能的实现方式中,所述第一存储设备通过所述第一交换设备,向所述第一控制器发送所述待重删数据块的存储地址;所述存储地址包括所述第一存储设备归属的第一控制器的控制器标识和所述第一存储设备中存储所述待重删数据块的逻辑存储地
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1