专利名称:磁盘阵列数据写入方法
技术领域:
本发明涉及一种数据写入方法,特别是涉及一种磁盘阵列数据写入方法。
背景技术:
自个人计算机问世以来,硬盘是最常使用的储存装置之一。但在整个计算机系统架构中,与中央处理器(CPU)及随机存取存储器(RAM)比较起来,硬盘的存取速度是计算机中最慢的关键点之一。且由于伺服器的大量运用,专业影音对大容量、高速存储设备的需求,为了加速计算机整体的数据流量,以提高处理性能,磁盘阵列(RedundantArrays of Inexpensive Disks,RAID)系统遂成为近来使用者对存储设备的最佳选择。
磁盘阵列除了通过将数据切割之后储存于不同的硬盘上以提高系统的处理性能之外,亦可通过奇偶校验(Parity)的概念及方法,能在磁盘阵列中任何一个硬盘故障时,将故障硬盘内的应有数据经计算后予以还原,以提高储存于磁盘阵列中的数据的安全性。
磁盘阵列是由2个以上的硬盘于系统中模拟一个逻辑硬盘,并使用磁盘阵列控制器依据不同的阵列形式以模拟各种规格的磁盘阵列。目前较常用的磁盘阵列规格有RAID 0、RAID 1、RAID 3、RAID 4及RAID 5规格的磁盘阵列。
在将数据写入磁盘阵列时,公知的作法以RAID 5规格为例,系将一数据切割为多个切割数据(依据硬盘数量而定),再分别将切割数据写入不同的硬盘中,接着,依据该等切割数据并做异或(XOR)逻辑运算以得到奇偶校验数据,最后再将奇偶校验数据写入硬盘中。
因此,在一个写入周期中,需要执行1、将切割数据写入硬盘;2、读出切割数据以作逻辑运算;3、将奇偶校验数据写入硬盘,共三个命令。即,系统需要三个时钟,以执行磁盘阵列的写入命令。
虽然仅是三个时钟,但磁盘阵列一般用于需要处理大量数据的系统或伺服器中,当要写入庞大数据时,所浪费的时间实是不容小觑。因此,如何节省磁盘阵列数据写入时间的方法,以更进一步提高磁盘阵列的性能,实为当前重要课题之一。
发明内容
有鉴于上述课题,本发明的目的为提供一种可节省系统运作时间的磁盘阵列数据写入方法。
因此,为了实现上述目的,依据本发明的一种磁盘阵列数据写入方法,其被执行于一写入周期,并由至少一第一磁盘、一第二磁盘、一第三磁盘及一存储器模块配合应用。写入周期包含一第一时钟及一第二时钟。第一磁盘、第二磁盘及第三磁盘被用来储存一第一数据、一第一检核数据、一第二数据及一第二检核数据。第一数据包含一第一切割数据及一第二切割数据。其中,第二数据包含一第三切割数据及一第四切割数据。另外,于第一磁盘中存储有第三切割数据,而于存储器模块中存储有第一检核数据。
磁盘阵列数据写入方法包括以下步骤首先在第一时钟将第二数据的第四切割数据写入第二磁盘;在第一时钟读取储存于第一磁盘中的第二数据的第三切割数据;在第一时钟将第一检核数据写入第三磁盘;在第二时钟依据第二数据的第三切割数据及第四切割数据以运算出第二检核数据;在第二时钟将第二检核数据存储在存储器模块中。
承上所述,依据本发明的磁盘阵列数据写入方法利用两个时钟,将数据及检核数据写入磁盘中,即,利用两个时钟,以处理一个磁盘阵列写入命令;与公知作法相较,可节省一个时钟。因此当系统或伺服器于处理庞大的数据时,可节省处理时间,以提升系统或伺服器的运作效率。
图1为一示意图,显示依据本发明较佳实施例的磁盘阵列数据写入方法配合应用的硬件;图2为一示意图,显示依据本发明较佳实施例的磁盘阵列数据写入方法的一个写入周期;图3为一流程图,显示依据本发明较佳实施例的磁盘阵列数据写入方法;以及图4A及图4B为示意图,显示依据本发明较佳实施例的磁盘阵列数据写入方法应用于不同规格的磁盘阵列。
元件符号说明21 磁盘阵列 211 第一磁盘212 第二磁盘 213 第三磁盘22 存储器模块 23 控制器24 微处理器 D1 第一数据D11 第一切割数据 D12 第二切割数据D2 第二数据 D21 第三切割数据D22 第四切割数据 PA第一检核数据PB第二检核数据 Wcycle写入周期CLK1 第一时钟 CLK2 第二时钟P1~P5 磁盘阵列数据写入方法流程具体实施方式
以下将参照相关附图,说明依本发明较佳实施例的磁盘阵列数据写入方法。
请参照图1所示,本发明较佳实施例的磁盘阵列数据写入方法由一磁盘阵列21及一存储器模块22配合应用。磁盘阵列21用以储存一第一数据D1、一第一检核数据PA、一第二数据D2及一第二检核数据PB。第一数据D1包含一第一切割数据D11及一第二切割数据D12,而第二数据D2包含一第三切割数据D21及一第四切割数据D22。本实施例中,磁盘阵列21由一第一磁盘211、一第二磁盘212与一第三磁盘213所组成。当然,若组成磁盘阵列21的磁盘越多,则由数据所切割的切割数据亦会对应于磁盘数量而相对地增加。
另外,请参照图2所示,本发明较佳实施例的磁盘阵列数据写入方法在一写入周期Wcycle中要将一笔数据及一笔检核数据写入磁盘阵列21中。本实施例中,写入周期Wcycle具有一第一时钟CLK1及一第二时钟CLK2。
本实施例中,第一切割数据D11与第二切割数据D12在写入周期Wcycle的上一个写入周期即已分别写入于第一磁盘211与第二磁盘212。另外,本实施例中,更可包括一控制器23(例如为磁盘阵列控制器)与一微处理器24(例如为中央处理器)。控制器23分别与第一磁盘211、第二磁盘212、第三磁盘213以及存储器模块22电连接,而微处理器24与控制器23电连接。第一检核数据PA由微处理器24依据第一切割数据D11与第二切割数据D12执行一逻辑运算而得。本实施例中,微处理器24执行一异或运算而得到第一检核数据PA。
请参照图3并搭配图1所示,本发明较佳实施例的磁盘阵列数据写入方法,例如于第一磁盘211中储存有第三切割数据D21,而于存储器模块22中储存有第一检核数据PA,而磁盘阵列数据写入方法包括以下流程首先于流程P1,于写入周期Wcycle的第一时钟CLK1将第四切割数据D22写入第二磁盘212中。
接着于流程P2,于第一时钟CLK1读取存储于第一磁盘211中的第三切割数据D21。本实施例中,是通过控制器23将第三切割数据D21读出至微处理器24。
接着于流程P3,于第一时钟CLK1将第一检核数据PA写入第三磁盘213。
于此,本实施例中,是将写入第四切割数据D22、读出第三切割数据D21及写入第一检核数据PA,在第一时钟CLK1中以一读写命令完成。
接着于流程P4,是依据第三切割数据D21与第四切割数据D22以运算出第二检核数据PB。本实施例中,是由微处理器24依据第三切割数据D21与第四切割数据D22、并执行异或逻辑运算,而得到第二检核数据PB。
最后于流程P5,是将第二检核数据PB储存于存储器模块22中。于此,系统即完成数据的写入。而第二检核数据PB则于写入周期Wcycle的下一个写入周期再与下一笔数据一并写入磁盘阵列21中。
另外,本实施例中,如图4A所示,当第三磁盘213为一检核数据磁盘时,第二检核数据PB被写入于第三磁盘213中,即第一检核数据PA与第二检核数据PB皆位于相同的磁盘中,则此系统可应用于一RAID3规格或依RAID 4规格磁盘阵列。再如图4B所示,当第二检核数据PB被写入于第一磁盘211或第二磁盘212中时,即第一检核数据PA与第二检核数据PB位于不同的磁盘中,则此系统可应用于一RAID 5规格磁盘阵列。
本实施例中,是在写入周期Wcycle将由第一数据D1(即上一个写入周期的数据)运算而得的第一检核数据PA写入磁盘阵列21,并将由第二数据D2运算而得的第二检核数据PB储存于存储器模块22,待下一个写入周期时,再将第二检核数据PB写入磁盘阵列21。如此一来,当系统关机之前,仍会有一检核数据储存于存储器模块22中,因此,必须于关机之前将此检核数据写入磁盘阵列21中,以确保数据完整。
综上所述,本发明的磁盘阵列数据写入方法改变了公知的写入方法,在一个写入周期中仅需使用两个时钟即可将数据与上一笔数据的检核数据写入磁盘阵列中,如此一来,在每个写入周期皆可节省一个时钟,虽然在系统关机前需再花费一个时钟以将最后一个检核数据写入磁盘阵列中,然而在数据流量较大的系统或伺服器中,各个写入周期累积下来所节省的时间是相当可观的,因此可节省系统或伺服器处理数据的时间,提高了运作效率。
以上所述仅为举例性,而非为限制性者。任何未脱离本发明的精神与范畴,而对其进行的等效修改或变更,均应包含于所附权利要求的范围中。
权利要求
1.一种磁盘阵列数据写入方法,系执行于一写入周期,并由至少一第一磁盘、一第二磁盘、一第三磁盘及一存储器模块配合应用,其中该写入周期包含一第一时钟及一第二时钟,该第一磁盘、该第二磁盘及该第三磁盘系用以储存一第一数据、一第一检核数据、一第二数据及一第二检核数据,该第一数据系包含一第一切割数据及一第二切割数据,而该第二数据系包含一第三切割数据及一第四切割数据,于该第一磁盘中储存有该第三切割数据,而于该存储器模块中储存有该第一检核数据,该磁盘阵列数据写入方法包含于该第一时钟将该第二数据的该第四切割数据写入该第二磁盘;于该第一时钟读取储存于该第一磁盘中的该第二数据的该第三切割数据;于该第一时钟将该第一检核数据写入该第三磁盘;于该第二时钟依据该第二数据的该第三切割数据及该第四切割数据以运算出该第二检核数据;以及于该第二时钟将该第二检核数据储存于该存储器模块中。
2.根据权利要求1所述的磁盘阵列数据写入方法,其中该第三磁盘为一检核数据磁盘。
3.根据权利要求2所述的磁盘阵列数据写入方法,其中该第二检核数据被写入该第三磁盘中。
4.根据权利要求2所述的磁盘阵列数据写入方法,其被应用于一RAID3规格的磁盘阵列、或应用于一RAID4规格的磁盘阵列。
5.根据权利要求1所述的磁盘阵列数据写入方法,其中该第二检核数据被写入该第一磁盘或该第二磁盘中。
6.根据权利要求5所述的磁盘阵列数据写入方法,其被应用于一RAID5规格的磁盘阵列。
7.根据权利要求1所述的磁盘阵列数据写入方法,还包括利用一微处理器以依据该第二数据的该第三切割数据及该第四切割数据执行一逻辑运算而得到该第二检核数据。
8.根据权利要求7所述的磁盘阵列数据写入方法,其中该逻辑运算为异或运算。
9.根据权利要求1所述的磁盘阵列数据写入方法,其中该第一检核数据是依据该第一数据的该第一切割数据及该第二切割数据运算而得的。
10.根据权利要求1所述的磁盘阵列数据写入方法,其中该第一检核数据或该第二检核数据分别为一奇偶校验数据。
全文摘要
一种磁盘阵列数据写入方法,其被执行于包含有一第一时钟与一第二时钟的一写入周期,并由一第一磁盘、一第二磁盘、一第三磁盘及一存储器模块配合应用。这些磁盘被用来储存一第一检核数据、一第二数据及一第二检核数据。第二数据包含一第三切割数据及一第四切割数据,第一检核数据储存于存储器模块中。磁盘阵列数据写入方法包括以下步骤。首先于第一时钟将第二数据的第四切割数据写入第二磁盘。接着于第一时钟读取储存于第一磁盘中的第二数据的第三切割数据。接着于第一时钟将第一检核数据写入第三磁盘。接着于第二时钟依据第二数据的第三切割数据及第四切割数据以运算出第二检核数据。最后于第二时钟将第二检核数据储存于存储器模块中。
文档编号G06F3/06GK1744025SQ200510105890
公开日2006年3月8日 申请日期2005年9月29日 优先权日2005年9月29日
发明者李勇 申请人:威盛电子股份有限公司