CN104268028A - Magnetic disk data reading method and device based on magnetic disk read error category - Google Patents

Magnetic disk data reading method and device based on magnetic disk read error category Download PDF

Info

Publication number
CN104268028A
CN104268028A CN201410488434.0A CN201410488434A CN104268028A CN 104268028 A CN104268028 A CN 104268028A CN 201410488434 A CN201410488434 A CN 201410488434A CN 104268028 A CN104268028 A CN 104268028A
Authority
CN
China
Prior art keywords
data
read
magnetic disk
read error
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410488434.0A
Other languages
Chinese (zh)
Other versions
CN104268028B (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.)
Zhejiang Uniview Technologies Co Ltd
Original Assignee
Zhejiang Uniview Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Uniview Technologies Co Ltd filed Critical Zhejiang Uniview Technologies Co Ltd
Priority to CN201410488434.0A priority Critical patent/CN104268028B/en
Publication of CN104268028A publication Critical patent/CN104268028A/en
Application granted granted Critical
Publication of CN104268028B publication Critical patent/CN104268028B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

The invention provides a magnetic disk data reading method based on magnetic disk read error category. The magnetic disk data reading method comprises the steps of distinguishing read error types produced in the array execution reading service process, array synchronization process and array reestablishment process, then performing reading or non-reading on corresponding data according to different read error types when follow-up service read IO is performed so as to ensure integrity and correctness of read data to the great extent, and reducing the influence on arrays to the great extent.

Description

A kind of method and apparatus based on disk read error classification reading disk data
Technical field
The present invention relates to RAID array technical field, particularly relate to a kind of method and apparatus based on disk read error classification reading disk data.
Background technology
In the process that data store, when losing one or more disk, redundant array provides complete data by according to different array type.For RAID5, loss one piece of disk can be allowed; For RAID6, loss two pieces of disks can be allowed; For RAID10, each mirror image is to allowing loss one piece of disk etc.For RAID5, when loss one piece of disk, other disk have recorded read error again, or when disk number is complete, a band records multiple read error, be difficult in this case read complete data.For recording monitor data, if video recording index does not drop on these bands gone wrong, the scope of impact is very limited; If but video recording index has dropped on these bands gone wrong, and do not backed up video recording index, the scope so affected is just larger.For file system, if the data that file system needs cannot read successfully, so can affect the operation of whole file system, even can cause serious destruction to file system.When encountering the read error of above-mentioned existence, how the impact of the reduction pair array of maximum magnitude is the current problem needing to solve.
Summary of the invention
In view of this, the invention provides a kind of method and apparatus based on disk read error classification reading disk data.
The method is applied to RAID array, comprising: in business read procedure, if the read error produced, by corresponding data in magnetic disk block mark first category read error; When being marked with the data in magnetic disk block of first category read error described in the data block reading to read needed for IO of follow-up business is, perform the read operation to this data in magnetic disk block.
Or, in array synchronizing process, if when pre-read phase produces two or more read errors, data in magnetic disk block corresponding for one of them read error is marked the second classification read error, data in magnetic disk block corresponding for remaining read error is marked first category read error respectively, or data in magnetic disk block corresponding for all read errors is marked first category read error respectively, and data in magnetic disk block corresponding for check disk is marked the second classification read error; When being marked with the data in magnetic disk block of first category read error described in the data block reading to read needed for IO of follow-up business is, perform the read operation to this data in magnetic disk block; When being marked with the data in magnetic disk block of the second classification read error described in the data block reading to read needed for IO of follow-up business is, then do not read the data of this data in magnetic disk block.
Or, in array synchronizing process, if when pre-read phase produces a read error, by data in magnetic disk block corresponding for this read error mark first category read error, if to turn when read check dish data block is repaired this check disk block read error, then this check disk data block is marked the second classification read error.
Or, in array rebuild process, if produce read error when reading data in magnetic disk block, then by data in magnetic disk block corresponding for described read error mark first category read error, data in magnetic disk block corresponding on reconstruction dish is marked the second classification read error; When being marked with the data in magnetic disk block of first category read error described in the data block reading to read needed for IO of follow-up business is, perform the read operation to this data in magnetic disk block; When being marked with the data in magnetic disk block of the second classification read error described in the data block reading to read needed for IO of follow-up business is, then do not read the data of this data in magnetic disk block.
Preferably, for the data in magnetic disk block being marked with first category read error, if full data block reads successfully, then remove first category read error mark; For the data in magnetic disk block being marked with the second classification read error, if having new data to write this data in magnetic disk block and full data block is write as merit time, then remove this second classification read error mark.
A kind of device based on disk read error classification reading disk data, this application of installation is in RAID array, and this device comprises: read error identification module, in business read procedure, if the read error produced, by corresponding data in magnetic disk block mark first category read error; Reading IO execution module, during for being marked with the data in magnetic disk block of first category read error described in when the data block reading to read needed for IO of follow-up business being, performing the read operation to this data in magnetic disk block.
Or, read error identification module, for in array synchronizing process, if when pre-read phase produces two or more read errors, data in magnetic disk block corresponding for one of them read error is marked the second classification read error, data in magnetic disk block corresponding for remaining read error is marked first category read error respectively, or data in magnetic disk block corresponding for all read errors is marked first category read error respectively, and data in magnetic disk block corresponding for check disk is marked the second classification read error; Reading IO execution module, during for being marked with the data in magnetic disk block of first category read error described in when the data block reading to read needed for IO of follow-up business being, performing the read operation to this data in magnetic disk block; When being marked with the data in magnetic disk block of the second classification read error described in the data block reading to read needed for IO of follow-up business is, then do not read the data of this data in magnetic disk block.
Or, described read error identification module, also in array synchronizing process, if when pre-read phase produces a read error, by data in magnetic disk block corresponding for this read error mark first category read error, if to turn when read check dish data block is repaired this check disk block read error, then this check disk data block is marked the second classification read error.
Or, read error identification module, in array rebuild process, if produce read error when reading data in magnetic disk block, then by data in magnetic disk block corresponding for described read error mark first category read error, data in magnetic disk block corresponding on reconstruction dish is marked the second classification read error; Reading IO execution module, during for being marked with the data in magnetic disk block of first category read error described in when the data block reading to read needed for IO of follow-up business being, performing the read operation to this data in magnetic disk block; When being marked with the data in magnetic disk block of the second classification read error described in the data block reading to read needed for IO of follow-up business is, then do not read the data of this data in magnetic disk block.
Preferably, described device also comprises read error mark removing module; For the data in magnetic disk block being marked with first category read error, if full data block reads successfully, then read error mark is removed module and is removed first category read error mark; For the data in magnetic disk block being marked with the second classification read error, if having new data to write this data in magnetic disk block and full data block is write as merit time, then read error mark is removed module and is removed this second classification read error mark.
Compared to prior art, technical solution of the present invention ensures the integrality and the correctness that read data to greatest extent, the impact of the reduction pair array of maximum magnitude.
Accompanying drawing explanation
Fig. 1 is an existing RAID array schematic diagram.
Fig. 2 is a kind of synchronous flow process of array relating to read error processing mode of the embodiment of the present invention.
Fig. 3 a, Fig. 3 b are the RAID array schematic diagram that the embodiment of the present invention has different classes of read error.
Fig. 4 is a kind of array rebuild flow process relating to read error processing mode of the embodiment of the present invention.
Fig. 5 is the RAID array schematic diagram with different classes of read error after the embodiment of the present invention is rebuild.
Fig. 6 is that the embodiment of the present invention lacks dish and has the RAID array schematic diagram of read error mark.
Fig. 7 is embodiment of the present invention device building-block of logic.
Embodiment
The present invention program perform for array read in business procedure, in array synchronizing process, the read error type that produces in array rebuild process distinguishes, then carry out follow-up business read IO time, read according to different read error types or do not read corresponding data, to ensure the integrality and the correctness that read data to greatest extent, the impact of the reduction pair array of maximum magnitude.Describe in detail below by way of specific embodiment.
One, business procedure is read
In business read procedure, if the read error produced, by corresponding data in magnetic disk block mark first category read error; When being marked with the data in magnetic disk block of first category read error described in the data block reading to read needed for IO of follow-up business is, perform the read operation to this data in magnetic disk block.
Give an example below and be described.The RAID array that please refer to the drawing 1 provides, this RAID array comprises D1 ~ D5 five data disks and a check disk P dish.This array stores video monitoring data; If user wants playback one section of monitoring video, then upper strata can issue and read IO to corresponding disk, in this business read procedure, if when there is mistake in the some data in magnetic disk blocks read on data disks D1, then to this data in magnetic disk block mark read_error, if read error all occurs the data block on the disks such as D1, D2, then all read_error is marked to these data in magnetic disk blocks.When a data disks reading failure impel utilize P dish to repair time, if also there is read error when reading P dish, then to P dish corresponding data block mark read_error.
Follow-up, user is playback this section of monitoring video again, in current business read procedure, when data in magnetic disk block to be read is the data block being marked with read_error, performs the reading to this data in magnetic disk block.Once read because front and make a mistake, it is not probably real media problem, such as be the read error etc. caused because of link problem, just likely read successfully, so the reading data in magnetic disk block being marked with read_error being carried out to data can be continued when reading again.If this is successfully talked about the full digital independent of the data in magnetic disk block being marked with read_error, then remove read_error mark.
Two, array synchronizing process
In array synchronizing process, if when pre-read phase produces two or more read errors, any one mode in following two kinds of modes can be adopted to carry out read error category label: 1) data in magnetic disk block corresponding for one of them read error is marked the second classification read error, data in magnetic disk block corresponding for remaining read error is marked first category read error respectively; 2) data in magnetic disk block corresponding for all read errors is marked first category read error respectively, and data in magnetic disk block corresponding for check disk is marked the second classification read error.
If when pre-read phase produces a read error, by data in magnetic disk block corresponding for this read error mark first category read error, if to turn when read check dish data block is repaired this check disk block read error, then this check disk data block is marked the second classification read error.When the data block reading to read needed for IO of follow-up business is the data in magnetic disk block being marked with first category read error, perform the read operation to this data in magnetic disk block; When the data block reading to read needed for IO of follow-up business is the data in magnetic disk block being marked with the second classification read error, then do not read the data of this data in magnetic disk block.
After Creating, generally need to carry out synchronously.Synchronous principle, in brief: after read data wire rod blocks of data carries out XOR, write P dish.The synchronous flow process of array shown in please refer to the drawing 2, this flow process relate to processing mode during read error.
S201, the termination judging whether synchronous complete all bands or whether occur synchronous abnormality and cause, if so, perform step S202, otherwise perform step S203.
S202, same to EOS.
S203, next (group) band of acquisition carry out synchronously.
Whether S204, judgement pre-read successful, if so, then perform step S207, otherwise perform step S205.
S205, judge whether pre-read phase exists two or more read errors, if so, then perform step S206, otherwise perform step S208.
S206, by data in magnetic disk block corresponding for one of them read error mark failed_read_error, data in magnetic disk block corresponding for all the other read errors is marked read_error respectively; Or data in magnetic disk block corresponding for all read errors is labeled as read_error, and data block corresponding for check disk is labeled as failed_read_error.
S207, to pre-read successful all data of data discs perform XOR calculate after write check dish P dish; Return step S201.
S208, by the data in magnetic disk block of this read error mark read_error; And read P dish data.
S209, judge whether P dish data read successfully, if so, perform step S211, otherwise perform step S210.
S210, P dish data block is labeled as failed_read_error, returns step 201.
S211, will read successful all data of data discs and P dish data and carry out the data in magnetic disk block of write-read mistake after XOR, the read_error removing this data in magnetic disk block after being write as merit marks; Return S201.
The mark how carrying out read error classification in synchronizing process is described below by way of an example.For Fig. 3 a, when supposing to carry out synchronous to the band n of in Fig. 3 a, at pre-read phase, when namely reading bar blocks of data on data disks, all there is the situation of read error in the data of D1, D2 and D4 corresponding stick D1n, D2n and D4n, two kinds of modes are now had to carry out the mark of read error classification: a kind of mode is that the arbitrary data block in D1n, D2n and D4n is labeled as failed_read_error, and all the other two data blocks are labeled as read_error; The data block Pn of P dish, for D1n, D2n, D4n are all labeled as read_error, is labeled as failed_read_error by another kind of mode.
In synchronizing process, some read errors are labeled as read_error, and some read errors are labeled as faild_read_error; This is to instruct reading IO and whether performing read operation of follow-up business.If read the required data in magnetic disk block read of IO to be marked with read_error, then can perform read operation, if read the required data in magnetic disk block read of IO to be marked with faild_read_error, then the data on this data in magnetic disk block can not be read.Data on the data in magnetic disk block of mark read_error are effective data, and the data marked on the data in magnetic disk block of faild_read_error are invalid data, cannot ensure its correctness.
What below by way of a concrete example follow-up business is described reads IO for the operation performed by dissimilar read error.It should be noted that, the follow-up business in the present invention read IO be not limited to application layer issue read that service request relates to read IO, what other related in business procedure as write read IO etc. also belongs to this category.Please refer to the drawing 3b, Fig. 3 b has been synchronous array.As shown in the figure, this array is in synchronous process, and the data block D2m of D2 is marked with read_error; P dish data block Pm with band is marked with faild_read_error.When performing random write business (non-full band is write), if when write order needs data block D2m data being write D2, according to existing WriteMode, amendment is read in employing and write the execution of RMW algorithm, namely need to read the data on the data block D2m of D2 and P dish data block Pm, and write P dish data block after the data in these two data blocks read and data to be written are carried out XOR, then by data to be written write D2m.For the data on D2 data block D2m, because it is marked with read_error, then can read, if read successfully, then remove read_error mark, reading here successfully refers to that full data block reads successfully certainly; And for the data on P dish data block Pm, because it is marked with faild_read_error, then forbid reading; Now can read the data of the upper corresponding stick of D1, D3, D4, D5 further, and write the corresponding stick of P dish after XOR is carried out to these five bar blocks of data of D1 ~ D5, if write as merit, the faild_read_error then removed on P dish data block Pm marks, and merit of being write as here also refers to that full data block is write as merit certainly.For data to be written, the data block D2m of write D2, returns successfully to upper strata after being write as merit.Data now on band have consistance, and the read error mark of removing does not affect the accuracy of data.
Three, array rebuild process
In array rebuild process, if produce read error when reading data in magnetic disk block, then by data in magnetic disk block corresponding for described read error mark first category read error, data in magnetic disk block corresponding on reconstruction dish is marked the second classification read error; When the data block reading to read needed for IO of follow-up business is the data in magnetic disk block being marked with first category read error, perform the read operation to this data in magnetic disk block; When the data block reading to read needed for IO of follow-up business is the data in magnetic disk block being marked with the second classification read error, then do not read the data of this data in magnetic disk block.
After business writes redundant array band, band has data consistency, now when losing any one piece of disk, can calculate the data of losing on disk by other disk.Fig. 4 gives reconstruction flow process, and provides in process of reconstruction processing mode when there is read error.
One piece of disk off-line in please refer to the drawing 4, RAID is played, and triggers and applies for hot standby reconstruction, perform following step:
S401, judge whether all bands have all been rebuild, if so, perform step S402, otherwise perform step S403.
S402, reconstruction dish is exchanged for data disks adds in array, reconstruction completes.
S403, judge disk whether off-line, if so, perform step 404, otherwise perform step 405.
S404, reconstruction stop, and determine when start to rebuild according to the process of setting again.
S405, next (group) band of acquisition are rebuild.
S406, judge whether the data block of all data disks and check disk pre-reads successfully, if so, perform step S407, otherwise perform step S408.
S407, the successful data block of all readings performed after XOR calculates and writes reconstruction dish, return step S401.
S408, to do not read on successful data disks and check disk data block mark read_error; To the data block mark failed_read_error on reconstruction dish; Return step S401.
After having rebuild, reconstruction dish can become data disks and add in array, and the data block now reconstruction dish being marked with failed_read_error is used for pointing out corresponding data to be invalid; Other data blocks being marked with read_error then only represent that data have occurred mistake when reading, and data are then effective.So the required data block read of IO of reading of follow-up business is marked with read_error, then perform the read operation to this data block; When the data block reading to read needed for IO of follow-up business is marked with failed_read_error mark, then forbid the data reading this data in magnetic disk block.
What below by way of a concrete example follow-up business is described reads IO for the operation performed by dissimilar read error.Please refer to the drawing 5, the data disks D5 off-line in RAID array is played, and after reconstruction completes, D5 ' has joined in array.But one of them band has two data blocks have recorded respectively read_error mark and failed_read_error: disk D1 a stick have recorded read_error; A stick of reconstruction dish D5 ' have recorded failed_read_error, sees Fig. 5.If application layer has issued the request of reading business, and these data reading the required reading of business comprise that band (stripe) indicated in Fig. 5 just.Because the data block on D1 records read_error mark, so can directly read, if full data block reads successfully, this read_error can be identified and remove; And the data block on D5 ' records failed_read_error, so cannot directly read.Want to obtain the data accurately on D5 ', now D1, D2, D3, D4 that this band reads can be carried out the data that XOR calculates D5 '.The operation that business of reading like this relates to this band just for successfully completing.In addition, the data of the D5 ' that XOR calculates are write on D5 ', if write as merit, namely completely data block is write as merit, then remove the failed_read_error mark on it, the data now on this band have consistance.
Incorporated by reference to Fig. 6, when lacking a data disks, and when other data disks record read_error read error, there is the processing mode that business writes demand.
A data block of data disks D1 has read_error read error mark, data disks D5 has been kicked out of by array or has been in off-line state; If now there is data d5 ' to need to write and identify read_error data block with on the D5 dish of band, then read D1 (to read successfully in the full data block of D1, remove the read error read_error mark that corresponding data block marks), data on D2, D3, D4 corresponding data block, then carry out the data that XOR draws with d5 ' and write data block corresponding to P dish.Due to disk D5 off-line (or kicked out of by array, or be in down status), if disk D5 is kicked out of array, then after writing P dish, whole order completes; If disk D5 belongs to roll off the production line temporarily, then need record partial reconstruction record, then until disk after reaching the standard grade in effective time, complete partial reconstruction.
If now have data d1 ' to write disk D1 identify the data block having read_error, so adopt RMW algorithm, (the full data block of D1 reads successfully first to read D1, remove the read error read_error that corresponding data block marks), data on P corresponding data block, then XOR is carried out by D1 and P, carry out XOR with d1 ' again, the result drawn writes P dish, and d1 ' writes D1 dish.Due to D5 off-line (or kicked out of by array, or be in down status), if disk D5 is kicked out of array, then, after writing P dish and D1 dish, whole order completes; If disk D5 belongs to roll off the production line temporarily, then need record partial reconstruction record, then until disk after reaching the standard grade in effective time, complete partial reconstruction.
In addition, for writing the similar processing mode above of concrete grammar that is marked with the band of two read_error read errors, repeat no more here.
The read error specifically when marking what classification is described above by detailed flow process and concrete example; And after read error carries out distinguishing identifier, follow-up business read the problem how IO to process for different classes of read error; Mark is had to the read error of read_error, can be repaired by follow-up again reading; Then directly can not read for fail_read_error, and will be repaired by the mode write.So just can ensure the integrality and the correctness that read data to greatest extent, the impact of the reduction pair array of maximum magnitude.
Based on same design, present invention also offers a kind of device based on disk read error classification reading disk data.Embodiment of the present invention device building-block of logic shown in please refer to the drawing 7.This device comprises: read error identification module, read IO execution module and read error mark remove module.
Read error identification module, in business read procedure, if the read error produced, by corresponding data in magnetic disk block mark first category read error; Reading IO execution module, during for being marked with the data in magnetic disk block of first category read error described in when the data block reading to read needed for IO of follow-up business being, performing the read operation to this data in magnetic disk block.
Read error identification module, for in array synchronizing process, if when pre-read phase produces two or more read errors, data in magnetic disk block corresponding for one of them read error is marked the second classification read error, data in magnetic disk block corresponding for remaining read error is marked first category read error respectively, or data in magnetic disk block corresponding for all read errors is marked first category read error respectively, and data in magnetic disk block corresponding for check disk is marked the second classification read error; Reading IO execution module, during for being marked with the data in magnetic disk block of first category read error described in when the data block reading to read needed for IO of follow-up business being, performing the read operation to this data in magnetic disk block; When being marked with the data in magnetic disk block of the second classification read error described in the data block reading to read needed for IO of follow-up business is, then do not read the data of this data in magnetic disk block.Described read error identification module, also in array synchronizing process, if when pre-read phase produces a read error, by data in magnetic disk block corresponding for this read error mark first category read error, if to turn when read check dish data block is repaired this check disk block read error, then this check disk data block is marked the second classification read error.
Read error identification module, for in array rebuild process, if produce read error when reading data in magnetic disk block, then by data in magnetic disk block corresponding for described read error mark first category read error, data in magnetic disk block corresponding on reconstruction dish is marked the second classification read error; Reading IO execution module, during for being marked with the data in magnetic disk block of first category read error described in when the data block reading to read needed for IO of follow-up business being, performing the read operation to this data in magnetic disk block; When being marked with the data in magnetic disk block of the second classification read error described in the data block reading to read needed for IO of follow-up business is, then do not read the data of this data in magnetic disk block.
For the data in magnetic disk block being marked with first category read error, if full data block reads successfully, read error mark is removed module and is removed first category read error mark; For the data in magnetic disk block being marked with the second classification read error, if having new data to write this data in magnetic disk block and full data block is write as merit time, read error mark is removed module and is removed this second classification read error mark.
The foregoing is only preferred embodiment of the present invention, not in order to limit the present invention, within the spirit and principles in the present invention all, any amendment made, equivalent replacement, improvement etc., all should be included within the scope of protection of the invention.

Claims (10)

1., based on a method for disk read error classification reading disk data, the method is applied to RAID array, it is characterized in that, the method comprises:
In business read procedure, if the read error produced, by corresponding data in magnetic disk block mark first category read error;
When being marked with the data in magnetic disk block of first category read error described in the data block reading to read needed for IO of follow-up business is, perform the read operation to this data in magnetic disk block.
2., based on a method for disk read error classification reading disk data, the method is applied to RAID array, it is characterized in that, the method comprises:
In array synchronizing process, if when pre-read phase produces two or more read errors, data in magnetic disk block corresponding for one of them read error is marked the second classification read error, data in magnetic disk block corresponding for remaining read error is marked first category read error respectively, or data in magnetic disk block corresponding for all read errors is marked first category read error respectively, and data in magnetic disk block corresponding for check disk is marked the second classification read error;
When being marked with the data in magnetic disk block of first category read error described in the data block reading to read needed for IO of follow-up business is, perform the read operation to this data in magnetic disk block; When being marked with the data in magnetic disk block of the second classification read error described in the data block reading to read needed for IO of follow-up business is, then do not read the data of this data in magnetic disk block.
3. method as claimed in claim 2, it is characterized in that, in array synchronizing process, if when pre-read phase produces a read error, by data in magnetic disk block corresponding for this read error mark first category read error, if to turn when read check dish data block is repaired this check disk block read error, then this check disk data block is marked the second classification read error.
4., based on a method for disk read error classification reading disk data, the method is applied to RAID array, it is characterized in that, the method comprises:
In array rebuild process, if produce read error when reading data in magnetic disk block, then by data in magnetic disk block corresponding for described read error mark first category read error, data in magnetic disk block corresponding on reconstruction dish is marked the second classification read error;
When being marked with the data in magnetic disk block of first category read error described in the data block reading to read needed for IO of follow-up business is, perform the read operation to this data in magnetic disk block; When being marked with the data in magnetic disk block of the second classification read error described in the data block reading to read needed for IO of follow-up business is, then do not read the data of this data in magnetic disk block.
5. the method as described in any one of Claims 1 to 4, is characterized in that, for the data in magnetic disk block being marked with first category read error, if full data block reads successfully, then removes first category read error mark; For the data in magnetic disk block being marked with the second classification read error, if having new data to write this data in magnetic disk block and full data block is write as merit time, then remove this second classification read error mark.
6. based on a device for disk read error classification reading disk data, this application of installation, in RAID array, is characterized in that, this device comprises:
Read error identification module, in business read procedure, if the read error produced, by corresponding data in magnetic disk block mark first category read error;
Reading IO execution module, during for being marked with the data in magnetic disk block of first category read error described in when the data block reading to read needed for IO of follow-up business being, performing the read operation to this data in magnetic disk block.
7. based on a device for disk read error classification reading disk data, this application of installation, in RAID array, is characterized in that, this device comprises:
Read error identification module, for in array synchronizing process, if when pre-read phase produces two or more read errors, data in magnetic disk block corresponding for one of them read error is marked the second classification read error, data in magnetic disk block corresponding for remaining read error is marked first category read error respectively, or data in magnetic disk block corresponding for all read errors is marked first category read error respectively, and data in magnetic disk block corresponding for check disk is marked the second classification read error;
Reading IO execution module, during for being marked with the data in magnetic disk block of first category read error described in when the data block reading to read needed for IO of follow-up business being, performing the read operation to this data in magnetic disk block; When being marked with the data in magnetic disk block of the second classification read error described in the data block reading to read needed for IO of follow-up business is, then do not read the data of this data in magnetic disk block.
8. device as claimed in claim 7, it is characterized in that, described read error identification module, also in array synchronizing process, if when pre-read phase produces a read error, by data in magnetic disk block corresponding for this read error mark first category read error, if to turn when read check dish data block is repaired this check disk block read error, then this check disk data block is marked the second classification read error.
9. based on a device for disk read error classification reading disk data, this application of installation, in RAID array, is characterized in that, this device comprises:
Read error identification module, for in array rebuild process, if produce read error when reading data in magnetic disk block, then by data in magnetic disk block corresponding for described read error mark first category read error, data in magnetic disk block corresponding on reconstruction dish is marked the second classification read error;
Reading IO execution module, during for being marked with the data in magnetic disk block of first category read error described in when the data block reading to read needed for IO of follow-up business being, performing the read operation to this data in magnetic disk block; When being marked with the data in magnetic disk block of the second classification read error described in the data block reading to read needed for IO of follow-up business is, then do not read the data of this data in magnetic disk block.
10. the device as described in any one of claim 6 ~ 9, is characterized in that, described device also comprises read error mark and removes module; For the data in magnetic disk block being marked with first category read error, if full data block reads successfully, then read error mark is removed module and is removed first category read error mark; For the data in magnetic disk block being marked with the second classification read error, if having new data to write this data in magnetic disk block and full data block is write as merit time, then read error mark is removed module and is removed this second classification read error mark.
CN201410488434.0A 2014-09-22 2014-09-22 A kind of method and apparatus based on disk read error classification reading disk data Active CN104268028B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410488434.0A CN104268028B (en) 2014-09-22 2014-09-22 A kind of method and apparatus based on disk read error classification reading disk data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410488434.0A CN104268028B (en) 2014-09-22 2014-09-22 A kind of method and apparatus based on disk read error classification reading disk data

Publications (2)

Publication Number Publication Date
CN104268028A true CN104268028A (en) 2015-01-07
CN104268028B CN104268028B (en) 2017-12-15

Family

ID=52159552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410488434.0A Active CN104268028B (en) 2014-09-22 2014-09-22 A kind of method and apparatus based on disk read error classification reading disk data

Country Status (1)

Country Link
CN (1) CN104268028B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070174670A1 (en) * 2006-01-13 2007-07-26 Jared Terry Unique response for puncture drive media error
CN102184129A (en) * 2011-04-27 2011-09-14 杭州华三通信技术有限公司 Fault tolerance method and device for disk arrays
CN102789370A (en) * 2012-06-29 2012-11-21 浙江宇视科技有限公司 Method and device for synchronizing redundant array of independent disks (RAID)
CN102981778A (en) * 2012-11-15 2013-03-20 浙江宇视科技有限公司 Redundant array of independent disks (RAID) array reconstruction method and device thereof
CN103309775A (en) * 2013-07-03 2013-09-18 苏州科达科技股份有限公司 Fault-tolerance method for high-reliability disk array
CN103389918A (en) * 2013-07-24 2013-11-13 北京鲸鲨软件科技有限公司 Repair method for false fault in RAID (Redundant Array of Independent Disks) system
CN104035840A (en) * 2014-06-12 2014-09-10 浙江宇视科技有限公司 Method and device for restoring stripe with read errors

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070174670A1 (en) * 2006-01-13 2007-07-26 Jared Terry Unique response for puncture drive media error
CN102184129A (en) * 2011-04-27 2011-09-14 杭州华三通信技术有限公司 Fault tolerance method and device for disk arrays
CN102789370A (en) * 2012-06-29 2012-11-21 浙江宇视科技有限公司 Method and device for synchronizing redundant array of independent disks (RAID)
CN102981778A (en) * 2012-11-15 2013-03-20 浙江宇视科技有限公司 Redundant array of independent disks (RAID) array reconstruction method and device thereof
CN103309775A (en) * 2013-07-03 2013-09-18 苏州科达科技股份有限公司 Fault-tolerance method for high-reliability disk array
CN103389918A (en) * 2013-07-24 2013-11-13 北京鲸鲨软件科技有限公司 Repair method for false fault in RAID (Redundant Array of Independent Disks) system
CN104035840A (en) * 2014-06-12 2014-09-10 浙江宇视科技有限公司 Method and device for restoring stripe with read errors

Also Published As

Publication number Publication date
CN104268028B (en) 2017-12-15

Similar Documents

Publication Publication Date Title
CN103309775B (en) A kind of fault-tolerance approach of high-reliability disk array
CN102708019B (en) Method, device and system for hard disk data recovery
US9189311B2 (en) Rebuilding a storage array
CN104484251B (en) A kind of processing method and processing device of hard disk failure
US20070294565A1 (en) Simplified parity disk generation in a redundant array of inexpensive disks
JPWO2006123416A1 (en) Disk failure recovery method and disk array device
CN102207895B (en) Data reconstruction method and device of redundant array of independent disk (RAID)
CN103513942B (en) The reconstructing method of raid-array and device
CN102184129B (en) Fault tolerance method and device for disk arrays
CN103034458B (en) Method and the device of Redundant Array of Independent Disks (RAID) is realized in solid state hard disc
CN102508620B (en) Method for processing RAID5 (Redundant Array of Independent Disks) bad sector
CN103544082B (en) The method of storage device data recovery is realized based on flash chip
CN104503781A (en) Firmware upgrading method for hard disk and storage system
CN105224891A (en) Magnetic disc optic disc fused data method for secure storing, system and device
CN110399247A (en) A kind of data reconstruction method, device, equipment and computer readable storage medium
WO2015103933A1 (en) Method and apparatus for data access
CN102591746B (en) Data reconstruction method and storage equipment
US20070036055A1 (en) Device, method and program for recovering from media error in disk array device
CN103678517A (en) Method for fixing logical errors of hard disk and controller
CN104572374B (en) Processing method, device and the storage device of storage
CN102262657B (en) Method and system for storing multimedia data
CN105630417A (en) RAID5 (Redundant Array Of Independent Disks) system and method for continuously writing data after failure of RAID5 system
EP2889751B1 (en) Method and apparatus for determining redundant array of independent disks
CN105183590A (en) Disk array fault tolerance processing method
CN102945191B (en) A kind of method of RAID5 data batchmove

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