限制在驱动阵列中执行后台管理操作的设备及方法
【技术领域】
[0001]本发明涉及数据处理领域,或者,更具体地说,涉及用于限制在驱动阵列中执行后台管理操作的方法,设备和产品。
【背景技术】
[0002]存储器系统可以是由RAID控制器控制的独立磁盘冗余阵列(‘RAID’)。 RAID控制器通过在在一组独立存储设备上加入奇偶校验保护数据。奇偶计算要求RAID控制器使用一些读写操作,在某些情况下,这些读写操作相互依赖以保持驱动器组的一致性。RAID阵列上的奇偶校验计算需要来自多个源的数据,并且写入将要等待一系列的读取和奇偶校验计算完成。个别设备将活动的暂停作为一个机会来执行后台任务,如数据的擦除或一致性检查,这可能会伤害存储阵列的写入性能。
[0003]因此本领域需要解决上述问题。
【发明内容】
[0004]一种用于限制在驱动阵列中执行后台管理操作的方法、装置和产品,包括:驱动控制器从驱动阵列中的存储驱动接收读指令以读取数据;驱动控制器确定读指令是否与写入数据到到驱动阵列中的存储驱动的写指令相关联;驱动阵列控制器响应以确定读指令与写指令相关联;由驱动阵列控制器限制被读指令作为目标的存储驱动执行后台管理操作;驱动阵列管理器确定读指令是否完成;驱动阵列管理器响应以确定读指令已经完成;由驱动阵列控制器去除被读指令作为目标的存储驱动的与后台管理操作执行相关的限制。
[0005]从一方面来看,本发明提供了一种限制在驱动阵列中执行后台管理操作的方法,该方法包括:驱动器阵列控制器接收从驱动阵列的存储驱动读取数据的读指令;驱动器阵列控制器确定读指令是否与写入数据到驱动阵列中的存储驱动的写指令相关联;驱动器阵列控制器响应以确定读指令与写指令相关联;驱动器阵列控制器限制被读指令作为目标的存储驱动的执行后台管理操作;存储器阵列控制器确定写操作是否完成;存储器阵列控制器响应以确定写操操作已经完成;驱动阵列控制器去除对被写指令作为目标的存储驱动的后台管理操作执行的限制。
[0006]从另一方面来看,本发明提供了一种用于限制在驱动阵列中执行后台管理操作的装置,该装置包括计算机处理器,可操作地连接到计算机处理器的计算机存储器,计算机存储器包括计算机程序指令,当指令执行时,该装置可执行以下步骤:驱动阵列控制器接收从驱动阵列的存储驱动中读取数据的读指令;驱动阵列控制器确定读指令是否与从驱动阵列的存储驱动中读取数据的读指令相关联;驱动阵列控制器响应以确定读指令与写指令相关联;驱动阵列控制器限制被读指令作为目标的存储驱动执行后台管理操作;驱动阵列控制器确定写操作是否完成;存储器阵列控制器响应以确定写操作已经完成;驱动阵列控制器去除对被写指令作为目标的存储驱动执行后台管理操作执行的限制。
[0007]从另一方面来看,本发明提供了一种限制在驱动阵列执行后台管理操作的计算机程序产品,该计算机程序产品包括可由处理电路读取的计算机可读存储介质,并且该产品存储由处理电路执行的指令以实现一个方法以执行本发明的步骤。
[0008]从另一方面来看,本发明提供了一种存储于计算机可读介质上并且可被加载到数字计算机内部存储器的计算机程序,包括软件代码部分,当所述程序在计算机运行时,可执行本发明的步骤。
[0009]上述和其他方面,根据下面结合附图的对于本发明的具体实施例更详细的描述,本发明的特点和优势将显而易见。附图中的数据表示本发明具体实施的各部分。
【附图说明】
[0010]本发明将参考优选的实施例,通过举例的方式描述,具体参见下面的附图:
图1给出了一种自动计算装置的框图,该装置是根据现有技术使用计算机实现的限制在驱动阵列中执行后台管理操作的示例,本发明的优选实施例可在该装置中实施;
图2给出了一个流程图,说明了按照本发明一个优选实施例在一个驱动器中限制执行后台管理操作的示例方法;并且
图3给出了一个流程图,说明了按照本发明的一个优选实施例在一个驱动器中限制执行后台管理操作的另一种示例方法。
【具体实施方式】
[0011]从图1开始,参考相关附图描述本发明的限制在驱动阵列中执行后台管理操作的示例方法、设备和产品。图1给出了一种自动化计算装置的框图,该装置包括用于实现根据本发明具体实施例的限制在驱动阵列中执行后台管理操作的示例计算机152。图1中的计算机152包括至少一个计算机处理器156(“CPU”),以及通过高速存储器总线166和总线适配器158与处理器156和计算机152的其他组件相连接的随机存取存储器168 (“RAM”)。
[0012]存储在RAM168中的是应用程序126,该应用程序是用于在计算机152上执行特定数据处理任务的用户级计算机程序指令的模块。这样的应用程序的例子包括电子表格、文字处理程序、电子邮件客户端、网络浏览器、数据库管理程序等。驱动控制器接口 130也存储于RAM中,该接口是提供应用程序编程接口(“API”)的计算机程序指令模块,应用程序126通过该接口与像独立磁盘冗余阵列(“RAID”)控制器这样的驱动阵列控制器204通信,以从驱动阵列222中的一个或多个存储器驱动224,226,228中写入或读取数据。
[0013]RAM168中还存储着操作系统154。根据本发明具体实施例,用于限制驱动阵列后台管理操作的操作系统包括UNIX?, Linux?, Microsoft XP?, AIX?, IBM i5/0S?以及其他会出现在该领域的系统。在图1的例子中,操作系统154、应用程序126以及驱动接口 130都在RAM168中,但许多这样的软件组件通常也存储于非易失性存储器中,例如在存储器驱动中。UNIX是开放组织在美国和其他国家注册的商标。Linux是Linus Torvalds在美国、其他国家,或者两者都注册的商标。Microsoft和XP是微软公司在美国,其他国家,或两者都注册的商标。IBM和i5/0S是国际商业机器公司在世界各地的许多司法管辖区注册的商标。
[0014]图1中示例的计算机152包括一个或多个输入/输出(“1/0”)适配器178。I 1/0适配器实现面向用户的输入/输出,例如,上述输入/输出通过用于控制向计算机显示屏这样的显示设备的输出的软件驱动以及从用户键盘和鼠标这样的用户输入设备181的用户输入的软计算机硬件实现。图1中的示例计算机152包括视频适配器209,该视频适配器209是一个I/O适配器的例子,其专为图片输出到显示器或计算机监视器设计。视频适配器209通过高速视频总线164、总线适配器158和前端总线162连接到处理器162,前端总线162也是一种高速总线。
[0015]图1中示例的计算机152包括一个用于与其他计算机182以及数据通信网络100进行数据通信的通信适配器167。这样的数据通信可以串行通过RS-232连接、像通用串行总线(USB)这样的外部总线、IP数据通信网络那样的数据通信网络,以及其他会出现在该领域的技术执行。计算机使用通信适配器直接或通过数据通信网络发送数据通信到其他计算机实现了数据通信的硬件层面。根据本发明具体实施例的用于限制在驱动阵列中执行后台管理操作的通信适配器的例子包括用于有线拨号通信的调制解调器,用于有线数据通信网络通信的以太(IEEE 802.3)适配器,以及用于无线数据通信网络通信的802.11适配器。
[0016]图1中示例的计算机还包括通过扩展总线160和总线适配器158与处理器或计算机152的其他组件连接的驱动阵列控制器204。驱动阵列控制器是将存储器驱动224,226,228这样的非易失性数据存储器连接到计算机152的计算机输入/输出适配器。图1的驱动阵列控制器204负责对存储器驱动224,226,228的读写请求。
[0017]在图1的示例中,驱动阵列控制器204可以通过接收从驱动阵列222的第一内存驱动224读取数据的读指令实现限制在驱动阵列222中执行后台管理操作。从计算机处理器156接收读指令,该处理器156通过存储器总线发送读指令到驱动阵列控制器204。这样的读指令可以是像在驱动阵列222中为存储器驱动224,226,228执行奇偶计算这样的更大的存储器管理操作的一部分。
[0018]在图1的示例中,驱动阵列控制器204可以进一步通过确定读指令是否与写入数据到第二存储器驱动226的写指令相关联来实现在驱动阵列222中限制执行后台管理操作。例如,确定读指令是否与写入数据到驱动阵列222的第二内存驱动226的写指令相关联可以通过