CN1312570C - 进行硬盘阵列数据迁移的方法及相关装置 - Google Patents

进行硬盘阵列数据迁移的方法及相关装置 Download PDF

Info

Publication number
CN1312570C
CN1312570C CNB2004100562768A CN200410056276A CN1312570C CN 1312570 C CN1312570 C CN 1312570C CN B2004100562768 A CNB2004100562768 A CN B2004100562768A CN 200410056276 A CN200410056276 A CN 200410056276A CN 1312570 C CN1312570 C CN 1312570C
Authority
CN
China
Prior art keywords
data
hard disk
read
write
subdata
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.)
Active
Application number
CNB2004100562768A
Other languages
English (en)
Other versions
CN1588299A (zh
Inventor
李勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Priority to CNB2004100562768A priority Critical patent/CN1312570C/zh
Publication of CN1588299A publication Critical patent/CN1588299A/zh
Application granted granted Critical
Publication of CN1312570C publication Critical patent/CN1312570C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种进行数据迁移的方法及相关装置,以将数据由来源硬盘中读取出来并重新写入至一硬盘阵列的各个硬盘中。本发明先由来源硬盘中持续进行数据读取,直到累积读取的数据能在均分为各批子数据后使各子数据的数据大小不小于一写入极值,才将各批子数据写入至该硬盘阵列中的各硬盘。这样一来,本发明就能充分利用每一次进行硬盘阵列写入的机会,使得每一次进行硬盘阵列写入时均可写入较多的数据,减少写入控制所造成的系统资源消耗。

Description

进行硬盘阵列数据迁移的方法及相关装置
技术领域
本发明提供一种进行硬盘阵列数据迁移的方法及相关装置,特别指一种能减少写入指令控制次数以提升数据迁移效能的数据迁移方法及相关装置。
背景技术
计算机系统能协助使用者管理、运算、存取大量的资料、数据及音像文件,已成为现代信息社会最重要的硬件基础之一;而现代的信息业者也致力于研发各种技术,以使计算机系统能更快速、更正确地存取更多的资料、数据。
近年来,随着硬盘的成本降低、容量升高,现代的计算机系统中已可设置多个硬盘,并利用各种不同的数据结构来将这些硬盘综合为一整个硬盘阵列。举例来说,在冗余廉价硬盘阵列(RAID,Redundant array of inexpensivedisks)的等级0、2、3、4、5(即RAID 0、RAID 2至RAID 5)等的数据结构下,要存入至硬盘阵列的数据会以交错划分(stripe)的方式分割为多组子数据,各组子数据再同时被分别存入(写入)至硬盘阵列的不同硬盘中。同理,当该批数据要由硬盘阵列读取出来时,则硬盘阵列中的不同硬盘会分别将其存储的子数据读出,再组合出原来的那批数据。经由对硬盘阵列的各硬盘同时进行并行的数据存取,硬盘阵列就能提供较高的数据存取效能。
不过,由于硬盘阵列的硬件设有成本较高,现行的计算机系统在出厂时多半都还是只设有一个硬盘,若使用者有个别的需要,才会在计算机系统中加装其他的硬盘以升级实现出效能较高的硬盘阵列。或者,使用者的计算机系统中已经有一个硬盘阵列,但随数据量的增长,使用者也可能会在硬盘阵列中额外添购新的硬盘,以将原本硬盘数目较少的硬盘阵列升级为硬盘数目较多的硬盘阵列。在将硬盘阵列升级时,使用者就可能要进行数据迁移(dataemigration),以将原来的硬盘(硬盘阵列)中的数据读出,再依升级后硬盘阵列的数据结构,将数据重新回存至升级后的硬盘阵列。
请参考图1。图1为常规技术中进行数据迁移时的指令流程示意图。举例来说,假设某一计算机系统的使用者本来只有单一硬盘A,但使用者在该计算机系统中增添了一个硬盘B,并要以硬盘A及硬盘B组合出一个硬盘阵列,如RAID 0的硬盘阵列。在该情形下,使用者就会进行数据迁移,以将原本存储于硬盘A的数据读取出来(也就是将硬盘A当作是数据来源硬盘),再依照硬盘阵列的数据结构将这些数据存储至硬盘阵列中。当然,如熟悉技术人士所知,计算机系统要操作硬盘进行存取时,会通过芯片组中的硬盘控制器或是硬盘阵列控制器来对各硬盘发出读取或写入数据的指令,如ATA(先进连接技术,Advanced Technology Attachment)规格下的指令,以控制各硬盘对应地进行读取或写入。在这些读取或写入数据的指令中,会指示硬盘要到其存储空间的哪些区域中存取多少位组的数据。一般来说,在单一读取或写入数据的指令中,其所能要求存取的数据大小有一极大值。举例来说,像ATA规格下的一个读取入指令,最多可控制硬盘于指定的区域中读取出128K位组的数据。同理,单一写入指令则最多可控制一硬盘于指定的区域中写入128K位组的数据;换句话说,单一写入指令的数据写入极值即为128K位组。而图1中所表示的,就是以常规技术进行数据迁移时对各硬盘发出读取或写入指令的控制流程。
如图1所示,当常规技术要开始进行数据迁移时,常规计算机系统就会先向硬盘A发出一个读取的指令102,以控制硬盘A由硬盘A中读出128K位组的数据。如前面提到过的,要在硬盘A、B形成的硬盘阵列中实现并行存取的硬盘阵列数据结构,存入至该硬盘阵列的数据会被划分为两组子数据,再分别被写入至硬盘A及硬盘B中。故图1的常规技术中就会根据指令102中读取出来的数据划分出两组各64K位组的子数据,并同时向硬盘A、硬盘B分别发出指令104A、104B,以将这两组64K位组的子数据分别写入(存储)至硬盘A及硬盘B。
在指令104A、104B之后,常规技术又会对硬盘A发出指令106,以将硬盘A中次一128K位组的数据读出,同样在进行必要的数据划分及处理后产生各64K位组的子数据,再以64K位组的写入指令108A、108B将这两组64K的子数据分别写入至硬盘A及硬盘B。持续地重复上述“128K读取、64K-64K写入、128K读取、64K-64K写入”的控制指令,常规技术就能依序对所有待迁移的数据完成数据迁移。
然而,上述的常规技术也有效能不佳的缺点。如前面提到过的,现行技术的硬盘读取、写入指令最多可在单一指令中指定128K位组数据的存取。故常规技术会在指令102、106中以128K位组的读取指令由硬盘A中读出数据,以在单一指令中指示硬盘A尽量读取出最多的数据。不过,在取得128K位组的数据后,为了符合硬盘阵列的数据结构,常规技术随即会以64K位组的两个写入指令来分别将64K位组的子数据写入至硬盘A及硬盘B;但是,单一写入指令其实最多可控制一硬盘写入128K位组的数据,而常规技术也就因此无法充分利用单一写入指令所能运用的数据大小极值。
一般来说,当要将一文件(譬如说是1024K位组的文件)写入至硬盘时,若在每一次发出写入指令时均指示硬盘写入较多的数据,那只要用比较少的写入指令就可将该文件完全写入至硬盘中;相对地,若每一次发出写入指令时都只能控制各硬盘写入较少的数据,则势必要频繁地发出较多个写入指令,才能将同一文件完全写入至硬盘中。而每一次计算机系统要对硬盘发出指令时都要消耗相当的系统资源,故越多的写入指令,就会消耗越多的系统资源。而图1中的常规数据迁移技术,就会因为每一写入指令所指定的数据太少而需要进行较多次的数据写入,并消耗较多的系统资源,导致数据迁移的效率不佳。
发明内容
因此,本发明的主要目的,即在于提出一能提高数据迁移效能的方法与相关装置,其可充分利用每一次向各硬盘发出写入指令的机会使硬盘写入较多(最多)的数据,以提升数据迁移的效能,克服常规技术的缺点。
在以本发明的技术进行数据迁移时,先持续向数据来源硬盘/硬盘阵列发出读取指令,等到累积读取的数据所划分出来的子数据能符合单一写入指令的数据写入极值,才实际对各硬盘发出写入指令。这样一来,本发明就能充分利用每一次发出写入指令的机会,控制各硬盘写入较多(最多)的数据,以减少写入指令发出的次数,增进数据迁移的效能。
举例来说,当使用者要将一硬盘A的数据迁移至硬盘A、硬盘B所组成的RAID 0硬盘阵列中时,本发明会先向硬盘A发出两次128K位组的读取指令以取得256K位组的数据,而这256K位组的数据就可依硬盘阵列数据划分的结构而用两个128K位组的写入指令将这两个128K位组的数据分别写入至硬盘A及硬盘B中。换句话说,同样要将256K位组的数据由一个硬盘迁移两个硬盘的硬盘阵列中,本发明仅需分三次依序发出128K读取指令、128K读取指令及两个同时发出的128K写入指令。相较之下,图1中的常规技术则要分四次依序发出128K读取指令、两个64K写入指令、128K读取指令、两个64K写入指令等六个指令,才能同样地完成256K位组的数据迁移。由于本发明在数据迁移过程中所需发出的写入指令较少,也因此,本发明能以较高的效能完成数据迁移。
附图说明
图1为常规技术进行数据迁移时相关硬盘控制指令的流程示意图。
图2为本发明计算机系统一实施例的功能方块示意图。
图3为图2中计算机系统进行数据迁移的流程示意图。
图4为图3中流程进行时相关硬盘控制指令的流程示意图。
图5为图2中计算机系统在另一实施例中进行数据迁移的流程示意图。
附图符号说明
10:计算机系统                  12:中央处理器
14:芯片组                      16:控制器
18:存储器                      20:迁移程序
22A:数据读取程序               22B:缓冲程序
22C:判断程序                   22D:写入程序
102-108B、302-306B:指令        200、400:流程
202-214、402-414:步骤          HD(1)-HD(N):硬盘
具体实施方式
请参考图2;图2为本发明计算机系统10一实施例的示意图。计算机系统10中设有一中央处理器12、一芯片组14、一存储器18、一控制器16及各个非易失性的存储装置HD(1)至HD(N)。中央处理器12用来主控计算机系统10的运作,负责资料、数据的处理及程序的执行;作为系统存储器的存储器18可以是动态随机存取存储器,用来存储中央处理器12运作期间所需要的数据、数据或程序。芯片组14电连接到中央处理器12、存储器18及控制器16的间,用来管理这些电路间的数据交换。存储装置HD(1)至HD(N)可以是硬盘,控制器16则可以是一硬盘控制器或是一硬盘阵列控制器,通过总线(如ATA、serial ATA或是SCSI的总线,其中ATA为Advanced TechnologyAttachment,SCSI为Small Computer System Interface)所形成的通道(channel)而电连接到各硬盘HD(1)至HD(N),以便向各硬盘发出读取或写入的指令,控制各硬盘将数据读取出来或写入至硬盘内,并将这些硬盘综合为一硬盘阵列。控制器16可以是综合于芯片组中的智能型硬盘电子(IDE,Intelligent Drive Electronic)控制器,或是以附插卡形式通过周边互连(PCI,Peripheral Communication Interconnect)总线电连接到芯片组14的硬盘阵列控制器。
在计算机系统10中,本发明的数据迁移技术可以用迁移程序20来以软体方式实现。迁移程序20中设有一数据读取程序22A、一缓冲程序22B、一判断程序22C及一写入程序22D。当使用者进行数据迁移而要将数据由来源硬盘读取出来并依照硬盘阵列的数据结构而重新写入至硬盘阵列的各个硬盘时,中央处理器12就可执行迁移程序20中的各个程序以实现本发明的技术。其中,在数据读取程序22A被执行时,中央处理器12可通过芯片组14、控制器16来向数据迁移的来源硬盘发出多个读取指令;来源硬盘执行这些读取指令所读取出来的数据可通过缓冲程序22B的执行而被缓冲、存储起来(如存储在存储器18中),并加以适当的处理,如对已读取数据进行同位检查码的运算并依照硬盘阵列的数据结构而将其划分为各批子数据等。而当中央处理器12执行判断程序22C时,就可判断这些缓冲数据形成的子数据大小是否已经适合以写入指令中可容许的最大写入极值来写入至硬盘阵列的各个硬盘。若是,则中央处理器12就可通过对写入程序22D的执行,对硬盘阵列中的各个硬盘实际发出写入指令,将缓冲数据的各批子数据分别写入至各硬盘中。这样一来,本发明就可充分利用每一次向硬盘发出写入指令的机会,尽可能让硬盘阵列中的各个硬盘在每一次进行数据写入时都能较佳地写入较多(最多)的数据,以减少写入指令发出的次数,增进数据迁移的效能。
为进一步说明计算机系统10进行数据迁移时的情形,请参考图3(并一并参考图2);图3中的流程200就是本发明实施数据迁移时的流程。流程200中有下列步骤:
步骤202:开始进行数据迁移,以将数据由来源硬盘中读取出来,并依照硬盘阵列的数据结构重新存入至硬盘阵列的各个硬盘中。举例来说,原本计算机系统10中仅有一硬盘HD(1),但使用者在添购其他硬盘HD(2)至HD(N)后,希望以硬盘HD(1)至HD(N)形成一RAID 0的硬盘阵列。在综合出硬盘阵列后,使用者就可进行数据迁移,将原本存储于硬盘HD(1)的数据读取出来并重新依照RAID 0的数据结构将数据存储至硬盘阵列中。此时,硬盘HD(1)就可视为数据来源硬盘。
步骤204:对各来源硬盘发出一读取指令,将数据由来源硬盘中读出。在本发明的较佳实施例中,每一次对一来源硬盘发出一读取指令时,皆会指示该来源硬盘读取出最多的数据。以前面讨论过的ATA规格指令为例,因其对一硬盘发出的每一读取指令最多可使该硬盘读出128K位组的数据,故本发明在本步骤中,就可在各读取指令中指示来源硬盘读出128K位组的数据。另外,若有多个来源硬盘,则可在本步骤中同时向这多个来源硬盘分别发出一读取指令。
步骤206:缓冲、暂存步骤204中由各来源硬盘中读取出来的数据;若有需要,则加以适当的处理,如针对硬盘阵列的数据结构计算对应的同位检查码等,以形成对应的阵列数据,也就是要存入至硬盘阵列中的数据。
步骤208:判断步骤206中缓冲的阵列数据是否已经适合以较佳(最佳)的方式写入至硬盘阵列的各个硬盘中。若步骤206中缓冲的数据其数据量还不够多时,就马上将其划分为子数据而写入(存储)至硬盘阵列中的各个硬盘,那么每一批子数据就会小于单一写入指令所能容许的写入极值,等于是浪费了对硬盘阵列中各硬盘发出写入指令的机会。因此,若步骤206中缓冲的数据还不够多时,本发明就会重新进行至步骤204,再度由来源硬盘中继续读取数据,并在步骤206中持续累积、缓冲已读取的数据。直到这些缓冲的数据累积够多时,也就是当这些缓冲数据划分出的子数据的大小已经符合写入指令的写入极值时,本发明才会进行至步骤210。或者,当待迁移的数据已经在步骤204中被读取完毕了,也可进行至步骤210。
步骤210:对硬盘阵列中的各个硬盘同时发出写入指令,将各批子数据写入(存储)至各个硬盘。经过本发明于步骤204、206及208中的运作,在该步骤中,本发明应该能在每一个写入指令中使硬盘阵列中的各个硬盘写入较多(最多)的数据,以充分利用每一次对各硬盘发出写入指令的机会。
步骤212:若还有其他的数据需要迁移,即可回到步骤204。若否,则可进行至步骤214。
步骤214:结束数据迁移。
为更具体地说明本发明进行数据迁移的情形,请继续参考图4(并一并参考图3);图4即为本发明流程200在进行256K位组的数据迁移时,向各硬盘发出指令的情形。在图4中,假设计算机系统10中有两个硬盘HD(1)及HD(2),并且以硬盘HD(1)为来源硬盘,以将硬盘HD(1)中的数据迁移至硬盘HD(1)及HD(2)所形成的RAID 0硬盘阵列中。当迁移数据开始时,本发明会先向来源硬盘发出指令302,使其读出128K位组的数据(也就是流程200的步骤204),并将这128K位组的数据缓冲暂存起来(步骤206)。由于已读取数据仅有128K,将该数据依据两个硬盘的硬盘阵列数据结构划分为两批子数据之后,每批子数据仅64K位组,尚未达到写入指令的写入极值(也就是128K位组)。因此,本发明会在流程200中由步骤208回到步骤204,再发出另一个指令304(图3),由来源硬盘中再读取128K位组的数据。如此一来,已读取数据就会累积至256K位组(步骤206)。到了步骤208中,由于256K位组的数据在划分后可形成两批各为128K位组的子数据,已经达到每一写入指令的写入极值128K位组,故流程200就可进行至步骤210,同时向硬盘阵列中的两个硬盘发出指令306A及306B,将各128K位组的数据写入至硬盘阵列的两个硬盘中。
与图1中的常规技术相比,同样是要将256K位组的数据由一个来源硬盘中迁移至两硬盘的硬盘阵列中,本发明在图4中仅需分三次发出四个读取/写入的指令至各相关硬盘,而图1的常规技术就需要分四次发出六个读取/写入的指令至各硬盘。由此可知,本发明的确可在数据迁移过程中有效地减少读取/写入指令的数目,并减少读取/写入指令的传递、执行对计算机系统效能的负面影响,进而增进数据迁移的效能。
在进行数据迁移时,由于数据迁移的规模,如有几个来源硬盘,要迁移至几个硬盘的硬盘阵列等等,都已经是固定的,故本发明可直接根据数据迁移的规模,先计算出要向来源硬盘发出几次读取指令才能读取到足够的数据,再实际发出指令进行数据迁移。关于该情形,请参考图5(并一并参考图2);图5中的流程400即为本发明于计算机系统10中进行数据迁移的另一实施例。流程400中有下列步骤:
步骤402:开始数据迁移。
步骤403:根据数据迁移的规模决定一预设读取次数,也就是要向来源硬盘发出多少个读取指令,才能累积足够的数据(也就是足以充分利用写入指令的写入极值的数据大小)。举例来说,如果要从一个来源硬盘中将数据迁移至N个硬盘的RAID 0硬盘阵列中,则该预设读取次数可为N。因为,N个读取指令累积读出的N*128K位组的数据,就可在数据划分后形成N批128K位组的子数据,方便以128K位组的写入指令(也就是符合写入极值的写入指令)分别写入至硬盘阵列中的N个硬盘。
步骤404:类似于流程200中的步骤204,本步骤也是向每一来源硬盘同时发出一个写入指令。
步骤406:类似于步骤206,缓冲、暂存步骤404中读取得到的数据。
步骤408:判断步骤404累积进行的次数是否已经符合步骤403中算出的预设读取次数。若否,则回到步骤404重复进行,直到步骤404、406累积进行的次数已经到达预设读取次数(或所有待迁移数据均已被读取出来),再进行至步骤410。
步骤410:类似于图3中的步骤210,向各个硬盘阵列中的硬盘实际发出写入数据。在进行过步骤404、406及408后,缓冲的数据在划分为子数据后应该已经符合单一写入指令中的写入极值,而可充分利用每一次向各硬盘发出写入指令的机会,使其写入较多(最多)的数据。
步骤412:若还有待迁移的数据需要迁移,则回到步骤404中继续进行;若否,则可进行至步骤414。
步骤414:结束数据迁移。
由以上描述可知,本发明的流程400基本上是和流程200等效的,都是先由来源硬盘中持续读取数据,直到已读取的数据在划分后足以充分利用写入指令的写入极值,才实际以写入指令将数据写入至硬盘阵列中的各个硬盘。举例来说,若是要由一个来源硬盘中将数据迁移至两个硬盘的硬盘阵列中,则本发明在步骤403中就可先计算出:流程400需对来源硬盘发出两次128K位组的读取指令,才可取得足够的数据(也就是256K位组)以充分利用两个128K位组的写入指令,来将这些数据分别写入硬盘阵列中的两个硬盘。在计算出预设读取次数为二之后,就可先以两个128K位组读取指令将256K位组的数据读出,再同时以两个128K位组的写入指令将划分后的子数据写入至硬盘阵列的各个硬盘,如同图4的指令控制流程一样。在图2中,计算预设读取次数的演算法可实现于判断程序22C中,由判断程序22C的执行即可计算出步骤403中的预设读取次数,并根据该预设读取次数来进行步骤408。
除了运用于图2中的计算机系统10的外,本发明的技术精神还可广泛地运用于其他种类结构的计算机系统。举例来说,某些计算机系统中可以有多个硬盘/硬盘阵列控制器,包括内建于芯片组中的智能型硬盘电子(IDE)控制器以及以附插卡方式连接于芯片组的硬盘阵列控制器,而本发明的技术精神当然也可适用于此种计算机系统。举例来说,某计算机系统中是以智能型硬盘电子控制器来控制两个硬盘A、B而形成RAID 0的硬盘阵列,并以附插卡形式的硬盘阵列控制器来控制四个硬盘C、D、E、F而形成另一个RAID 0的硬盘阵列。当该计算机系统要以本发明的技术将数据由硬盘A、B的硬盘阵列中迁移至硬盘C至F的硬盘阵列中时,本发明就可先通过智能型硬盘电子控制器而分两次同时向来源硬盘A、B分别发出128K位组的读取指令(也就是在每一次中同时向硬盘A、B分别发出128K位组读取指令),以累积取得4*128K位组的数据。接下来就能利用附插卡形式的硬盘阵列控制器同时向硬盘C至F发出128K位组的写入指令,以充分利用每一次的写入指令,尽可能使硬盘C至F一次写入较多(最多)数据。另外,本发明也可用来将数据由光盘机(或快闪存储装置,flash memory)中迁移至硬盘阵列中。
与常规技术相比较,本发明可充分利用每一次向各硬盘发出写入指令的机会,故在数据迁移过程中,可尽量减少对各硬盘发出写入指令的次数,进而增进数据迁移的效能。举例来说,由图1及图4的比较可知,同样要将256K位组的数据由一个来源硬盘中迁移至两个硬盘的硬盘阵列,本发明仅需分三次发出四个读取/写入指令(图4),而常规技术则要分四次发出六个读取/写入指令(图1)才能达到相同的目的,故本发明可在数据迁移的过程中节省约1/4(即1-3/4)的时间与系统资源消耗,以较高的效能完成数据迁移,增进计算机系统的运作效率。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所进行的等效变化与修改,皆应属本发明的涵盖范围。

Claims (9)

1.一种于多个存储装置间进行数据迁移的方法,其包含有:
进行一数据读取,以从一存储装置中读取一第一数据;
在将该第一数据写入至该多个存储装置之前,再进行至少一次数据读取,以从至少一存储装置中读取至少一第二数据;
根据该第一数据及该第二数据产生一阵列数据;
将该阵列数据分割为多批子数据,并使各子数据的数据大小不小于一写入极值,该写入极值为一单一写入指令可写入的数据大小的极值;以及
将各批子数据分别写入至各存储装置中。
2.如权利要求1所述的方法,其中在从至少一存储装置中读取一第二数据时,从存储有该第一数据的存储装置中读取该第二数据。
3.如权利要求1所述的方法,其中该写入极值相当于该第一数据的数据大小。
4.一种于多个存储装置间进行数据迁移的方法,其包含有:
进行一数据读取,以从至少一存储装置中读取一数据;
根据该数据产生一阵列数据;
将该阵列数据分割为多批子数据;以及
进行一判断步骤,以判断各批子数据的数据大小是否小于一写入极值,该写入极值为一单一写入指令可写入的数据大小的极值;若否,则将各批子数据分别写入至各存储装置中;若是,则再度进行该数据读取以读取其他的数据,并合并各次数据读取所读取的数据据以更新该阵列数据,直到该阵列数据所分割出来的子数据不小于该写入极值,再将各批子数据分别写入至各存储装置中。
5.如权利要求4所述的方法,其中每次进行该数据读取时,分别在单一存储装置中读取一数据大小固定的数据。
6.如权利要求5所述的方法,其中该写入极值相当于每次数据读取时由一读取装置中所读取的数据大小。
7.一种包含多个存储装置的计算机系统,用于在多个存储装置间进行数据迁移,其包含有:
一数据读取单元,由至少一存储装置中读取一数据;
一缓冲单元,根据该数据读取单元读取的数据产生一阵列数据,并将该阵列数据分割为多批子数据;以及
一判断单元和一写入单元,该判断单元判断该缓冲单元中各批子数据的数据大小是否小于一写入极值;若否,则该写入单元将各子数据分别写入至各存储装置中;若是,则该数据读取单元读取其他的数据,并由该缓冲单元合并各次数据读取所读取的数据,以更新该阵列数据,直到该阵列数据所分割出来的子数据不小于该写入极值,再由写入单元将各批子数据分别写入至各存储装置中。
8.如权利要求7所述的计算机系统,其中该数据读取单元每次由单一存储装置中读取一数据大小固定的数据。
9.如权利要求8所述的计算机系统,其中该写入极值相当于数据读取单元每次由一读取装置中所读取的数据大小。
CNB2004100562768A 2004-08-06 2004-08-06 进行硬盘阵列数据迁移的方法及相关装置 Active CN1312570C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100562768A CN1312570C (zh) 2004-08-06 2004-08-06 进行硬盘阵列数据迁移的方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100562768A CN1312570C (zh) 2004-08-06 2004-08-06 进行硬盘阵列数据迁移的方法及相关装置

Publications (2)

Publication Number Publication Date
CN1588299A CN1588299A (zh) 2005-03-02
CN1312570C true CN1312570C (zh) 2007-04-25

Family

ID=34603214

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100562768A Active CN1312570C (zh) 2004-08-06 2004-08-06 进行硬盘阵列数据迁移的方法及相关装置

Country Status (1)

Country Link
CN (1) CN1312570C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520885A (zh) * 2011-12-15 2012-06-27 清华大学 一种混合硬盘的数据管理系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100342319C (zh) * 2005-09-29 2007-10-10 威盛电子股份有限公司 磁盘阵列写入指令处理方法
CN103336672B (zh) * 2013-06-28 2016-10-05 华为技术有限公司 数据读取方法、装置及计算设备
CN105824572B (zh) * 2015-01-05 2019-06-04 中兴通讯股份有限公司 一种磁盘存储空间管理方法、装置及存储设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1099496A (zh) * 1993-05-24 1995-03-01 三菱电机株式会社 阵列记录装置的改进型记录装置及方法
US6282619B1 (en) * 1997-07-02 2001-08-28 International Business Machines Corporation Logical drive migration for a raid adapter
US6347359B1 (en) * 1998-02-27 2002-02-12 Aiwa Raid Technology, Inc. Method for reconfiguration of RAID data storage systems
CN1426552A (zh) * 2000-03-24 2003-06-25 皇家菲利浦电子有限公司 用于访问存储介质上的数据块的系统和方法
CN1505799A (zh) * 2002-01-25 2004-06-16 索尼公司 接近通信系统、接近通信方法、数据管理装置、数据管理方法、记录介质和计算机程序

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1099496A (zh) * 1993-05-24 1995-03-01 三菱电机株式会社 阵列记录装置的改进型记录装置及方法
US6282619B1 (en) * 1997-07-02 2001-08-28 International Business Machines Corporation Logical drive migration for a raid adapter
US6347359B1 (en) * 1998-02-27 2002-02-12 Aiwa Raid Technology, Inc. Method for reconfiguration of RAID data storage systems
CN1426552A (zh) * 2000-03-24 2003-06-25 皇家菲利浦电子有限公司 用于访问存储介质上的数据块的系统和方法
CN1505799A (zh) * 2002-01-25 2004-06-16 索尼公司 接近通信系统、接近通信方法、数据管理装置、数据管理方法、记录介质和计算机程序

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NAS设备卷管理模块中小块写问题研究 余胜生,孔华锋,周敬利,鲁宏伟,小型微型计算机系统 2003 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520885A (zh) * 2011-12-15 2012-06-27 清华大学 一种混合硬盘的数据管理系统
CN102520885B (zh) * 2011-12-15 2015-04-15 清华大学 一种混合硬盘的数据管理系统

Also Published As

Publication number Publication date
CN1588299A (zh) 2005-03-02

Similar Documents

Publication Publication Date Title
CN104794070B (zh) 基于动态非覆盖raid技术的固态闪存写缓存系统及方法
CN102317925B (zh) 存储器系统和控制存储器系统的方法
US8131969B2 (en) Updating system configuration information
CN101271379B (zh) 混合密度存储体储存装置及其控制方法
TWI454906B (zh) 資料讀取方法、快閃記憶體控制器與儲存系統
CN101443726B (zh) 包括具有闪存接口的硬盘驱动器的自适应存储系统
CN102122235B (zh) 一种raid4系统及其数据读写方法
CN103838676B (zh) 数据存储系统、数据存储方法及pcm桥
CN103635968A (zh) 包含存储器系统控制器的设备和相关方法
CN102193869B (zh) 存储器管理与写入方法及其存储器控制器与储存系统
CN103246478A (zh) 一种基于软raid支持无分组式全局热备盘的磁盘阵列系统
CN101634967A (zh) 用于闪存的区块管理方法、储存系统与控制器
CN101425338B (zh) 非易失性存储器的写入方法及使用此方法的控制器
CN104063184B (zh) 磁盘记录方法及其非易失性存储媒体与电子装置
CN101661431B (zh) 用于快闪存储器的区块管理方法、快闪储存系统及控制器
CN1312570C (zh) 进行硬盘阵列数据迁移的方法及相关装置
JP2003131818A (ja) クラスタ構成ストレージにおけるクラスタ間raid構成
US7313651B2 (en) Method and related apparatus for data migration of disk array
CN105302736A (zh) 一种提高混合映射中日志块数据整理性能的方法
JPH0863394A (ja) 記憶装置システムおよび記憶装置の制御方法
CN102103546A (zh) 用于储存装置以进行储存管理的方法及控制单元与相关储存装置
CN100403247C (zh) 独立磁盘的冗余阵列的扩充系统及其方法
CN102456401B (zh) 区块管理方法、存储器控制器与存储器储存装置
CN100405330C (zh) 一种获取fat文件系统剩余空间的方法及其装置
CN1290019C (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