[go: up one dir, main page]

CN106293526B - A kind of expandable method and system of three disks fault-tolerant array - Google Patents

A kind of expandable method and system of three disks fault-tolerant array Download PDF

Info

Publication number
CN106293526B
CN106293526B CN201610637554.1A CN201610637554A CN106293526B CN 106293526 B CN106293526 B CN 106293526B CN 201610637554 A CN201610637554 A CN 201610637554A CN 106293526 B CN106293526 B CN 106293526B
Authority
CN
China
Prior art keywords
band
block
disk
data block
check
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
CN201610637554.1A
Other languages
Chinese (zh)
Other versions
CN106293526A (en
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.)
Shanghai Jiao Tong University
Original Assignee
Shanghai Jiao Tong University
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 Shanghai Jiao Tong University filed Critical Shanghai Jiao Tong University
Priority to CN201610637554.1A priority Critical patent/CN106293526B/en
Publication of CN106293526A publication Critical patent/CN106293526A/en
Application granted granted Critical
Publication of CN106293526B publication Critical patent/CN106293526B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

The invention discloses the expandable methods and system of a kind of three disk fault-tolerant arrays, and this method comprises the following steps: the preparation stage, and relevant parameter is collected from storage system, calculate necessary parameter for next two stages;Migration phase selects a part of band as band collection, and according to parameter calculated in the preparation stage, some data lines are selected in each band, for migrating into the disk newly added;Empty band polymerize by merging phase, by the invention it is possible to ensure that data distribution is balanced after extension, the I/O expense in expansion process is smaller.

Description

A kind of expandable method and system of three disks fault-tolerant array
Technical field
The present invention relates to big datas and cloud storage field, more particularly to a kind of three disk fault-tolerant arrays based on xor operation Expandable method and system.
Background technique
In large-scale data center, for mass data storage in bulk redundancy disk, user can be with concurrent access number therein According to.These redundancy magnetic disks are referred to as redundant array of independent disks (RAID).Recently, three disk fault-tolerant arrays (3DFTs) are in large-scale number According to popular in center, because they can provide high reliability and inexpensive expense.
In past 20 years, scientist proposes many correcting and eleting codes to achieve the effect that three disks are fault-tolerant, including maximum distance Separable code (MDS) and non-MDS coding.MDS is encoded in the case where giving a certain number of redundancies, can be provided maximum data and be protected Shield.Some codings, if STAR encode, Triple-Star coding, TIP-Code coding and EH-Code coding coding mode by Three kinds of different verification (row verification, tiltedly verification, reversed tiltedly verification) compositions, to provide high reliability.Non-MDS coding due to Part storage efficiency is sacrificed, higher performance or reliability can be gone all out with.
Recently, with the development of cloud computing, the scalability of disk array is by extensive discussions.This is because:
1, increasing additional disk in the three disk fault-tolerant arrays encoded based on MDS can be improved storage efficiency, reduce at This cost.
2, there is new plus disk disk array that can provide higher I/O handling capacity and bigger capacity.More numbers According to that can concurrently access, reduce I/O expense, improves the performance of whole system.
3, three disk fault-tolerant arrays are widely used in large-scale data center, are because it has high reliability.Reliability exists Play important role in large-scale data center.
Unfortunately, existing extended method is poorly suited for use in the three disk fault-tolerant arrays based on xor operation.One A little method (such as Round-Robin (RR) and Semi-RR) has been proved to, in expansion process, they are in Data Migration and school Running repair produces a large amount of I/O expense on changing.Semi-RR also suffers from unbalanced problem of data distribution after extension simultaneously.Its His method in order under the layout of this complexity of correcting and eleting codes equilibrium data distribution take a large amount of I/O, such as SDM and RS6.SDM A part of band is sacrificed, so that concentrating in a band, data distribution is balanced.It can handle by two kinds of different checks Coding made of coding (but there are three types of different verifications in the three disk fault-tolerant encodings based on xor operation), this will lead to verification Modification and I/O expense are very high.RS6 is a kind of RAID-6 extended method for RDP coding, it will lead to additional Data Migration Expense.Under some codings, after RS6 is to coding extension, so that data distribution is unbalanced, as STAR coding and TIP-Code are compiled Code.Some other methods, such as FastScale, GSR and CRAID, they are for RAID-0 or RAID-5 array, Bu Nengyun Use three disk fault-tolerant arrays.
As it can be seen that therefore the extension that existing extended method is not suitable for the three disk fault-tolerant arrays based on xor operation has in fact Necessity proposes a kind of technological means, to solve the above problems.
Summary of the invention
In order to overcome the deficiencies of the above existing technologies, purpose of the present invention is to provide a kind of three disk fault-tolerant arrays can Extended method and system can apply on the three disk fault-tolerant arrays based on xor operation, so that the data distribution after extension It is balanced.
In view of the above and other objects, the present invention proposes a kind of expandable method of three disk fault-tolerant arrays, including walk as follows It is rapid:
Preparation stage collects relevant parameter from storage system, calculates necessary parameter for next two stages;
Migration phase selects a part of band as band collection, and according to parameter calculated in the preparation stage, every Some data lines are selected in a band, for migrating into the disk newly added;
Merging phase, by the tape merge with null or empty data block.
Further, in the preparation stage, according to the layout encoded of MDS in three disk fault-tolerant arrays and its configuration parameter, meter Calculate ns, neAnd L, it is supplied to two later stages, wherein nsIndicate the band number that a band is concentrated, neIt indicates at this Band concentrates the total quantity for being arranged to null, and L is indicated in a band, the minimum number of null.
Further, migration phase includes the following steps:
Band collection is read in and is cached;
According to the minimal modifications amount of check block, suitable data block is migrated;
Update and recalculate check block.
Further, the data block of entire band collection and check block are disposably read in the caching X positioned at memory, band collection In be selected null be placed into caching Y in.
Further, the minimal modifications amount according to check block, the step of migrating to suitable data block, is to row After verification, tiltedly verification, the relationship reversely tiltedly verified are analyzed, change the position of some data blocks, so that these blocks still exist In their original verification chains.
Further, it the update and recalculates in check block step, by calculating raw line check block and Xin Jia The exclusive or and Lai Geng newline check block of data block.
Further, described to update and recalculate in check block step, it updates tiltedly verification and needs to calculate original oblique verification Block, the exclusive or of data block and corresponding updated row check block in related null and.
Further, described to update and recalculate in check block step, it is recalculated according to the coding formula of correcting and eleting codes Reversed oblique check block.
Further, the merging phase includes the following steps:
Determine which band needs is merged or is split, so that overall computing cost is minimum;
Merge band between band concentration or band collection.
In order to achieve the above objectives, the present invention also provides a kind of expansible systems of three disk fault-tolerant arrays, comprising:
Preparatory unit collects relevant parameter from storage system, provides for migration units and combining unit necessary Parameter;
Migration units select a part of band as band collection, and according to parameter calculated in the stage one, each Some data lines are selected in band, for migrating into the disk newly added, in transition process, the movement of data block is by difference What the association between verification was determined;
Combining unit, for that will have the tape merge of null or empty data block.
Compared with prior art, a kind of expandable method of three disk fault-tolerant arrays of the present invention and system are according to different check Relevance selects suitable data block to be migrated, thus reach the quantity of the smallest Data Migration and verification modification, meanwhile, To there is the present invention band of empty data block to merge, so that the I/O cost reduction of verification modification, therefore the present invention can be true Data distribution is balanced after conservation exhibition, and the I/O expense in expansion process is smaller.
Detailed description of the invention
Fig. 1 is a kind of step flow chart of the expandable method of three disk fault-tolerant arrays of the present invention;
Fig. 2 is the overall construction drawing of this method;
The example of Fig. 3 this method indicates to extend the band 0 that front/rear band is concentrated;
The example of Fig. 4 this method indicates to extend the band 1 that front/rear band is concentrated;
The example of Fig. 5 this method indicates to extend the band 2 that front/rear band is concentrated;
The example of Fig. 6 this method indicates the merging process for the band 0 and 1 that band is concentrated;
Fig. 7 is a kind of system architecture diagram of the expansible system of three disk fault-tolerant arrays of the present invention.
Specific embodiment
Below by way of specific specific example and embodiments of the present invention are described with reference to the drawings, those skilled in the art can Understand further advantage and effect of the invention easily by content disclosed in the present specification.The present invention can also pass through other differences Specific example implemented or applied, details in this specification can also be based on different perspectives and applications, without departing substantially from Various modifications and change are carried out under spirit of the invention.
Fig. 1 is a kind of step flow chart of the expandable method of three disk fault-tolerant arrays of the present invention.As shown in Figure 1, of the invention A kind of expandable method of three disks fault-tolerant array, includes the following steps:
Step 101, stage one, i.e. preparation stage: collecting relevant parameter from storage system, is next two ranks Section calculates necessary parameter.
Step 102, stage two, i.e. migration phase: selecting a part of band as band collection, and is fallen into a trap according to the stage one The parameter of calculating selects some data lines in each band, for migrating into the disk newly added.In transition process, number Movement according to block is determined by the association between different check, this can guarantee balanced data distribution.
Step 103, stage three, i.e. merging phase: by the tape merge with null or empty data block, verification modification is reduced Quantity and I/O expense.
Fig. 2 is a kind of overall construction drawing of the preferred embodiment of the expandable method of three disk fault-tolerant arrays of the present invention, above Three stages respectively corresponded left, center, right part in Fig. 2, and Fig. 3 is the example of this method, indicated to extend the band that front/rear band is concentrated 0;Fig. 4 is the example of this method, indicates to extend the band 1 that front/rear band is concentrated;Fig. 5 is the example of this method, indicates extension The band 2 that front/rear band is concentrated;Fig. 6 is the example of this method, indicates the merging process for the band 0 and 1 that band is concentrated.Below Cooperation Fig. 2-Fig. 6 is further illustrated into the present invention by specific example:
One, the preparation stage
In this stage, necessary parameter is calculated for next two step.
According to the layout encoded of MDS in three disk fault-tolerant arrays and its configuration parameter, n can be calculated with following formulas, neAnd L, wherein nsIndicate the band number that a band is concentrated, neIt indicates to be arranged to the sum of null in band concentration It measures, L is indicated in a band, the minimum number of null.According to Fig.2, a band collection contains many bands.Each In band, part row is set as " null ", and in order to reach data balancing, they can be used to move to other disks.
By taking the three disk fault-tolerant arrays that are encoded based on Triple-Star extend to 9 pieces of disks from 7 pieces of disks as an example.nd=4, nr =4 and m=2, wherein ndIndicate the quantity of data disks in extension front disk array, nrIt indicates to extend the line number in previous band Amount, m indicate the quantity of extension disk.According to above-mentioned formula, n can be calculateds=3, ne=4, L=1.This indicates a band Collection includes three bands, and one, which shares 4 row data, is set as null, and being used to equilibrium data load, (data block in null is moved Move to other disks).Each band contains at least one null.Therefore, after expansion, band concentrates the corresponding sky of three bands Capable quantity be be not 1,1,2 (1+1+2=4=ne)。
Two, migration phase
After obtaining relevant parameter on last stage, this stage concentrates suitable data block to migrate band.It can divide It is operated for following three step:
(1) band collection is read in and is cached.
In order to reduce the quantity for reading I/O operation in expansion process, the present invention is by the data block and check block of entire band collection It is disposable to read in the caching X for being located at memory.Band concentrates selected null to be placed into caching Y.It concentrates, reads in a band Data on one piece of disk are that primary sequence is read, corresponding once to read I/O.
(2) migrating data block
The present invention migrates suitable data block according to the minimal modifications amount of check block.To three kinds of different schools Test block (row verification, tiltedly verification, reversed tiltedly verification) relationship analyzed after, the present invention changes the position of some data blocks, So that these blocks are still in their original verification chains.This way may insure to modify check block as few as possible.This hair The bright migration algorithm for giving STAR coding and Triple-Star coding and verifying about row verification and tiltedly, which can be by number According to the quantity of migration and the computational minimization of verification modification.TheRow is seen as basic row, this Row does not need to move any data block in the horizontal direction.Next, changing the data block in same disk overhead and being located at The mapping relations between data block in null, this will not cause Data Migration expense.The remaining data block positioned at null with Polling sequence is written into empty data block.
Wherein, the migration algorithm that STAR coding and Triple-Star coding are verified about row verification and tiltedly is as follows:
Obtain and calculate the value of following parameter, n, m, nr ndAnd L, new plus disk label fromIt arrives
If
IfAndAnd i is not The ID of null, i, j respectively indicate line number and disk number of the data block in band,
Then
If i < rb
Then i'=i, j'=j-m
Else if i > rb
Then i'=i, j'=j+m
For example, as in Figure 3-5,This is indicated at each In band, the 1st capable does not move any data block.Newly plus disk be numberedIt arrivesAfter new addition disk, 2 (C of block0,2) use C0,4It indicates.2 (C of block0,4, i=0, j=4) and full The condition of the above-mentioned algorithm of foot, therefore this method is migrated to C0,2(i'=0, j=4-2=2).Similar, this method will be round The data block (such as block 9,18 and 25 etc.) of label is migrated to different disks, but they still verify chain and oblique school in original row Test chain.
Next, the present invention changes reflecting between the data block in same disk overhead and the data block in null Penetrate relationship.The data block (such as block 14,13 and 30 etc.) that diamond indicia is selected from caching Y, is written the empty data block of same disk In.Therefore, this can be by Data Migration minimizing overhead.Finally cache remaining data block (such as block 12,15,18 and 31 in Y Deng) empty data block is written into polling sequence.In rare cases, the data block cached in Y is not enough to fill up same magnetic The empty data block of disk, this will increase a part of Data Migration quantity.
(3) update and recalculate check block
Three kinds of check block needs are updated or recalculate.Row check block can be another by one-time write check disk Outer two kinds of check blocks needs are temporarily stored in caching X.
More newline check block
Here pass through the exclusive or and Lai Geng newline check block for calculating the data block of raw line check block and Xin Jia.Next, We are by its disposable writing line check disk, because row verification will not be changed in merging phase.For example,V12And V14Indicate the value of data block 12 and 14.
Update oblique check block
It updates tiltedly verification and needs to calculate original oblique check block, the data block in related null and corresponding updated row verification The exclusive or of block and.The data that the oblique verification that oblique part newly increases can be used in caching X are calculated.For example,Next, oblique check block is put into caching X.
Recalculate reversed oblique check block
According to the coding formula of correcting and eleting codes, reversed oblique check block is recalculated used here as the data block in caching X, and will It is put into caching X.
Up to the present, it has been completed in the expansion process that a band is concentrated.If certain data are in expansion process It is lost, they can be resumed out by caching X and Y.
Three, merging phase
It is because it can reduce the I/O quantity of verification modification that the present invention, which needs merging phase,.Because having null (or empty Data block) band there is still a need for check blocks to carry out data protection, the school needed in the quantity of check block and a complete band It is the same for testing number of blocks.Therefore a tape merge so that all check blocks are fully utilized, and are reduced verification and repaired by us Change the expense with I/O.
Merging phase needs following steps:
1) determine which band needs is merged or is split, so that overall computing cost is minimum.
After previous stage, band concentrates the line number of each band to know.The present invention selects some lucky The band matched merges, and forms a complete band.If split without suitable band to band.Due to I/O The reduction of expense, splitting brought computing cost can undertake, and will not have an impact to expansion process.
By taking the three disk fault-tolerant arrays that are encoded based on Triple-Star extend to 9 pieces of disks from 7 pieces of disks as an example.Such as Fig. 3-4 It is shown, it is assumed that there are three band collection I, II and III, each band collection includes band 0,1 and 2.Band 0 and 1 in band collection I can To be merged into a complete band, as shown in Figure 6.Band 2 in band collection I can be with the band 2 in band collection II and II It merges.Therefore, it after the completion of merging, extends the preceding 3 × 3=9 band with 7 pieces of disks and becomes 1 × 3+1=4 Band with 9 pieces of disks.
2) merge band between band concentration or band collection
The step can be divided into two parts:
Merging data block and row check block;
Merge tiltedly verification and reversed tiltedly verification, and by its one-time write check disk.
In the first portion, the operation of merging data block and row check block only changes the rower of data block and row check block Number, additional I/O expense will not be generated.Block Ci,j(band a) is mapped to block Ci+x,j(band b), x are the numbers of the row in band b Amount (does not include null).As in Figure 3-5, block C1,2(band 1) is mapped to C4,2The position of (band 0), x=3.
In the second portion, merge tiltedly verification and reversed tiltedly verification, and by its one-time write check disk.We can letter Above two verification singly is calculated by XOR operation.Row check block Ci,p+1(band a) and(the value of band b) Addition obtains a new Ci,p+1, x is the quantity (not including null) of the row in band a.I.e.As in Figure 3-5,R'0C in band 0 can be used0,8It indicates.? In band 1,R'10C in band 0 can be used4,8It indicates.Data and row check block in band 1 After being mapped to band 0,Therefore the C in band 0 is updated4,8It is to calculate item With original C in 00,8With the C in band 14,8Exclusive or andReversed oblique check block Calculating it is similar with the calculating of oblique check block.Next, check disk is written in they and discharges spatial cache.Aforesaid operations can be with It is parallel to carry out, accelerate entire extension process.
Fig. 7 is a kind of system architecture diagram of the expansible system of three disk fault-tolerant arrays of the present invention.As shown in fig. 7, of the invention A kind of expansible system of three disks fault-tolerant array, including preparatory unit 701, migration units 702 and combining unit 703.
Wherein, preparatory unit 701 collects relevant parameter from storage system, is migration units 702 and combining unit 703 provide necessary parameter;Migration units 702 select a part of band as band collection, and calculate according in the stage one Parameter, some data lines are selected in each band, for migrate to newly plus disk in, in transition process, data block Movement be to be determined by the association between different check, this can guarantee balanced data distribution;Combining unit 703 is used In the tape merge that will have null or empty data block, to reduce the quantity and I/O expense of verification modification.
Preparatory unit 701 can use following public affairs according to the layout encoded of MDS in three disk fault-tolerant arrays and its configuration parameter Formula calculates ns, neAnd L.According to Fig.2, a band collection contains many bands.In each band, part row is set as " null ", in order to reach data balancing, they can be used to move to other disks.
Migration units 702 concentrate suitable data block to migrate band, can be divided into following three step and be operated:
(1) band collection is read in and is cached.
In order to reduce the quantity for reading I/O operation in expansion process, migration units 702 are by the data block of entire band collection and school It tests block and disposably reads in the caching X for being located at memory.Band concentrates selected null to be placed into caching Y.In a band collection In, reading the data on one piece of disk is that primary sequence is read, corresponding once to read I/O.
(2) migrating data block
Migration units 702 migrate suitable data block according to the minimal modifications amount of check block.To three kinds of differences Check block (row verification, tiltedly verification, reversed tiltedly verification) relationship analyzed after, change the position of some data blocks, make These blocks are obtained still in their original verification chains.This way may insure to modify check block as few as possible.Migration is single Member 702 gives STAR coding and Triple-Star coding about the row verification and tiltedly migration algorithm that verifies, which can will The quantity of Data Migration and the computational minimization of verification modification.TheRow is seen as basic row, this A line does not need to move any data block in the horizontal direction.Next, changing data block and the position in same disk overhead Mapping relations between the data block in null, this will not cause Data Migration expense.The remaining data block positioned at null It is written into polling sequence in empty data block.
Wherein, the migration algorithm that STAR coding and Triple-Star coding are verified about row verification and tiltedly is as follows:
Obtain and calculate the value of following parameter, n, m, nr ndAnd L, new plus disk label fromIt arrives
If
IfAndAnd i is not The ID of null
Then
If i < rb
Then i'=i, j'=j-m
Else if i > rb
Then i'=i, j'=j+m
For example, as in Figure 3-5,This is indicated at each In band, the 1st capable does not move any data block.Newly plus disk be numberedIt arrivesAfter new addition disk, 2 (C of block0,2) use C0,4It indicates.2 (C of block0,4, i=0, j=4) and full The condition of the above-mentioned algorithm of foot, therefore migration units 702 are migrated to C0,2(i'=0, j=4-2=2).Similar, migration is single Member 702 migrates the data block (such as block 9,18 and 25 etc.) of circular mark to different disks, but they are still in original row Verify chain and tiltedly verification chain.
Next, migration units 702 change the data block in same disk overhead and data block in null it Between mapping relations.The data block (such as block 14,13 and 30 etc.) that diamond indicia is selected from caching Y, is written the sky of same disk In data block.Therefore, this can be by Data Migration minimizing overhead.Finally cache remaining data block (such as block 12,15,18 in Y With 31 etc.) empty data block is written into polling sequence.In rare cases, the data block cached in Y is not enough to fill up together The empty data block of one disk, this will increase a part of Data Migration quantity.
(3) update and recalculate check block
Three kinds of check block needs are updated or recalculate.Row check block can be another by one-time write check disk Outer two kinds of check blocks needs are temporarily stored in caching X.
More newline check block
Here pass through the exclusive or and Lai Geng newline check block for calculating the data block of raw line check block and Xin Jia.Next, We are by its disposable writing line check disk, because row verification will not be changed in merging phase.For example,V12And V14Indicate the value of data block 12 and 14.
Update oblique check block
It updates tiltedly verification and needs to calculate original oblique check block, the data block in related null and corresponding updated row verification The exclusive or of block and.The data that the oblique verification that oblique part newly increases can be used in caching X are calculated.For example,Next, oblique check block is put into caching X.
Recalculate reversed oblique check block
According to the coding formula of correcting and eleting codes, reversed oblique check block is recalculated used here as the data block in caching X, and will It is put into caching X.
Up to the present, it has been completed in the expansion process that a band is concentrated.If certain data are in expansion process It is lost, they can be resumed out by caching X and Y.
Combining unit 703 is by a tape merge, so that all check blocks are fully utilized, and reduces verification modification and I/ The expense of O.
Combining unit needs following steps:
1) determine which band needs is merged or is split, so that overall computing cost is minimum.
After previous stage, band concentrates the line number of each band to know.The present invention selects some lucky The band matched merges, and forms a complete band.If split without suitable band to band.Due to I/O The reduction of expense, splitting brought computing cost can undertake, and will not have an impact to expansion process.
By taking the three disk fault-tolerant arrays that are encoded based on Triple-Star extend to 9 pieces of disks from 7 pieces of disks as an example.Such as Fig. 3-4 It is shown, it is assumed that there are three band collection I, II and III, each band collection includes band 0,1 and 2.Band 0 and 1 in band collection I can To be merged into a complete band, as shown in Figure 6.Band 2 in band collection I can be with the band 2 in band collection II and II It merges.Therefore, it after the completion of merging, extends the preceding 3 × 3=9 band with 7 pieces of disks and becomes 1 × 3+1=4 Band with 9 pieces of disks.
2) merge band between band concentration or band collection
The step can be divided into two parts:
Merging data block and row check block;
Merge tiltedly verification and reversed tiltedly verification, and by its one-time write check disk.
In the first portion, the operation of merging data block and row check block only changes the rower of data block and row check block Number, additional I/O expense will not be generated.Block Ci,j(band a) is mapped to block Ci+x,j(band b), x are the numbers of the row in band b Amount (does not include null).As in Figure 3-5, block C1,2(band 1) is mapped to C4,2The position of (band 0), x=3.
In the second portion, merge tiltedly verification and reversed tiltedly verification, and by its one-time write check disk.We can letter Above two verification singly is calculated by XOR operation.Row check block Ci,p+1(band a) and(the value of band b) Addition obtains a new Ci,p+1, x is the quantity (not including null) of the row in band a.I.e.As in Figure 3-5,R'0C in band 0 can be used0,8It indicates.? In band 1,R'10C in band 0 can be used4,8It indicates.Data and row check block quilt in band 1 After being mapped to band 0,Therefore the C in band 0 is updated4,8It is to calculate band 0 In original C0,8With the C in band 14,8Exclusive or andThe meter of reversed tiltedly check block It calculates similar with the calculating of oblique check block.Next, check disk is written in they and discharges spatial cache.Aforesaid operations can be parallel It carries out, accelerates entire extension process.
In conclusion the expandable method and system of the present invention three disk fault-tolerant arrays of one kind are according to the association of different check Property, select suitable data block to be migrated, thus reach the quantity of the smallest Data Migration and verification modification, meanwhile, this hair It is bright that will there is the band of empty data block to merge, so that the I/O cost reduction of verification modification, therefore present invention can assure that expand Data distribution is balanced after exhibition, and the I/O expense in expansion process is smaller.
The above-described embodiments merely illustrate the principles and effects of the present invention, and is not intended to limit the present invention.Any Without departing from the spirit and scope of the present invention, modifications and changes are made to the above embodiments by field technical staff.Therefore, The scope of the present invention, should be as listed in the claims.

Claims (10)

1. a kind of expandable method of three disk fault-tolerant arrays, includes the following steps:
Preparation stage collects relevant parameter from storage system, calculates necessary parameter for next two stages;
Migration phase selects a part of band as band collection, and according to parameter calculated in the preparation stage, at each Some data lines are selected in band, for migrating into the disk newly added;
Merging phase, by the tape merge with null or empty data block.
2. the expandable method of three disk fault-tolerant arrays of one kind as described in claim 1, it is characterised in that: in the preparation stage, root According to the layout encoded of MDS in three disk fault-tolerant arrays and its configuration parameter, n is calculateds, neAnd L, it is supplied to two later ranks Section, wherein nsIndicate the band number that a band is concentrated, neIt indicates to be arranged to the total quantity of null, L in band concentration It indicates in a band, the minimum number of null.
3. the expandable method of three disk fault-tolerant arrays of one kind as claimed in claim 2, which is characterized in that migration phase includes such as Lower step:
Band collection is read in and is cached;
According to the minimal modifications amount of check block, suitable data block is migrated;
Update and recalculate check block.
4. the expandable method of three disk fault-tolerant arrays of one kind as claimed in claim 3, it is characterised in that: by entire band collection Data block and check block disposably read in the caching X positioned at memory, and band concentrates selected null to be placed into caching Y.
5. the expandable method of three disk fault-tolerant arrays of one kind as claimed in claim 4, it is characterised in that: described according to check block Minimal modifications amount, the step of migrating to suitable data block, is to row verification, tiltedly verification, the relationship reversely tiltedly verified carry out After analysis, change the position of some data blocks, so that these blocks are still in their original verification chains.
6. the expandable method of three disk fault-tolerant arrays of one kind as claimed in claim 5, it is characterised in that: the update and again It calculates in check block step, the exclusive or and Lai Geng newline check block of the data block by calculating raw line check block and Xin Jia.
7. the expandable method of three disk fault-tolerant arrays of one kind as claimed in claim 6, it is characterised in that: the update and again Calculate in check block step, update tiltedly verification and needs to calculate original oblique check block, the data block in related null and it is corresponding more The exclusive or of new row check block and.
8. the expandable method of three disk fault-tolerant arrays of one kind as claimed in claim 7, it is characterised in that: the update and again It calculates in check block step, reversed oblique check block is recalculated according to the coding formula of correcting and eleting codes.
9. the expandable method of three disk fault-tolerant arrays of one kind as claimed in claim 8, which is characterized in that the merging phase packet Include following steps:
Determine which band needs is merged or is split, so that overall computing cost is minimum;
Merge band between band concentration or band collection.
10. a kind of expansible system of three disk fault-tolerant arrays, comprising:
Preparatory unit collects relevant parameter from storage system, provides necessary parameter for migration units and combining unit;
Migration units select a part of band as band collection, and according to parameter calculated in the stage one, in each band In select some data lines, for migrate to newly plus disk in, in transition process, the movement of data block is by different check Between association determined;
Combining unit, for that will have the tape merge of null or empty data block.
CN201610637554.1A 2016-08-05 2016-08-05 A kind of expandable method and system of three disks fault-tolerant array Active CN106293526B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610637554.1A CN106293526B (en) 2016-08-05 2016-08-05 A kind of expandable method and system of three disks fault-tolerant array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610637554.1A CN106293526B (en) 2016-08-05 2016-08-05 A kind of expandable method and system of three disks fault-tolerant array

Publications (2)

Publication Number Publication Date
CN106293526A CN106293526A (en) 2017-01-04
CN106293526B true CN106293526B (en) 2019-04-12

Family

ID=57665961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610637554.1A Active CN106293526B (en) 2016-08-05 2016-08-05 A kind of expandable method and system of three disks fault-tolerant array

Country Status (1)

Country Link
CN (1) CN106293526B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107094186B (en) * 2017-06-15 2019-10-01 深圳市云舒网络技术有限公司 A kind of correcting and eleting codes optimization method of distributed memory system
CN111880963B (en) * 2020-07-29 2022-06-10 北京浪潮数据技术有限公司 Data reconstruction method, device, equipment and storage medium
CN112835533B (en) * 2021-02-25 2023-02-17 上海交通大学 A rack-level cloud storage array expansion method and device
CN114816278B (en) * 2022-06-30 2022-11-11 苏州浪潮智能科技有限公司 Data migration method, system, equipment and storage medium of storage server
US11804854B1 (en) * 2022-07-26 2023-10-31 Hewlett Packard Enterprise Development Lp Changing error-correction configurations

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102200892A (en) * 2011-04-29 2011-09-28 华中科技大学 Capacity expansion method based on dynamic redundant array of independent disks (RAID) system
CN104881365A (en) * 2015-05-31 2015-09-02 上海交通大学 RAID-6 extensible method based on erasure code similarity
CN104881372A (en) * 2015-05-31 2015-09-02 上海交通大学 Data migration method capable of improving RAID-6 (redundant array of independent disks-6) expandability
CN105630423A (en) * 2015-12-25 2016-06-01 华中科技大学 Erasure code cluster storage expansion method based on data caching

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996689B2 (en) * 2003-04-16 2006-02-07 Lsi Logic Corporation Systems and methods for striped storage migration
TWI334564B (en) * 2007-02-14 2010-12-11 Via Tech Inc Data migration systems and methods for independent storage device expansion and adaptation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102200892A (en) * 2011-04-29 2011-09-28 华中科技大学 Capacity expansion method based on dynamic redundant array of independent disks (RAID) system
CN104881365A (en) * 2015-05-31 2015-09-02 上海交通大学 RAID-6 extensible method based on erasure code similarity
CN104881372A (en) * 2015-05-31 2015-09-02 上海交通大学 Data migration method capable of improving RAID-6 (redundant array of independent disks-6) expandability
CN105630423A (en) * 2015-12-25 2016-06-01 华中科技大学 Erasure code cluster storage expansion method based on data caching

Also Published As

Publication number Publication date
CN106293526A (en) 2017-01-04

Similar Documents

Publication Publication Date Title
CN106293526B (en) A kind of expandable method and system of three disks fault-tolerant array
JP6771018B2 (en) Improved performance of 2D array processor
EP3399419B1 (en) Method and system for multi-dimensional raid
US11494265B2 (en) Securing against errors in an error correcting code (ECC) implemented in an automotive system
CN105786408B (en) Logic sector mapping in flash array
CN101652752B (en) File server for redundant array of independent disks (RAID) system
US5613085A (en) System for parallel striping of multiple ordered data strings onto a multi-unit DASD array for improved read and write parallelism
US8037391B1 (en) Raid-6 computation system and method
CN104965768B (en) The method and system placed for the service-aware data in storage system
CN109643258A (en) The multinode reparation of erasing code is regenerated using high-speed minimum memory
CN109582484B (en) Protection against errors in Error Correcting Code (ECC) implemented in automotive systems
US20050114727A1 (en) Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array
CN101620518B (en) Method and apparatus for creating redundancy array in disc RAID
CN112799604A (en) A RAID6 disk array expansion method and data filling method based on N-Code
US5896493A (en) Raid algorithm using a multimedia functional unit
CN104932835A (en) Erasure code based distributed storage system capacity expansion and reduction method
US12321230B2 (en) Alias-free tagged error correcting codes for machine memory operations
Fu et al. A stack-based single disk failure recovery scheme for erasure coded storage systems
Zhang et al. Fast 3D visualization of massive geological data based on clustering index fusion
JP2002278707A (en) Disk controller
CN104137082B (en) Method and device for writing data of first block size
CN106227463B (en) RAID, reading and writing data and its method for reconstructing
CN104035825B (en) Redirect source list processing method, device and compiler
KR100861859B1 (en) Multi-path data retrieval from redundant array
CN109426503A (en) The method and device of simulation excitation is provided

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant