专利名称:硬盘阵列验证方法及相关装置的制作方法
技术领域:
本发明提供一种验证硬盘阵列的方法及相关装置,尤指一种依据各硬盘的验证能力而非硬盘阵列数据架构来进行硬盘阵列验证的方法及相关装置。
背景技术:
计算机系统能方便、迅速地运算、存取、管理大量的数据、数据与影音信息,已成为现代信息社会最重要的硬件基础之一;而信息厂商也致力研发各种技术,以使计算机系统能更快速、更安全地处理更多的数据。
硬盘是现代计算机系统中运用最广泛的非挥发性储存装置之一;随着硬盘的成本降低、容量升高,现代的计算机系统已经能整合管理数个硬盘,将这些硬盘组成一个硬盘阵列来进行数据的存取。举例来说,在冗余廉价硬盘阵列(RAID,redundant array of inexpensive disks)的划分式数据架构下(像是RAID0、RAID2至5等所采用的数据架构),当要将一笔数据储存于硬盘阵列中时,该笔数据会被划分(stripe)为不同的部分,各部分会被同时传输至硬盘阵列中的不同硬盘而储存起来。当要由硬盘阵列中读取这笔数据时,则可同时由各个硬盘中读取该笔数据的不同部分,再组合出原来的数据。另外,还有扩张式(SPAN/JBOD,JBOD为just a bunch of disks)的硬盘阵列数据架构,在此种数据架构下,硬盘阵列中各硬盘的存储空间会被首尾连接地串连为一;换句话说,要存入硬盘阵列的数据会优先被存入第一个硬盘,若第一个硬盘已经没有剩余、可用的存储空间,才会被存入至第二个硬盘,以此类推。换句话说,也就是以第一个硬盘的存储空间作为硬盘阵列整体存储空间的第一部分,第二个硬盘的存储空间作为硬盘阵列整体存储空间的第二部分,以此类推。
如熟悉技术者所知,要确保硬盘/硬盘阵列能正确地保存数据,必需要对硬盘/硬盘阵列进行验证(verify)。一般来说,在对硬盘/硬盘阵列进行格式化(format)或是磁盘扫描(scan disk)时,就会对硬盘/硬盘阵列进行验证,以验证硬盘/硬盘阵列中的各部分是否能正确地保存数据并加以存取。一般来说,硬盘的验证往往要花上相当的时间,由于硬盘阵列中设有多个硬盘,要验证完整个硬盘阵列的所有硬盘,可能就要耗费更多的时间。然而,硬盘阵列验证又是确保数据安全的必要步骤之一,故要如何提升硬盘阵列的验证效能,也就成为信息厂商研发的重点之一。
在现行的现有技术中,硬盘阵列的验证均是根据硬盘阵列的数据架构来进行的。举例来说,在以N个硬盘组成的划分式冗余廉价硬盘阵列中,由于一笔数据会被划分为N份各具有1/N信息的部分而分别被储存于一个硬盘中,故在对该硬盘阵列进行验证时,若要验证硬盘阵列中M单位(像是以字节或扇区,sector,为单位)的存储空间时,其实现有技术会在N个硬盘中分别验证大约M/N个单位的存储空间。因为,依据冗余廉价硬盘阵列的数据架构,集合N个硬盘中分别被验证的M/N个单位,就相当于在硬盘阵列中验证了M个单位的存储空间。在验证完硬盘阵列的M单位存储空间后,硬盘阵列会依序继续验证另外M个单位的存储空间,以此类推,直到整个硬盘阵列的所有存储空间均被验证。
然而,上述现有的硬盘阵列验证技术也有缺点;举例来说,此现有技术必需频繁地控制各硬盘进行验证。在控制一硬盘进行验证时,计算机系统需对硬盘发出硬盘验证指令(像是ATA规格下之read verify指令,ATA为Advanced Technology Attachment),以指示硬盘要验证哪一个部分、具有多大容量的存储空间;而单一硬盘验证指令中要求需验证存储空间会有一个最大值。也就是说,若该最大值为K单位的存储空间,则单一硬盘验证指令最多只能控制一硬盘对其K单位的存储空间进行验证。然而,一般来说,在上述的现有硬盘阵列验证技术中,在每次控制硬盘进行验证时,其验证的存储空间往往远小于单一硬盘验证指令所能验证的最大存储空间。承前所述,当要在硬盘阵列中验证M单位的存储空间时,现有技术会以一个硬盘验证指令控制一硬盘验证M/N个单位的存储空间,但此M/N个单位的存储空间通常会小于K单位的存储空间,也就是单一硬盘验证指令所能指示的最大存储空间。由于现有技术每一次发出硬盘验证指令所要求验证的存储空间均小于单一硬盘验证指令可验证的最大验证空间,故要验证完一个硬盘,现有技术就要对硬盘发出较多次的硬盘验证指令,耗用较多的计算机系统资源;而这也使得现有的硬盘阵列验证技术的效能较低。
另一方面,在扩张式硬盘阵列数据架构下,由于硬盘阵列的第一个硬盘会提供硬盘阵列中第一部分的存储空间,第二个硬盘会提供硬盘阵列第二部分的存储空间,故在对此类型的硬盘阵列进行硬盘阵列验证时,现有技术也会先验证硬盘阵列中的第一个硬盘,验证完第一个硬盘后再验证第二个硬盘,以此类推。当然,此种现有技术的缺点也是效能低落,因为验证完整个硬盘阵列所需的时间,相当于验证个别硬盘所需时间的总和。
发明内容
因此,本发明的主要目的即是要提出一种能增进硬盘阵列验证效能的方法及相关装置,能使不同数据架构的硬盘阵列均以较高的效能完成硬盘阵列验证,以克服现有技术效能较低的缺点。
本发明可实现于硬盘阵列的驱动程序中。当本发明接收硬盘阵列的验证指令(譬如说是计算机系统的使用者经由操作系统发出的指令)而要对硬盘阵列中M单位的存储空间进行验证时,不管硬盘阵列采用的是哪一种数据架构,本发明均会同时控制各硬盘验证较大量的存储空间(在较佳实施例中,每一次对硬盘发出硬盘验证指令时均指示其验证最大的存储空间),使各硬盘实际验证的存储空间会相当于硬盘阵列中Me单位的存储空间,而此Me单位的存储空间会大于M单位的存储空间。换句话说,不仅原来要验证的M单位存储空间已经被验证,本发明还额外验证了更多的存储空间。对于额外验证的存储空间,本发明可先将其验证结果记录下来;对于原本要验证的M单位存储空间,则可立刻回报验证结果。当本发明接收另一硬盘阵列验证指令而要验证硬盘阵列的其它存储空间时,若此指令中要求要验证的存储空间已经涵盖于的前额外验证过的存储空间,就可将先前预先记录的验证结果直接回报,不必再实际发出硬盘验证指令控制硬盘进行验证。
换句话说,本发明可充分利用每一次对硬盘发出硬盘验证指令的机会,有效率地完成硬盘阵列的验证。对冗余廉价硬盘阵列来说,本发明可减少对硬盘实际发出硬盘验证指令的次数,减少计算机系统的运作负担,增进硬盘阵列验证的效能。对扩张式硬盘阵列来说,由于本发明会同时对硬盘阵列中的各个硬盘进行验证,也就是在对硬盘阵列的第一个硬盘进行验证时,第二个(以及硬盘阵列中其它的硬盘)也都会同时进行验证,故本发明可大幅缩短硬盘阵列验证的时间。
图式的简单说明第1图为本发明计算机系统的功能方块示意图。
第2图示意的是第1图中计算机系统进行硬盘阵列验证的流程示意图。
第3、第4图示意的是第1图中计算机系统对冗余廉价硬盘阵列进行硬盘阵列验证的情形。
第5至7图示意的是第1图中计算机系统对扩张式硬盘阵列进行硬盘阵列验证的情形。
图式的符号说明10计算机系统12中央处理器14芯片组16硬盘阵列控制器18存储器20驱动程序22A接口程序 22B控制程序22C回报程序 22D记录程序22E判断程序 22F跳过程序102-116步骤M1、M2、Me、Mr、M1s、M2s存储空间的部分HD(1)-HD(N)硬盘具体实施方式
请参考第1图。第1图为本发明计算机系统10的一个实施例的示意图。计算机系统10中设有中央处理器12、芯片组14、硬盘阵列控制器16、存储器18,以及多个用来组成硬盘阵列的硬盘HD(1)至HD(N)。中央处理器12用来主控计算机系统10的运作,负责操作系统(OS,operation system)及各种程序的执行,以及数据、数据的处理等等。作为系统存储器的存储器18可为一动态随机存取存储器,用来储存中央处理器12运作期间所需的程序及数据、数据。芯片组14电连于中央处理器12与存储器18之间,用来管理存储器18、中央处理器12与各周边装置间的数据传输。硬盘阵列控制器16则以总线(像是IDE、SATA或是SCSI总线,IDE为Intelligent Drive Electronic,SATA为serial ATA,而SCSI为small computer system interface)形成的通道(channel)分别连接于各硬盘HD(1)至HD(N),以将这些硬盘整合为一个硬盘阵列,而各硬盘所能提供的存储空间也就能经由硬盘阵列控制器16的整合,形成硬盘阵列的总存储空间。另外,硬盘阵列控制器16也可以整合于芯片组中。通过对应驱动程序20的执行,中央处理器12就可经由硬盘阵列控制器16来存取硬盘阵列的总存储空间。
举例来说,当计算机系统10的使用者通过操作系统而要求要将一笔数据储存至硬盘阵列中时,操作系统会使中央处理器12执行驱动程序20来处理此要求。通过驱动程序20的执行,该笔数据会依据硬盘阵列的数据架构被适当地处理,再经由硬盘阵列控制器16的控制而存入至适当的硬盘。譬如说,若硬盘阵列为冗余廉价硬盘阵列下的RAID5数据架构,经由驱动程序20的执行,该笔数据就会被划分为N部分,并计算出对应的同位检查码,再决定出这N部分的信息及同位检查码要分别存入至哪一个硬盘。接下来,硬盘控制器16就会通过各个信道以适当的硬盘写入指令(像是ATA/ATAPI规格下的写入指令),分别控制各硬盘HD(1)至HD(N),以将这N部分的信息及同位检查码分散地存入至不同的硬盘。同理,当使用者要求要进行硬盘阵列的验证时,操作系统(或其它的验证管理应用程序)会依序向驱动程序发出不同的验证指令,要求驱动程序20依序对硬盘阵列的不同部分进行验证,直到完成整个硬盘阵列的验证。
为了实现本发明的高效能硬盘阵列验证技术,本发明的驱动程序20中另外设有接口程序22A、控制程序22B、回报程序22C、记录程序22D、判断程序22E及跳过程序22F。在操作系统发出验证指令而要求要验证硬盘阵列中的某个部分(像是某些扇区)时,驱动程序20会经由接口程序22A的执行来接收操作系统发出的硬盘阵列验证指令,再由控制程序22B的执行来使硬盘控制器16实际地向各个硬盘HD(1)至HD(N)发出硬盘验证指令(像是ATA/ATAPI规格下的read verify指令)。在本发明中,控制程序22B的执行会有效率地运用每一次向各硬盘发出硬盘验证指令的机会,使得各硬盘实际进行验证的部分超越操作系统于验证指令中所要求验证的部分。换句话说,在硬盘阵列中,不仅操作系统要求验证的部分已被验证,本发明还额外验证了其它的部分。对于操作系统要求验证的部分,可利用回报程序22C向操作系统回报其验证结果;对于本发明额外验证部分的验证结果,则可利用记录程序22D加以记录,像是记录在存储器18中。等到操作系统发出另一个硬盘阵列的验证指令而要求要验证硬盘阵列的另一部分时,利用判断程序22E,驱动程序20就可判断此一验证指令中要求验证的部分是否已经被涵盖于先前额外验证过的部分;若是,就可经由跳过程序22F的执行而不用对硬盘实际发出硬盘验证指令,并再进行回报程序22C直接将先前记录的验证结果回报给操作系统,作为对其验证指令的响应。这样一来,就能有效提高硬盘阵列验证的效能。
为进一步说明本发明进行硬盘阵列验证的过程,请继续参考第2图(并一并参考第1图)。第2图即为计算机系统10进行硬盘阵列验证的流程示意图;此流程中设有下列步骤步骤102驱动程序20接收操作系统发出的一个验证指令。如前所述,当要进行硬盘阵列验证时,操作系统会依序向驱动程序20发出不同的验证指令,于每一个验证指令中分别要求驱动程序20验证硬盘阵列的不同部分,直到整个硬盘阵列的总存储空间均完成验证。因此,操作系统的每个验证指令中均包含有一个指定的指令验证进度,用来指示驱动程序20应该对硬盘阵列中的哪些部分(譬如说是哪些扇区)进行验证,而验证指令要求验证的部分就可称为指令验证部分。而在此步骤中,驱动程序20即开始接收一个验证指令,并以此得知此验证指令中要求的指令验证进度。
步骤104硬盘阵列控制器16同时对硬盘阵列中的各个硬盘发出一硬盘验证指令,指示硬盘实际进行验证。在本发明中,不论硬盘阵列的数据架构为何,也不论验证指令中的指令验证进度为何,均会同时使各信道上的硬盘进行验证,使得当各硬盘实际验证的部分反映于硬盘阵列的总存储空间时,其于总存储空间中占有的部分会大于指令验证部分。如前所述,在一硬盘验证指令中,可要求硬盘进行验证的存储空间有一最大值。而在本发明的较佳实施例中,在实际向各硬盘发出硬盘验证指令时,就可要求硬盘验证最大值的存储空间。换句话说,在本发明的较佳实施例中,可充分利用每一次向硬盘发出硬盘验证指令的机会,使各个硬盘在执行单一硬盘验证指令时,均验证了最多的存储空间。
步骤106驱动程序20可根据各硬盘于步骤104中实际验证的存储空间来计算出这些已验证的存储空间相当于硬盘阵列总存储空间中的哪些部分,并依此计算出一等效验证进度,也就是在硬盘阵列的总存储空间中,有哪些部分已经在步骤104中被验证过了。既然硬盘阵列的总存储空间是由各个硬盘的存储空间整合而得的,所有硬盘于步骤104中已验证过的存储空间也必定会等效地对应于总存储空间中的某些部分,这些部分就是等效验证进度所代表的等效验证部分。
在本发明中,由于步骤104会在对各硬盘发出硬盘验证指令时使各硬盘验证较多(或最多)的存储空间,故等效验证进度应会大于步骤102中的指令验证进度。换句话说,除了操作系统验证指令中所指定的指令验证进度之外,本发明还充分利用了对硬盘发出硬盘验证指令的机会,额外地在总存储空间中验证了其它的部分。
步骤108由于本发明中实际进行的等效验证进度已经高于验证指令中所指示的指令验证进度,总存储空间中的指令验证部分应已涵盖于等效验证部分中。对于等效验证进度中符合指令验证进度的部分,就可向操作系统回报验证结果,响应其于步骤102中发出的验证指令。
步骤110对于等效验证进度超越于指令验证进度的部分,可先记录其验证的结果。也就是说,对本发明在总存储空间中额外验证的部分,记录其验证的结果。
步骤112完成步骤108、110之后,就可接收操作系统的另一个验证指令。当然,此验证指令中也指示了另一个指令验证进度。
步骤114判断步骤112中所接收的指令验证进度是否已经被涵盖于先前已验证过的等效验证进度。由于本发明在步骤104中会额外验证总存储空间中的其它部分,这些额外验证的进度很可能已经涵盖步骤112中的指令验证进度。若的确如此,则可进行至步骤116;若否,则递归进行至步骤104。
步骤116若步骤112中的指令验证进度已经于先前达成了,本发明就不需要再实际对各硬盘发出硬盘验证指令,只要直接将先前记录的验证结果回报至操作系统,就可满足操作系统于步骤112中发出的验证指令,并回到步骤112中继续接收另一个验证指令。
为进一步说明第2图中流程实施的情形,以下将以不同的实施例分别说明本发明运用于冗余廉价硬盘阵列及扩张式硬盘阵列的情形。首先请参考第3图及第4图(并一并参考第1图及第2图);第3图及第4图示意的是本发明计算机系统10于冗余廉价硬盘阵列中进行硬盘阵列验证的示意图。
在第3图、第4图的实施例中,假设计算机系统10是以四个硬盘HD(1)至HD(4)来整合出一个冗余廉价硬盘阵列(像是RAID5的硬盘阵列),以各硬盘的存储空间形成硬盘阵列整体的总存储空间。在第3图中,假设操作系统已发出一验证指令,要求驱动程序20对总存储空间中的M1部分进行验证(换句话说,M1部分即为指令验证部分);而驱动程序20就会开始进行第2图中的流程,由步骤102开始执行。在冗余廉价硬盘阵列的数据架构下,M1部分的总存储空间会由各硬盘的存储空间来分担,故对各硬盘HD(1)至HD(4)来说,若仅要满足对M1部分的验证,各硬盘其所需验证的存储空间会小于M1部分,也就是第2图中所标示的M1s部分。在现有技术中,也仅会分别以一硬盘验证指令控制各硬盘HD(1)至HF(4)各验证M1s部分。但在本发明的步骤104中,会充分利用每一次对各硬盘HD(1)至HD(4)发出硬盘验证指令的机会,让各硬盘验证较多的存储空间,也就是第2图中标示的Mes部分。集合各硬盘HD(1)至HD(4)所分别验证的Mes部分,就对应于硬盘阵列总存储空间中的Me部分,也就是等效验证部分,如第2图中所标示。换句话说,本发明在分别对各硬盘HD(1)至HD(4)发出一硬盘验证指令后所验证的总存储空间,不仅涵盖了指令验证进度的M1部分,还额外在总存储空间中多验证了Mr部分。
随着第2图中流程的进行,对总存储空间的M1部分的验证结果,可实时回报至操作系统(第2图的步骤108);对总存储空间中额外被验证的Mr部分,则可将此部分的验证结果(像是是否有缺陷、缺陷发生的地址等)先记录下来(步骤108)。
请参考第4图。延续第3图中的情形,在第4图中,假设驱动程序20开始接收下一个验证指令(步骤112);在此硬盘阵列的验证指令中,操作系统继续要求要验证总存储空间中的M2部分,如第4图中所标示。不过,由第4图可看出,此M2部分其实已经被涵盖先前本发明额外验证的Mr部分,故本发明于第2图中的流程就可直接进行至步骤116,将Mr部分中符合M2部分的验证结果直接回报至操作系统(步骤116),不需再向各硬盘实际发出硬盘验证指令。
若驱动程序20后续接收的验证指令所指示的指令验证进度都还涵盖于等效验证进度中的Me部分,本发明就可继续跳过对各硬盘的验证控制,也就是在步骤112、114、116间循环,不必进行步骤104;直到新的验证指令的指令验证进度已经超越等效验证进度中的Me部分,才会再度进行至步骤104。
由以上讨论可知,当运用在冗余廉价硬盘阵列中时,本发明可尽量减少对各硬盘发出硬盘验证指令的次数,使得本发明的硬盘阵列验证能快速、有效率地进行,也增进计算机系统的整体效能。
至于本发明运用于扩张式硬盘阵列的情形,请参考第5图至第7图(并一并参考第1图及第2图);第5图至第7图即为本发明于扩张式硬盘阵列中进行硬盘阵列验证的示意图。假设在第5图至第7图的实施例中,计算机系统10是以两个容量相同的硬盘HD(1)及HD(2)来形成扩张式的硬盘阵列,故硬盘HD(1)的存储空间就成为硬盘阵列总存储空间的前半部,硬盘HD(2)的存储空间成为存储空间的后半部。首先,如第5图所示,假设驱动程序20开始接到硬盘阵列验证指令,要求要在硬盘阵列的总存储空间中验证M1部分。故驱动程序20开始进行第2图中的验证流程,并在步骤104中,同时对硬盘HD(1)及HD(2)发出硬盘验证指令,使硬盘阵列中所有的硬盘皆进行验证。根据扩张式硬盘阵列的数据架构,因为总存储空间中的M1部分是由硬盘HD(1)提供的,故若要满足M1部分的验证指令,仅需对硬盘HD(1)发出硬盘验证指令。而现有技术的确也仅于硬盘HD(1)验证M1部分。但在本发明的步骤104中,由于硬盘阵列控制器16会同时对各信道上的硬盘发出硬盘验证指令,故本发明会同时使硬盘HD(1)及HD(2)皆进行验证。如第5图所示,在本发明中,不仅硬盘HD(1)会验证M1部分,硬盘HD(2)也会验证M1s部分,也就是总存储空间中后半的一部分。此M1s部分就是本发明于步骤104中额外验证的部分,且其验证结果会先于步骤110中被记录下来。
延续第5图的情形,在第6图中,驱动程序20进行至步骤112,开始接收下一个验证指令;此验证指令会要求驱动程序20对总存储空间中的M2部分进行验证。而驱动程序20就会在步骤104中再度对硬盘HD(1)、HD(2)发出硬盘验证指令。这样一来,不仅硬盘HD(1)中会验证M2部分的存储空间以满足验证指令的要求(步骤108),硬盘HD(2)还会额外地验证M2s部分,也就是总存储空间中后半部的另一部分。对M2部分的验证结果也会在步骤110中被记录下来。相较之下,现有技术还是只会依据扩张式硬盘阵列的数据架构而仅控制硬盘HD(1)验证M2部分。
随着驱动程序20由操作系统不断地接收验证指令,硬盘HD(1)及HD(2)都会进行验证。等到操作系统所发出的验证指令已经将总存储空间的前半部(也就是硬盘HD(1)提供的存储空间)验证完成后,由于本发明对两个硬盘HD(1)及HD(2)皆同时进行了验证,故总存储空间的后半部由硬盘HD(2)提供的存储空间也已经被验证,就如第7图所示。换句话说,在第7图中,硬盘HD(2)中被验证完毕的存储空间就是本发明额外验证的存储空间。等操作系统发出验证指令要求要验证总存储空间的后半部时,由于总存储空间的后半部已经被涵盖于本发明额外验证的存储空间中,故驱动程序20就可以对后续的验证指令快速地循环进行步骤112至116,不必控制各硬盘实际进行验证,只要适当地将先前记录的验证结果回报至操作系统,就能满足操作系统后续的所有验证指令。
换句话说,若以N个等容量的硬盘HD(1)至HD(N)来组成一扩张式的硬盘阵列,就只有在对总存储空间的前1/N部分进行验证时,本发明才会对每一个硬盘发出硬盘验证指令。当验证指令中的指令进度开始要求对总存储空间后续的(N-1)/N部分进行验证时,因为这些部分都会属于本发明已额外验证完成的部分,故本发明的驱动程序就不必实际对每一个硬盘发出硬盘验证指令,而在不实际进行硬盘验证的情形下快速地满足后续的所有验证指令。
总结来说,由于硬盘阵列的验证不涉及数据的存取,故本发明可充分利用每一次对硬盘发出硬盘验证指令的机会,额外验证一些存储空间,不必受限于硬盘阵列的数据架构。相较于现有技术,本发明不论对冗余廉价硬盘阵列或扩张式硬盘阵列,均能有效提升硬盘阵列验证的效能,确保硬盘阵列中的数据安全。如熟悉技术者所能理解,除了在硬盘阵列控制器对应的驱动程序中实现本发明的技术,也可适当地将本发明驱动程序中某些程序以硬件、韧体或可程序电路实现于硬盘阵列控制器中,以达到本发明的目的。
以上所述仅为本发明的较佳实施例,凡依本发明申请权利要求所做的均等变化与修饰,皆应属本发明专利的涵盖范围。
权利要求
1.一种用来验证硬盘阵列的方法,该硬盘阵列包含有多个硬盘,各硬盘用来提供一存储空间以形成该硬盘阵列中的总存储空间;而该方法包含有使各硬盘的存储空间对应于该硬盘阵列中总存储空间的一部分;接收验证指令,该验证指令系用来指示指令验证部分,该指令验证部分系用来代表该硬盘阵列的总存储空间中需于该验证指令中被验证的部分;以及在接收该验证指令后,使该硬盘阵列中的各个硬盘分别对其存储空间的给定部分进行验证,使各硬盘进行验证的部分对应于该总存储空间的一个等效验证部分,并使该等效验证部分大于该指令验证部分。
2.根据权利要求1所述的方法,其另包含有在使各硬盘进行验证后,对该等效验证部分中符合于该指令验证部分的部分,回报验证结果以响应该验证指令。
3.根据权利要求1所述的方法,其另包含有在使各硬盘进行验证后,对该等效验证部分中超越该指令验证部分的部分,记录验证的结果。
4.根据权利要求3所述的方法,其另包含有接收第二验证指令,该验证指令系用来指示第二指令验证部分,该第二指令验证部分系用来指示该总存储空间中需于该第二验证指令中被验证的部分;判断该第二指令验证部分是否被涵盖于该等效验证部分之中;以及若该第二指令验证部分被涵盖于该等效验证部分之中,则根据记录的验证结果回报第二验证结果以响应该第二验证指令。
5.根据权利要求4所述的方法,其另包含有若该第二指令验证部分被涵盖于该等效验证部分之中,则不使各硬盘进行验证,即回报该第二验证结果。
6.一种计算机系统,其包含有硬盘阵列,其包含有多个硬盘,各硬盘用来提供存储空间以形成该硬盘阵列中的总存储空间,使各硬盘的存储空间对应于该硬盘阵列中总存储空间的一部分;中央处理器;存储器,用来记录程序及数据;该存储器中记录有接口程序;当该中央处理器执行该接口程序时,该中央处理器可接收验证指令,该验证指令系用来指示指令验证部分,该指令验证部分系用来指示该硬盘阵列的总存储空间中需于该验证指令中被验证的部分;以及控制程序;当该中央处理器执行该控制程序时,该中央处理器可在接收该验证指令后,控制该硬盘阵列中的各个硬盘分别对其存储空间的给定部分进行验证,使各硬盘进行验证的部分对应于该总存储空间的一个等效验证部分,并使该等效验证部分大于该指令验证部分。
7.根据权利要求6所述的计算机系统,其中该存储器另记录有回报程序;当该中央处理器执行该回报程序时,其可在控制各硬盘进行验证后,对该等效验证部分中符合于该指令验证部分的部分,回报验证结果以响应该验证指令。
8.根据权利要求6所述的计算机系统,其中该存储器另记录有记录程序;当该中央处理器执行该记录程序时,其可在控制各硬盘进行验证后,对该等效验证部分中超越该指令验证部分的部分,记录验证的结果。
9.根据权利要求8所述的计算机系统,其中当该中央处理器执行该接口程序时,其可接收第二验证指令,该验证指令系用来指示第二指令验证部分,该第二指令验证部分系用来指示该总存储空间中需于该第二验证指令中被验证的部分;而该存储器中另记录有判断程序;当该中央处理器执行该判断程序时,其可判断该第二指令验证部分是否被涵盖于该等效验证部分之中;若该第二指令验证部分被涵盖于该等效验证部分之中,则该中央处理器可执行该回报程序,以根据该记录程序执行时记录的验证结果回报第二验证结果以响应该第二验证指令。
10.根据权利要求9所述的计算机系统,其中该存储器中另记录有跳过程序,而当该中央处理器执行该判断程序时,若该第二指令验证部分被涵盖于该等效验证部分之中,则该中央处理器可先执行该跳过程序而不控制各硬盘进行验证,再执行该回报程序以回报该第二验证结果。
全文摘要
本发明系提供一种进行硬盘阵列验证的方法及相关装置。在接收一验证指令以对一硬盘阵列中的某部分进行验证时,本发明系使该硬盘阵列中的各个硬盘同时进行验证,且使各硬盘实际验证的部分超越该验证指令中指示需验证的部分,并对超越的部分记录验证的结果。在接收下一个验证指令以验证该硬盘阵列的另一部分时,若该部分已在之前被验证过,就可直接以记录的验证结果响应该验证指令,增加硬盘阵列验证的效能。
文档编号G06F11/22GK1588320SQ200410056480
公开日2005年3月2日 申请日期2004年8月11日 优先权日2004年8月11日
发明者李勇 申请人:威盛电子股份有限公司