CN1991730A - 独立磁盘的冗余阵列的扩充***及其方法 - Google Patents
独立磁盘的冗余阵列的扩充***及其方法 Download PDFInfo
- Publication number
- CN1991730A CN1991730A CN 200510097477 CN200510097477A CN1991730A CN 1991730 A CN1991730 A CN 1991730A CN 200510097477 CN200510097477 CN 200510097477 CN 200510097477 A CN200510097477 A CN 200510097477A CN 1991730 A CN1991730 A CN 1991730A
- Authority
- CN
- China
- Prior art keywords
- redundant array
- expansion
- independent disk
- request
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明是有关于一种独立磁盘的冗余阵列(RAID)的扩充***及其方法,是用以通过新增复数个驱动器,将一个RAID中的驱动器数量由N个扩充至M个。该扩充***包括一资讯管理模组、一构造模组、一资料迁移模组以及一访问控制模组。该扩充方法,首先将扩充前RAID与复数个新增的驱动器构造成一个不需要同步操作的临时RAID,接着将扩充前RAID的资料迁移至临时RAID,并在扩充前RAID的资料迁移过程中处理使用者的输入/输出请求。当资料迁移完毕后,调整扩充前RAID的结构为扩充后RAID的结构并释放临时RAID。本发明实现了软件的磁盘阵列线上扩充功能,而可方便于使用者对扩充的管理,消除了一些利用硬件进行磁盘阵列线上扩充的限制,非常适于实用。
Description
技术领域
本发明涉及一种磁盘管理***及其方法,特别是涉及一种实现软件的磁盘阵列线上扩充功能,可方便使用者对扩充的管理的独立磁盘的冗余阵列(RAID)的扩充***及其方法。
背景技术
独立磁盘(即磁碟,以下称为磁盘)的冗余阵列(Redundant Array ofIndependent Disk,RAID,以下均简称为RAID)是将多台的硬盘(即硬碟)通过RAID控制器(如硬件、软件)结合成虚拟单台大容量的硬盘使用,其特色是多台硬盘同时读取速度加快及提供容错性。目前,常见的RAID阵列包含:Linear、RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID10以及RAID50等。
RAID的储存原理是用位元分割(Bit Striping)或区块分割(BlockStriping)的分割方式,将资料分散储存至各硬盘中,当硬盘有受损时经由互斥或(XOR)运算,再将存在其他各硬盘内的校验磁盘分段(Parity Blocks)以及等量资料(Data Stripe)磁驱的资料分段(Data Blocks)进行计算而重建(Rebuild)资料。
磁盘容量的增加与效能的增强均为当前磁盘阵列***的关键问题,而在磁盘阵列***中增加新的磁盘,是增加***容量和增强***效能的较佳的途经。现有传统的增加磁盘阵列***的方法,是先备份磁盘阵列中的资料,再重建新的大容量的逻辑盘并恢复资料。然而,这种方法在7×24运行的***中是不可行的。因此,就需要一种磁盘阵列***的线上扩充功能,其可以让使用者在不关闭***的情况下,增加新的磁盘。现有技术的线上扩容技术大多是采用硬件RAID控制卡来实现,但是这些工具大部分对添加的磁盘数目有限制,或在扩充的过程中是不可以停止的,上述问题给使用者的日常工作带来了很大的不便。
由此可见,上述现有的扩容***及其方法在结构、方法与使用上,显然仍存在有不便与缺陷,而亟待加以进一步改进。为了解决扩容***及其方法存在的问题,相关厂商莫不费尽心思来谋求解决之道,但是长久以来一直未见适用的设计被发展完成,而一般产品又没有适切的结构能够解决上述问题,此显然是相关业者急欲解决的问题。因此如何能创设一种新的独立磁盘的冗余阵列(RAID)的扩充***及其方法,便成了当前业界极需改进的目标。
有鉴于上述现有的扩容***及其方法存在的缺陷,本发明人基于从事此类产品设计制造多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种新的独立磁盘的冗余阵列(RAID)的扩充***及其方法,能够改进现有的扩容***及其方法,使其更具有实用性。经过不断的研究、设计,并经反复试作样品及改进后,终于创设出确具实用价值的本发明。
发明内容
本发明的目的在于,克服现有的扩容***及其方法存在的缺陷,而提供一种新的独立磁盘的冗余阵列(RAID)的扩充***及其方法,所要解决的技术问题是使其用以通过新增复数个驱动器,将一个RAID中的驱动器数量由N个扩充至M个,从而更加适于实用。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种独立磁盘的冗余阵列(RAID)的扩充***,是用以通过新增复数个驱动器,将一个RAID中的驱动器数量由N个扩充至M个,该***包括:一资讯管理模组,是用以接收一包含所述各新增的驱动器名称、新增的驱动器数目、新增的驱动器资讯、扩充速度的上限以及迁移单元的大小的扩充资讯,分配该扩充资讯并将该扩充资讯写入该扩充前独立磁盘的冗余阵列的超级区块;一构造模组,是用以将该扩充前独立磁盘的冗余阵列与所述各新增的驱动器构造成一无须同步操作的临时独立磁盘的冗余阵列,并调整该扩充前独立磁盘的冗余阵列的结构为该扩充后独立磁盘的冗余阵列的结构,且释放该临时独立磁盘的冗余阵列;一资料迁移模组,是用以依照该扩充前独立磁盘的冗余阵列的超级区块的扩充资讯以迁移单元为单位迁移该扩充前独立磁盘的冗余阵列的资料至该临时独立磁盘的冗余阵列;以及一访问控制模组,是用以创建一记录请求位址与该扩充前独立磁盘的冗余阵列的一当前迁移单元位址冲突的请求资讯的等待列表,并在该扩充前独立磁盘的冗余阵列在扩充过程中处理使用者对该扩充前独立磁盘的冗余阵列的输入/输出请求。
本发明的目的及解决其技术问题还采用以下技术措施来进一步实现。
前述的独立磁盘的冗余阵列的扩充***,其中所述的资料迁移模组进一步包括:一资讯读取模组,是用以读取该等待列表记录的请求资讯与该扩充前独立磁盘的冗余阵列的超级区块的扩充资讯;一检查与处理模组,是用以依照该资讯读取模组读取的请求资讯判断该扩充前独立磁盘的冗余阵列的当前迁移单元是否存在未处理的请求,当存在未处理的请求时,处理请求;一资料读取与计算模组,是用以读取该扩充前独立磁盘的冗余阵列的当前迁移单元的资料,并在读取成功后计算当前迁移单元的资料的校验值;以及一写入模组,是用以将该资料读取与计算模组读取的资料以及计算的校验值写入该临时独立磁盘的冗余阵列,并更新该扩充前独立磁盘的冗余阵列的超级区块的扩充资讯。
前述的独立磁盘的冗余阵列的扩充***,其中所述的访问控制模组进一步包括一命令截获与创建模组,是用以创建该等待列表并截获使用者对该扩充前独立磁盘的冗余阵列的一请求;以及一判断与发送模组,是用以判断该扩充前独立磁盘的冗余阵列是否处于扩充中,当该扩充前独立磁盘的冗余阵列没有进行扩充时,将该请求发送至该扩充前独立磁盘的冗余阵列,否则,依照该请求的开始位址和长度计算出该请求的终止位址,判断该请求的终止位址与当前迁移单元的开始位址、该请求的开始位址与当前迁移单元的终止位址的关系,依照判断结果发送该请求至相应位置。
本发明的目的及解决其技术问题还采用以下技术方案来实现。依据本发明提出的一种独立磁盘的冗余阵列(RAID)的扩充方法,是用以通过新增复数个驱动器,将一个RAID中的驱动器数量由N个扩充至M个,该方法包括以下步骤:接收一包含所述各新增的驱动器名称、新增的驱动器数目、新增的驱动器资讯、扩充速度的上限以及迁移单元的大小的扩充资讯;分配该扩充资讯并将该扩充资讯写入该扩充前独立磁盘的冗余阵列的超级区块,且创建一记录请求位址与该扩充前独立磁盘的冗余阵列的一当前迁移单元位址冲突的请求资讯的等待列表;将该扩充前独立磁盘的冗余阵列与所述各新增的驱动器构造成一无须同步操作的临时独立磁盘的冗余阵列;读取该等待列表记录的请求资讯并执行相应操作,依照该扩充资讯以迁移单元为单位迁移该扩充前独立磁盘的冗余阵列的资料至该临时独立磁盘的冗余阵列;并在资料迁移过程中处理使用者对该扩充前独立磁盘的冗余阵列的输入/输出请求;以及在资料迁移完毕后,调整该扩充前独立磁盘的冗余阵列的结构为该扩充后独立磁盘的冗余阵列的结构,并释放该临时独立磁盘的冗余阵列。
本发明的目的及解决其技术问题还采用以下技术措施来进一步实现。
前述的独立磁盘的冗余阵列的扩充方法,其中所述的读取该请求列表并执行相应操作,依照该扩充资讯以迁移单元为单位迁移该扩充前独立磁盘的冗余阵列的资料至该临时独立磁盘的冗余阵列的步骤,其还进一步包括:读取该等待列表记录的请求资讯与该扩充前独立磁盘的冗余阵列的超级区块的扩充资讯;依照读取的请求资讯判断该当前迁移单元是否存在未处理的请求,当存在未处理的请求时,处理请求;依照读取的扩充资讯读取该扩充前独立磁盘的冗余阵列的当前迁移单元的资料,并在读取成功后计算当前迁移单元的资料的校验值;以及将读取的资料以及计算的校验值写入该临时独立磁盘的冗余阵列,更新该扩充前独立磁盘的冗余阵列的超级区块的扩充资讯。
前述的独立磁盘的冗余阵列的扩充方法,其中所述的在资料迁移过程中处理使用者对该扩充前独立磁盘的冗余阵列的输入/输出请求的步骤,其还进一步包括:(a)、截获使用者对该扩充前独立磁盘的冗余阵列的一请求;(b)、判断该扩充前独立磁盘的冗余阵列是否处于扩充中,当该扩充前独立磁盘的冗余阵列没有进行扩充时,将该请求发送至该扩充前独立磁盘的冗余阵列,否则,执行步骤(c);(c)、依照该请求的开始位址和长度计算出该请求的终止位址;(d)、判断该请求的终止位址是否小于当前迁移单元的开始位址,当该请求的终止位址小于当前迁移单元的开始位址时,将该请求发送至该临时独立磁盘的冗余阵列,否则,执行步骤(e);以及(e)、判断该请求的开始位址是否大于当前迁移单元的终止位址,当该请求的开始位址大于当前迁移单元的终止位址时,将该请求发送至该扩充前独立磁盘的冗余阵列,否则,将该请求加入该等待列表。
本发明与现有技术相比具有明显的优点和有益效果。由以上技术方案可知,本发明的主要技术内容如下:
为了达到上述目的,本发明提供了一种独立磁盘的冗余阵列(RAID)的扩充***,其包括:资讯管理模组,是用以接收包含每一个新增的驱动器名称、新增的驱动器数目、新增的驱动器资讯、扩充速度的上限以及迁移单元的大小的扩充资讯,分配扩充资讯并将扩充资讯写入扩充前RAID的超级区块;构造模组,是用以将扩充前RAID与新增的驱动器构造成一个无须同步操作的临时RAID,并调整扩充前RAID的结构为扩充后RAID的结构,且释放临时RAID;资料迁移模组,是用以依照扩充前RAID的超级区块的扩充资讯以迁移单元为单位迁移扩充前RAID的资料至临时RAID;以及访问控制模组,是用以创建一个记录请求位址与扩充前RAID的当前迁移单元位址冲突的请求资讯的等待列表,并在扩充前RAID在扩充过程中处理使用者对扩充前RAID的输入/输出请求。
另外,为了达到上述目的,本发明还提供了一种独立磁盘的冗余阵列(RAID)的扩充方法,包括以下步骤:接收包含每一个新增的驱动器名称、新增的驱动器数目、新增的驱动器资讯、扩充速度的上限以及迁移单元的大小的扩充资讯;分配扩充资讯并将扩充资讯写入扩充前RAID的超级区块且创建一个记录请求位址与扩充前RAID的当前迁移单元位址冲突的请求资讯的等待列表;将扩充前RAID与新增的驱动器构造成一个无须同步操作的临时RAID;读取等待列表记录的请求资讯并执行相应操作,依照扩充资讯以迁移单元为单位迁移扩充前RAID的资料至临时RAID,并在资料迁移过程中处理使用者对扩充前RAID的输入/输出请求;以及在资料迁移完毕后,调整扩充前RAID的结构为扩充后RAID的结构并释放临时RAID。
借由上述技术方案,本发明独立磁盘的冗余阵列(RAID)的扩充***及其方法至少具有下列的优点:本发明可以实现软件的磁盘阵列线上扩充功能,而可方便于使用者对扩充的管理,消除了一些利用硬件进行磁盘阵列线上扩充的限制,非常适于实用。
综上所述,本发明是有关于一种独立磁盘的冗余阵列(RAID)的扩充***及其方法,是用以通过新增复数个驱动器,将一个RAID中的驱动器数量由N个扩充至M个。本发明首先将扩充前RAID与复数个新增的驱动器构造成一个不需要同步操作的临时RAID,接着将扩充前RAID的资料迁移至临时RAID,并在扩充前RAID的资料迁移过程中处理使用者的输入/输出请求。当资料迁移完毕后,调整扩充前RAID的结构为扩充后RAID的结构并释放临时RAID。本发明通过新增复数个驱动器,将一个RAID中的驱动器数量由N个扩充至M个,实现了软件的磁盘阵列线上扩充功能,方便于使用者对扩充的管理,消除了一些利用硬件进行磁盘阵列线上扩充的限制。其具有上述诸多优点及实用价值,不论在产品结构、方法或功能上皆有较大改进,在技术上有较大进步,并产生了好用及实用的效果,且较现有的扩容***及其方法具有增进的多项功效,从而更加适于实用,而具有产业广泛利用价值,诚为一新颖、进步、实用的新设计。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1是本发明的独立磁盘的冗余阵列(RAID)的扩充***的方块图。
图2是本发明的独立磁盘的冗余阵列(RAID)的扩充方法的流程图。
图3是本发明的资料迁移的方法流程图。
图4是本发明的访问控制的方法流程图。
10:资讯管理模组 20:资料迁移模组
21:资讯读取模组 22:检查与处理模组
23:资料读取与计算模组 24:写入模组
30:等待列表 E1:扩充前RAID
E2:临时RAID E3:扩充后RAID
70:访问控制模组 71:命令截获与创建模组
72:判断与发送模组 80:构造模组
S200:接收包含各新增的驱动器名称、新增的驱动器数目、新增的驱动器资讯、扩充速度的上限以及迁移单元的大小的扩充资讯
S210:分配扩充资讯并将扩充资讯写入扩充前RAID的超级区块且创建一个记录请求位址与扩充前RAID的当前迁移单元位址冲突的请求资讯的等待列表
S220:将扩充前RAID与各新增的驱动器构造成一个无须同步操作的临时RAID
S230:读取等待列表记录的请求资讯并执行相应操作,依照扩充资讯以迁移单元为单位迁移扩充前RAID的资料至临时RAID,并在资料迁移过程中处理使用者对扩充前RAID的输入/输出请求
S240:在资料迁移完毕后,调整扩充前RAID的结构为扩充后RAID的结构并释放临时RAID
S300:读取等待列表记录的请求资讯与扩充前RAID的超级区块的扩充资讯
S310:依照读取的请求资讯判断当前迁移单元是否存在未处理的请求
S320:处理请求
S330:依照读取的扩充资讯读取扩充前RAID的当前迁移单元的资料,并在读取成功后计算当前迁移单元的资料的校验值
S340:将读取的资料以及计算的校验值写入临时RAID,更新扩充前RAID的超级区块的扩充资讯
S400:截获使用者对扩充前RAID的请求
S410:判断扩充前RAID是否处于扩充中
S420:将请求发送至扩充前RAID
S430:依照请求的开始位址和长度计算出请求的终止位址
S440:请求的终止位址是否小于当前迁移单元的开始位址
S450:将请求发送至临时RAID
S460:请求的开始位址是否大于当前迁移单元的终止位址
S470:将请求发送至扩充前RAID
S480:将请求加入等待列表
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的独立磁盘的冗余阵列(RAID)的扩充***及其方法其具体实施方式、结构、方法、步骤、特征及其功效,详细说明如后。
请参阅图1所示,是本发明的独立磁盘的冗余阵列(RAID)的扩充***的方块图,图中表示了本发明的***的方块***,是用以通过新增复数个驱动器,将一个RAID中的驱动器数量由N个扩充至M个,本发明较佳实施例的独立磁盘的冗余阵列(RAID)的扩充***,其包括:资讯管理模组10;构造模组80;资料迁移模组20,其进一步包括资讯读取模组21、检查与处理模组22、资料读取与计算模组23以及写入模组24;访问控制模组70,其进一步包括命令截获与创建模组71与判断与发送模组72。
提供7×24小时服务的伺服器(图中未示),包含一个扩充前(如,三个硬盘)RAID E1,运行一段时间后,当使用者需要将扩充前RAID E1扩充至扩充后(如,五个硬盘)RAID E3时,使用者通过资讯管理模组10的介面输入包含每一个新增的驱动器名称、新增的驱动器数目、新增的驱动器资讯、扩充速度的上限以及迁移单元的大小的扩充资讯。
该资讯管理模组10,将接收的扩充资讯分配至资料迁移控制资讯结构中,并将扩充资讯写入扩充前RAID E1的超级区块。构造模组80将扩充前RAID E1与新增的驱动器依照原来的构造方式(如,RAID5)构造成一个不需要同步操作的临时RAID E2。访问控制模组70的命令截获与创建模组71在伺服器创建一个记录请求位址与扩充前RAID E1的当前迁移单元位址冲突的请求资讯的等待列表30。
该资料迁移模组20的资讯读取模组21,读取等待列表30记录的请求资讯,并读取扩充前RAID E1的超级区块的扩充资讯,以确定扩充前RAID E1的当前迁移单元的位址、迁移单元的大小。
该检查与处理模组22,依照资讯读取模组21读取的请求资讯,判断当前迁移单元是否存在未处理的输入/输出请求,当存在未处理的请求时,处理输入/输出请求,并在请求处理完毕后发送一个讯息至资料读取与计算模组23。
该资料读取与计算模组23,用以读取扩充前RAID E1的当前迁移单元的资料,并在资料读取成功后计算当前迁移单元的资料在临时RAID E2的校验值。
该写入模组24,用以将资料读取与计算模组23读取的资料与计算的校验值写入临时RAID E2,并在资料写入完毕后更新扩充前RAID E1的超级区块的扩充资讯。
该访问控制模组70,用以在扩充前RAID E1进行扩充时处理使用者对扩充前RAID E1的输入/输出请求。
该命令截获与创建模组71,用以截获使用者的请求,并将请求发送给判断与发送模组72。
该判断与发送模组72,首先判断扩充前RAID E1是否已开始扩充,当扩充前RAID E1没有进行扩充时,直接将请求发送至扩充前RAID E1。当扩充前RAID E1已经开始扩充时,依照请求的开始位址与长度计算请求的终止位址,判断请求的终止位址是否小于扩充前RAID E1的当前迁移单元的开始位址。当请求的终止位址小于当前迁移单元的开始位址时,将请求发送至临时RAID E2。当请求的终止位址大于当前迁移单元的开始位址时,判断请求的开始位址是否大于当前迁移单元的终止位址,当请求的开始位址大于当前迁移单元的终止位址时,将请求发送至扩充前RAID E1,否则,将请求加入等待列表30。
该构造模组80,在扩充前RAID E1的资料迁移至临时RAID E2完毕之后,调整扩充前RAID E1的结构为扩充后RAID E3的结构,并释放临时RAIDE2。
请参阅图2、图3以及图4所示,图2是本发明的独立磁盘的冗余阵列(RAID)的扩充方法的流程图,图3是本发明的资料迁移的方法流程图,图4是本发明的访问控制的方法流程图。
如图2所示,本发明的独立磁盘的冗余阵列(RAID)的扩充方法,其包括以下步骤:
首先,接收使用者输入的包含每一个新增的驱动器名称、新增的驱动器数目、新增的驱动器资讯、扩充速度的上限以及迁移单元的大小的扩充资讯(S200);将接收的扩充资讯分配至资料迁移控制资讯结构并将扩充资讯写入扩充前RAID E1的超级区块,且创建一个记录请求位址与扩充前RAIDE1的当前迁移单元位址冲突的请求资讯的等待列表30(S210)。
接着,将扩充前RAID E1与新增的驱动器构造成一个无须同步操作的临时RAID E2(S220)。读取等待列表30记录的请求资讯并执行相应操作,依照扩充资讯以迁移单元为单位迁移扩充前RAID E1的资料至临时RAID E2,并在资料迁移过程中处理使用者对扩充前RAID E1的输入/输出请求(S230)。
其中,如图3所示,读取等待列表30并执行相应操作,依照扩充资讯以迁移单元为单位迁移扩充前RAID E1的资料至临时RAID E2的步骤,其进一步包括以下步骤
读取等待列表30记录的请求资讯与扩充前RAID E1的超级区块的扩充资讯(S300);依照读取的请求资讯判断扩充前RAID E1的当前迁移单元是否存在未处理的请求(S310)。当存在未处理的请求时,处理当前迁移单元的请求(S320)。处理完毕后,读取扩充前RAID E1的当前迁移单元的资料,并在读取成功后计算当前迁移单元的资料在临时RAID E2的校验值(S330)。读取成功后,将读取的资料以及计算的校验值写入临时RAID E2,并更新扩充前RAID E1的超级区块的扩充资讯(S340)。
而且,如图4所示,在资料迁移过程中处理使用者对扩充前RAID E1的输入/输出请求,其进一步包括以下步骤:
截获使用者对扩充前RAID E1的输入/输出请求(S400);判断扩充前RAID E1是否处于扩充中(S410);当扩充前RAID E1没有扩充时,直接将请求发送至扩充前RAID E1(S420)。否则,依照请求的开始位址和长度计算出请求的终止位址(S430)。判断请求的终止位址是否小于当前迁移单元的开始位址(S440);当请求的终止位址小于当前迁移单元的开始位址时,将请求发送至临时RAID E2(S450)。否则,进而判断请求的开始位址是否大于当前迁移单元的终止位址(S460);当请求的开始位址大于当前迁移单元的终止位址时,将请求发送至扩充前RAID E1(S470)。否则,将请求加入等待列表30(S480)。
最后,当扩充前RAID E1的资料全部迁移至临时RAID E2时,调整扩充前RAID E1的结构为扩充后RAID E3的结构,并释放临时RAID E2(S240)(如图2所示)。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但是凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (6)
1、一种独立磁盘的冗余阵列(RAID)的扩充***,是用以通过新增复数个驱动器,将一个RAID中的驱动器数量由N个扩充至M个,其特征在于该***包括:
一资讯管理模组,是用以接收一包含所述各新增的驱动器名称、新增的驱动器数目、新增的驱动器资讯、扩充速度的上限以及迁移单元的大小的扩充资讯,分配该扩充资讯并将该扩充资讯写入该扩充前独立磁盘的冗余阵列的超级区块;
一构造模组,是用以将该扩充前独立磁盘的冗余阵列与所述各新增的驱动器构造成一无须同步操作的临时独立磁盘的冗余阵列,并调整该扩充前独立磁盘的冗余阵列的结构为该扩充后独立磁盘的冗余阵列的结构,且释放该临时独立磁盘的冗余阵列;
一资料迁移模组,是用以依照该扩充前独立磁盘的冗余阵列的超级区块的扩充资讯以迁移单元为单位迁移该扩充前独立磁盘的冗余阵列的资料至该临时独立磁盘的冗余阵列;以及
一访问控制模组,是用以创建一记录请求位址与该扩充前独立磁盘的冗余阵列的一当前迁移单元位址冲突的请求资讯的等待列表,并在该扩充前独立磁盘的冗余阵列在扩充过程中处理使用者对该扩充前独立磁盘的冗余阵列的输入/输出请求。
2、根据权利要求1所述的独立磁盘的冗余阵列的扩充***,其特征在于其中所述的资料迁移模组进一步包括
一资讯读取模组,是用以读取该等待列表记录的请求资讯与该扩充前独立磁盘的冗余阵列的超级区块的扩充资讯;
一检查与处理模组,是用以依照该资讯读取模组读取的请求资讯判断该扩充前独立磁盘的冗余阵列的当前迁移单元是否存在未处理的请求,当存在未处理的请求时,处理请求;
一资料读取与计算模组,是用以读取该扩充前独立磁盘的冗余阵列的当前迁移单元的资料,并在读取成功之后计算当前迁移单元的资料的校验值;以及
一写入模组,是用以将该资料读取与计算模组读取的资料以及计算的校验值写入该临时独立磁盘的冗余阵列,并更新该扩充前独立磁盘的冗余阵列的超级区块的扩充资讯。
3、根据权利要求1所述的独立磁盘的冗余阵列的扩充***,其特征在于其中所述的访问控制模组进一步包括
一命令截获与创建模组,是用以创建该等待列表并截获使用者对该扩充前独立磁盘的冗余阵列的一请求;以及
一判断与发送模组,是用以判断该扩充前独立磁盘的冗余阵列是否处于扩充中,当该扩充前独立磁盘的冗余阵列没有进行扩充时,将该请求发送至该扩充前独立磁盘的冗余阵列,否则,依照该请求的开始位址和长度计算出该请求的终止位址,判断该请求的终止位址与当前迁移单元的开始位址、该请求的开始位址与当前迁移单元的终止位址的关系,依照判断结果发送该请求至相应位置。
4、一种独立磁盘的冗余阵列(RAID)的扩充方法,是用以通过新增复数个驱动器,将一个RAID中的驱动器数量由N个扩充至M个,其特征在于该方法包括以下步骤:
接收一包含所述各新增的驱动器名称、新增的驱动器数目、新增的驱动器资讯、扩充速度的上限以及迁移单元的大小的扩充资讯;
分配该扩充资讯并将该扩充资讯写入该扩充前独立磁盘的冗余阵列的超级区块,且创建一记录请求位址与该扩充前独立磁盘的冗余阵列的一当前迁移单元位址冲突的请求资讯的等待列表;
将该扩充前独立磁盘的冗余阵列与所述各新增的驱动器构造成一无须同步操作的临时独立磁盘的冗余阵列;
读取该等待列表记录的请求资讯并执行相应操作,依照该扩充资讯以迁移单元为单位迁移该扩充前独立磁盘的冗余阵列的资料至该临时独立磁盘的冗余阵列,并在资料迁移过程中处理使用者对该扩充前独立磁盘的冗余阵列的输入/输出请求;以及
在资料迁移完毕后,调整该扩充前独立磁盘的冗余阵列的结构为该扩充后独立磁盘的冗余阵列的结构,并释放该临时独立磁盘的冗余阵列。
5、根据权利要求4所述的独立磁盘的冗余阵列的扩充方法,其特征在于其中所述的读取该请求列表并执行相应操作,依照该扩充资讯以迁移单元为单位迁移该扩充前独立磁盘的冗余阵列的资料至该临时独立磁盘的冗余阵列的步骤,其进一步包括:
读取该等待列表记录的请求资讯与该扩充前独立磁盘的冗余阵列的超级区块的扩充资讯;
依照读取的请求资讯判断该当前迁移单元是否存在未处理的请求,当存在未处理的请求时,处理请求;
依照读取的扩充资讯读取该扩充前独立磁盘的冗余阵列的当前迁移单元的资料,并在读取成功后计算当前迁移单元的资料的校验值;以及
将读取的资料以及计算的校验值写入该临时独立磁盘的冗余阵列,更新该扩充前独立磁盘的冗余阵列的超级区块的扩充资讯。
6、根据权利要求4所述的独立磁盘的冗余阵列的扩充方法,其特征在于其中所述的在资料迁移过程中处理使用者对该扩充前独立磁盘的冗余阵列的输入/输出请求的步骤,其进一步包括:
(a)、截获使用者对该扩充前独立磁盘的冗余阵列的一请求;
(b)、判断该扩充前独立磁盘的冗余阵列是否处于扩充中,当该扩充前独立磁盘的冗余阵列没有进行扩充时,将该请求发送至该扩充前独立磁盘的冗余阵列,否则,执行步骤(c);
(c)、依照该请求的开始位址和长度计算出该请求的终止位址;
(d)、判断该请求的终止位址是否小于当前迁移单元的开始位址,当该请求的终止位址小于当前迁移单元的开始位址时,将该请求发送至该临时独立磁盘的冗余阵列,否则,执行步骤(e);以及
(e)、判断该请求的开始位址是否大于当前迁移单元的终止位址,当该请求的开始位址大于当前迁移单元的终止位址时,将该请求发送至该扩充前独立磁盘的冗余阵列,否则,将该请求加入该等待列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100974777A CN100403247C (zh) | 2005-12-28 | 2005-12-28 | 独立磁盘的冗余阵列的扩充***及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100974777A CN100403247C (zh) | 2005-12-28 | 2005-12-28 | 独立磁盘的冗余阵列的扩充***及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1991730A true CN1991730A (zh) | 2007-07-04 |
CN100403247C CN100403247C (zh) | 2008-07-16 |
Family
ID=38214012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100974777A Expired - Fee Related CN100403247C (zh) | 2005-12-28 | 2005-12-28 | 独立磁盘的冗余阵列的扩充***及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100403247C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019956A (zh) * | 2012-10-23 | 2013-04-03 | 北京奇虎科技有限公司 | 一种对缓存数据的操作方法和装置 |
CN105408867A (zh) * | 2013-07-24 | 2016-03-16 | 西部数据技术公司 | 在添加第二引导驱动器时自动raid镜像 |
CN116185311A (zh) * | 2023-04-27 | 2023-05-30 | 苏州浪潮智能科技有限公司 | 独立磁盘冗余阵列的升级迁移方法、降级迁移方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681307B1 (en) * | 2000-11-27 | 2004-01-20 | Lsi Logic Corporation | Method and system for expanding volume capacity |
JP2005011208A (ja) * | 2003-06-20 | 2005-01-13 | Hitachi Ltd | ボリュームサイズ変更装置および変更方法 |
TWI288400B (en) * | 2003-12-15 | 2007-10-11 | Promise Technology Inc | Method of RAID expansion |
-
2005
- 2005-12-28 CN CNB2005100974777A patent/CN100403247C/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019956A (zh) * | 2012-10-23 | 2013-04-03 | 北京奇虎科技有限公司 | 一种对缓存数据的操作方法和装置 |
CN103019956B (zh) * | 2012-10-23 | 2015-11-25 | 北京奇虎科技有限公司 | 一种对缓存数据的操作方法和装置 |
CN105408867A (zh) * | 2013-07-24 | 2016-03-16 | 西部数据技术公司 | 在添加第二引导驱动器时自动raid镜像 |
CN116185311A (zh) * | 2023-04-27 | 2023-05-30 | 苏州浪潮智能科技有限公司 | 独立磁盘冗余阵列的升级迁移方法、降级迁移方法及装置 |
CN116185311B (zh) * | 2023-04-27 | 2023-08-08 | 苏州浪潮智能科技有限公司 | 独立磁盘冗余阵列的升级迁移方法、降级迁移方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100403247C (zh) | 2008-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103186350B (zh) | 混合存储***及热点数据块的迁移方法 | |
CN1725171A (zh) | 输入输出调适性写入快取政策调整作业 | |
US9135262B2 (en) | Systems and methods for parallel batch processing of write transactions | |
CN1404587A (zh) | 使用虚拟驱动的分区的再生成方法、数据处理装置和数据存储装置 | |
CN101815989A (zh) | 获取和命名动态存储分层配置以支持数据预登台 | |
CN101042654A (zh) | 从一非就地执行内存进行开机的方法与装置 | |
CN1851635A (zh) | 对廉价磁盘冗余阵列进行读写操作的方法和*** | |
CN1815455A (zh) | 储存***及其不良储存装置资料维持方法 | |
CN1748198A (zh) | 存储装置和信息处理*** | |
US8037332B2 (en) | Quad-state power-saving virtual storage controller | |
US20200341873A1 (en) | Data access method, apparatus and computer program product | |
WO2021139166A1 (zh) | 基于三维闪存存储结构的错误页识别方法 | |
CN1545030A (zh) | 基于磁盘特征的数据分布动态映射的方法 | |
CN101079007A (zh) | 将存储卷呈现为虚拟卷的装置、***和方法 | |
CN1889030A (zh) | 模拟硬盘的装置及其方法 | |
CN1684049A (zh) | 信息存储装置,信息存储方法以及信息存储处理程序产品 | |
CN1808365A (zh) | 磁盘冗余阵列设备的自动重建方法 | |
CN1991730A (zh) | 独立磁盘的冗余阵列的扩充***及其方法 | |
CN1253791C (zh) | 5级独立冗余磁盘阵列中多盘失败情况下的读写操作方法 | |
CN1829230A (zh) | 一种智能网络磁盘存储***及其实现方法 | |
CN1110754C (zh) | 计算机硬盘数据复制方法及*** | |
CN1254735C (zh) | 用于减少碎片的方法 | |
CN1945519A (zh) | 存储控制设备以及存储控制方法 | |
CN1303530C (zh) | 存储管理设备和存储管理方法 | |
CN1093964C (zh) | 输入/输出装置的检查点恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080716 Termination date: 20151228 |
|
EXPY | Termination of patent right or utility model |