CN106919340B - 提高raid读取性能的系统及方法 - Google Patents

提高raid读取性能的系统及方法 Download PDF

Info

Publication number
CN106919340B
CN106919340B CN201510997123.1A CN201510997123A CN106919340B CN 106919340 B CN106919340 B CN 106919340B CN 201510997123 A CN201510997123 A CN 201510997123A CN 106919340 B CN106919340 B CN 106919340B
Authority
CN
China
Prior art keywords
data blocks
read
disks
file
reading
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.)
Expired - Fee Related
Application number
CN201510997123.1A
Other languages
English (en)
Other versions
CN106919340A (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.)
Nanning Fulian Fugui Precision Industrial Co Ltd
Original Assignee
Nanning Fugui Precision Industrial Co Ltd
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 Nanning Fugui Precision Industrial Co Ltd filed Critical Nanning Fugui Precision Industrial Co Ltd
Priority to CN201510997123.1A priority Critical patent/CN106919340B/zh
Publication of CN106919340A publication Critical patent/CN106919340A/zh
Application granted granted Critical
Publication of CN106919340B publication Critical patent/CN106919340B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种提高RAID读取性能的方法,应用于电子装置中,该电子装置与m个磁盘相连接,所述m个磁盘中有n个用于校验的磁盘,其特征在于,该方法包括:读取计算步骤,当要读取文件时,通过预设的读取算法根据本次要读取的m个有效数据块的第一个数据块在所有有效数据块中的编号、所有磁盘数m以及校验磁盘数n确定本次m个磁盘所分别要读取的有效数据块;读取步骤,向各个磁盘发送读取相应的有效数据块的命令,并将各个磁盘所读取的有效数据块按照一定顺序拼接起来,及判断所述文件是否被完全读取,并在所述文件被完全读取时,结束读取操作。本发明还提供了一种提高RAID读取性能的系统。

Description

提高RAID读取性能的系统及方法
技术领域
本发明涉及一种提高RAID读取性能的系统及方法。
背景技术
独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)在存储文件时,会将该文件分割成若干个预设大小的有效数据块,并根据分割后的有效数据块计算出相应的多个校验数据块,然后将分割的有效数据块以及校验数据块分别存储到多个(至少三个)磁盘中。在未出现损坏的磁盘时,RAID在读取文件时,会将该文件所分割的所有有效数据块以及所有的校验数据块都读取出来,然后忽略校验数据块,将读取的有效数据块组合成要读取的文件,也即所述文件读取完成。现有的读取文件的方法并没有充分发挥RAID的读取性能。
发明内容
鉴于以上内容,有必要提供一种提高RAID读取性能的系统及方法,使得RAID具有更好的读取性能。
一种提高RAID读取性能的系统,运行于电子装置中,该电子装置与m个磁盘相连接,所述m个磁盘中有n个用于校验的磁盘,该系统包括:读取计算模块,用于当要读取文件时,通过预设的读取算法根据本次要读取的m个有效数据块的第一个数据块在所有有效数据块中的编号、所有磁盘数m以及校验磁盘数n确定本次m个磁盘所分别要读取的有效数据块;读取模块,用于向各个磁盘发送读取相应的有效数据块的命令,并将各个磁盘所读取的有效数据块按照一定顺序拼接起来,及判断所述文件是否被完全读取,并在所述文件被完全读取时,结束读取操作。
一种提高RAID读取性能的方法,应用于电子装置中,该电子装置与m个磁盘相连接,所述m个磁盘中有n个用于校验的磁盘,该方法包括:读取计算步骤,当要读取文件时,通过预设的读取算法根据本次要读取的m个有效数据块的第一个数据块在所有有效数据块中的编号、所有磁盘数m以及校验磁盘数n确定本次m个磁盘所分别要读取的有效数据块;读取步骤,向各个磁盘发送读取相应的有效数据块的命令,并将各个磁盘所读取的有效数据块按照一定顺序拼接起来,及判断所述文件是否被完全读取,并在所述文件被完全读取时,结束读取操作。
相较于现有技术,本发明的提高RAID读取性能的方法在读取文件时不必再读取校验数据块,提高了RAID的读取性能。
附图说明
图1是本发明提高RAID读取性能的系统的较佳实施例的运行环境示意图。
图2是本发明提高RAID读取性能的方法的较佳实施例的流程图。
图3是存储文件时确定数据块与磁盘的对应关系的示意图。
主要元件符号说明
Figure BDA0000893064830000021
Figure BDA0000893064830000031
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
参阅图1所示,是本发明提高RAID读取性能的系统的较佳实施例的运行环境示意图。所述提高RAID读取性能的系统10安装并运行于电子装置1中。所电子装置1包括连接装置11。该连接装置11用于与多个磁盘2(下文用m表示所有磁盘的个数,用n表示用于校验的磁盘的个数)通信连接。所述电子装置1还包括,但不限于,处理器12以及存储装置13。所述电子装置1可以是通过硬件实现RAID的RAID控制卡,也可以是通过运行软件实现RAID的计算机等装置。所述连接装置11可以是SATA等接口。所述处理器12用于执行电子装置1中的程序指令段以及控制该电子装置1中的各个装置,其可以是RAID控制卡上的RAID控制芯片,也可以是计算机中的中央处理器。所述存储装置13包括用于存储安装在电子装置1中的各个程序(例如RAID中默认的读取程序以及写入程序)的程序指令段以及数据资料的第一存储装置,还包括用于存储读取以及写入数据的第二存储装置。所述第一存储装置可以是电子装置1中的存储器,例如只读存储器。所述第二存储装置可以是RAID控制卡中的高速缓存,也可以是计算机的内存等设备。
所述提高RAID读取性能的系统10用于在存储文件时,将该文件分割成若干个有效数据块,并根据有效数据块计算出若干个校验数据块,并按照预设的写入算法确定所有有效数据块和校验数据块所分别对应的磁盘,并将各个有效数据块以及校验数据块分别发送到对应的磁盘进行存储。所述提高RAID读取性能的系统10还用于在读取文件时,根据预设的读取算法确定m个磁盘所分别要读取的各个有效数据块的位置,并将读取的有效数据块拼接成要读取的文件。
在本实施例中,本发明所述的提高RAID读取性能的系统10可以被分割成一个或多个模块,所述一个或多个模块均被存储于存储装置13中,并由一个或多个处理器12(本实施例为一个处理器)所执行,已完成本发明。参阅图1所示,本发明所述的提高RAID读取性能的系统10被分割成分割模块101、第一获取模块102、写入计算模块103、写入模块104、第二获取模块105、读取计算模块106以及读取模块107。本发明所称的模块是指能够完成特定功能的一系列计算机程序段,比程序更适合于描述所述提高RAID读取性能的系统10在电子装置1中的执行过程。以下将结合图2的流程图来描述各个模块的具体功能。
参阅图2所示,是本发明提高RAID读取性能的方法的较佳实施例的流程图。在本实施中,根据不同的需求,图2所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。
步骤S201,分割模块101在要存储文件时,获取该文件并将该文件分割成若干个预设大小的有效数据块。在本实施例中,所述的预设大小是64KB,也即将文件分割成若干个64KB大小的有效数据块。所述文件被分割到最后一块时,若剩余的数据不足64KB,则补充预设格式的数据(例如补充全是0的数据),使得有效数据块的大小是64KB。
步骤S202,第一获取模块102从所述文件分割出的所有未被存储的有效数据块中按照一定顺序获取m-n个有效数据块。
在本实施例中,所述第一获取模块102在获取前,先判断所述文件的未被存储的有效数据块的个数是否小于m-n。若所述文件的未被存储的有效数据块的个数不小于m-n,则所述第一获取模块102按照未被存储的有效数据块被分割出的先后顺序依次获取m-n个有效数据块。若所述文件的未被存储的有效数据块的个数小于m-n,则获取剩余的有效数据块,并补充若干个指定格式的数据块充当有效数据块,使得获取的有效数据块的个数为m-n。在本实例中,所述指定格式的数据块是全是0的数据块。
步骤S203,写入计算模块103根据获取的m-n个有效数据块计算出n个校验数据块。所述写入计算模块103按照默认的算法根据m-n个有效数据块计算出n个校验数据块。
步骤S204,写入计算模块103通过预设的写入算法根据本次所要写入的m-n个有效数据块的第一个有效数据块在所有有效数据块中的编号、所有磁盘数m以及校验磁盘数n确定各个有效数据块以及校验数据块所分别对应的磁盘。
所述有效数据块的编号指的是该有效数据块在所有分割出的有效数据块中的编号。例如一个文件分割出4个有效数据块:D1、D2、D3以及D4。则有效数据块D1的编号是1,该D1在磁盘中的存储位置也即是该文件的存储位置。有效数据块D2的编号是2,该D2在磁盘中的存储位置与D1的存储位置相差一个预设的数据块大小。故只要知道该文件的存储位置有效数据块在所有有效数据块中的编号,既可以得出该有效数据块在磁盘中的存储位置。
所述预设的写入算法包括如下步骤S2041~S2043。
步骤S2041,写入计算模块103将m-n个有效数据块以及n个校验数据块按照B1,B2,...,Bm-n,P1,P2,...,Pn的形式进行排序,将m个磁盘依次进行编号,并将B1,B2,...,Bm-n,P1,P2,...,Pn与第1磁盘,第2磁盘,...,第m-n磁盘,第m-n+1磁盘,第m-n+2磁盘,...,第m磁盘一一对应。所述B1指的是本次要被存储的m-n个有效数据块中的第1个数据块,其对应于第1磁盘;所述Bm-n指的是第m-n个有效数据块,其对应于第m-n磁盘;所述P1指的是第1个校验数据块,其对应于第m-n+1磁盘;所述Pn指的是第n个校验数据块,其对应于第m磁盘。
步骤S2042,写入计算模块103根据下面的公式(1),计算出本次m个数据块(有效数据块和校验数据块)与m个磁盘的对应关系所要向左偏转的位数L。需要说明的是,第1磁盘左边的磁盘是第m磁盘。
L=((B/(m-n)*n)%(m*n); (1)
所述B指的是本次要被存储的m-n个有效数据块中的第一个有效数据块在所有有效数据块中的编号。所述m指的是所有磁盘数,是个固定值。所述n指的是用于校验的磁盘数,是个固定值。所述“/”是取整的除法函数,例如3/2=1。所述“%”指的是求余函数。
参阅图3所示,是存储文件时确定数据块与磁盘的对应关系的示意图。第一次要写入的有效数据块是D1和D2,校验数据块是P1。根据上述公式(1)计算得出L=((1/(3-1)*1)%(3*1)=0。故每个数据块(有效数据块和校验数据块)与磁盘的对应关系不变,也即第1磁盘存储D1,第2磁盘存储D2,第3磁盘存储P1。第二次要写入的有效数据块是D3和D4,校验数据块是P2。根据上述公式(1)计算得出L=((3/(3-1)*1)%(3*1)=1。本次m个数据块与m个磁盘的对应关系要向左偏转1位,也即第3磁盘存储D3,第1磁盘存储D4,第2磁盘存储P2。同理得出,第三次要写入的数据块所要向左偏转的位数是L==((5/(3-1)*1)%(3*1)=2,故第2磁盘存储D5,第3磁盘存储D6,第1磁盘存储P3。
步骤S2043,写入计算模块103根据所要偏转的位数L重新确定各个数据块与磁盘的对应关系。
步骤S205,写入模块104将m-n个有效数据块和n个校验数据块分别发送到对应的磁盘进行存储操作。
步骤S206,写入模块104判断所述文件是否被完全存储。若所述文件被完全存储,则执行步骤S207;若所述文件未被完全存储,则返回步骤S202。当所述文件分割出的所有未被存储的有效数据块均被存储时,所述写入模块104判断所述文件被完全存储。所述提高RAID读取性能的系统10可以通过一个变量记录所有未被存储的有效数据块的个数,并通过该变量来判断是否还有有效数据块未被存储。
步骤S201~S206是所述提高RAID读取性能的系统将文件存储到多个磁盘的过程,步骤S206与下面的步骤S207并不一定连续。
步骤S207,第二获取模块105在要读取文件时,获取该文件的文件的长度。
步骤S208,读取计算模块106通过预设的读取算法根据本次要读取的m个有效数据块的第一个有效数据块在所有有效数据块中的编号、所有磁盘数m以及检验磁盘数n确定本次m个磁盘所分别要读取的有效数据块。
所述读取计算模块106在根据预设的读取算法确定m个磁盘所分别要读取的有效数据块前,先判断未被读取的有效数据块的个数是否小于m。若未被读取的有效数据块的个数不小于m,则根据预设的读取算法确定m个磁盘所分别要读取的有效数据块。若未被读取的有效数据块的个数小于m,则分配若干个数据块给未被分到读取有效数据块的磁盘。所述若干个数据块可以是指定位置的数据块,例如磁盘的第一个数据块,也可以是随机的一个数据块,例如磁盘的磁头当前所指的数据块。
在本实施例中,所述预设的算法是按照下面的公式(2)分别计算出m个磁盘所要读取的有效数据块的编号Addr。
Addrx=(B+x-1)/(m-n)+(B+x-1)%(m-n); (2)
所述x指的是本次读取操作中第x个磁盘,故x是小于等于m的正整数。所述m指的是所有磁盘数,是个固定值。所述n指的是用于校验的磁盘数,是个固定值。所述B指的是本次要读取操作中要读取的第一个有效数据块在所有有效数据块中的编号。所述“/”是取整的除法函数。所述“%”指的是求余函数。
例如,本次要读取的有效数据块是D4、D5以及D6,则所述B=4。第1磁盘所有读取的有效数据块的编号Addr1=(4+1-1)/(3-1)+(4+1-1)%(3-1)=2+2=4,也即D4。相应的可以计算出第2磁盘所要读取的有效数据块的编号Addr2=(4+2-1)/(3-1)+(4+2-1)%(3-1)=2+3=5,也即D5,第3磁盘所要读取的有效数据块的编号Addr3=(4+3-1)/(3-1)+(4+3-1)%(3-1)=3+3=6,也即D6。
在其他实施例中,所述预设的算法也可以是其他算法,使得读取计算模块106能够确定m个磁盘所分别要读取的有效数据块。
步骤S209,读取模块107将读取的有效数据块案一定顺序拼接起来。所述读取模块107在读取到有效数据块后,就立即按照一定顺序将该有效数据块拼接到相应的有效数据块的后面。
在本实施例中,所述读取模块107在将读取的有效数据块拼接到相应的有效数据块的后面前,还会判断已经拼接的有效数据块的长度是否小于所要读取的文件的长度。并当已经拼接的有效数据块的长度小于所要读取的文件的长度时,才将读取的有效数据块拼接到已经拼接的有效数据块的后面。例如,已经拼接的有效数据块有D1、D2、D3以及D4,则当读取到D5时,判断已经拼接的有效数据块的长度是否小于所要读取的文件的长度,并在已经拼接的有效数据块的长度小于所要读取的文件的长度时,将D5拼接到D4的后面,此时已经拼接的数据块是D1、D2、D3、D4以及D5。
步骤S210,读取模块107判断所述文件是否被完全读取。若所述文件未被完全读取,则返回步骤S208;若所述文件被完全读取,则流程结束。
在本实施例中,当已经拼接的有效数据块的长度不小于所要读取的文件的长度时,所述读取模块107判断所述文件被完全读取,且所述读取模块107还通过从已经拼接的有效数据块的尾部删除部分数据的方法,使得已经拼接的有效数据块的长度与所要读取的文件的长度相同,也即已经拼接的有效数据块即是所要读取的文件。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (12)

1.一种提高RAID读取性能的系统,用于电子装置中,该电子装置与m个磁盘相连接,所述m个磁盘中有n个用于校验的磁盘,其特征在于,该系统包括:
读取计算模块,用于当要读取文件时,通过预设的读取算法根据本次要读取的m个有效数据块的第一个数据块在所有有效数据块中的编号、所有磁盘数m以及校验磁盘数n确定本次m个磁盘所分别要读取的有效数据块,其中,所述预设的读取算法是根据公式Addrx=(B+x-1)/(m-n)+(B+x-1)%(m-n)确定每个磁盘所要读取的有效数据块的编号,B为本次要被读取的m-n个有效数据块中的第一个有效数据块在所有有效数据块中的编号,m为所有磁盘数,n为用于校验的磁盘数,x为本次计算的磁盘的编号;
读取模块,用于向各个磁盘发送读取相应的有效数据块的命令,并将各个磁盘所读取的有效数据块按照一定顺序拼接起来,及判断所述文件是否被完全读取,并在所述文件被完全读取时,结束读取操作。
2.如权利要求1所述的提高RAID读取性能的系统,其特征在于,所述读取计算模块在通过预设的读取算法确定本次m个磁盘所分别要读取的有效数据块之前,还判断所述要被读取的文件的未被读取的有效数据块的个数是否小于m,并当所述要被读取的文件的未被读取的有效数据块的个数小于m时,分配若干个数据块给未被分到读取有效数据块的磁盘进行读取。
3.如权利要求1至2任一项所述的提高RAID读取性能的系统,其特征在于,当已经拼接的有效数据块的长度不小于所要被读取的文件的长度时,所述读取模块判断所述文件被完全读取,并且从已经拼接的有效数据块的末尾删除部分数据,使得已经拼接的有效数据块的长度与所要读取的文件的长度相同。
4.如权利要求1所述的提高RAID读取性能的系统,其特征在于,该系统还包括:
分割模块,用于当要存储文件时,获取该文件并将该文件分割成若干个预设大小的有效数据块;
第一获取模块,用于从分割出的所有未被存储的有效数据块中按照一定顺序获取m-n个有效数据块;
写入计算模块,用于根据获取的m-n个有效数据块计算出n个校验数据块,并通过预设的写入算法根据本次所要写入的m-n个有效数据块的第一个有效数据块在所有有效数据块中的编号、所有磁盘数m以及校验磁盘数n确定各个有效数据块和校验数据块所分别对应的磁盘;
写入模块,用于将各个有效数据块以及校验数据块分别发送到相应的磁盘进行存储操作,及判断所述文件是否被完全存储,并在所述文件被完全存储时,结束存储操作。
5.如权利要求4所述的提高RAID读取性能的系统,其特征在于,当要被存储的文件的未被存储的有效数据块的个数小于m-n时,所述第一获取模块补充若干个指定格式的数据块充当有效数据块,使得获取的有效数据块的个数为m-n。
6.如权利要求4所述的提高RAID读取性能的系统,其特征在于,所述预设的写入算法是将m-n个有效数据块以及n个校验数据块按照B1,B2,...,Bm-n,P1,P2,...,Pn的形式进行排序,并将这m个数据块依次分配各m个磁盘,所述Bm-n为本次m-n个有效数据块中的第m-n个有效数据块,所述Pn为本次n个校验数据块中第n个校验数据块,然后根据公式L=((B/(m-n)*n)%(m*n)计算出本次m个数据块与m个磁盘的对应关系所要向左偏转的位数L,所述B为本次要被存储的m-n个有效数据块中的第一个有效数据块在所有有效数据块中的编号,所述m为所有磁盘数,所述n为用于校验的磁盘数,然后根据所要偏转的位数L重新确定各个数据块与磁盘的对应关系。
7.一种提高RAID读取性能的方法,应用于电子装置中,该电子装置与m个磁盘相连接,所述m个磁盘中有n个用于校验的磁盘,其特征在于,该方法包括:
读取计算步骤,当要读取文件时,通过预设的读取算法根据本次要读取的m个有效数据块的第一个数据块在所有有效数据块中的编号、所有磁盘数m以及校验磁盘数n确定本次m个磁盘所分别要读取的有效数据块,其中,所述预设的读取算法是根据公式Addrx=(B+x-1)/(m-n)+(B+x-1)%(m-n)确定每个磁盘所要读取的有效数据块的编号,B为本次要被读取的m-n个有效数据块中的第一个有效数据块在所有有效数据块中的编号,m为所有磁盘数,n为用于校验的磁盘数,x为本次计算的磁盘的编号;
读取步骤,向各个磁盘发送读取相应的有效数据块的命令,并将各个磁盘所读取的有效数据块按照一定顺序拼接起来,及判断所述文件是否被完全读取,并在所述文件被完全读取时,结束读取操作。
8.如权利要求7所述的提高RAID读取性能的方法,其特征在于,所述读取计算步骤在通过预设的读取算法确定本次m个磁盘所分别要读取的有效数据块之前,还判断所述要被读取的文件的未被读取的有效数据块的个数是否小于m,并当所述要被读取的文件的未被读取的有效数据块的个数小于m时,分配若干个数据块给未被分到读取有效数据块的磁盘进行读取。
9.如权利要求7至8任一项所述的提高RAID读取性能的方法,其特征在于,当已经拼接的有效数据块的长度不小于所要被读取的文件的长度时,所述读取步骤判断所述文件被完全读取,并且从已经拼接的有效数据块的末尾删除部分数据,使得已经拼接的有效数据块的长度与所要读取的文件的长度相同。
10.如权利要求7所述的提高RAID读取性能的方法,其特征在于,该方法还包括:
分割步骤,当要存储文件时,获取该文件并将该文件分割成若干个预设大小的有效数据块;
第一获取步骤,从分割出的所有未被存储的有效数据块中按照一定顺序获取m-n个有效数据块;
写入计算步骤,根据获取的m-n个有效数据块计算出n个校验数据块,并通过预设的写入算法根据本次所要写入的m-n个有效数据块的第一个有效数据块在所有有效数据块中的编号、所有磁盘数m以及校验磁盘数n确定各个有效数据块和校验数据块所分别对应的磁盘;
写入步骤,将各个有效数据块以及校验数据块分别发送到相应的磁盘进行存储操作,及判断所述文件是否被完全存储,并在所述文件被完全存储时,结束存储操作。
11.如权利要求10所述的提高RAID读取性能的方法,其特征在于,当要被存储的文件的未被存储的有效数据块的个数小于m-n时,所述第一获取步骤补充若干个指定格式的数据块充当有效数据块,使得获取的有效数据块的个数为m-n。
12.如权利要求10所述的提高RAID读取性能的方法,其特征在于,所述预设的写入算法是将m-n个有效数据块以及n个校验数据块按照B1,B2,...,Bm-n,P1,P2,...,Pn的形式进行排序,并将这m个数据块依次分配各m个磁盘,所述Bm-n为本次m-n个有效数据块中的第m-n个有效数据块,所述Pn为本次n个校验数据块中第n个校验数据块,然后根据公式L=((B/(m-n)*n)%(m*n)计算出本次m个数据块与m个磁盘的对应关系所要向左偏转的位数L,所述B为本次要被存储的m-n个有效数据块中的第一个有效数据块在所有有效数据块中的编号,所述m为所有磁盘数,所述n为用于校验的磁盘数,然后根据所要偏转的位数L重新确定各个数据块与磁盘的对应关系。
CN201510997123.1A 2015-12-28 2015-12-28 提高raid读取性能的系统及方法 Expired - Fee Related CN106919340B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510997123.1A CN106919340B (zh) 2015-12-28 2015-12-28 提高raid读取性能的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510997123.1A CN106919340B (zh) 2015-12-28 2015-12-28 提高raid读取性能的系统及方法

Publications (2)

Publication Number Publication Date
CN106919340A CN106919340A (zh) 2017-07-04
CN106919340B true CN106919340B (zh) 2020-03-17

Family

ID=59455770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510997123.1A Expired - Fee Related CN106919340B (zh) 2015-12-28 2015-12-28 提高raid读取性能的系统及方法

Country Status (1)

Country Link
CN (1) CN106919340B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107450852B (zh) * 2017-07-31 2020-03-31 郑州云海信息技术有限公司 一种存储空间处理方法、装置和设备
CN110931072B (zh) * 2019-11-28 2022-03-22 深信服科技股份有限公司 一种坏道扫描方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901115A (zh) * 2010-07-23 2010-12-01 华中科技大学 一种磁盘阵列raid6级别的构建方法
CN101923496A (zh) * 2010-07-30 2010-12-22 华中科技大学 一种raid的数据并行重构方法
CN104516679A (zh) * 2013-09-30 2015-04-15 杭州宏杉科技有限公司 一种raid数据处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901115A (zh) * 2010-07-23 2010-12-01 华中科技大学 一种磁盘阵列raid6级别的构建方法
CN101923496A (zh) * 2010-07-30 2010-12-22 华中科技大学 一种raid的数据并行重构方法
CN104516679A (zh) * 2013-09-30 2015-04-15 杭州宏杉科技有限公司 一种raid数据处理方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
RAID5磁盘阵列数据恢复;李清.;《中国新通信》;20130531(第10期);第4-5页 *
RAID5结构剖析及其数据恢复策略研究;鲁恩铭,等.;《电脑开发与应用》;20111231;第25卷(第1期);第6-8页 *
基于特定扇区定位的磁盘阵列结构分析;管乐乐,等.;《微型电脑应用》;20150530;第31卷(第5期);第30-32页 *
李清..RAID5磁盘阵列数据恢复.《中国新通信》.2013,(第10期),第4-5页. *

Also Published As

Publication number Publication date
CN106919340A (zh) 2017-07-04

Similar Documents

Publication Publication Date Title
US10114578B2 (en) Solid state disk and data moving method
US9436447B2 (en) Technique for live analysis-based rematerialization to reduce register pressures and enhance parallelism
US10877757B2 (en) Binding constants at runtime for improved resource utilization
CN104246708A (zh) 针对nand闪存上数据的存储的架构
US11029857B2 (en) Offloading device maintenance to an external processor in low-latency, non-volatile memory
CN114327278A (zh) 数据的追加写方法、装置、设备以及存储介质
CN106919340B (zh) 提高raid读取性能的系统及方法
CN115756312A (zh) 数据访问系统、数据访问方法和存储介质
CN105528183A (zh) 一种存储数据的方法及存储设备
CN110955545B (zh) 一种数据完整性校验方法、系统及相关设备
US20150278299A1 (en) External merge sort method and device, and distributed processing device for external merge sort
CN104484132A (zh) 数据缩减的方法及装置
US11016689B2 (en) Data storage system
CN106547759B (zh) 用于选择增量备份方式的方法和装置
CN112214095A (zh) 一种控制硬盘功耗的方法和设备
TWI582582B (zh) 提高raid讀取性能的系統及方法
CN104899158A (zh) 访存优化方法和装置
CN111782153A (zh) 一种基于读取数据的方法、系统、设备以及介质
CN115454343A (zh) 一种基于raid芯片的数据处理方法、装置及介质
CN105354107A (zh) NOR Flash的数据传输方法及系统
US20220318015A1 (en) Enforcing data placement requirements via address bit swapping
CN114442930A (zh) 组磁盘阵列的控制方法、装置、电子设备及可读存储介质
CN113424262B (zh) 一种存储校验方法及装置
US20170115886A1 (en) Storage device and method of performing a write operation by the same
US10528438B2 (en) Method and system for handling bad blocks in a hardware accelerated caching solution

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180712

Address after: 530007 the Guangxi Zhuang Autonomous Region Nanning hi tech Zone headquarters road 18, China ASEAN enterprise headquarters three phase 5 factory building

Applicant after: NANNING FUGUI PRECISION INDUSTRIAL Co.,Ltd.

Address before: 530007 the Guangxi Zhuang Autonomous Region Nanning hi tech Zone headquarters road 18, China ASEAN enterprise headquarters three phase 5 factory building

Applicant before: NANNING FUGUI PRECISION INDUSTRIAL Co.,Ltd.

Applicant before: HON HAI PRECISION INDUSTRY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200317

CF01 Termination of patent right due to non-payment of annual fee