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 yearsto projected expiry
Projected expiry 9 August 2027, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
14 claims: 3 independent, 11 dependent
- 1第 1 · 一种利用逻辑冗余和空间分离在盘存储介质上记录数据以进 行错误保护的计算机实施方法,所述方法包括: 将用于存储的数据划分成至少一个逻辑存储单元,各逻辑存储 单元包括至少两个扇区; 确定用于各逻辑存储单元的校验和;以及 按照至少十个扇区的间隔,在盘存储介质上记录各所述扇区和 用于各逻辑存储单元的所述校验和。
- 2根据权利要求1所述的方法,其中在所述盘存储介质上的所 述记录是UDF兼容的。
- 3根据权利要求1所述的方法,其中各逻辑存储单元包括至少 10个扇区。
- 4根据权利要求1所述的方法,其中各扇区包括2 KE数据。
- 5根据权利要求1所述的方法,其中所述盘存储介质包括单层 盘。
- 6根据权利要求1所述的方法,其中所述盘存储介质包括双层 盘。 7. 根据权利要求1所述的方法, 其中所述逻辑存储单元交替在 一起。 8. 根据权利要求1所述的方法, 其中各逻辑存储单元包括多个 扇区,所述扇区的数目依赖于所述逻辑存储单元在所述盘存储介质 上的径向位置。 9.根据权利要求1所述的方法,其中所述扇区和用于各逻辑存 储单元的所述校验和按照至少32个扇区的间隔而记录于盘存储介质 上。
- 710. 一种在盘存储介质上实施数据布局以满足期望的错误率的 方法,所述方法包括: 确定标准错误特征; 200780034491.X 第 确定所述盘存储介质的参数,所述参数包括盘容量; 确定期望的错误率; 确定用于错误保护的所述盘存储介质的可接受的容量损失; 基于所述确定的标准错误特征、所述确定的所述盘存储介质的 参数、所述确定的期望的错误率和所述确定的所述盘存储介质的可 接受的容量损失,计算每逻辑数据存储单元的数据量;以及 根据所述每逻辑存储单元的数据量来实施数据布局。 11.根据权利要求10所述的方法,其中所述标准错误特征包括 标准错误的尺度和分布。 12.根据权利要求11所述的方法,其中所述标准错误包括指纹。 13.根据权利要求11所述的方法,其中所述标准错误包括刮擦。
- 814. 根据权利要求10所述的方法,其中所述盘存储介质的所述 参数包括存储容量。
- 915. 根据权利要求10所述的方法,其中所述盘存储介质的所述 参数包括所述盘存储介质的物理尺度。
- 1016. 根据权利要求10所述的方法,其中所述期望的错误率由标 准组织规定。
- 1117. 根据权利要求10所述的方法,其中所述盘存储介质的所述 可接受的容量损失约为10%。
- 1218. 根据权利要求10所述的方法,还包括根据所述实施的数据 布局将数据记录到盘上。
- 1319. 一种用于利用逻辑冗余和空间分离在盘存储介质上记录数 据以进行错误保护的计算机程序产品,所述计算机程序产品存储于 计算机可读介质上并且适于执行以下操作: 将用于存储的数据划分成至少一个逻辑存储单元,各逻辑存储 单元包括至少两个扇区; 确定用于各逻辑存储单元的校验和;以及 按照至少十个扇区的间隔,在盘存储介质上记录各所述扇区和 用于各逻辑存储单元的所述校验和。 200780034491.X 第
- 1420. 一种用于在盘存储介质上实施数据布局以满足期望的错误 率的计算机程序产品,所述计算机程序产品存储于计算机可读介质 上并且适于执行以下操作: 确定标准错误特征; 确定所述盘存储介质的参数,所述参数包括盘容量; 确定期望的错误率; 确定用于错误保护的所述盘存储介质的可接受的容量损失; 基于所述确定的标准错误特征、所述确定的所述盘存储介质的 参数、所述确定的期望的错误率和所述确定的所述盘存储介质的可 接受的容量损失,计算每逻辑数据存储单元的数据量;以及 根据所述每逻辑存储单元的数据量来实施数据布局。 200780034491.X
Independent claims14
97 paragraphs, as filed
Cross-reference to related applications for error correction of disk storage media This application claims priority for the following patent applications under 35 USC Section 119(e): US Provisional Patent Application No. 60/822,024 filed on August 10, 2006 , And U.S. Patent Application No. 11/835,971 filed on August 8, 2007, which is incorporated herein by reference in its entirety.
TECHNICAL FIELD 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 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.
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 severe, 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 the RAID technology, there is still a high unrecoverable error rate when reading storage media, which is particularly problematic in the context other than the delivery of entertainment content.
There is a need for a method and system for recovering from common causes of errors (such as fingerprints or
200780034491.X The first person scratched) and the data has been recovered from the disk that has suffered mechanical damage.
SUMMARY OF THE INVENTION Embodiments of the present invention provide methods and systems for improving the reliability of data stored on disk media. The logical redundancy is introduced into the data, and the data in a logical storage unit is divided into sectors, and these sectors are separated 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.
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.
In another embodiment, the method of the present invention is implemented by a persistent storage device that stores data on a collection of optical discs using one or more disc drives organized in one or more jukeboxes in an optical media library. You can add additional storage space or storage location by connecting additional media libraries.
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.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1A shows the logical redundancy and spatial separation of data recorded on a disk storage medium according to an embodiment.
200780034491.X Figure 1B shows an example of logical redundancy and space separation of data recorded on a UDF disk according to an embodiment.
Figure 2 shows a graph of the relationship between the error probability and the number of affected consecutive sectors in the disc.
Figure 3 shows the number of sectors per revolution at various radial bands on the disc according to one embodiment.
Figure 4 shows the physical separation of sectors within a stripe on a disc according to one embodiment.
Fig. 5 shows a system for storing data according to an embodiment.
FIG. 6 is a flowchart showing a method of calculating the number of sectors of each bar according to an embodiment.
FIG. 7 is a flowchart of a method for storing data on a disk using data redundancy and space separation according to an embodiment.
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 DESCRIPTION FIG. 1A shows logical redundancy 101 and spatial separation 151 of data recorded on a disk storage medium according to one 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. The disk storage medium 100 also includes an overhead 164, error correction code (ECC) data 120, and herein referred to as "tail data" 165
200780034491.X The data at the end of the disk. Those of ordinary skill in the art will also recognize that the content of the overhead 164 and the tail 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.
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 2 KB and 32 KB. The logical storage unit is called a bar 110. One bar 110 includes a plurality of 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.
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 checksums 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.
Figure 1A also shows a broad example of how the spatial separation 151 can be implemented. As shown in FIG. 1A, the sectors S(1), SS(M) of a bar 110 can be spread all over the user data 163. Therefore, sectors from the same bar 110 do not appear in the immediate vicinity of each other. 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 bar 110 appear elsewhere on the disc, but generally speaking, from
200780034491.X Multiple sectors of the same article 110 and the corresponding ECC data 120 are spatially separated from each other.
FIG. 1E shows a specific example of the logical redundancy 101 and the space separation 151 of data recorded on the UDF disc 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 for conforming to 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.
For each bar 110, use Csum(S)=S(l) XOR S(2)...XOR S(M) similar to the checksum calculation known in the art for disk RAID subsystems to calculate the correction. Check and. 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(l), S(2) of bar 110...
S(M) is affected by the error, you can use other sectors to recover data.
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 an estimate obtained by Psio based on the DVD unrecoverable read error rate specified by the industry, P<sub>S1</sub>=10'<sup>12</sup>xN bits. For S(B)=2 KB, the N bit is about 2x8x10' or about 10-so, for an error, Psi=about 103. In order to make the above error protection method invalid, a second error must occur. The M+1 sectors where the first error occurred (the sector in bar 110 or the associated Csum(S) sector
200780034491.X No.
122) One of the sectors is affected. Assuming that the first error and the second error are independent events, so only the probability of the second error will be Ps<sub>2</sub>=PsiX(M+1)<sub>o</sub>For M>6, assume that M+l = 10o for simplification. Therefore, Ps? is an order of magnitude greater than Psi. The total probability of failure of the false protection method is then PsixPs<sub>2</sub>=(Ps<sub>1</sub>)<sup>2</sup>x10=10-<sup>15</sup>o It can be shown that the corresponding value of using the same size tape storage medium is 10-<sup>17</sup>xl0<sup>4</sup>=10'<sup>13</sup>o Therefore, at least two orders of magnitude improvement can be obtained using the embodiments of the present invention.
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 disc 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 remaining protected data 182.
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. 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 to protect the stored data. As described here, logical redundancy and space separation techniques are used 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
200780034491.X The element can be changed to adapt to different error modes, but the system and method disclosed here can be used to achieve an acceptable error rate and efficiency level in the entire set of disks.
Figure 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 shows a large reduction; 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 an interval of at least 10 sectors. In another embodiment, multiple sectors of one bar are placed at an interval of at least 32 sectors.
Figure 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.
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 utilizes the fact that the size of the error (ie, the wrong angular range or sweep) is reduced as a function of radial position relative to the circumference of the ring on the disc surface. For example, at the inner diameter of the storage area of a 5.25-inch optical disc, fingerprints cover about 45 degrees, but at the outer diameter of the disc, they only cover about 22 degrees.
200780034491.X First, in a simple implementation, the strip length in a zone can be calculated as the number of matching sectors in one revolution plus one sector of ECC data, where the sectors in the revolution are sufficiently spaced apart , To avoid fingerprints that damage 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, the error rate is expected to be the same at the inner and outer diameters, but it is 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.
Figure 4 shows the physical separation of multiple sectors 401-405 within a strip on a disk 440 according to one 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 in 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 Figure 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 the 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.
The 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.
Figure 5 shows a system 500 for storing data according to one embodiment. system
200780034491.X No.
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.
The main storage 502 can be any data storage device, such as a networked hard disk, a floppy disk, a CD-ROM, tape drive, or a 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.
Persistent storage device 504 performs control and management of one or more media libraries 510, and allows access to one or more media libraries 510 through a standard network file access protocol. Persistent storage device 504 includes: interface 503, data cache 506, and 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 may implement an NFS daemon. In one implementation, network file systems v3 and v4 are supported. 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.
In one embodiment, the data cache 506 file system is XFSTM, a log file system created by Silicon Graphics for UNIX implementation. XFSTM implements the Data Management Application Program Interface (DMAPI) to support hierarchical storage management (HSM), which allows applications to automatically switch between high-speed storage devices (for example, hard disk drives to lower speed devices such as optical disks and tape drives) Data storage technology for mobile data. 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,
200780034491.X first and implement the logic redundancy and space separation technology described here. 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 reliability 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.
The data migration unit 508 in the persistent storage device 504 is used to copy data to and read data from 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.
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.
Optionally, 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.
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. Determine the fingerprint in this example
200780034491.X The standard scale and distribution. 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.
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 one implementation, 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.
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.
In step 664, an acceptable disk capacity loss for improving reliability is determined. In one embodiment, only 10% of the disk capacity is available 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 given up to make room for redundant data used to recover data in the event of an error.
In step 665, the number of sectors for each bar is calculated according to the standard error characteristics, disk parameters, expected error rate and acceptable disk capacity loss. As described above, the greater the number of sectors in one 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.
200780034491.X The first storage capacity.
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 rate of 663 is determined to be 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 according to the above equation method as &
FIG. 7 is a flowchart of a method 700 for storing data on a disk using data redundancy and space 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.
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.
In step 773, data redundancy is created according to the number of sectors of each strip. In one implementation, Csum(S)=S(l) XOR 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.
In step 774, multiple stripes are alternated to achieve spatial separation of multiple sectors of one strip. Therefore, the sectors from the same strip 110 do not appear in the immediate vicinity of 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 5 mm, and the most common cause of error is a fingerprint with a diameter of about 15 mm. Therefore, in one embodiment, by placing each sector in a bar at a distance of two full revolutions from the previous sector in the bar
200780034491.X The first ί ϊ _ people asylum for the aged»-r »/ ,, ασ> 1 ->jJ- v> r-r» / J / +ττ*», -Άτ> ι -<*- I u* . /., Ά -τ* l_ on the edge of the knife/|, flexion nose 4 upright, full of the chamber 1 Ά obliquely buried, from the blood level ^ inch may damage the two sectors of the same strip .
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. 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.
In step 775, data is written 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 of recovering data despite an error that prevents a sector from being read correctly.
The above description is included to illustrate the operation of the embodiment 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.
Some parts described above present the characteristics of the present invention according to 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 been confirmed that these operations are arranged without loss of generality
200780034491.X It is sometimes convenient to refer to them as modules or by function names.
Unless specifically indicated otherwise, as is clear from the above discussion, it should be understood that the discussion using terms such as "copy" throughout this chapter refers to the storage, transmission, or display of computer system memory or registers or other such information. The action and processing of a computer system or similar electronic computing device that manipulates and transforms data expressed as a physical (electronic) quantity in a device.
Certain aspects of the invention include the 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.
The invention also relates to a device for performing the operations here. 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 a computer program can be stored on a computer readable storage medium such as but not limited to any type of disk, including floppy disk, optical disk, CD-ROM, magneto-optical disk, 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.
The methods and operations presented here are not inherently related to any particular computer or other device. Various general-purpose systems can also be used with the programs according to the teachings herein, or it can prove convenient to construct more specific devices to perform the required method steps. Those skilled in the art will know the required structure and equivalent variations for a variety of these systems. 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.
The present invention is well suitable for a wide variety of computer network systems on many topological structures. In this field, the configuration and management of large-scale networks includes
200780034491.X Diwang is a storage device and computer that is communicatively coupled to different computers and storage devices.
Finally, it should be noted that the language used in is chosen mainly for readability and instructional purposes, and is not chosen 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.
<img file="CN101517543A_D0001.tif" />
<img file="CN101517543A_D0002.tif" />
<img file="CN101517543A_D0003.tif" />
Tushan
200780034491.X Figure No.
Csum(S) = S(1) XOR S(2) ... XOR S(M) Article Ή0 122
<img file="CN101517543A_D0004.tif" />
Space Separation 451 Figure IB
200780034491.X The error probability of the attached figure vs. the number of contiguous sectors affected
<img file="CN101517543A_D0005.tif" />
200780034491.X Figure No.
<img file="CN101517543A_D0006.tif" />
200780034491.X Figure No.
<img file="CN101517543A_D0007.tif" />
200780034491.X Figure No.
<img file="CN101517543A_D0008.tif" />
200780034491.X Figure No.
600
<img file="CN101517543A_D0009.tif" />
200780034491.X Figure No.
700
<img file="CN101517543A_D0010.tif" />
18 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| CN103019880A | Cited by | China | Search report |
12 members in 6 offices
Priority claims13
| 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 | – | – | – |
| 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 | |
| CN101517543AThis record | China | A | |
| US2009259894A1 | United States of America | A1 | |
| JP2010500698A | Japan | A | |
| CN101517543B | 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
- CN101517543
- 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