CN102521068B - Reconstructing method of solid-state disk array - Google Patents

Reconstructing method of solid-state disk array Download PDF

Info

Publication number
CN102521068B
CN102521068B CN201110350044.3A CN201110350044A CN102521068B CN 102521068 B CN102521068 B CN 102521068B CN 201110350044 A CN201110350044 A CN 201110350044A CN 102521068 B CN102521068 B CN 102521068B
Authority
CN
China
Prior art keywords
data
solid
band
write
state disk
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
CN201110350044.3A
Other languages
Chinese (zh)
Other versions
CN102521068A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201110350044.3A priority Critical patent/CN102521068B/en
Publication of CN102521068A publication Critical patent/CN102521068A/en
Application granted granted Critical
Publication of CN102521068B publication Critical patent/CN102521068B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention discloses a reconstructing method of a solid-state disk array, and the reconstructing method comprises the following steps: (1), constructing a storage system; (2), when a member solid-state disk in the system generates a fault, taking out the fault disk, inserting a new replacing disk, and starting the solid-stage disk array to begin carrying out reconstruction; and (3), writing back data. In addition, the reconstructing method further comprises a data reading-writing process at a reconstruction stage and a data reading-writing process at a writing-back stage. The reconstructing method can be used for the solid-state disk arrays which belong to the grades of RAID1 (redundant array of inexpensive disks 1), RAID10, RAID5, RAID6 and the like and have redundant data, and is applicable to the construction of a high-performance, high-capacity and high-reliability large storage system.

Description

A kind of method for reconstructing of solid-state disk array
Technical field
The invention belongs to computer data field of storage, be specifically related to a kind of method for reconstructing of solid-state disk array.
Background technology
Solid state hard disc (solid State Driver, SSD) be to utilize semiconductor memory chip to store the device of data, there is no conventional hard for the rotation of reading and writing and mobile mechanical part, have that access speed is fast, energy consumption is low, high random accessibility and a feature such as shock resistance is good.In today of traditional magnetic disk performance of storage system stagnation, solid-state disk bursts forth in increasing business application just as a wonderful work, having solved I/O bottleneck and the energy consumption problem at high-performance data center, is to be also focus and the core of following field of storage research at present.
MLC (Multi-Level Cell in recent years, multilevel-cell) technology improved the capacity of solid state hard disc, greatly reduce its cost simultaneously, but the bit comparison of depositing due to each MLC storage unit is many, structure relative complex, the probability of makeing mistakes is very large, and Performance And Reliability all will be lower than SLC (Single-Level Cell, single layer cell).In order to improve the performance of solid-state disk, we can use parallel I/O architecture, as hyperchannel and interleaving access technology, operate to improve bandwidth by the concurrent I/O that allows multiple storage chips, but reliability is the key issue of design large-scale storage systems always.Current nand flash memory product encodes to ensure reliability by error-checking, as Hamming code (Hamming Code), reed-solomon code (Reed-Solomon Code) and BCH code (abbreviations of Bose, Chaudhuri and tri-names of Hocquenghem) etc., but all exigent hardware complexities of these error-checking codings also can cause read-write to postpone simultaneously.Another method that improves reliability is other redundancy of storage level, the piece interface of solid-state disk standard can without any modification use existing redundancy scheme and interlaced solution-disk array RAID (Redundant Array of Independent Disks), wherein RAID-5 rank provides good Performance And Reliability, is widely used in commercial field.
In the time that in solid-state disk array, some member's solid-state disks break down and add replacement dish, solid-state disk array can automatically switch to reconstruct mode, and process of rebuilding is reconstructed into the data block on faulty disk in the replacement dish newly adding continuously in the situation that not interrupting application service.The characteristic that the erase-write cycles restriction of solid-state disk and solid-state disk array are write load balancing will cause dependent failure, is exactly particularly that multiple equipment reaches simultaneously and writes the state of wiping restriction, shows the high bit-error that cannot recover.Of particular concern is the failure dependency of solid-state disk array in the time rebuilding state, the high bit-error that the write request on survival dish is brought will cause a large amount of loss of datas.In addition, existing (SuSE) Linux OS solid-state disk antenna array control software is identical with traditional magnetic disk antenna array control software, data re-establishing method is not considered the random accessibility feature of solid-state disk, cause process of reconstruction and read-write process to repeat to read to same data block, not only waste array bandwidth, and reconstruction time is long, affect readwrite performance and the reliability of storage system.
Summary of the invention
The present invention proposes a kind of data re-establishing method of solid-state disk array, utilize the extraordinary characteristic of the random performance of solid-state disk, allow reconstructed positions follow to read load and move, the preferential band of rebuilding read request position, reduce read request number of times on the solid-state disk of surviving in process of reconstruction, consider the load balancing dependent failure causing and the characteristic of writing erasing times restriction of RAID simultaneously, to write load is redirected, prevent in solid-state disk array rebuild process due to high BER (Bit Error Rate, bit error rate) and the loss of data causing of again breaking down, write reconstruction and can also alleviate load to the impact of rebuilding, it is long to have solved the existing solid-state disk array rebuild time, the low problem of storage system reliability in process of reconstruction.
Realize the concrete technical scheme that object of the present invention adopts as follows:
The method for reconstructing of a kind of solid-state disk array of the present invention, is characterized in that, comprises the steps:
(1) structure of storage system
First, add an additional disk outside solid-state disk array, this additional disk is used for storing the data of writing that are redirected in process of reconstruction;
Secondly, bitmap log sheet is set in internal memory and writes and be redirected metadata Hash table, bitmap log sheet is used for recording following reads the preferential band of rebuilding of load, metadata Hash table is used for recording the key message that is redirected write request, comprises the verification reel number of the initial logical address of request place band, solid-state reel number that request writes, band and is redirected to the LBA (Logical Block Addressing) on additional disk;
(2) process of rebuilding of solid-state disk array
In the time having member's solid-state disk to break down in system, take out faulty disk, insert new replacement dish, start solid-state disk array and start to rebuild, detailed process is as follows:
(2.1) initialization bitmap log sheet, a band of each corresponding solid-state disk array of log sheet, is all initialized as 0 by each of bitmap log sheet, continues step (2.2);
(2.2) process of rebuilding judges according to the current initial logical address that needs the band of rebuilding whether the corresponding position of bitmap log sheet is 1, if it is continues step (2.3), otherwise proceeds to step (2.4);
(2.3) rebuilt mistake of this band, the reconstruction of skipping this band, obtains next initial logical address of rebuilding band, proceeds to step (2.5);
(2.4) this band was not rebuild, obtain an idle band, read the data at this pillar location place on all survival dishes, these data are carried out to XOR XOR computing, the result of calculating is written to and is replaced on the position that solid-state disk is corresponding, in set figure log sheet, corresponding position is 1, continues step (2.5);
(2.5) repeat above-mentioned steps (2.2)--(2.4), until that all bands are all rebuild is complete, discharge the resource that bitmap log sheet takies;
(3) data write back
(3.1) judge that whether write redirected metadata Hash table is empty, if be not sky, continue step (3.2), otherwise proceeds to step (3.4);
(3.2) metadata Hash table, take out the identical but M bar record that logic reel number is different of band initial logical address from writing to be redirected, from additional disk, read this M bar and record corresponding data, and they are write back in the solid-state disk array of having rebuild, writing flow process and solid-state disk array, to read and write normally treatment scheme consistent, need to upgrade check block, continue step (3.3);
(3.3) these records are deleted from Hash table, proceeded to step (3.1);
(3.4) completed the process that writes back of all redirected data, discharged Hash and show the resource taking.
The method for reconstructing of a kind of solid-state disk array of the present invention, is characterized in that, the detailed process of the reading and writing data of described phase of regeneration is:
(4.1) judge the state of array, if in reconstruction state, continue step (4.2), otherwise proceed to step (4.7);
(4.2) judge the type of the read-write requests that upper strata issues, if read request continues step (4.3), otherwise proceed to step (4.8);
(4.3) process user's read request, obtain strips S corresponding to read request according to the Method of Data Organization of RAID, according to the initial logical address C of strips S and this request, the logic reel number N inquiry in strips S is write and is redirected metadata Hash table, if hit, continue step (4.4), otherwise proceed to step (4.5);
(4.4) latest data that will read is in additional disk, and according to the LBA (Logical Block Addressing) on additional disk in the metadata list item hitting, the latest data reading in additional disk returns to user, finishes;
(4.5) data that will read, rebuilding in solid-state disk array, are inquired about the corresponding position of bitmap log sheet that initial logical address C is corresponding, and 0 proceeds to step (4.6) if, otherwise proceeds to step (4.7);
(4.6) strips S at read request place does not have rebuilt, the data block that is arranged in strips S on all survival dishes is read out from bottom solid-state disk, be designated as respectively D (i), wherein i=1,2,3...n-1, n is the number of member's solid-state disk in array, utilize XOR XOR that the data D on replacement dish (n) is calculated, the data block D={D (i) that user's read request need to be read | i=1,2,3...n} returns to user, D (n) is written to simultaneously and replaces in solid-state disk, and in set figure log sheet, corresponding position is 1, finishes;
(4.7) read flow process according to normal data and process, finish;
(4.8) process user's write request, for data D ' to be written, obtain strips S corresponding to write request according to the Method of Data Organization of RAID ', calculate strips S ' initial logical address C ', write request is in strips S ' in logic reel number N ', the verification reel number P ' of band, writes if this band is filled band, enter step (4.9), otherwise proceed to step (4.10);
(4.9) write data block and covered whole band buffer zone, by data D ' to be written be filled into band buffer zone C ' (N) in, proceed to step (4.12);
(4.10) write data block and do not cover whole band buffer zone, check the corresponding position of bitmap log sheet according to band initial logical address, 0 is continued step (4.11) if, otherwise proceeds to step (4.12);
(4.11) this band does not also have rebuilt, to on all survival dishes, be arranged in strips S ' data block read out from solid-state disk array, be designated as D ' (i) respectively, wherein i=1,2,3...n-1, n is the number of member's solid-state disk in array, utilize XOR XOR that the data D ' on replacement dish (n) is calculated, to write data D ' and be filled into band buffer zone C ' (N), and D ' (n) will be written to and be replaced in solid-state disk simultaneously, in set figure log sheet, corresponding position is 1, proceeds to step (4.12);
(4.12) by band buffer zone C ' data redirection in (N) in additional disk, the mode that additional disk employing order is appended, search to write according to band initial logical address C ' and logic reel number N ' and be redirected metadata Hash table, if hit, proceed to (4.13), otherwise proceed to (4.14);
(4.13) upgrade the metadata table hitting, the LBA (Logical Block Addressing) that additional disk in list item is hit in amendment, it is invalid that old data block corresponding this data block in additional disk is designated, and finishes;
(4.14) the metadata list item of this redirected write request is added in Hash table, finish.
The method for reconstructing of a kind of solid-state disk array of the present invention, is characterized in that, described in write back the reading and writing data in stage detailed process be:
(5.1) wait for that upper strata issues user's request, judges that array, whether in writing back the stage, if not processing by normal reading and writing data flow process, if it is continues step (5.2);
(5.2) type of judgement request, if read request proceeds to step (5.3), otherwise proceeds to step (5.6);
(5.3) search and write redirected metadata Hash table, if hit, proceed to step (5.4), otherwise proceed to step (5.5);
(5.4) this read request is sent to additional disk, from additional disk, reading out data returns to user, goes to step (5.1);
(5.5) this read request is sent in solid-state disk array, from solid-state disk array, reading out data returns to user, proceeds to step (5.1);
(5.6) by the normal flow chart of data processing of RAID, data are write in the solid-state disk array of having rebuild, searched to write and be redirected metadata Hash table, if hit, proceed to step (5.7), otherwise proceed to step (5.1);
(5.7) the metadata list item hitting is deleted from Hash table, proceeded to step (5.1).
The method for reconstructing of a kind of solid-state disk array of the present invention, it is characterized in that, the writing mode that write request on described additional disk takes order to append, in the time that certain redirected write request is updated, new data order is appended in additional disk, and revising corresponding metadata is invalid by the old Data Identification in additional disk.
The method for reconstructing of a kind of solid-state disk array of the present invention, it is characterized in that, described redirected metadata Hash table is made up of four fields, each field is followed successively by initial logical address S_LBA, the solid-state reel number DiskNo writing, band verification reel number ParityNo and the LBA (Logical Block Addressing) LBA on additional disk of band, and each list item in Hash table is used for recording the key message of a redirected write request.
The present invention is based on a ubiquitous phenomenon, be that existing (SuSE) Linux OS solid-state disk antenna array control software is identical with traditional magnetic disk antenna array control software, data re-establishing method is not considered the random accessibility feature of solid-state disk, cause reconstruction time long, the writing load balancing characteristic and will cause dependent failure of the erase-write cycles of solid-state disk restriction and solid-state disk array in addition, makes the poor reliability during solid-state disk reconstruction.The present invention proposes a kind of data re-establishing method of solid-state disk array, allow reconstructed positions follow to read load and move, the preferential band of rebuilding read request position, reduce the read request number of times of surviving on solid-state disk in process of reconstruction, to write load is redirected simultaneously, preventing from surviving on the one hand, in process of reconstruction, due to high BER, the loss of data causing of again breaking down has alleviated the impact of user load on process of reconstruction to solid-state disk on the other hand.The present invention mainly comprises that structure, the reading and writing data of phase of regeneration, the reconstruction of solid-state disk array, the data of storage system write back, write back these five concrete steps of reading and writing data in stage, solve the low problem of storage system reliability in existing solid-state disk array rebuild time length, process of reconstruction, be suitable for building the large memory system of high-performance, high reliability and high power capacity.
Brief description of the drawings
Fig. 1 is storage system software and hardware architecture schematic diagram of the present invention;
Fig. 2 is the structural representation that is redirected metadata Hash table of writing of the present invention;
Fig. 3 is reconstruction schematic flow sheet of the present invention;
Fig. 4 is that data of the present invention write back schematic diagram;
Fig. 5 is reading and writing data treatment scheme schematic diagram of the present invention.
Embodiment
Below in conjunction with accompanying drawing, the present invention is described in more detail.
Fig. 1 is software and hardware system configuration diagram of the present invention: hardware need to add an add-on hard disk on disposing on solid-state disk array; On software configuration, mainly comprise reconstruction module, write back module and data processing module, these modules rely on bitmap log sheets and redirected metadata Hash table.
The method for reconstructing of a kind of solid-state disk array of the present invention, write back stage order by phase of regeneration and data and form, mainly comprise that structure, the reading and writing data of phase of regeneration, the reconstruction of solid-state disk array, the data of storage system write back, write back these five concrete steps of reading and writing data in stage.
(1) structure of storage system
First, add an additional disk outside original solid-state disk array, additional disk is used for storing the data of writing that are redirected in process of reconstruction.
Secondly, bitmap log sheet is set in internal memory and writes and be redirected metadata Hash table, bitmap log sheet is used for recording following reads the preferential band of rebuilding of load, and metadata Hash table is used for recording the key message that is redirected write request.As shown in Figure 2, being redirected metadata Hash table is made up of four fields, each field is followed successively by initial logical address S_LBA, the solid-state reel number DiskNo writing, band verification reel number ParityNo and the LBA (Logical Block Addressing) LBA on additional disk of band, and each list item in Hash table is used for recording the key message of a redirected write request.
In addition, the writing mode that the write request on additional disk takes order to append, in the time that certain redirected write request is updated, is appended to new data order in additional disk, and revising corresponding metadata is invalid by the old Data Identification in additional disk.
(2) process of rebuilding of solid-state disk array
Fig. 3 is the reconstruction procedures schematic diagram of solid-state disk array, carry out following process: when process of rebuilding is rebuild certain band, first judge in bitmap log sheet, whether corresponding position is 1, if it is skips the reconstruction of this band, otherwise reads this band of data reconstruction on all survival dishes.Repeatedly carry out this process until all bands all rebuild complete, rebuild finish.Concrete step is as follows:
(2.1) initialization bitmap log sheet, a band of each corresponding solid-state disk array of log sheet, is all initialized as 0 by each of bitmap log sheet, continues step (2.2);
(2.2) process of rebuilding judges according to the current initial logical address that needs the band of rebuilding whether the corresponding position of bitmap log sheet is 1, if it is continues step (2.3), otherwise proceeds to step (2.4);
(2.3) rebuilt mistake of this band, the reconstruction of skipping this band, obtains next initial logical address of rebuilding band, proceeds to step (2.5);
(2.4) this band was not rebuild, obtain an idle band, read the data at this pillar location place on all survival dishes, these data are carried out to XOR XOR computing, the result of calculating is written to and is replaced on the position that solid-state disk is corresponding, in set figure log sheet, corresponding position is 1, continues step (2.5);
(2.5) repeat above-mentioned steps (2.2)--(2.4), until that all bands are all rebuild is complete, discharge the resource that bitmap log sheet takies.
(3) reading and writing data of phase of regeneration
Be illustrated in figure 5 during reconstruction and data write back during the process flow diagram of data processing, when solid-state disk array is in the time rebuilding state, read-write processing module is waited for upper-layer user's request, read request if, first judge whether this request hits Hash table, if hit, need to from additional disk, read up-to-date data and return to user, otherwise carry out following operation: whether position corresponding to band that judges this request place in bitmap log sheet is 1, 1 this band of expression has been rebuild complete if, from solid-state disk array, read the data that need and return to user, otherwise read this band of data reconstruction on all survival dishes, in set figure log sheet, corresponding position is 1, user's read data is returned simultaneously.Write request if, judge whether this band is that filled band is write, if writing, filled band will write data stuffing in band buffer zone, data order in this buffer zone is appended on additional disk, upgrade and be redirected metadata Hash table, otherwise carry out following operation: whether position corresponding to band that judges this request place in bitmap log sheet is 1, 1 this band of expression has been rebuild complete if, the old data of reading current write request position from solid-state disk array are put in band buffer zone, otherwise read this band of data reconstruction on all survival dishes, in set figure log sheet, corresponding position is 1, then new data is filled into band buffer zone, data order in this buffer zone is appended on additional disk, upgrade and be redirected metadata Hash table.Detailed process is:
(3.1) judge the state of array, if in reconstruction state, continue step (3.2), if write back state in data, proceed to (5.1), otherwise proceed to step (3.7);
(3.2) judge the type of the read-write requests that upper strata issues, if read request continues step (3.3), otherwise proceed to step (3.8);
(3.3) process user's read request, obtain strips S corresponding to read request according to the Method of Data Organization of RAID, the initial logical address of supposing this band is C, the logic reel number of request in band is N, write redirected metadata Hash table according to band initial logical address C and logic reel number N inquiry, if hit, continue step (3.4), otherwise proceed to step (3.5);
(3.4) latest data that will read is in additional disk, and according to the LBA (Logical Block Addressing) on additional disk in the metadata list item hitting, the latest data reading in additional disk returns to user, finishes;
(3.5) data that will read, rebuilding in solid-state disk array, are inquired about the corresponding position of bitmap log sheet that initial logical address C is corresponding, and 0 proceeds to step (3.6) if, otherwise proceeds to step (3.7);
(3.6) strips S at read request place does not have rebuilt, the data block that is arranged in strips S on all survival dishes is read out from bottom solid-state disk, be designated as respectively D (i), wherein i=1,2,3...n-1, n is the number of member's solid-state disk in array, utilize XOR XOR that the data D on replacement dish (n) is calculated, if the data block that user's read request need to read is D={D (i) | i=1,2,3...n}, returns to user by D, D (n) is written to simultaneously and replaces in solid-state disk, and in set figure log sheet, corresponding position is 1, finishes;
(3.7) read flow process according to normal data and process, finish;
(3.8) process user's write request, suppose that the data that will write are D ', obtain strips S corresponding to write request according to the Method of Data Organization of RAID ', calculate strips S ' initial logical address be C ', write request is in strips S ' in logic reel number be N ', the verification reel number of band is P ', writes (OVERWRITE) if this band is filled band, enter step (3.9), otherwise proceed to step (3.10);
(3.9) write data block and covered whole band buffer zone, will write data D ' be filled into band buffer zone C ' (N) in, proceed to step (3.12);
(3.10) writing data block and not covering whole band buffer zone, according to strips S ' initial logical address C ' checks the corresponding position of bitmap log sheet, 0 is continued step (3.11) if, otherwise proceeds to step (3.12);
(3.11) this band does not also have rebuilt, to on all survival dishes, be arranged in strips S ' data block read out from solid-state disk array, be designated as D ' (i) respectively, wherein i=1,2,3...n-1, n is the number of member's solid-state disk in array, utilize XOR XOR that the data D ' on replacement dish (n) is calculated, to write data D ' and be filled into band buffer zone C ' (N), and D ' (n) will be written to and be replaced in solid-state disk simultaneously, in set figure log sheet, corresponding position is 1, proceeds to step (3.12);
(3.12) by band buffer zone C ' data redirection in (N) in additional disk, the mode that additional disk employing order is appended, according to strips S ' initial logical address C ' and logic reel number N ' search to write and be redirected metadata Hash table, if hit, proceed to (3.13), otherwise proceed to (3.14);
(3.13) upgrade the metadata table hitting, the LBA (Logical Block Addressing) that additional disk in list item is hit in amendment, it is invalid that old data block corresponding this data block in additional disk is designated, and finishes;
The metadata list item of this redirected write request is added in Hash table, finish.
(4) data write back
Fig. 4 be after having rebuild by the data reading in additional disk, and write back to the step schematic diagram of solid-state disk array, carry out following process:
Data write back module and judge whether be redirected metadata Hash table is empty, if be not sky, take out identical and many records that logic reel number is different of band initial logical address, from additional disk, read the redirected data of writing according to the key message of record, they are write back in solid-state disk array, and these records are deleted from Hash table.Repeatedly carry out this process, until that all data all reclaim is complete, to keep the data consistency of solid-state disk array.Detailed process is:
(4.1) process of reconstruction completes, and log-on data writes back process work, enters step (4.2);
(4.2) judge that whether write redirected metadata Hash table is empty, if be not sky, continue step (4.3), otherwise proceeds to step (4.5);
(4.3) metadata Hash table, take out the identical but M bar record that logic reel number is different of band initial logical address from writing to be redirected, from additional disk, read this M bar and record corresponding data, and they are write back in the solid-state disk array of having rebuild, writing flow process and solid-state disk array, to read and write normally treatment scheme consistent, need to upgrade check block, continue step (4.4);
(4.4) these records are deleted from Hash table, proceeded to step (4.2);
(4.5) completed the process that writes back of all redirected data, discharged Hash and show the resource taking.
(5) write back the reading and writing data in stage
Be illustrated in figure 5 during reconstruction and data write back during the process flow diagram of data processing, when solid-state disk array is in the time that data write back state, read-write processing module is waited for upper-layer user's request, if read request, judge whether this request hits Hash table, if hit, reading out data from additional disk, otherwise from solid-state disk array reading out data.If first write request judges whether this request hits Hash table, if hit, the record hitting is deleted from Hash table, data are write on the solid-state disk array of reconstruction, otherwise directly data have been write on the solid-state disk array of reconstruction.Detailed process is:
(5.1) wait for that upper strata issues user's request, judges that array, whether in writing back the stage, if not processing by normal reading and writing data flow process, if it is continues step (5.2);
(5.2) type of judgement request, if read request proceeds to step (5.3), otherwise proceeds to step (5.6);
(5.3) search and write redirected metadata Hash table, if hit, proceed to step (5.4), otherwise proceed to step (5.5);
(5.4) this read request is sent to additional disk, from additional disk, reading out data returns to user, goes to step (5.1);
(5.5) this read request is sent in solid-state disk array, from solid-state disk array, reading out data returns to user, proceeds to step (5.1);
(5.6) by the normal flow chart of data processing of RAID, data are write in the solid-state disk array of having rebuild, searched to write and be redirected metadata Hash table, if hit, proceed to step (5.7), otherwise proceed to step (5.1);
(5.7) the metadata list item hitting is deleted from Hash table, proceeded to step (5.1).

Claims (5)

1. a method for reconstructing for solid-state disk array, is characterized in that, comprises the steps:
(1) build storage system
First, add an additional disk outside solid-state disk array, this additional disk is used for storing the data of writing that are redirected in process of reconstruction;
Secondly, bitmap log sheet is set in internal memory and writes and be redirected metadata Hash table, bitmap log sheet is used for recording following reads the preferential band of rebuilding of load, metadata Hash table is used for recording the key message that is redirected write request, comprises the verification reel number of the initial logical address of request place band, solid-state reel number that request writes, band and is redirected to the LBA (Logical Block Addressing) on additional disk;
(2) process of rebuilding of solid-state disk array
In the time having member's solid-state disk to break down in system, take out faulty disk, insert new replacement dish, start solid-state disk array and start to rebuild, detailed process is as follows:
(2.1) initialization bitmap log sheet, a band of each corresponding solid-state disk array of log sheet, is all initialized as 0 by each of bitmap log sheet, continues step (2.2);
(2.2) process of rebuilding judges according to the current initial logical address that needs the band of rebuilding whether the corresponding position of bitmap log sheet is 1, if it is continues step (2.3), otherwise proceeds to step (2.4);
(2.3) rebuilt mistake of this band, the reconstruction of skipping this band, obtains next initial logical address of rebuilding band, proceeds to step (2.5);
(2.4) this band was not rebuild, obtain an idle band, read the data at this pillar location place on all survival dishes, these data are carried out to XOR XOR computing, the result of calculating is written to and is replaced on the position that solid-state disk is corresponding, in set figure log sheet, corresponding position is 1, continues step (2.5);
(2.5) repeat above-mentioned steps (2.2)--(2.4), until that all bands are all rebuild is complete, discharge the resource that bitmap log sheet takies;
(3) data write back
(3.1) judge that whether write redirected metadata Hash table is empty, if be not sky, continue step (3.2), otherwise proceeds to step (3.4);
(3.2) metadata Hash table, take out the identical but record that logic reel number is different of band initial logical address from writing to be redirected, from additional disk, read these and record corresponding data, and they are write back in the solid-state disk array of having rebuild, upgrade check block, continue step (3.3);
(3.3) described these records are deleted from Hash table, proceeded to step (3.1);
(3.4) completed the process that writes back of all redirected data, discharged Hash and show the resource taking.
2. the method for reconstructing of a kind of solid-state disk array according to claim 1, is characterized in that, carries out the process of reading and writing data in phase of regeneration, and the process of carrying out data read and write in step (2.4) is:
(4.1) judge the state of array, if in reconstruction state, continue step (4.2);
(4.2) judge the type of the read-write requests that upper strata issues, if read request continues step (4.3), otherwise proceed to step (4.8);
(4.3) process user's read request, obtain strips S corresponding to read request according to the Method of Data Organization of RAID, according to the initial logical address C of strips S and this request, the logic reel number N inquiry in strips S is write and is redirected metadata Hash table, if hit, continue step (4.4), otherwise proceed to step (4.5);
(4.4) latest data that will read is in additional disk, and according to the LBA (Logical Block Addressing) on additional disk in the metadata list item hitting, the latest data reading in additional disk returns to user, finishes;
(4.5) data that will read, rebuilding in solid-state disk array, are inquired about the corresponding position of bitmap log sheet that initial logical address C is corresponding, and 0 proceeds to step (4.6) if, otherwise proceeds to step (4.7);
(4.6) strips S at read request place does not have rebuilt, the data block that is arranged in strips S on all survival dishes is read out from bottom solid-state disk, be designated as respectively D (i), wherein i=1, 2, 3 ... n-1, n is the number of member's solid-state disk in array, utilize XOR XOR that the data D on replacement dish (n) is calculated, be D (n)=D (1)+zero D (2)+zero ... + zero D (n-1), the data block D={D (i) that user's read request need to be read | i=1, 2, 3 ... n} returns to user, D (n) is written to simultaneously and replaces in solid-state disk, in set figure log sheet, corresponding position is 1, finish,
(4.7) read flow process according to normal data and process, finish;
(4.8) process user's write request, for data D ' to be written, obtain strips S corresponding to write request according to the Method of Data Organization of RAID ', calculate strips S ' initial logical address C ', write request is in strips S ' in logic reel number N ', the verification reel number P ' of band, writes if this band is filled band, enter step (4.9), otherwise proceed to step (4.10);
(4.9) write data block and covered whole band buffer zone, data D ' to be written is filled in band buffer zone C ' (N '), proceed to step (4.12);
(4.10) write data block and do not cover whole band buffer zone, check the corresponding position of bitmap log sheet according to band initial logical address, 0 is continued step (4.11) if, otherwise proceeds to step (4.12);
(4.11) this band does not also have rebuilt, to on all survival dishes, be arranged in strips S ' data block read out from solid-state disk array, be designated as D ' (i) respectively, wherein i=1, 2, 3 ... n-1, n is the number of member's solid-state disk in array, utilize XOR XOR that the data D ' on replacement dish (n) is calculated, be D ' (n)=D ' (1)+zero D ' (2)+zero ... + zero D ' (n-1), to write data D ' and be filled into band buffer zone C ' (N '), D ' (n) is written to and is replaced in solid-state disk simultaneously, in set figure log sheet, corresponding position is 1, proceed to step (4.12),
(4.12) by the data redirection in band buffer zone C ' (N ') in additional disk, the mode that additional disk employing order is appended, according to strips S ' initial logical address C ' and logic reel number N ' search to write and be redirected metadata Hash table, if hit, proceed to (4.13), otherwise proceed to (4.14);
(4.13) upgrade the metadata table hitting, the LBA (Logical Block Addressing) that additional disk in list item is hit in amendment, it is invalid that old data block corresponding this data block in additional disk is designated, and finishes;
(4.14) the metadata list item of this redirected write request is added in Hash table, finish.
3. the method for reconstructing of a kind of solid-state disk array according to claim 1 and 2, is characterized in that, described in write back the detailed process of the reading and writing data in stage, the process of carrying out data read and write in step (3.2) is:
(5.1) wait for that upper strata issues user's request, judges that array, whether in writing back the stage, if not processing by normal reading and writing data flow process, if it is continues step (5.2);
(5.2) type of judgement request, if read request proceeds to step (5.3), otherwise proceeds to step (5.6);
(5.3) search and write redirected metadata Hash table, if hit, proceed to step (5.4), otherwise proceed to step (5.5);
(5.4) this read request is sent to additional disk, from additional disk, reading out data returns to user, goes to step (5.1);
(5.5) this read request is sent in solid-state disk array, from solid-state disk array, reading out data returns to user, proceeds to step (5.1);
(5.6) by the normal flow chart of data processing of RAID, data are write in the solid-state disk array of having rebuild, searched to write and be redirected metadata Hash table, if hit, proceed to step (5.7), otherwise proceed to step (5.1);
(5.7) the metadata list item hitting is deleted from Hash table, proceeded to step (5.1).
4. the method for reconstructing of a kind of solid-state disk array according to claim 1 and 2, it is characterized in that, the writing mode that write request on described additional disk takes order to append, in the time that certain redirected write request is updated, new data order is appended in additional disk, and revising corresponding metadata is invalid by the old Data Identification in additional disk.
5. the method for reconstructing of a kind of solid-state disk array according to claim 1 and 2, it is characterized in that, described redirected metadata Hash table is made up of four fields, each field is followed successively by initial logical address S_LBA, the solid-state reel number DiskNo writing, band verification reel number ParityNo and the LBA (Logical Block Addressing) LBA on additional disk of band, and each list item in Hash table is used for recording the key message of a redirected write request.
CN201110350044.3A 2011-11-08 2011-11-08 Reconstructing method of solid-state disk array Active CN102521068B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110350044.3A CN102521068B (en) 2011-11-08 2011-11-08 Reconstructing method of solid-state disk array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110350044.3A CN102521068B (en) 2011-11-08 2011-11-08 Reconstructing method of solid-state disk array

Publications (2)

Publication Number Publication Date
CN102521068A CN102521068A (en) 2012-06-27
CN102521068B true CN102521068B (en) 2014-07-23

Family

ID=46292003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110350044.3A Active CN102521068B (en) 2011-11-08 2011-11-08 Reconstructing method of solid-state disk array

Country Status (1)

Country Link
CN (1) CN102521068B (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI461901B (en) * 2012-12-10 2014-11-21 Ind Tech Res Inst Method and system for storing and rebuilding data
WO2015030679A1 (en) * 2013-08-27 2015-03-05 Agency For Science, Technology And Research Raid parity stripe reconstruction
CN104166601B (en) * 2014-08-14 2017-08-15 浙江宇视科技有限公司 The backup method and device of a kind of data storage
CN105450704A (en) * 2014-08-28 2016-03-30 北京兆易创新科技股份有限公司 Network storage device for flash memories and processing method thereof
CN104598336B (en) * 2015-02-04 2018-04-24 深圳神州数码云科数据技术有限公司 Method for reconstructing and device based on RAID algorithm
CN104778100A (en) * 2015-04-23 2015-07-15 成都博元时代软件有限公司 Safe data backup method
CN104866244B (en) * 2015-05-31 2018-03-06 上海交通大学 The RAID 6I/O dispatching methods that a kind of balance strip band is write
CN106557264B (en) * 2015-09-25 2019-11-08 伊姆西公司 For the storage method and equipment of solid state hard disk
CN105353991A (en) * 2015-12-04 2016-02-24 浪潮(北京)电子信息产业有限公司 Disk array reconstruction optimization method and device
CN107135240B (en) * 2016-02-29 2020-12-15 华为技术有限公司 Method, device and system for distributing commands in distributed system
CN107122261B (en) * 2017-04-18 2020-04-07 杭州宏杉科技股份有限公司 Data reading and writing method and device of storage equipment
CN107273046B (en) * 2017-06-06 2019-08-13 华中科技大学 A kind of data processing method and system based on Solid-state disc array
CN107608637A (en) * 2017-09-30 2018-01-19 深圳市华德安科技有限公司 RAID management methods, device and computer-readable recording medium
CN107885620B (en) * 2017-11-22 2020-09-08 华中科技大学 Method and system for improving performance and reliability of solid-state disk array
CN110413454B (en) * 2018-04-28 2022-04-05 华为技术有限公司 Data reconstruction method and device based on storage array and storage medium
CN108874314A (en) * 2018-05-31 2018-11-23 郑州云海信息技术有限公司 A kind of reconstructing method and device of raid-array
CN109814803B (en) * 2018-12-17 2022-12-09 深圳创新科技术有限公司 Fault tolerance self-adaptive adjusting method and device in distributed storage system
CN112000296B (en) * 2020-08-28 2024-04-09 北京计算机技术及应用研究所 Performance optimization system in full flash memory array
CN117311995B (en) * 2023-11-28 2024-02-23 苏州元脑智能科技有限公司 Background task execution method and system of storage system and controller
CN117785070A (en) * 2024-02-23 2024-03-29 杭州海康威视数字技术股份有限公司 Data storage control method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610438B2 (en) * 2000-01-06 2009-10-27 Super Talent Electronics, Inc. Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table
JP2001306266A (en) * 2000-04-18 2001-11-02 Oki Electric Ind Co Ltd Method for protecting data in hard disk and computer system
CN101976174B (en) * 2010-08-19 2012-01-25 北京同有飞骥科技股份有限公司 Method for constructing energy-saving disk array of vertical configuration distribution check
CN102184079B (en) * 2011-04-29 2012-11-07 华中科技大学 Method for optimizing writing performance of redundant array of independent disk (RAID5)-grade disk array

Also Published As

Publication number Publication date
CN102521068A (en) 2012-06-27

Similar Documents

Publication Publication Date Title
CN102521068B (en) Reconstructing method of solid-state disk array
US11941257B2 (en) Method and apparatus for flexible RAID in SSD
EP2483785B1 (en) Stripe-based memory operation
CN107391027B (en) Redundant array of inexpensive disks storage device and management method thereof
US10872012B2 (en) XOR recovery schemes utilizing external memory
US8417877B2 (en) Stripe-based non-volatile multilevel memory operation
US9058288B2 (en) Redundant storage in non-volatile memory by storing redundancy information in volatile memory
Lee et al. FRA: A flash-aware redundancy array of flash storage devices
CN115269259A (en) Running RAID parity computation
CN111164574A (en) Redundant coded stripes based on internal addresses of storage devices
CN102483686A (en) Data storage system and method for operating a data storage system
JP2019502987A (en) Multipage failure recovery in non-volatile memory systems
EP2646919A2 (en) Transaction log recovery
US10942848B2 (en) Apparatus and method for checking valid data in memory system
Zeng et al. HRAID6ML: A hybrid RAID6 storage architecture with mirrored logging
CN113849121A (en) Memory system for accessing stripe form data and operating method thereof
Chen et al. DCR: Deterministic crash recovery for NAND flash storage systems
Ma et al. Log-ROC: Log structured RAID on open-channel SSD
Lin et al. HLC: Software-based half-level-cell flash memory
CN116774913A (en) Memory system and method for improving read latency during hybrid read/write operations
WO2013023564A9 (en) Method and apparatus for flexible raid in ssd

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