用于执行存储装置维护的设备、系统和方法

文档序号:6554462阅读:129来源:国知局

专利名称::用于执行存储装置维护的设备、系统和方法
技术领域
:本发明涉及执行存储装置维护操作,尤其涉及执行维护操作的本地管理模块。
背景技术
:计算机存储系统通常包括诸如硬盘驱动器、磁盘驱动器、光盘驱动器之类的多个存储装置。每个存储器装置通常通过通信信道与控制设备(这里称为适配器模块)进行通信。适配器模块与一个或多个主机系统通信。此外,适配器模块控制并仲裁主机系统对存储装置的访问。例如,主机系统可以通信请求来从存储装置将数据取回(retrieve)到适配器模块。然后,适配器模块可以引导存储装置将所期望的数据传递到适配器模块,而适配器模块将数据传递到主机系统。类似地,主机系统可以将数据传递到适配器模块、以便于在存储装置上进行存储。适配器模块引导存储装置接收数据并在指定位置存储数据。适配器模块通常还对存储装置执行维护操作。例如,适配器模块可以对存储装置执行健康检查维护操作来验证存储装置正在正常工作。作为选择,诸如当存储装置添加到存储装置阵列时,适配器模块可以对存储装置执行初始化操作。适配器模块通常控制多个存储装置。例如,适配器模块可以控制包含独立驱动器冗余阵列(“RAID”)的多个硬盘驱动器。当控制多个存储装置时,适配器模块可以为主机系统同时访问一个或多个存储装置,并且对一个或多个存储装置执行维护操作。不幸的是,适配器模块缺少处理带宽来访问并控制存储装置以及执行维护操作。此外,期望在维护操作期间进一步改善通信信道的性能。从上述讨论中,很显然需要一种本地执行存储装置维护操作的设备、系统和方法。有利地,在执行维护操作的同时,这样的设备、系统和方法可以增加存储装置访问。
发明内容响应于本领域的现有情况,特别是响应于通过现有维护方法还不能完全解决本领域中的问题和需要,从而开发出了本发明。因此,开发出了本发明来提供用于执行解决了许多或所有上述本领域中的问题的维护操作的方法。提供用来执行维护操作的装置,该装置具有包含多个模块的逻辑单元,这些模块被配置成功能执行通过互连模块执行接收命令并通过互连模块执行维护操作的必要步骤。在描述的实施例中这些模块互连模块和管理模块。互连模块被配置成非阻塞(non-blocking)开关。正如在这里使用的那样,非阻塞开关被配置成使得通过该开关的任何通信不干扰通过该开关的任何其它操作。互连模块与存储装置和适配器模块通信。适配器模块通过互连模块控制存储装置,通过互连模块向存储装置存储数据,并且从存储装置取回数据。管理模块还与互连模块通信。此外,管理模块通过互连模块接收用于引导管理模块来对存储装置执行维护操作的命令。管理模块响应于该命令通过互连模块对存储装置执行维护操作。该设备执行本地释放通信带宽和适配器模块处理带宽的维护操作。还提供用于执行维护操作的本发明的系统。该系统可以实现为存储系统,特别地,在一个实施例中,该系统包括适配器模块和包括存储装置、第一互连模块和管理模块的第一封装模块(enclosuremodule)。适配器模块通过第一互连模块来控制存储装置和封装模块的管理模块。适配器模块还可以控制多个封装模块。在一个实施例中,每个封装模块的互连模块至少与一个其它互连模块通信。适配器模块可以与第一封装模块的第一互连模块通信,并且通过第一互连模块于第二封装模块的第二互连模块通信。互连模块被配置成非阻塞开关。管理模块通过互连模块从适配器模块接收用于引导管理模块来对存储装置执行维护操作的命令。管理模块响应于该命令通过互连模块对存储装置执行维护操作。本发明还提供用于执行维护操作的方法。在公开的实施例中该方法实际上包括执行关于所述设备和系统的操作的功能所需的步骤。在一个实施例中,该方法包括通过互连模块接收命令,并且通过互连模块执行维护操作。管理模块通过被配置成非阻塞开关的互连模块来接收命令。管理模块响应于该命令通过互连模块对存储装置执行维护操作。在一个实施例中,管理模块还通过互连模块接收位处操作的状态的查询。管理模块还可以通过互连模块报告维护操作的状态。整个说明书中对特征、优点之类的表述的参照不意味着使用本发明可以实现的所有特征和优点应该是或是在本发明的任意一个实施例中。相反,涉及特征和优点的表述应理解为结合实施例表述的特征、优点和特征包含在本发明的至少一个实施例中。因此,在该说明书中特征、优点和相似的表述的讨论可以(但不是必须)参照相同的实施例。此外,本发明的所描述的特征、优点和特性可以移任何适合的方式组合在一个或多个实施例中。本领域技术人员将了解在不需要特定实施例的一个或多个特定特征或优点的情况下可以实现本发明。在其它实例中,在某个实施例中识别出的额外特征和优点可能不存在于本发明所有实施例中。本发明响应于通过互连模块接收的命令通过非阻塞互连模块对存储装置执行本地维护操作。此外,本发明可以通过互连模块释放通信带宽和与互连模块通信的适配器模块的处理带宽。根据下面的描述和所附权利要求,本发明的这些特征和优点将更加清楚,或者可以通过下面的本发明实践来掌握。为了更快理解本发明的优点,通过参照在附图中图解的特定实施例将提供在上面简要描述的本发明的更详细的描述。应理解的是这些附图仅描述本发明的特定实施例,并因此不应认为是限制其范围,通过使用附图,根据额外的说明和详细内容来描述和解释本发明,其中图1是图解根据本发明的维护系统的一个实施例的示意方框图;图2是图解本发明的维护设备的一个实施例的示意方框图;图3是图解本发明的多封装(enclosure)维护系统的一个实施例的示意方框图;图4是图解本发明的管理模块的一个实施例的示意方框图;图5是图解根据本发明的维护方法的一个实施例的示意流程图;以及图6是图解本发明的替代维护系统的一个实施例的示意流程图。具体实施例方式在本说明书中描述的许多功能单元被标记为模块,以便专门强调其实现的独立性。例如,模块可以实现为包括定制的超大规模集成(“VLSI”)电路或门阵列、诸如逻辑芯片、晶体管或其他分立元件的成品半导体的硬件电路。模块也可以以诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件之类的可编程硬件器件来实现。所述模块还可以以通过各种处理器执行的软件来实现。例如,可执行代码的标识模块包括计算机命令的一个或多个物理或逻辑块,它们可以(例如)被组织成对象、进程或函数。然而,标识模块的可执行部分(executable)不需要物理上在一起,而是可以包含存储在不同位置上的完全不同的命令,当这些可执行部分逻辑地结合在一起时,构成所述模块并实现模块的既定目的。事实上,可执行代码的模块可以是单独的命令,也可以是多条命令,甚至可以分布在不同程序并跨越几个存储器设备的几个不同代码段上。类似地,这里,操作数据可以在模块内进行标识并说明,并且可以以任何适当形式体现并组织在适当类型的数据结构内。操作数据可以集中为单独的数据集,也可以分布在不同位置(包括在不同存储装置上),并且至少部分可以仅作为系统或网络上的电信号存在。整个说明书中对“一个实施例”、“实施例”之类的表述的参照意味着结合该实施例描述的特定特征、结构或特性包含在本发明的至少一个实施例中。因此,在整个说明书中,短语“在一个实施例中”、“在实施例中”之类的表述的出现可以总是(但不是必需的)指的相同实施例。此外,本发明的所描述的特征、结构或特性可以以任何合适的方式组合在一个或多个实施例中。在下面的描述中,提供了许多具体细节,诸如编程、软件模块、用户选择、网络交易、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片,以更加透彻地理解本发明的实施例。然而,本领域技术人员将认识到,本发明可以不使用一个或多个具体细节,或者使用其它方法、元件、材料等来实现。在其它实例中,没有详细显示或描述公知的结构、材料或操作,以避免混淆本发明的各个方面。图1是图解本发明的维护系统100的一个实施例的示意方框图。系统100包括适配器模块125和封装120。封装120还包括管理模块105、互连模块110和存储装置115。适配器125通过互连模块110控制封装120的存储装置115和管理模块105。例如,适配器模块125可以将数据存储到存储装置115,并从存储装置115取回数据。适配器125通过通信信道130与互连模块110通信。在一个实施例中,通信信道130是诸如由华盛顿特区的美国国家标准机构规定的光纤信道仲裁环(arbitratedloop)。在一个实施例中,适配器125与主机系统135通信。适配器模块125和主机系统135可以通过网络140通信。适配器模块125可以接收请求来从主机系统135访问存储装置115。例如,主机系统可以请求适配器模块125来从存储装置115的指定位置取回数据。适配器模块125引导存储器装置115取回所需的数据,并且将所需的数据传送到主机系统。在过去,适配器模块125还对存储装置115执行维护操作。然而,适配器模块125对存储装置115执行维护操作减少了适配器模块125的处理带宽和通信信道130的通信带宽。本发明在封装120内本地地执行维护操作来降低对适配器模块125的处理需求以及对通信信道130的通信需求。互连模块110配置成非阻塞开关。正如在这里使用的那样,非阻塞开关配置成使得通过该开关的任何通信不干扰通过该开关的其他通信。在一个实施例中,互连模块110配置成非阻塞光纤信道仲裁环开关。适配器模块125通过互连模块110发送命令到管理模块105。该命令引导管理模块105对存储装置115执行维护操作。管理模块105响应于该命令,通过互连模块110对存储装置115执行维护操作。从执行维护操作中释放了适配器模块125。此外,使通信信道130摆脱了通过通信信道130执行维护操作的适配器模块125的带宽需求的限制。图2是图解本发明的维护设备200的一个实施例的示意方框图。设备200包括互连模块110和管理模块105,其中管理模块105包括处理器模块205、存储器模块210和接口模块215。虽然描述了具有一个管理模块105和一个互连模块110的设备200,但可以采用任意数量的管理模块105和互连模块110。互连模块110与包括管理模块105的多个装置和通信信道130通信。此外,互连模块110包括用于每个装置和通信信道130的端口。互连模块110还被配置成非阻塞开关。例如,互连模块110可以包括足够将每个端口与其他端口相互连接的多个内部通信信道。互连模块110可以执行涉及多个装置和通信信道130的多个通信操作。存储器模块210存储一个或多个软件程序和数据。正如本领域技术人员所公知的那样,处理器模块205执行软件程序并处理数据。处理器模块205通过接口模块215与互连模块110通信。在一个实施例中,处理器模块205通过互连模块110和接口模块215从适配器模块125接收命令。处理器模块205可以解码作为指示的命令来执行指定的维护操作。指定的维护操作可以包括一个或多个程序和一个或多个数据字。处理器模块205取回并执行指定的维护操作软件程序的软件命令,并且处理指定的维护操作的数据。响应于软件程序和数据,处理器模块205可以通过互连模块110和接口模块215将命令和数据传送到存储装置115。所传送的命令和数据可以引导存储装置115执行遵从指定的维护操作的动作。例如,作为表面初始化维护操作的一部分,响应于维护操作的软件程序和数据,处理器模块205可以引导存储装置将诸如所有二进制零(0)之类的二进制模式写入存储装置115的存储介质的一个或多个物理位置。在管理模块105和存储装置115之间的通信不干扰通过互连模块110的任何其它通信,这是因为互连模块110的非阻塞本质。设备200执行维护操作而不降低互连模块110的其他通信操作的性能。图3是图解本发明的多封装(enclosure)维护系统300的一个实施例的示意方框图。该系统300包括一个或多个适配器模块125,一个或多个通信信道130和一个或多个封装120,其中每个封装120包括管理模块105、互连模块110和存储装置115。虽然所描述的系统300包括两个适配器模块125和两个封装120,但可以采用任何数量的适配器125和封装120。第一和第二适配器模块125a、125b分别通过第一和第二通信信道130a、130b与第一互连模块110a通信。第一封装120a的第一互连模块110通过第三和第四通信信道130c、130d与第二封装120b的第二互连模块110b通信。适配器模块125通过第一互连模块110a与第二互连模块110b通信。例如,第一适配器模块125a可以通过第一互连模块110a将数据存储到第一存储装置115a,而第二适配器模块125b通过第二互连模块110b和第一互连模块110a从第二存储装置115b取回数据。适配器模块125可以向管理模块105传送用于执行维护操作的命令。例如,第一适配器模块125a可以通过第二通信模块130b和第一互连模块110a向第一管理模块105a传送用于执行健康检查维护操作的命令。第一管理模块105a通过第一互连模块110a对第一存储装置115a执行健康检查操作。由于互连模块被配置成非阻塞开关,所以第一管理模块105a可以对第一存储装置115a执行维护操作而不干扰通过第一互连模块110a(例如,在第一和第二适配器模块125a和125b之间)和第二互连模块110b的通信。例如,第二适配器模块125b可以通过第二互连模块110b和第一互连模块110a从第二存储装置115b取回数据,而不干扰由第一维护模块105a执行的健康检查维护操作。此外,第一维护模块105a的健康检查维护操作既不需要第一和第二适配器125a、125b的处理带宽,也不需要通信信道130的带宽。系统300本地地执行对存储装置115的维护操作来降低系统300的其他组件的要求。图4是图解本发明的管理模块400的一个实施例的示意方框图。处理器模块205、存储器模块210和接口模块215共享数字电总线405。总线405包括多个数据信号、多个地址信号和一个或多个控制信号。处理器模块205、存储器模块210和接口模块215每一个包括一个或多个寄存器、存储器位置或通信端口,它们每一个都具有唯一的二进制地址。处理器模块205通过在包含地址总线的一个或多个地址信号上声明目标的二进制地址信号并声明读控制信号,可以从目标寄存器、存储器位置或通信端口移动数据,使得目标驱动具有目标的二进制值的总线405的数据信号。处理器模块205通过将二进制值从总线405的数据信号中写入寄存器、存储器位置或诸如内部寄存器之类的通信端口,可以取回目标数据。此外,处理器205通过声明目标的二进制地址信号、在总线405的数据信号上声明数据的二进制值并声明写控制信号,可以将数据移动到目标寄存器、存储器位置或通信端口,以使目标接收二进制值。处理器模块可以执行包含维护操作的一个或多个软件程序。在一个实施例中,处理器模块205通过接口模块215和互连模块110将命令和数据传送到存储装置115来执行维护操作。处理器模块205可以将包含命令和数据的数据组提交(address)到接口模块215。数据组可以包括包含存储装置115的地址和存储装置115内的寄存器、存储器位置或通信端口的内部地址的地址。存储装置115还可以通过互连模块110传送包含接口模块的地址和总线405的地址的数据组中的数据和状态信息。下面的示意流程图通常说明为逻辑流程图。同样地,描述的顺序和标记的步骤用于指示所示方法的一个实施例。可以考虑在功能、逻辑或一个或多个步骤或其部分的效果与所示方法等效的其它步骤。此外,提供所采用的格式和符号来解释该方法的逻辑步骤,并且不应理解为限制该方法的范围。虽然在流程图中可以采用各种类型的箭头和线,但应该理解的是,它们不限制对应方法的范围。事实上,某些箭头或其他连接符可以仅用于指示该方法的逻辑流程。例如,箭头可以指示在所描述的方法的列举的步骤之间的未指定期间的等待或监视周期。此外,特定方法出现的顺序可以(或可以不)遵循所示对应的步骤的顺序。图5是图解根据本发明的维护方法500的一个实施例的示意流程图。在方法500中,管理模块105通过互连模块110接收505命令。互连模块110被配置成非阻塞开关。在一个实施例中,该命令包含维护命令标识符。例如,维护命令标识符可以包括配置成启动维护操作的执行的可执行文件的文件名。该命令还可以包括一个或多个参数。这些参数可以修改维护操作的执行。例如,第一和第二参数可以指定存储装置115的地址范围。在另一实例中,第三参数可以指定启动维护操作的时间。在一个实施例中,管理模块105确认510该命令的接收。例如,如果适配器模块125将命令传送到管理模块105,则管理模块105可以向适配器模块125确认510该命令的接收。管理模块105通过互连模块110与存储装置115通信来对存储装置115执行515维护操作。在一个实施例中,管理模块105执行515格式维护操作。格式维护操作可以包括向存储装置115写入扇区和元数据信息,并且组织存储装置115来支持文件系统。在另一实施例中,管理模块105对存储装置115执行515表面初始化维护操作。表面初始化维护操作可以包括将诸如二进制零的模式之类的指定数据模式写入存储装置115。管理模块105还可以对存储装置115执行515验证维护操作。在一个实施例中,验证操作包括计算诸如关于存储装置115数据的一部分的校验和之类的冗余数据值,并将计算出的冗余数据值与先前计算并存储在存储装置115中的已存储冗余数据值比较。如果所计算出的冗余数据值等效于已存储冗余数据值,则可以验证存储装置115数据。在一个实施例中,管理模块105对存储装置115执行515健康检查维护操作。健康检查维护操作可以包括配置成估算存储装置115故障的似然性的一个或多个操作。在一个实施例中,适配器模块125查询520管理模块105关于维护操作的状态。例如,适配器模块125可以查询520管理模块105已经格式化过的存储装置115的数量。在一个实施例中,管理模块105向适配器模块125报告525维护操作的状态。管理模块105可以响应于适配器125查询520报告525该状态。作为选择,管理模块105可以以指定时间间隔报告525状态。例如,管理模块105可以每500微秒(500ms)报告状态。此外,管理模块105可以在维护操作完成时报告525维护操作的状态。例如,管理模块105可以向适配器125报告525表面初始化维护操作的完成。由于管理模块105通过被配置成非阻塞开关的互连模块110执行515维护操作,因此该方法500在对其他操作只有极小影响的情况下本地化了维护操作的执行515。仅仅偶尔需要诸如适配器模块125或通信信道130之类的模块资源,从而提高了整个系统的性能。图6是图解本发明的替代维护系统600的一个实施例的示意流程图。系统600包括多个封装120。第一封装120a包括管理模块105,而第二封装120b不包括管理模块105。虽然所述系统600包括一个具有管理模块105的第一封装120a和一个不具有管理模块105的第二封装120b,但该系统可以包括任意数量的具有管理模块105的封装120和不具有管理模块105的封装120。适配器模块125向管理模块传送一命令,用以引导管理模块105来执行515维护操作。该命令可以指定管理模块105对第一存储装置115a、第二存储装置115b或对第一存储装置115a和第二存储装置115b二者执行515维护操作。例如,适配器模块125可以传送用以引导管理模块105对第二存储装置115b执行515健康检查维护操作的命令。管理模块105通过第一互连模块110a和第一互连模块110b对第二存储装置115b执行515健康检查维护操作。系统600本地地执行维护操作,同时降低对适配器125的处理需要。本发明首先响应于通过互连模块110接收的命令,通过非阻塞互连模块110本地地执行维护操作。此外,本发明可以通过互连模块110并通过通信信道130释放通信带宽以及与互连模块110通信的适配器模块的处理带宽。可在不背离本发明宗旨和范围的前提下,以其他指定形式实现本发明。在所有方面都应将所描述的实施例认为是说明性的,而不是限制性的。因此,由所附权利要求而不是上述描述指示本发明的范围。在权利要求的等效物的含义和范围内的所有改变应落入它们的范围中。权利要求1.一种用于维护存储装置的设备,该设备包括与存储装置和适配器模块通信的第一互连模块,被配置成非阻塞开关;和与第一互连模块通信的管理模块,被配置成响应于从适配器模块通过第一互连模块传送来的命令,通过第一互连模块对存储装置执行维护操作。2.如权利要求1所述的设备,其中管理模块还被配置成通过第一互连模块向适配器模块报告维护操作的状态。3.如权利要求1所述的设备,其中第一互连模块与第二互联模块通信,而适配器模块通过第一互连模块与第二互联模块通信。4.如权利要求1所述的设备,其中第一互连模块还被配置成非阻塞光纤信道仲裁环开关。5.如权利要求1所述的设备,其中管理模块被配置成执行健康检查维护操作。6.如权利要求1所述的设备,其中管理模块被配置成执行表面初始化维护操作。7.如权利要求1所述的设备,其中管理模块包括与第一互连模块通信的接口模块;与接口模块通信的处理器模块;和与接口模块和处理器模块通信的存储模块。8.如权利要求1所述的设备,还包括封装,被配置成包含存储装置、管理模块和第一互连模块。9.一种用来维护存储装置的设备,该设备包括多个互连模块,其中每一个与至少一个其它互连模块通信,并且每一个配置成与存储装置通信的非阻塞开关;和与第一互连模块通信的管理模块,被配置成通过多个互连模块对存储装置执行维护操作。10.一种用于维护存储装置的系统,该系统包括适配器模块,被配置成控制多个封装;第一封装包括存储装置,被配置成存储并取回数据;与存储装置和适配器模块通信的第一互连模块,被配置成非阻塞开关;和与第一互连模块通信的管理模块,被配置成响应于从适配器模块通过第一互连模块传送的命令,通过第一互连模块对存储装置执行维护操作。11.如权利要求10所述的系统,其中管理模块还被配置成通过第一互连模块向适配器模块报告维护操作的状态。12.如权利要求10所述的系统,其中第一互连模块与第二封装的第二互联模块通信,而适配器模块通过第一互连模块与第二互联模块通信。13.如权利要求10所述的系统,其中适配器模块与第一封装的第一互连模块和第二封装的第二互连模块并行通信。14.如权利要求10所述的系统,其中第一互连模块还被配置成非阻塞光纤信道仲裁环开关。15.如权利要求10所述的系统,其中管理模块被配置成执行验证维护操作。16.如权利要求10所述的系统,其中管理模块被配置成执行格式化维护操作。17.如权利要求10所述的系统,其中管理模块包括与第一互连模块通信的接口模块;与接口模块通信的处理器模块;和与接口模块和处理器模块通信的存储模块。18.如权利要求10所述的系统,还包括与适配器模块通信的计算机网络。19.一种用于维护存储装置的方法,包括步骤通过被配置成非阻塞开关的互连模块接收命令;和响应于命令、通过互连模块对存储装置执行维护操作。20.如权利要求19所述的方法,还包括步骤通过互连模块查询维护操作的状态。21.如权利要求19所述的方法,还包括步骤通过互连模块报告维护操作的状态。22.如权利要求19所述的方法,还包括步骤执行格式化维护操作。23.如权利要求19所述的方法,还包括步骤执行表面初始化维护操作。24.如权利要求19所述的方法,还包括步骤执行健康检查维护操作。25.如权利要求19所述的方法,还包括步骤执行验证维护操作。26.如权利要求19所述的方法,还包括步骤将互连模块控制为非阻塞光纤信道仲裁环开关。27.一种用于配置计算机架构的方法,包括将计算机可读代码集成到计算机系统中,其中与计算系统相结合的代码能够执行权利要求19到26中任意一个所述的方法的步骤。28.一种实际实现可由数字处理设备执行的机器可读命令的程序的信号承载介质,其中程序使数字处理设备执行权利要求19到26中任意一个所述的方法的步骤。29.一种用于维护存储装置的设备,该设备包括用于通过被配置成非阻塞开关的互连模块接收命令的装置;和用于响应于命令通过互连模块对存储装置执行维护操作的装置。全文摘要公开了用于执行存储装置维护操作的设备、系统和方法。管理模块通过被配置成非阻塞开关的互连模块接收命令。管理模块响应于命令通过互连模块对存储装置执行维护操作。此外管理模块通过互连模块可以接收关于维护操作状态的查询,并且通过互连模块报告维护操作的状态。文档编号G06F3/06GK1811688SQ20061000616公开日2006年8月2日申请日期2006年1月25日优先权日2005年1月28日发明者马修·D·邦霍夫,布赖恩·J·卡格诺,格雷格·S·卢卡斯,肯尼·N·G·邱申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1