一种硬盘阵列及硬盘阵列处理操作请求的方法技术

技术编号:15762531 阅读:179 留言:0更新日期:2017-07-05 21:59
本发明专利技术实施例提供一种硬盘阵列及硬盘阵列处理操作请求的方法,涉及存储技术领域,能够避免控制器的CPU出现瓶颈,保证硬盘阵列的性能不受限制。该硬盘阵列包括交换设备以及与交换设备连接的输入输出接口、第一控制器和多个硬盘,多个硬盘均包含缓存;其中,输入输出接口用于经交换设备向第一控制器发送操作请求,并经交换设备接收第一控制器发送的操作请求待操作的数据在目标硬盘的缓存中的地址,以及根据该地址,经交换设备对该地址执行操作请求;第一控制器用于经交换设备接收输入输出接口发送的操作请求,且根据操作请求和第一控制器的缓存与多个硬盘的缓存之间的映射关系确定该地址,以及经交换设备向输入输出接口发送该地址。

Hard disk array and method for processing operation request by hard disk array

The embodiment of the invention provides a hard disk array and a hard disk array processing operation request method, relating to the storage technical field, and can avoid the bottleneck of the controller's CPU, and ensure the performance of the hard disk array is unrestricted. The hard disk array includes switching equipment and switching equipment, input and output interface connected to the first controller and a hard disk, a plurality of hard disk cache contains the input and output interface; for the switching device to the first controller sends the operation request, and the switching device receives a first controller sends the operation request to be operated in the target data the hard disk cache address, and the address of the address by switching equipment operation request; the first controller is used for switching equipment by receiving the input output interface sends the operation request, and determine the address according to the mapping relationship between the operation request and the first cache controller with multiple hard disk cache, and sent to the interface after the address input and output switching equipment.

【技术实现步骤摘要】
一种硬盘阵列及硬盘阵列处理操作请求的方法
本专利技术涉及存储
,尤其涉及一种硬盘阵列及硬盘阵列处理操作请求的方法。
技术介绍
如图1所示,为一种硬盘阵列的示意图,该硬盘阵列包括控制器10和多个硬盘11。在图1中,当某个业务服务器12需要对硬盘阵列读或写数据时,读或写的数据在业务服务器12和硬盘11之间需经过控制器10的中央处理器(英文:centralprocessingunit,缩写:CPU)的搬移。具体的,以业务服务器12需要在硬盘阵列中写入数据为例,业务服务器12向控制器10发送写操作请求,写操作请求中携带待写数据,由控制器10的CPU将该待写数据缓存到控制器10的缓存(英文:cache)中,然后控制器10的CPU再将该待写数据搬移到硬盘11的缓存中,最后再由硬盘11的CPU将该待写数据写入硬盘的存储空间(例如可以为NANDflash等),从而完成该待写数据的写入。然而,在上述写入数据的过程中,由于该待写数据从业务服务器到硬盘需经过控制器的CPU的搬移,且控制器的CPU的处理能力有限,因此当需要同时写入数据比较多时,控制器的CPU可能会出现瓶颈,从而使得硬盘阵列的性能受到限制,业务服务器从硬盘阵列读取数据同样存在上述问题。
技术实现思路
本专利技术的实施例提供一种硬盘阵列及硬盘阵列处理操作请求的方法,能够避免控制器的CPU出现瓶颈,从而保证硬盘阵列的性能不受限制。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供一种硬盘阵列,包括:输入输出接口,与所述输入输出接口连接的交换设备,以及与所述交换设备连接的第一控制器和多个硬盘,所述多个硬盘均包含缓存;其中,所述输入输出接口,用于经所述交换设备向所述第一控制器发送操作请求,并经所述交换设备接收所述第一控制器发送所述操作请求待操作的数据在目标硬盘的缓存中的地址,以及根据所述地址,经所述交换设备对所述地址执行所述操作请求;所述第一控制器,用于经所述交换设备接收所述输入输出接口发送的所述操作请求,且根据所述操作请求和所述第一控制器的缓存与所述多个硬盘的缓存之间的映射关系确定所述地址,以及经所述交换设备向所述输入输出接口发送所述地址。本专利技术实施例提供的硬盘阵列,由于该硬盘阵列中的第一控制器的缓存与该硬盘阵列中的多个硬盘的缓存之间存在映射关系,因此当第一控制器接收到输入输出接口发送的操作请求时,第一控制器可以根据该操作请求和该映射关系确定出该操作请求待操作的数据在目标硬盘的缓存中的地址,然后再将该地址发送给输入输出接口,由输入输出接口直接经交换设备对该地址执行该操作请求。如此,由于对硬盘阵列中的硬盘进行操作时,操作的数据不用再经过控制器(具体为控制器的CPU)的搬移,而是可以由输入输出接口直接对该数据在目标硬盘的缓存中的地址进行操作,因此避免了控制器的CPU出现瓶颈,从而能够保证硬盘阵列的性能不受限制。可选的,所述操作请求为读请求;或者,所述操作请求为写请求。具体的,当上述输入输出接口发送给第一控制器的操作请求为读请求时,第一控制器发送给输入输出接口的地址为读地址,输入输出接口经交换设备对该读地址执行该读请求。当输入输出接口发送给第一控制器的操作请求为写请求时,第一控制器发送给输入输出接口的地址为写地址,输入输出接口经交换设备对该写地址执行该写请求。上述输入输出接口根据第一控制器发送的地址,经交换设备对该地址执行操作请求,包括:输入输出接口根据第一控制器发送的读地址,经交换设备对该读地址进行读数据的操作;以及输入输出接口根据第一控制器发送的写地址经交换设备对该写地址进行写数据的操作。其中,上述输入输出接口根据第一控制器发送的读地址,经交换设备对该读地址进行读数据的操作,可以理解为:输入输出接口根据第一控制器发送的读地址,经交换设备从该读地址指示的缓存中读取数据。上述输入输出接口根据第一控制器发送的写地址,经交换设备对该写地址进行写数据的操作,可以理解为:输入输出接口根据第一控制器发送的写地址,经交换设备向该写地址指示的缓存中写入数据。读地址指示的缓存为目标硬盘中缓存待读取数据的缓存;写地址指示的缓存为目标硬盘中需缓存待写入数据的缓存。可选的,在本专利技术提供的硬盘阵列中,每个硬盘的缓存均可以缓存该硬盘的系统数据。可选的,本专利技术实施例提供的硬盘阵列中,每个硬盘的缓存还可以缓存第一控制器的缓存与多个硬盘的缓存之间的映射关系、需要对该硬盘进行读或写操作的数据和硬盘阵列的系统数据中的至少一项。可选的,本专利技术实施例提供的硬盘阵列中,可以由第一控制器预先在第一控制器中建立第一控制器的缓存与多个硬盘的缓存之间的映射关系。其中,第一控制器建立第一控制器的缓存与多个硬盘的缓存之间的映射关系,可以理解为:第一控制器将第一控制器的缓存和硬盘阵列中的多个硬盘的缓存拉通管理。具体的,第一控制器将多个硬盘的缓存的地址映射到第一控制器的内存中,以将多个硬盘的缓存分别依次映射到第一控制器的缓存之后,即将第一控制器的缓存和多个硬盘的缓存统一顺序编号。通过第一控制器建立第一控制器的缓存和多个硬盘的缓存之间的映射关系,可以使得第一控制器的缓存和多个硬盘的缓存在物理上连通,从而能够支持输入输出接口在逻辑上进行直接访问(由于输入输出接口可以直接访问第一控制器的内存,因此当将硬盘的缓存映射到第一控制器的内存之后,输入输出接口也可以直接访问硬盘的缓存)。可选的,上述输入输出接口直接对硬盘的缓存进行读或写数据的操作是由输入输出接口采用直接内存访问(英文:directionalmemoryaccess,缩写:DMA)技术实现的。具体可以通过在输入输出接口中集成一个DMA功能模块实现,例如可以在输入输出接口中集成一个DMA芯片实现。可选的,所述多个硬盘包含第一独立硬盘冗余阵列RAID,所述多个硬盘的缓存包含第二RAID,所述第一RAID的类型和所述第二RAID的类型相同。例如,第一RAID和第二RAID的具体实现形式可以为下述(1)和(2)中的一种:(1)所述多个硬盘形成至少两个第一RAID,所述多个硬盘的缓存形成至少两个第二RAID,所述至少两个第一RAID和所述至少两个第二RAID一一对应,且一一对应的第一RAID和第二RAID的类型相同。在(1)这种情况下,所述第一控制器,还用于建立每个第二RAID中的各个缓存之间的映射关系,并建立一一对应的第一RAID中的各个硬盘和第二RAID中的各个缓存之间的映射关系。上述第一控制器建立每个第二RAID中的各个缓存之间的映射关系,可以理解为:第一控制器将每个第二RAID中的各个缓存拉通管理。具体的,第一控制器将每个第二RAID中的各个缓存统一进行地址划分,以保证在每个第二RAID中的所有地址均是唯一的。上述第一控制器建立一一对应的第一RAID中的各个硬盘和第二RAID中的各个缓存之间的映射关系,可以理解为:第一控制器将一一对应的第一RAID中的各个硬盘和第二RAID中的各个缓存拉通管理。进一步地,第一控制器建立一一对应的第一RAID中的各个硬盘和第二RAID中的各个缓存之间的映射关系,可以保证第一控制器能够根据输入输出接口发送的操作请求(为读请求或写请求)直接确定出需进行读或写操作的硬盘,从而使得输入输出接口可以直接对该硬盘进本文档来自技高网...
一种硬盘阵列及硬盘阵列处理操作请求的方法

【技术保护点】
一种硬盘阵列,其特征在于,包括:输入输出接口,与所述输入输出接口连接的交换设备,以及与所述交换设备连接的第一控制器和多个硬盘,所述多个硬盘均包含缓存;其中,所述输入输出接口,用于经所述交换设备向所述第一控制器发送操作请求,并经所述交换设备接收所述第一控制器发送的所述操作请求待操作的数据在目标硬盘的缓存中的地址,以及根据所述地址,经所述交换设备对所述地址执行所述操作请求;所述第一控制器,用于经所述交换设备接收所述输入输出接口发送的所述操作请求,且根据所述操作请求和所述第一控制器的缓存与所述多个硬盘的缓存之间的映射关系确定所述地址,以及经所述交换设备向所述输入输出接口发送所述地址。

【技术特征摘要】
1.一种硬盘阵列,其特征在于,包括:输入输出接口,与所述输入输出接口连接的交换设备,以及与所述交换设备连接的第一控制器和多个硬盘,所述多个硬盘均包含缓存;其中,所述输入输出接口,用于经所述交换设备向所述第一控制器发送操作请求,并经所述交换设备接收所述第一控制器发送的所述操作请求待操作的数据在目标硬盘的缓存中的地址,以及根据所述地址,经所述交换设备对所述地址执行所述操作请求;所述第一控制器,用于经所述交换设备接收所述输入输出接口发送的所述操作请求,且根据所述操作请求和所述第一控制器的缓存与所述多个硬盘的缓存之间的映射关系确定所述地址,以及经所述交换设备向所述输入输出接口发送所述地址。2.根据权利要求1所述的硬盘阵列,其特征在于,所述多个硬盘包含第一独立硬盘冗余阵列RAID,所述多个硬盘的缓存包含第二RAID,所述第一RAID的类型和所述第二RAID的类型相同。3.根据权利要求1或2所述的硬盘阵列,其特征在于,所述硬盘阵列还包括第二控制器,所述第二控制器与所述交换设备连接;所述第一控制器,还用于经所述交换设备向所述第二控制器发送所述映射关系;所述第二控制器,用于接收所述第一控制器发送的所述映射关系,并将所述映射关系缓存在所述第二控制器的缓存中。4.根据权利要求3所述的硬盘阵列,其特征在于,所述第二控制器,还用于在所述第一控制器发生故障时,经所述交换设备接收所述输入输出接口发送的所述操作请求,且根据所述操作请求和所述映射关系确定所述地址,以及经所述交换设备向所述输入输出接口发送所述地址。5.根据权利要求1至4任意一项所述的硬盘阵列,其特征在于,所述...

【专利技术属性】
技术研发人员:张箭吴黎明姚建业曹红强
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1