磁盘阵列测试方法

文档序号:6579887阅读:310来源:国知局
专利名称:磁盘阵列测试方法
技术领域
本发明是有关于一种测试方法,且特别是有关于一种磁盘阵列测试方法。
背景技术
磁盘阵列(RedundantArray of Independent Disks ;RAID)是大型的计算机系 统中,不可或缺的储存装置。磁盘阵列的基本概念是结合多个小型且便宜的磁盘驱动器成 为一个阵列,以达到一个大且昂贵的磁盘驱动器无法做到的效能表现或多余性的目标。这 个磁盘驱动器的阵列将会以一个单一的逻辑储存单位或磁盘驱动器呈现在计算机系统1 中。磁盘阵列依照不同的形式可分为RAID-0、RAID-1、RAID-IE、RAID-5、RAID-6、RAID-7、 RAID-10及RAID-50等等。磁盘阵列常被用在服务器计算机上,并且常使用完全相同的硬盘 作为组合。对于磁盘阵列的测试流程中,通常针对磁盘阵列连接的硬盘数目的不同,必须撰 写对应硬盘数目的测试程序代码。然而,这样的测试方式,如果在磁盘阵列测试流程该动 时,必须将对应的测试程序代码全部修改,使测试流程的弹性降低许多,亦使测试流程的成 本因此而上升。因此,如何设计一个新的磁盘阵列测试方法,以适用于不同的状况,而不须耗费时 间修改对应不同数目的硬盘的磁盘阵列的测试程序代码,是业界亟待解决的问题。

发明内容
因此,本发明的一目的在于提供一种磁盘阵列测试方法,以适用于不同的状况,而 不须耗费时间修改对应不同数目的硬盘的磁盘阵列的测试程序代码。为了实现上述目的,本发明提供一种磁盘阵列测试方法,用于计算机系统中的磁 盘阵列,磁盘阵列包含多个硬盘。磁盘阵列测试方法包含下列步骤读取计算机系统的缓存 器的硬盘参数,其中硬盘参数与硬盘的数目相关;根据硬盘参数,设定计算机系统的系统芯 片组的地址映像缓存器(Address mapregister),以记录硬盘的数目;启始磁盘阵列的选项 只读存储器(Option ROM),其中选项只读存储器包含测试程序代码;根据地址映像缓存器 记录的数目设定测试程序代码中的变量;执行测试程序代码的第一测试区块;以及根据变 量判断硬盘的数目,自测试程序代码的多个第二测试区块中,选择其中之一执行。其中,上述缓存器为系统芯片组的互补式金属氧化物半导体晶体管缓存器,系统 芯片组为南桥芯片。根据本发明的具体实施例,其中设定系统芯片组的地址映像缓存器的步骤中,是 在设定地址映像缓存器的一位。在一实施例中,上述变量储存一延伸基本输入输出系统数据区域。在又一实施例中,上述各第二测试区块包含多个测试函数。被选择的第二测试区 块所包含的测试函数,是用以测试包含对应上述数目的硬盘的磁盘阵列。应用本发明的优点在于通过判断硬盘的数目,以于一测试程序代码选择对应的测试区块执行测试,不须随硬盘数目的不同而更换测试程序代码,而轻易地达到上述的目的,



明如下
为让本发明的上述和其它目的、特征、优点与实施例能更明显易懂,所附附图的说
图1为本发明一实施例的计算机系统的方块图;以及 图2为本发明一实施例的磁盘阵列测试方法的流程图。主要组件符号说明
1 计算机系统10 磁盘阵列
100:硬盘11 硬盘参数
12 系统芯片组120 缓存器
122 地址映像缓存器14 基本输入输出系统
140 选项只读存储器142 测试程序代码
144 延伸基本输入输出系统数据区域 16 系统内存
201-206 步骤
具体实施例方式请参照图1,为本发明一实施例的计算机系统1的方块图。计算机系统1包含磁盘 阵列10、系统芯片组12、基本输入输出系统(Basic Input/Outputsystem ;BIOS) 14以及系 统内存16。磁盘阵列10的基本概念是结合多个小型且便宜的磁盘驱动器成为一个阵列, 以达到一个大且昂贵的磁盘驱动器无法做到的效能表现或多余性的目标。这个磁盘驱动器 的阵列将会以一个单一的逻辑储存单位或磁盘驱动器呈现在计算机系统1中。磁盘阵列 10 依照不同的形式可分为 RAID-0、RAID-1、RAID-IE、RAID-5、RAID-6、RAID-7、RAID-10 及 RAID-50等等。不同形式的磁盘阵列10,具有不同的优缺点。然而在本发明中并未限定磁 盘阵列10的形式,因此可依不同的实施例的情况而选择适当的形式的磁盘阵列10。磁盘阵列10在本实施例中包含四个硬盘100。在其它实施例中,磁盘阵列10所 包含的硬盘数目,可随不同的实施例而进行调整。系统芯片组12在本实施例中为南桥芯 片。南桥芯片是设计用来处理低速信号的芯片,包含大多数接口设备接口、多媒体控制器和 通讯接口功能。例如外围组件互连(PeripheralComponent Interconnect ;PCI)控制器、 进阶技术连接(Advanced TechnologyAttachment ;ATA)控制器、通用序列总线(Universal Serial Bus ;USB)控制器、网络控制器、音效控制器。在其它实施例中,可以用具有类似功 能的芯片代替,而不为本实施例中的南桥芯片所限。系统芯片组12包含缓存器120及地址映像缓存器122。其中缓存器120在本实施 例中为互补式金属氧化物半导体(Complementary Metal-OxideSemiconductor ;CMOS)晶 体管。当计算机系统1启动时,基本输入输出系统14将侦测磁盘阵列10中的硬盘100的 数目,以将此数目所对应的硬盘参数11储存于缓存器120中。基本输入输出系统14包含 对应磁盘阵列10的选项只读存储器140,其中选项只读存储器140包含测试程序代码142。 选项只读存储器140为一种韧体。基本输入输出系统14将在计算机系统1启动时,将对应 的硬件装置的选项只读存储器140加载系统内存16中,以进行硬件装置的初始化以及测试,以再对硬件装置进行存取的动作。不同硬件装置的选项只读存储器,可能存在于硬件装 置本身,亦或内建于基本输入输出系统14中。在本实施例中,磁盘阵列10的选项只读存储 器140是内建于基本输入输出系统14中。请同时参照图2,为本发明一实施例的磁盘阵列测试方法的流程图。本实施例的磁 盘阵列测试方法可应用于图1中的计算机系统1中的磁盘阵列10。请同时对照图1及图 2,磁盘阵列测试方法包含下列步骤在步骤201,读取计算机系统1的金属氧化物半导体晶 体管缓存器120的硬盘参数11,其中硬盘参数11与硬盘的数目相关。如上所述,基本输入 输出系统14将在计算机系统1启动时侦测磁盘阵列10中的硬盘100的数目,以将此数目 所对应的硬盘参数11储存于缓存器120中。因此,通过读取计算机系统1的金属氧化物半 导体晶体管缓存器120的硬盘参数11,可得知硬盘100的数目。接着在步骤202,根据硬盘参数11,设定计算机系统1的系统芯片组12的地址映 像缓存器122,以记录硬盘100的数目。在一实施例中,步骤201及202实质上是由基本输 入输出系统14执行,并在步骤202是通过设定地址映像缓存器122的一位以记录硬盘100 的数目。须注意的是,如以一位记录,只能以0与1代表两种情形的硬盘100数目(如前述 的四个硬盘及六个硬盘)。因此,在其它实施例中,如果欲支持超过两种数目的硬盘100的 磁盘阵列10,可以更多位来记录。在步骤203,启始磁盘阵列10的选项只读存储器140,其中选项只读存储器140包 含测试程序代码142。启始选项只读存储器140的步骤,实质上是由基本输入输出系统14 将选项只读存储器140加载计算机系统1的系统内存16。接着在步骤204,根据地址映像缓 存器122记录的硬盘的数目设定测试程序代码142中的变量。其中,变量的数据在本实施例 中,是储存于基本输入输出系统14中的延伸基本输入输出系统数据区域(Extended Basic Input/Output systemdata area ;EBDA) 144中,以使测试程序代码142使用到变量时,可以 随时快速地自延伸基本输入输出系统数据区域144取得。在步骤205,执行测试程序代码142的第一测试区块。在步骤206,根据变量判断 硬盘100的数目,自测试程序代码142的多个第二测试区块中,选择其中之一执行。测试程序代码142实质上包含第一测试区块及多个第二测试区块(未绘示)。其 中第一测试区块的测试内容与磁盘阵列10所包含的硬盘数目无关,因而适用于所有的磁 盘阵列10。亦即不论磁盘阵列10包含的硬盘数目有多少,第一测试区块的测试内容都适 用。因此,第一测试区块在各种具有不同硬盘数目的磁盘阵列中都须要执行,不须要根据硬 盘数目而做任何更动。然而第二测试区块的数目,则视支持的磁盘阵列10的硬盘数目而定。在一实施例 中,测试程序代码142可用以测试具有四个硬盘及具有六个硬盘的磁盘阵列10,因此,测试 程序代码142将具有两个第二测试区块。测试程序代码142将根据磁盘阵列10实际上具 有的硬盘数目而选择执行其中之一。意即,当磁盘阵列10具有四个硬盘时,即执行对应四 个硬盘的第二测试区块,而当磁盘阵列10具有六个硬盘时,即执行对应六个硬盘的第二测 试区块。在其它实施例中,依支持的磁盘阵列10的硬盘数目的不同,可具有不同的第二测 试区块,而不为本实施例所限。各第二测试区块中包含多个测试函数(未绘示)。在一实施例中,第一测试区块及 第二测试区块并非必须依序执行,而可交错地执行所包含的测试函数。因此,当测试程序代码142的测试流程执行到第一测试区块时,是直接执行不须做任何判断,而当测试程序代 码142的测试流程执行到位于第二测试区块的测试函数时,即判断磁盘阵列10实际上具有 的硬盘数目并选择所对应的第二测试区块的测试函数。由上述本发明实施方式可知,应用本发明的优点在于通过判断硬盘的数目,以于 一测试程序代码选择对应的测试区块执行测试,不须随硬盘数目的不同而更换测试程序代码。虽然本发明已以实施方式揭露如上,然其并非用以限定本发明,任何熟悉此技术 的人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范 围当视权利要求书所界定的范围为准。
权利要求
1.一种磁盘阵列测试方法,其特征在于,用于一计算机系统中的一磁盘阵列,该磁盘阵 列包含多个硬盘,该磁盘阵列测试方法包含下列步骤读取该计算机系统的一缓存器的一硬盘参数,其中该硬盘参数与该多个硬盘的一数目 相关;根据该硬盘参数,设定该计算机系统的一系统芯片组的一地址映像缓存器,以记录该 多个硬盘的该数目;启始该磁盘阵列的一选项只读存储器,其中该选项只读存储器包含一测试程序代码; 根据该地址映像缓存器记录的该数目设定该测试程序代码中的一变量; 执行该测试程序代码的一第一测试区块;以及根据该变量判断该多个硬盘的该数目,自该测试程序代码的多个第二测试区块中,选 择其中之一执行。
2.根据权利要求1所述的磁盘阵列测试方法,其特征在于,该缓存器为该系统芯片组 的一互补式金属氧化物半导体晶体管缓存器。
3.根据权利要求1所述的磁盘阵列测试方法,其特征在于,该系统芯片组为一南桥芯片。
4.根据权利要求1所述的磁盘阵列测试方法,其特征在于,设定该系统芯片组的该地 址映像缓存器的步骤中,是在设定该地址映像缓存器的一位。
5.根据权利要求1所述的磁盘阵列测试方法,其特征在于,该变量是储存于一延伸基 本输入输出系统数据区域。
6.根据权利要求1所述的磁盘阵列测试方法,其特征在于,各该多个第二测试区块包 含多个测试函数。
7.根据权利要求6所述的磁盘阵列测试方法,其特征在于,被选择的该第二测试区块 所包含的该多个测试函数,是用以测试包含对应该数目的该多个硬盘的该磁盘阵列。
全文摘要
本发明提供一种磁盘阵列测试方法,用于计算机系统中的磁盘阵列,磁盘阵列包含多个硬盘。磁盘阵列测试方法包含下列步骤读取计算机系统的缓存器的硬盘参数,其中硬盘参数与硬盘的数目相关;根据硬盘参数,设定计算机系统的系统芯片组的地址映像缓存器,以记录硬盘的数目;启始磁盘阵列的选项只读存储器,其中选项只读存储器包含测试程序代码;根据地址映像缓存器记录的数目设定测试程序代码中的变量;执行测试程序代码的第一测试区块;以及根据变量判断硬盘的数目,自测试程序代码的多个第二测试区块中,选择其中之一执行。
文档编号G06F11/22GK101996112SQ20091016635
公开日2011年3月30日 申请日期2009年8月24日 优先权日2009年8月24日
发明者吴明城 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1