Error correction for disk storage media
Abstract
The embodiments of the present invention provide a method and system for improving the reliability of data stored on a disk medium. Introduce logical redundancy (101) into the data, and divide the data in a logical storage unit into the following sectors, which are spatially separated by alternating these sectors with the sectors of other logical storage units ( 151). Logical redundancy and spatial separation reduce or minimize the impact of localized damage to the storage disk, such as damage caused by scratches or fingerprints. Therefore, the data is stored on the disc in a layout that increases the possibility that the data can be recovered despite an error that prevents a sector from being read correctly.

Term
0.9 yearsleft in the term
Expires 9 August 2027.
- Priority
- Filed
- Granted
- Today
- Expires
11 claims: 1 independent, 10 dependent
- 1一种利用逻辑冗余和空间分离在盘存储介质上记录数据以进行错误保护的计算机 实施方法,所述方法包括: 将用于存储的数据划分成至少一个逻辑存储单元,各逻辑存储单元包括至少两个扇 区; 确定用于各逻辑存储单元的校验和;以及 按照彼此以至少预定间隔而空间分离的盘存储介质的位置,记录各所述扇区和用于各 逻辑存储单元的所述校验和,以便局部化损坏不会影响到多于所述逻辑存储单元的一个扇 区,其中尽管局部化损坏影响所述逻辑存储单元的一个扇区,然而存储的数据可以被恢复。
- 2根据权利要求1所述的方法,其中在所述盘存储介质上的所述记录是通用盘格式 UDF兼容的。
- 3根据权利要求1所述的方法,其中各逻辑存储单元包括至少10个扇区。
- 4根据权利要求1所述的方法,其中各扇区包括2ΚΒ数据。
- 5根据权利要求1所述的方法,其中所述盘存储介质包括单层盘。
- 6根据权利要求1所述的方法,其中所述盘存储介质包括双层盘。
- 7根据权利要求1所述的方法,其中所述逻辑存储单元交替在一起。
- 8根据权利要求1所述的方法,其中各逻辑存储单元包括多个扇区,所述扇区的数目 依赖于所述逻辑存储单元在所述盘存储介质上的径向位置。
- 9根据权利要求1所述的方法,其中所述扇区和用于各逻辑存储单元的所述校验和按 照至少32个扇区的间隔而记录于盘存储介质上。
- 10根据权利要求1所述的方法,其中所述各逻辑存储单元的所述扇区和所述校验和 以至少10个扇区的间隔记录在所述盘存储介质上。
- 11根据权利要求1所述的方法,其中所述局部化损坏包括来自以下至少一种的损坏:指纹和刮擦。
Independent claims11
74 paragraphs, as filed
Error correction for disk storage media
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the priority of the following patent applications under 35U. SC Article 119(e): US Provisional Patent Application No. 60/822, 024 filed on August 10, 2006, and on August 8, 2007 U.S. Patent Application No. 11/835,971 filed on Japan, which is incorporated herein by reference in its entirety.
Technical field
[0003] The present invention mainly relates to data storage, and in particular relates to a system and method for error correction of data stored on an optical disc or other disc storage medium.
Background technique
[0004] As more and more users use computers as part of their daily business and personal activities, the amount of data stored on computers has increased exponentially. The computer system stores massive music and video libraries, precious digital photos, valuable business contacts, important financial databases and documents, and other data storage libraries. Commonly used storage devices include optical disks or other disk storage media.
[0005] Unfortunately, since the advent of computers, there has been a risk of losing data stored on computer-readable media. Since the consequences of such loss can be serious, methods have been developed to reduce the possibility of unrecoverable errors. For example, redundant array of independent disks (RAID) technology has been developed to provide a higher level of protection (fault tolerance) against data loss that may occur due to disk failure. RAID technology, including RADI levels 0 to 5, uses multiple disks to form a logical storage unit. Despite the implementation of RAID technology, there is still a high unrecoverable error rate when reading storage media, which is particularly problematic in contexts other than entertainment content delivery.
[0006] There is a need for a method and system for recovering data from a disk that has been mechanically damaged due to common error reasons (such as fingerprints or scratches).
Summary of the invention
[0007] Embodiments of the present invention provide methods and systems for improving the reliability of data stored on a disk medium. Introduce logical redundancy into the data, and divide the data in a logical storage unit into sectors, and separate them spatially by interleaving these sectors with the sectors of other logical storage units. Logical redundancy and spatial separation reduce or minimize the impact of localized damage to the storage disk (such as damage caused by fingerprints or scratches). Therefore, the data is stored on the disc in a layout that increases the possibility that the data can be recovered despite an error that prevents a sector from being read correctly.
[0008] In one embodiment, a method of calculating the number of sectors per logical storage unit to meet a specific reliability performance target is provided. In another embodiment, a method of adjusting storage disk error rate based on acceptable disk capacity loss for improved reliability is provided. In yet another embodiment, the logical and spatial separation scheme is implemented according to the segmented layout of the disk medium.
[0009] In another embodiment, the present invention is implemented by using one or more disk drives organized in one or more jukeboxes in an optical media library to store data on a collection of optical disks. Methods. can
To add additional storage space or storage location by connecting additional media libraries.
[0010] The present invention has various embodiments, including processing implemented as a computer, as a computer device, and as a computer program product executed on a general-purpose or special-purpose processor. The features and advantages described in this summary of the invention and the following specific embodiments are not comprehensive. In view of the drawings, specific implementations and claims, those skilled in the art will appreciate many additional features and advantages.
Description of the drawings
[0011] FIG. 1A illustrates the logical redundancy and spatial separation of data recorded on a disk storage medium according to an embodiment.
[0012] FIG. 1B shows an example of logical redundancy and space separation of data recorded on a UDF disk according to an embodiment.
[0013] FIG. 2 shows a graph showing the relationship between the error probability and the number of consecutive sectors affected in the disc.
[0014] FIG. 3 shows the number of sectors per revolution at various radial bands on the disc according to one embodiment.
[0015] FIG. 4 illustrates the physical separation of sectors in a strip on a disk according to an embodiment.
[0016] FIG. 5 shows a system for storing data according to an embodiment.
[0017] FIG. 6 is a flowchart illustrating a method of calculating the number of sectors of each bar according to an embodiment.
[0018] FIG. 7 is a flowchart of a method for storing data on a disk using data redundancy and space separation according to an embodiment.
[0019] The drawings depict embodiments of the invention for illustrative purposes only. Those skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods described herein can be utilized without departing from the principles of the invention described herein.
Detailed ways
[0020] FIG. 1A shows logical redundancy 101 and space separation 151 of data recorded on a disk storage medium according to an embodiment. The data layout is designed to reduce or minimize the impact of local damage. The disk storage medium 100 includes a disk area having protected data 162. The protected data 162 may be any combination or sub-portion of one or more user data 163 and overhead, such as the data at the beginning of the disc referred to herein as "header data" 161. As those of ordinary skill in the art will recognize, the content of the header data 161 may depend on the type, format, and organization of the disk storage medium 100. In the example shown in FIG. 1A, the protected data 162 includes user data 163 and header data 161. In other examples, the protected data 162 may include only user data, or may include a portion of user data (such as a single segment), or may include a portion of user data and a portion of overhead or any other combination of user data and overhead. Disk storage medium 100 also includes overhead 164, error correction code (ECC) data 120, and data at the end of the disk referred to herein as "tail data" 165. Those of ordinary skill in the art will also recognize: overhead 164 and tail The content of the data 165 may similarly depend on the type, format, and organization of the disk storage medium 100. The error correction code data 120 is Redundant data calculated from the protected data 162 using the ECC algorithm. In other words, the ECC data is a function of the protected data 162, as will be described further below.
[0021] FIG. 1A shows a broad example of how logical redundancy 101 can be introduced into the stored data on the disk storage medium 100. The protected data 162 including the user data 163 is divided into basic data blocks referred to herein as sectors. The size of each sector is S (B), and in one embodiment, the size is between 2KB and 32KB. The logical storage unit is called a bar 110.
One bar 110 includes multiple sectors S(1), S(2),... S(M) greater than or equal to one. Multiple bars 110 may reside within the protected data 162 and may alternate together. In one embodiment, all bars 110 contain the same number of sectors. Alternatively, the bar size can vary with the radial position. As will be explained further below, the relative size of common errors varies according to the radial position on the disk storage medium. A larger bar size can reduce the space required for storing ECC data, thereby increasing the space available for storing user data 163 and improving the efficiency of the storage medium.
[0022] Each strip 110 has corresponding redundant data stored in the ECC data 120. The ECC data 120 is redundant data calculated from the protected data 162 using the ECC algorithm. Any ECC algorithm known in the art including but not limited to checksum can be used. Therefore, if any one or more sectors S(1), S(2)...S(M) of the ECC data 120 or the bar 110 are affected by an error, other sectors can be used to recover the data.
[0023] FIG. 1A also shows a generalized example of how the spatial separation 151 can be implemented. As shown in Figure 1A, the sectors S(1), S(2),..., S(M) of a bar 110 can be spread all over the user data 163. Therefore, the sectors from the same bar 110 are not in close proximity to each other. Appears adjacent to. The spatial separation 151 from multiple sectors of a bar 110 is beneficial because it reduces the possibility that common error causes (such as fingerprints or scratches) will damage multiple sectors of a bar 110. The placement of multiple sectors of one bar 110 and the placement of ECC data 120 are not limited to the placement shown in FIG. 1A. In other embodiments, the ECC data 120 and the sectors of the strip 110 appear elsewhere on the disc, but generally speaking, multiple sectors from the same strip Π0 and the corresponding ECC data 120 are spatially separated from each other.
[0024] FIG. 1B shows a specific example of the logical redundancy 101 and the space separation 151 of data recorded on the UDF disk 180 according to an embodiment of the present invention. In this embodiment, the layout of the data is UDF compatible and can be read on any standard system. The UDF disk 180 includes a UDF data partition 182 enclosed by a UDF header 181 and a UDF trailer 185. As those skilled in the art will recognize, the terms "UDF header" 181 and "UDF tail" 185 refer to the following sections of the UDF disk 180, which may contain standard UDF information and/or other data used to comply with UDF . In the example shown in FIG. 1B, the protected data 182 includes a UDF header 181 and a segment containing user data in the UDF data partition 182. In one implementation, the UDF tail 185 is not included in the protected data 182 because it contains a copy of the information in the UDF header 181. The protected data 182 is divided into bars 110, and the ECC data 120 is redundant data calculated from the protected data 182 using the ECC algorithm. In this example, the checksum Csum(S) 122 is used as described below. [0025] For each bar 110, use Csum=SXOR S (2) which is similar to the checksum calculation known in the art for disk RAID subsystems... XOR S (M) to calculate the checksum. The checksum 122 for each strip 110 is written to the sector in the ECC data 120 on the UDF disk 180. In one embodiment, the Csum sector 122 is the same size as the sectors in the bar 110. If Csum(s) or any sector S(1), S(2)...S(M) of the bar 110 is affected by an error, other sectors can be used to recover data.
[0026] In the implementation of logical redundancy 101, a compromise is made between data storage capacity and error rate improvement. In one embodiment, a 10% capacity penalty is paid to obtain an error rate improvement of approximately 106. For the purpose of discussion, it is assumed that the error rate is uniform in the entire recording area of the UDF disk storage medium 180. In order to calculate the reliability improvement, suppose that the unreadable probability of an S(B) size block is Ps. According to an estimate obtained by the DVD unrecoverable read error rate specified by the industry, Psj = 10-<sup>12</sup>XN bits. For S(B) = 2KB, the N bit is about 2X8X10<sup>3</sup>Or about 10\Therefore, in terms of an error, PS]=about ίο-% In order to make the above error protection method invalid, the second error must be found, and this second error is for the M+1 fans that found the first error One sector in the zone (sector in bar 110 or associated Csum(S) sector 122) has an influence. Assuming that the first error and the second error are independent events, so only the probability of the second error will be PS?= Ps<sub>x</sub>X (M+1) <sub>o</sub>For Μ> 6, assume that Μ+1 = 10 for simplification. Therefore, Ps? is an order of magnitude greater than Ps]. error
The total probability of failure of the protection method is then P<sub>S1</sub>XPs<sub>2</sub> = (P<sub>S1</sub>)<sup>2</sup>X10 = ίο-<sup>1</sup>% Can indicate that the corresponding value of the tape storage medium of the same size is ιο-<sup>17</sup>χιο<sup>4</sup> = ίο-<sup>13</sup>Therefore, at least two orders of magnitude improvement can be obtained using the embodiments of the present invention.
[0027] The most important assumption in the above calculations is the estimation of the error probability of the combination. Assuming it is correct, the effects of various parameters will now be discussed. Increasing M allows to reduce checksum overhead. Note that unlike Disk RAID, CPU consumption is not as important as the XOR Csum calculation is performed only when the optical image is prepared for burning. Also different from RAID, it lacks sensitivity to the impact on CPU demand that increases as M increases. Regardless of the number of sectors in the bar 110, the XOR function will only be applied once to the entire contents of the protected data 182. However, the greater the number of sectors in the bar 110, the less improvement in reliability is obtained. Therefore, in order to maximize the improvement of reliability, the minimum value of S(B) and the minimum value of M are used, which depends on the amount of storage sacrificed to improve reliability. For example, if no more than 15% of UDF disk storage space is used (7% of which is lost due to the high error rate at the outer edge), about 8% can be used for ECC data 120, which translates to a strip size of M=12. Alternatively, if the outer edge of the disk is used for the ECC data 120, the calculation must be adjusted for a different error rate in the ECC data 120 compared to the rest of the protected data 182.
[0028] As described above, the present invention improves the reliability of data stored on the disk medium by using logical redundancy and spatial separation to minimize the impact of localized damage such as damage caused by fingerprints or scratches on the storage disk. Sex. In contrast, standard DVD error correction prevents surface manufacturing defects. The method and system of the present invention can also work in addition to standard DVD error correction, and prevent different error sources and different error modes. The two technologies are complementary and can be used together for greater protection of stored data. As described here, use logical redundancy and space separation technology on a single disk. However, as those skilled in the art will understand, if additional disks or disk media are available, logical redundancy and space separation can be expanded among multiple media. Although the optimal bar length or other factors can be changed to accommodate different error modes, the system and method disclosed herein can be used to achieve an acceptable error rate and efficiency level in the entire set of disks.
[0029] FIG. 2 shows a graph of the relationship between the error probability and the number of consecutive sectors of the affected disk. Figure 2 shows that there is generally an inverse relationship between variables. Although there are a relatively large number of errors that can affect a small number of consecutive sectors, there are relatively few errors that can affect a large number of consecutive sectors. Based on the data researched by the inventor based on the DVD+R DL technology, the following two points are of special concern: in the case of ten consecutive sectors, the probability performance is greatly reduced; and in the case of 32 sectors outside, The probability did not show a significant decrease. This relationship is used to guide the placement of multiple sectors of a bar in order to reduce the possibility that an error will affect multiple sectors of a bar. In one embodiment, multiple sectors of one bar are placed at intervals of at least 10 sectors. In another embodiment, multiple sectors of one bar are placed at an interval of at least 32 sectors.
[0030] FIG. 3 shows the number of sectors per revolution at various radial bands on the disk 340 according to one embodiment. As shown in the figure, the surface of the disk 340 is divided into bands 331, 332, and 333 based on the number of sectors that complete one revolution of the disk 340. As shown in the figure, there are three belts 331, 332, 333, and each belt has a corresponding number of sectors per revolution, but the belt shown in FIG. 3 is only an example. The number of sectors per revolution and the number of tapes on the disk depend on the surface dimensions of the storage medium and the physical length of the sectors. As the radius increases, the number of sectors per revolution increases. This relationship is also used to guide the placement of multiple sectors of a bar in order to reduce the possibility of errors affecting multiple sectors of the bar. For example, one arrangement is to place the sectors at a distance of two revolutions plus three sectors from the previous sector in the same strip, so that the sectors are offset from each other along two axes. As the number of sectors per revolution increases, the spacing between multiple sectors of a strip also increases.
[0031] In one embodiment, the surface of the disk 340 is divided into sections that may correspond to one or more bands.
For example, a three-zone ECC design may include one zone for each of the three belts 331, 332, 333, but in other embodiments, the zone does not necessarily correspond to the belt. The segmented ECC design takes advantage of the fact that, relative to the circumference of the ring on the disc surface, the size of the error (ie, the wrong angular range or sweep) is reduced as a function of radial position. For example, at the inner diameter of the storage area of a 5.25 inch optical disc, the fingerprint covers about 45 degrees, but at the outer diameter of the disc, it only covers about 22 degrees. Therefore, in a simple implementation, the strip length in a zone can be calculated as the number of matching sectors in a revolution plus a sector of ECC data, where the sectors in the revolution are sufficiently spaced to avoid Damage to fingerprints of multiple sectors. In this implementation, the length of the bar in the section at the inner diameter can be calculated as 360 degrees divided by 45 degrees plus 1 equals 9. The length of the bar in the section at the outer diameter can be calculated as 360 degrees divided by 22 degrees plus 1 equals 17. In this example, it is desirable that the error rate is the same at the inner and outer diameters, but more efficient at the outer diameter. This principle can be applied to additional sections between the section at the inner diameter and the section at the outer diameter.
[0032] FIG. 4 shows the physical separation of a plurality of sectors 401-405 within a stripe on a disk 440 according to an embodiment. As shown in the figure, the bar includes five sectors 401-405 that have been written to the disk 440 along the spiral of available data storage space on the disk 440. As shown in FIG. 4, data is written in a spiral track format, but in other embodiments, depending on the type of disc medium used, data can be written in a concentric track format. Figure 4 shows the concept of physical separation of sectors 401-405, but in other implementations, there may be more revolutions in the spiral of data storage space on the disk 440, and there may be more sectors within the strip. The sectors 401-405 may alternate with other data or vacant space on the disk 440, so as to reserve the physical space separation of the sectors 401-405. Therefore, common mechanical error causes such as fingerprint 444 are unlikely to affect multiple sectors in sectors 401-405. As shown in FIG. 4, the fingerprint 444 has damaged the sector 402, but does not affect the sectors 401 or 403-405. As a result, the data written to the sector 402 can be recovered from other sectors 401, 403-405. Similarly, other placements of mechanical errors of similar size on the surface of the disk 440 will similarly affect only one of the sectors 401-405.
[0033] Experimental data analyzed by the inventor shows that in some designs, the probability of data loss can be reduced by about half an order of magnitude by excluding 5-7% of the outside of the disk. In other designs, the results of excluding the outer 5-7% of the disc may not be so obvious, but it may still be worthwhile if the outer edge of the disc is particularly susceptible to deformation, scratches, etc. from standard use. Within 7% of the outside of the disc, the error rate is approximately uniform in the rest of the entire recording area of the UDF disc.
[0034] FIG. 5 shows a system 500 for storing data according to one embodiment. The system 500 includes at least one main storage 102 connected to a persistent storage device 504 via a network 101, which is connected to one or more media libraries 510. The figure does not show multiple conventional components (for example, client computers, firewalls, routers, etc.) so as not to make the relevant details of the implementation difficult to understand.
[0035] The main storage 502 can be any data storage device, such as a networked hard disk, floppy disk, CD-ROM, tape drive or memory card. It can be the internal storage of the client computer on the network or an independent storage device connected to the network. As shown in FIG. 5, the main storage 502 is connected to the persistent storage device 504 through a network connection 101, for example. The network 101 may be any network, such as the Internet, LAN, MAN, WAN, wired or wireless network, private network, or virtual private network.
[0036] The persistent storage device 504 performs control and management of one or more media libraries 510, and allows access to the one or more media libraries 510 through a standard network file access protocol. The persistent storage device 504 includes: an interface 503, a data cache 506, and a data migration unit 508. The interface 503 allows access to archive files from the persistent storage device 504 through the network 101. In one embodiment, the Network File System (NFS) protocol is used to access files over the network. When using NFS, the persistent storage device 504 can implement an NFS daemon. In one implementation,
Support network file system v3 and v4. As an alternative or supplement, the Common Internet File System (CIFS) or Server Message Block (SMB) protocol can also be used to access files over the network. In one implementation, Samba is used to support the CIFS protocol. As an alternative or supplement, as those skilled in the art will recognize, other protocols may also be used to access files through the network and the supplementary interface 503 may be implemented.
[0037] In one embodiment, the data cache 506 file system is XFSTM, a log file system created by Silicon Graphics for UNIX implementation. XFS<sup>1</sup>Implement Data Management Application Programming Interface (DMAPI) to support Hierarchical Storage Management (HSM), which allows applications to automatically move data between high-speed storage devices (eg, hard disk drives to lower speed devices such as optical disks and tape drives) Data storage technology. The HSM system stores large amounts of data on slower devices and copies the data to faster disk drives when needed. In one embodiment, the data cache 506 supports 5-level RAID and implements the logical redundancy and space separation techniques described herein. In other embodiments, other RAID levels may be supported and/or other redundancy of data may be implemented in the data cache 506 to improve the trustworthiness of the security and integrity of the data transferred to the persistent storage device 504. In one embodiment, the data cache 506 is disk-based for fast access to recently accessed data. The cached data can be replaced by the most recently accessed data as needed.
[0038] The data migration unit 508 in the persistent storage device 504 is used to copy data to one or more media libraries 510 and read data from the one or more media libraries 510. The data migration unit 508 includes a staging area. Once the complete media image is available, the data migration unit 508 copies the data from the data cache 506 to the media library 510. The data migration unit 508 uses the segmented area 509 to temporarily store the media image until the data migration unit 508 has written the media image to the media library 510. The data migration unit 508 may also read media from one or more media libraries 510 and cache them in the data cache 506 before delivering them to the requesting client via the network 101 for delivery.
[0039] The media library 510 may be, for example, a collection of optical disks and one or more disk drives organized in one or more enclosures. In another embodiment, the media library 510 may contain data stored on any other disk storage media known to those skilled in the art.
[0040] Optionally, the persistent storage 504 may include a graphical user interface (GUI) (not shown). The GUI allows the user to access optional and/or customizable features of the persistent storage 504, and may allow an administrator to set the operating policies of the persistent storage 504. In one embodiment, the persistent storage device 504 includes a web server such as an Apache web server, and the web server combined with the GUI allows the user to access optional and/or customizable features of the persistent storage device 504. As an alternative to or in addition to the GUI, persistent storage 504 may include a command line interface.
[0041] FIG. 6 is a flowchart illustrating a method 600 of calculating the number of sectors per bar to meet a specific performance goal. In step 661, the standard error characteristics, that is, the scale and distribution of the standard error, are determined. For example, in one implementation, it can be determined that the storage medium is particularly susceptible to errors caused by fingerprints because the medium will be held in hand. In this example, the standard size and distribution of fingerprints are determined. For example, according to one measurement, the average fingerprint length is 15 mm. In another example, it may be determined that the storage medium is particularly susceptible to scratches due to the environmental conditions of the storage medium. Therefore, in step 661, the scale and distribution of the standard scratches are determined. In some cases, an even distribution of errors can be assumed. In other cases, errors can be grouped towards the outer edge of the disc, for example. The characteristics of standard errors affect the error rate, and therefore the number of sectors per line used to prevent errors.
[0042] In step 662, the disk parameters are determined. In one embodiment, the disk parameters are input by the user. In another embodiment, the user selects a disc type, and accesses the disc parameters associated with the disc type from a stored database. In an implementation
Among them, the disk parameters include the amount of storage capacity and the physical dimensions and layout of the storage medium. Other disc parameters that can be determined include: disc sector length, tracks per inch, minimum error length reported, minimum inherent ECC error length of disc technology, number of layers, total capacity, segment size, per revolution as a function of radius Physical sectors and spare areas.
[0043] In step 663, the expected error rate is determined. In one embodiment, the expected error rate is entered according to the requirements of the standards organization. In another embodiment, it is the maximum error rate allowed by the user or specified by the guarantor. [0044] In step 664, an acceptable disk capacity loss for improving reliability is determined. In one embodiment, only 10% of the disk capacity can be used for ECC data 120. In other implementations, the amount of disk capacity sacrificed to improve reliability may be greater than or less than 10%. As already described above with reference to FIG. 1B, there is a trade-off between error rate and storage capacity. Generally speaking, in order to achieve a lower error rate, additional storage capacity is discarded in order to make room for redundant data used to recover data in the event of an error.
[0045] In step 665, the number of sectors for each section is calculated according to the standard error characteristics, disk parameters, expected error rate, and acceptable disk capacity loss. As described above, the larger the number of sectors in a bar 110, the less improvement in reliability is obtained. Therefore, in order to maximize the improvement in reliability, the minimum sector value of each bar determined for the number of acceptable disk capacity losses for improved reliability is used. Unlike the 5-level RAID disk array, the capacity cost compared with the error rate improvement is adjustable. As needed, higher capacity can be sacrificed for greater reliability improvement, or reliability can be sacrificed for higher data storage capacity.
[0046] For example, if it is determined that the 661 standard error feature is a fingerprint diameter of 15 mm, and it is determined that only one fingerprint may appear at a random position on the disk medium, and the 662 disk parameter is determined to be a 5.25 inch optical disk, and the expected error of 663 is determined The rate is 1/1E15, and it is determined that the acceptable disk capacity loss of 664 used to improve reliability is 15%, then the number of sectors per 665 can be calculated as 8 according to the above equation method.
[0047] FIG. 7 is a flowchart of a method 700 for storing data on a disk using data redundancy and spatial separation according to one embodiment. In step 771, data for storage is received. For example, the persistent storage device 504 receives data from the main storage 502 through the network 101.
[0048] In step 772, the data is divided into strips according to the number of sectors of each strip. In one embodiment, the number of sectors of each bar is calculated according to the method 600 described with reference to FIG. 6. In another embodiment, the number of sectors in each strip is a previously fixed number, for example, 15 sectors.
[0049] In step 773, data redundancy is created according to the number of sectors of each strip. In one implementation, Csum(S) = S(l)X0R S (2)... XOR S(M) similar to the checksum calculation for disk RAID subsystems known in the prior art is used. To calculate the checksum. The checksum for each strip 110 is written to the sector 120 in the checksum data segment 164 of the UDF payload 162. Alternatively, any other ECC algorithm known in the art can be used to create data redundancy in step 773.
[0050] In step 774, multiple stripes are alternated to achieve spatial separation of multiple sectors of one strip. Therefore, sectors from the same Π0 do not appear next to each other. In fact, multiple sectors of a bar are placed at intervals, for example, at least 10 sectors apart from each other, and other sectors from other bars. The spatial separation of multiple sectors from a bar 110 is beneficial because it reduces the common causes of errors that affect a few adjacent sectors (such as fingerprints or scratches) that will damage multiple sectors of a bar 110. possibility. In one implementation, the length of the sector is about 5mm, and the most common cause of error is a fingerprint with a diameter of about 15mm. Therefore, in one embodiment, the physical separation of the sectors is satisfied by placing each sector in a bar at a distance of two full revolutions plus three sectors from the previous sector in the bar, thereby satisfying the physical separation of the sectors. Fingerprints are unlikely to damage two sectors of the same strip.
CN 101517543 Β
[0051] In one embodiment, in order to increase the access speed of, for example, the data migration unit 508 of the persistent storage device 504, it is beneficial to place the same sectors at the minimum distance required by the desired error rate from each other. The data migration unit reads media from one or more media libraries 510 and caches them in the data cache 506 before delivering them to the requesting client via the network 101. Data can be read sequentially from the disk 540 in the media library 510 for speed. Therefore, the closer the sectors of the bar are grouped, the faster the access to the data.
[0052] In step 775, write data to the storage disk according to the determined alternate strip layout. For example, the persistent storage device 504 writes data to the storage disk 540 in the media library 510. Therefore, logical redundancy and space separation are used to store data to increase the possibility that data can be recovered despite errors that prevent a sector from being read correctly.
[0053] The above description is included to illustrate the operation of the embodiments and not to limit the scope of the present invention. From the above discussion, it will be clear to those skilled in the related art that the spirit and scope of the present invention will still cover many changes. Those skilled in the art will also recognize that the present invention can be implemented in other embodiments. First of all, component-specific naming, capitalization of terms, attributes, data structures, or any other programming or structural aspects are not necessary or important, and the mechanisms for implementing the present invention or its features may have different naming, formats or protocols. In addition, the system can be implemented via a combination of hardware and software or entirely with hardware units as described. In addition, the specific functional divisions between various system components described herein are only examples and are not necessary; functions performed by a single system component may be performed by multiple components instead, and functions performed by multiple components may be Instead, it is executed by a single component.
[0054] Some parts described above present the features of the present invention in accordance with the symbolic representation of the method of information operation. These descriptions and representations are the means used by the technical personnel in the data processing field to convey the essence of their work to other technical personnel in the field most effectively. Although described functionally or logically, these operations are understood to be implemented by computer programs. In addition, it has proven convenient to refer to these operational arrangements as modules or to refer to them by function names without loss of generality.
[0055] Unless specifically indicated otherwise, and as is clear from the above discussion, it should be understood that discussions using terms such as "copy" throughout this chapter refer to computer system memory or registers or other such information storage, The actions and processing of computer systems or similar electronic computing devices that transmit or display data represented as physical (electronic) quantities in the device for manipulation and transformation.
[0056] Certain aspects of the present invention include processing steps and instructions described herein in the form of methods. It should be noted that the processing steps and instructions of the present invention can be implemented with software, firmware, or hardware, and when implemented with software, can be downloaded to reside on different platforms used by the real-time network operating system, and from these different platforms To operate.
[0057] The present invention also relates to a device for performing the operations herein. This apparatus may be specially constructed for the required purpose, or it may include a general-purpose computer that is selectively activated or reconfigured by a computer program stored on a computer-readable medium that can be accessed by the computer. Such computer programs can be stored on computer-readable storage media such as but not limited to any type of disk, including floppy disks, optical disks, CD-ROMs. Magneto-optical disks, read-only memory (ROM), random access memory (RAM) , EPROM, EEPROM, magnetic or optical card, application specific integrated circuit (ASIC) or any type of medium suitable for storing electronic instructions and each coupled to a computer system bus. In addition, the computer mentioned in may include a single processor or may be an architecture using multiple processors designed to enhance computing power.
[0058] The methods and operations presented here are not inherently related to any particular computer or other device. Various general-purpose systems may also be used with the programs according to the teachings herein, or it may prove convenient to construct more specific devices to perform the required method steps. It will be clear to those skilled in the art that the required structure and equivalent changes for a variety of these systems
CN 101517543 Β
Chemical. In addition, the present invention is not described with reference to any specific programming language. It should be understood that various programming languages can be used to implement the teachings of the present invention as described herein, and any references to specific languages are provided for the implementation and best mode of the present invention.
[0059] The present invention is well suited to a wide variety of computer network systems on many topological structures. In this field, the configuration and management of large-scale networks include storage devices and computers that are communicatively coupled to different computers and storage devices through networks such as the Internet.
[0060] Finally, it should be noted that the language used in is mainly selected for readability and instructional purposes, and is not selected to describe or limit the subject matter of the present invention. Therefore, the disclosure of the present invention is intended to illustrate rather than limit the scope of the present invention set forth in the appended claims.
CN 101517543 Β
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US20020021517A1 | Cites | United States of America | Search report |
| CN1492426A | Cites | China | Search report |
| US6931576B2 | Cites | United States of America | Search report |
| US5812501A | Cites | United States of America | Search report |
12 members in 6 offices
Priority claims14
| Document | Office | Kind | Date |
|---|---|---|---|
| 60822024 | United States of America | – | |
| 82202406 | United States of America | P | |
| 82202406 | United States of America | P | |
| 11835971 | United States of America | – | |
| 83597107 | United States of America | A | |
| 83597107 | United States of America | A | |
| 2007075632 | United States of America | W | |
| 2007075632 | United States of America | W | |
| 11835971 | – | – | – |
| 60822024 | – | – | – |
| PCTUS2007075632 | – | – | – |
| US20060822024P | – | – | – |
| US20070835971 | – | – | – |
| WO2007US75632 | – | – | – |
Members12
| Document | Office | Kind | |
|---|---|---|---|
| US2008040645A1 | United States of America | A1 | |
| CA2660130A1 | Canada | A1 | |
| WO2008021989A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2008021989A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP2069933A2 | European Patent Office (EPO) | A2 | |
| US7565598B2 | United States of America | B2 | |
| CN101517543A | China | A | |
| US2009259894A1 | United States of America | A1 | |
| JP2010500698A | Japan | A | |
| CN101517543BThis record | China | B | |
| US8024643B2 | United States of America | B2 | |
| EP2069933A4 | European Patent Office (EPO) | A4 |
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Termination of patent right due to non-payment of annual feeCF01 | CF01 | |
| Grant of patent or utility modelGrantedC14 | C14 | |
| Entry into substantive examinationC10 | C10 | |
| PublicationC06 | C06 |
Numbers
- Publication
- 101517543
- Publication, DOCDB
- 101517543
- Publication, EPODOC
- CN101517543B
- Application
- 80034491
- Application, DOCDB
- 200780034491
- Application, EPODOC
- CN2007834491
Titles2
- Chinese
- 用于盘存储介质的纠错
- English
- Error correction for disk storage media
Classification
- CPC, 3
- G11B20/1866
- G11B20/1833
- G11B2220/2537
- IPC, 2
- G06F11 00
- H03M13 00