An adaptive error correction method, device and system suitable for optical storage
Patent Information
- Application Number
- CN202311028219.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-15
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2043-08-15
AI Technical Summary
[0005]针对现有技术的缺陷和改进需求,本发明提供了一种适用于光存储的自适应纠错方法、设备及系统,其目的在于,在不明显增加冗余空间占用的情况下,显著提高光存储系统的纠错能力
[0030](1)本发明在RS编码步骤的基础上,进一步进行高阶编码,能够有效提高纠错能力,从而提高光存储系统的可靠性;同时,对高阶编码产生的高阶校验符号进行编码,得到级联校验符号,最终,存储级联校验符号而不存储高阶校验符号,由于通过级联校验符号可恢复出高阶校验符号,而级联校验符号相比于高阶校验符号数据量大小减小,因此,本发明可以在不影响高阶校验编码所带来的纠错能力提升的基础上,大大减小冗余空间的占用率,因此,本发明可以在不明显增加冗余空间占用的情况下,显著提高光存储系统的纠错能力。
Smart Images

Figure CN117116329B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of optical storage technology, and more specifically, relates to an adaptive error correction method, device and system suitable for optical storage. Background Technology
[0002] Optical storage technology is widely used for storing massive amounts of cold data due to its advantages such as long storage life, contactless reading and writing, high security, easy disk replacement, low production cost, and convenient copying and distribution. Traditional optical storage technology stores information based on the interaction between lasers and a medium, causing changes in the properties of the medium. With the advent of the digital age, the demand for information storage is constantly growing. It is predicted that the total amount of data generated globally will reach 175 zettabytes (ZB) by 2025. In order to meet the ever-increasing storage demand, improving the storage capacity of optical storage devices is of great significance.
[0003] Traditional optical storage technology increases the storage capacity of optical storage devices by reducing the size of the focused laser spot and the record on the medium. However, due to the limitations of optical diffraction limit, it is becoming increasingly difficult to increase the capacity of optical discs using traditional optical storage technology.
[0004] In traditional optical storage technology, Reed-Solomon error correction codes have been widely used to ensure reliable signal readout. However, with the development of multi-stage optical storage technology, existing error correction code schemes cannot meet the error correction capabilities required by new technologies. To achieve the required error correction capabilities, a lot of redundant space is needed, leading to a reduction in storage capacity. Therefore, existing optical storage error correction code technologies cannot balance error correction capability and redundant space usage, which limits their practical application. Summary of the Invention
[0005] In view of the shortcomings of existing technologies and the need for improvement, this invention provides an adaptive error correction method, device and system suitable for optical storage, the purpose of which is to significantly improve the error correction capability of optical storage systems without significantly increasing the redundant space occupation.
[0006] To achieve the above objectives, according to one aspect of the present invention, an adaptive error correction method suitable for optical storage is provided, comprising an encoding stage; the encoding stage includes:
[0007] Initial encoding steps: Encode each row of the m-row, k-column data block B using RS(n0, k) code to obtain m check symbol sequences of length n0-k. Append these sequences to the corresponding rows to obtain m symbol sequences. The symbol block B0, consisting of m rows and n0 columns;
[0008] The higher-order coding steps include:
[0009] (S1) Initialize j = 1;
[0010] (S2) Using RS(n) j k j For symbol block B j-1 m-line symbol sequence Encode them separately to obtain m elements of length n. j -k j j-th order check symbol sequence r 1_j (x)~r m_j (x), appended to the corresponding line, yields a sequence of m symbols. Forming m rows n j Column symbol block B j ;k j =n j-1 ;
[0011] (S3) After adding 1 to the value of j, if j≤S, then proceed to step (S2); otherwise, proceed to the cascaded check encoding step; S is a preset positive integer;
[0012] The concatenated parity coding steps include: processing the first-order parity symbol sequence r 1_1 (x), r 2_1 (x), ...r m_1 The symbol sequence composed of (x) is RS encoded to obtain the concatenated parity symbol sequence R1(x); the second-order parity symbol sequence r 1_2 (x), r 2_2 (x), ...r m_2 The symbol sequence composed of (x) is RS encoded to obtain the concatenated parity symbol sequence R2(x); ...; the S-order parity symbol sequence r 1_S (x), r 2_S (x), ...r m_S The symbol sequence composed of (x) is RS encoded to obtain the concatenated parity symbol sequence R. S (x);
[0013] The steps for constructing the coded block are as follows: Concatenate the parity check symbol sequences R1(x), R2(x)...R... S The symbols in (x) are uniformly appended to the symbol block B0 to obtain the coded block corresponding to the data block B. Encoding complete.
[0014] Furthermore, the adaptive error correction method for optical storage provided by the present invention also includes a decoding stage; the decoding stage includes:
[0015] Independent decoding steps: from the encoded block to be decoded In each line, extract the first n0 symbols to obtain m symbol sequences of length n0. The symbol sequence is processed using RS(n0,k) codes. Decoding yields an m-line symbol sequence. If a line fails to decode, it is taken as the target line and a higher-order decoding step is triggered; otherwise, a data block construction step is triggered.
[0016] The higher-order decoding steps include:
[0017] (T1) Initialize j = 1;
[0018] (T2) from the encoded block Extract the cascaded check symbol sequence R j The symbol sequence R' corresponding to (x) j (x), using RS(n) j k j The code corresponds to the m-line symbol sequence. Encode to generate m characters of length n j -k j The j-th order parity symbol sequence r' 1_j (x)~r' m_j (x), using RS code to pair r' 1_j (x)~r' m_j (x) and R' j Decode the symbol sequence (x), and append the decoded first-order parity symbol sequence to the corresponding row to obtain m symbols of length n. j symbol sequence
[0019] (T3) From symbol sequence Extract the symbol sequence containing the target line and use RS(n) j k j Decoding is performed using a sequence of symbols. The sequence of symbols excluding the target row, together with the sequence of symbols obtained from this decoding, constitutes the m-row symbol sequence.
[0020] (T4) If there is a line that failed to decode in step (T3), then take the line that failed to decode as the target line and proceed to step (T5); otherwise, trigger the data block construction step.
[0021] (T5) After adding 1 to the value of j, if j≤S, then proceed to step (T2); otherwise, decoding fails.
[0022] Data block construction steps: Extract information symbols from the successfully decoded lines, organize them into data blocks by line, and the decoding is complete.
[0023] Furthermore, the independent decoding step also includes: decoding the symbol sequence using RS(n0,k) codes respectively. While performing decoding, calculate the flag bit sign(i) of each row, which is used to record the order of high-order decoding to be performed on the i-th row, i=1,2,…m;
[0024] Furthermore, in step (T3), for the symbol sequence where any target row L is located use RS(n j , k j ) code for decoding, specifically:
[0025] Obtain the row number l of target row L, and acquire its flag bit sign(l). If j<sign(l), directly take the symbol sequence as the decoding result; otherwise, use RS(n j , k j ) code to decode the symbol sequence .
[0026] According to another aspect of the present invention, there is provided an adaptive error correction apparatus suitable for optical storage, comprising: a computer-readable storage medium for storing a computer program;
[0027] and a processor, configured to read the computer program stored in the computer-readable storage medium and execute the adaptive error correction method suitable for optical storage provided by the present invention.
[0028] According to another aspect of the present invention, there is provided an optical storage system, comprising: an optical storage medium and the adaptive error correction apparatus suitable for optical storage provided by the present invention.
[0029] In general, through the above technical solution conceived by the present invention, the following beneficial effects can be obtained:
[0030] (1) Based on the RS encoding step, the present invention further performs high-order encoding, which can effectively improve error correction capability, thereby improving the reliability of the optical storage system; meanwhile, the high-order check symbols generated by high-order encoding are encoded to obtain concatenated check symbols. Finally, the concatenated check symbols are stored instead of the high-order check symbols. Since the high-order check symbols can be recovered through the concatenated check symbols, and the data size of the concatenated check symbols is reduced compared with that of the high-order check symbols, the present invention can greatly reduce the occupancy of redundant space without affecting the error correction capability improvement brought by the high-order check encoding. Therefore, the present invention can significantly improve the error correction capability of the optical storage system without significantly increasing the occupancy of redundant space.
[0031] (2) In a preferred embodiment of the present invention, while performing independent decoding, the sign bit sign(i) of each row is calculated to record the order of higher-order decoding required for each row. When performing higher-order decoding, if the current decoding order does not reach the order of higher-order decoding required for the target row, the decoding process is not performed after the current higher-order parity symbol is restored. This avoids invalid decoding calculations, reduces the amount of computation, and improves decoding efficiency. Attached Figure Description
[0032] Figure 1 A schematic diagram of an adaptive error correction method for optical storage provided in an embodiment of the present invention;
[0033] Figure 2 A comparison chart of the average time overhead of secondary decoding with and without using the flag bit, provided for embodiments of the present invention;
[0034] Figure 3 A comparison chart of error correction capabilities using different schemes provided for embodiments of the present invention;
[0035] Figure 4 This is a schematic diagram illustrating the encoding of cascade check symbols according to an embodiment of the present invention;
[0036] Figure 5 A schematic diagram illustrating the absence of encoding of the cascade check symbol in an embodiment of the present invention;
[0037] Figure 6 This is a schematic diagram of a data block to be encoded provided in an embodiment of the present invention;
[0038] Figure 7 This is a schematic diagram of a symbol block after the initial encoding step, provided in an embodiment of the present invention.
[0039] Figure 8 This is a schematic diagram of the encoded block obtained after encoding is completed, as provided in an embodiment of the present invention. Detailed Implementation
[0040] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention. Furthermore, the technical features involved in the various embodiments of this invention described below can be combined with each other as long as they do not conflict with each other.
[0041] In this invention, the terms "first," "second," etc. (if present) in the invention and the accompanying drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0042] To make the technical solution provided by this invention clearer and more detailed, the relevant principles of Reed-Solomon error correction code are first briefly introduced as follows:
[0043] RS codes are linear error-correcting codes with strong error-correcting capabilities, capable of correcting both random and burst errors. RS codes are operated in the Galois field, where GF(2) is the Galois field. m ) indicates that there are 2 in the field. m There are elements, each of which can be represented by α. 0 α 0 、…α 0 The basic idea of RS code is to choose a suitable generator polynomial g(x) such that the codeword polynomial calculated for each information field is a multiple of g(x). If the remainder of the received codeword polynomial divided by the generator polynomial is not 0, it indicates that there is an error in the received codeword.
[0044] In GF(2) m In the domain, the meanings of the symbols in RS(n,k) are as follows:
[0045] m indicates that each symbol consists of m bits;
[0046] n indicates that a codeword has n code elements;
[0047] k indicates that a codeword contains k information code elements;
[0048] r = nk = 2t means that there are r check bits in a code block;
[0049] t represents the number of code elements that can be corrected.
[0050] In RS codes, code elements can also be called symbols. Correspondingly, a codeword is a sequence of symbols consisting of information symbols and check symbols generated by encoding.
[0051] The decoding process is as follows: Substitute the Galois field elements used in the generator polynomial into the symbol polynomial to obtain nk syndromes. Then, use these syndromes to calculate the error position polynomials, and then use the Chan search algorithm and the Forney algorithm to obtain the error position and error value, respectively.
[0052] Because RS codes require storing two additional check symbols to correct one information symbol, the redundancy space occupancy rate is high. In optical storage applications, the bit error rate is often high. To ensure storage reliability, if traditional RS codes are used for encoding and decoding, a large number of redundant check symbols need to be stored, severely impacting the storage capacity of the optical storage system. To solve this problem, this invention provides an adaptive error correction method, device, and system suitable for optical storage. The overall idea is to perform higher-order encoding based on traditional RS code encoding, but instead of directly storing the high-order check symbol sequence generated by the higher-order encoding, the symbol sequence composed of the higher-order check symbol sequence is encoded again to generate concatenated check symbols, which are then finally stored. This avoids storing a large number of high-order check symbols while maintaining the same error correction capability, achieving a significant improvement in the error correction capability of the optical storage system without significantly changing the redundancy space occupancy.
[0053] The following is an example.
[0054] Example 1:
[0055] An adaptive error correction method suitable for optical storage, such as Figure 1 As shown, it includes the encoding stage; the encoding stage includes: initial encoding steps, higher-order encoding steps, concatenated check encoding steps, and encoding block construction steps.
[0056] The initial encoding step encodes the data block to be encoded using traditional RS encoding. Specifically, it includes: encoding each row of the m-row, k-column data block B using RS(n0, k) code to obtain m parity symbol sequences of length n0-k, which are then appended to the corresponding rows to obtain m symbol sequences. The symbol block B0 consists of m rows and n0 columns.
[0057] After the initial encoding step, the number of erroneous symbols that can be corrected for each row of symbol sequences is t = r / 2, where r = n0 - k. To further improve error correction capability and ensure storage reliability, this embodiment further performs higher-order encoding steps on each row of symbol sequences based on the initial encoding step to generate more check symbols. In practical applications, the order S of the higher-order encoding can be set according to the specific error correction requirements, and then the first-order higher-order encoding, the second-order higher-order encoding, ..., the S-th-order higher-order encoding are executed sequentially. The first-order higher-order encoding uses each row of symbol sequences of symbol block B0 generated by the initial encoding as information symbols, and each subsequent higher-order encoding uses the symbol sequences generated by the previous higher-order encoding as information symbols. Each higher-order encoding uses a different generator polynomial, denoted as g1(x), g2(x), ..., g s (x). Specifically, the higher-order coding steps include:
[0058] (S1) Initialize j = 1;
[0059] (S2) Using RS(n) j k j For symbol block B j-1 m-line symbol sequence Encode them separately to obtain m elements of length n. j -k j j-th order check symbol sequence r 1_j (x)~r m_j (x), appended to the corresponding line, yields a sequence of m symbols. Forming m rows n j Column symbol block B j ;k j =n j-1 ;
[0060] (S3) After adding 1 to the value of j, if j≤S, it means that the higher-order coding has not ended, and then proceed to step (S2) to perform the next higher-order coding; otherwise, it means that the higher-order coding has ended. Since each higher-order coding will generate additional check symbols, if these check symbols are stored directly, it will lead to excessive redundancy space occupancy, which will seriously affect the storage capacity of the optical storage system. In order to avoid this problem, this embodiment will further encode the check symbols generated by the higher-order check coding through the concatenated check coding step after the higher-order coding is completed, thereby reducing the amount of information that needs to be stored while ensuring error correction capability. Therefore, in this embodiment, when j≤S is not satisfied, the concatenated check coding step is entered.
[0061] In this embodiment, since each higher-order encoding can only be executed after the previous higher-order encoding has finished, when encoding the check symbols generated by the higher-order check encoding, this embodiment groups all check symbols generated by the same higher-order encoding into an information symbol sequence for encoding, generating a corresponding concatenated check symbol sequence. Specifically, the concatenated check encoding steps include: encoding the first-order check symbol sequence r... 1_1 (x), r 2_1 (x), ...r m_1 The symbol sequence composed of (x) is RS encoded to obtain the concatenated parity symbol sequence R1(x); the second-order parity symbol sequence r 1_2 (x), r 2_2 (x), ...r m_2 The symbol sequence composed of (x) is RS encoded to obtain the concatenated parity symbol sequence R2(x); ...; the S-order parity symbol sequence r 1_S (x), r 2_S (x), ...r m_S The symbol sequence composed of (x) is RS encoded to obtain the concatenated parity symbol sequence R. S (x).
[0062] Compared to higher-order parity symbols, concatenated parity symbols significantly reduce data volume. Therefore, in this embodiment, the concatenated parity symbols are appended to the symbol block B0 through the coding block construction step, replacing the storage of higher-order parity symbols. Specifically, the coding block construction step includes: appending the concatenated parity symbol sequence R1(x), R2(x)...R... S The symbols in (x) are uniformly appended to the symbol block B0 to obtain the coded block corresponding to the data block B. Encoding complete.
[0063] In the subsequent decoding process, the sequence of higher-order coded symbols for each order can be recovered based on the information in symbol block B0 and the concatenated check symbols. Therefore, this embodiment greatly reduces the amount of redundant space occupied while ensuring the error correction capability of higher-order check codes.
[0064] Corresponding to the above-described encoding stage, the adaptive error correction method for optical storage provided in this embodiment also includes a decoding stage;
[0065] The decoding phase includes: independent decoding steps, higher-order decoding steps, and data block construction steps.
[0066] The independent decoding step corrects a small number of errors in the encoded block to be decoded using RS encoding; the higher-order decoding step decodes the lines that the independent decoding step cannot decode successfully. During the decoding process, the higher-order parity symbol of each line is first recovered based on the stored concatenated parity symbols, and then the decoding is performed using the decoding method corresponding to the higher-order parity code; the data block construction step is used to extract the original information symbols after successful decoding.
[0067] The independent decoding step specifically includes: from the encoded block to be decoded... In each line, extract the first n0 symbols to obtain m symbol sequences of length n0. The symbol sequence is processed using RS(n0,k) codes. Decoding yields an m-line symbol sequence. If a line fails to decode, it is taken as the target line and a higher-order decoding step is triggered; otherwise, a data block construction step is triggered.
[0068] The higher-order decoding steps include:
[0069] (T1) Initialize j = 1;
[0070] (T2) from the encoded block Extract the cascaded check symbol sequence R j The symbol sequence R' corresponding to (x) j (x), using RS(n) j kj The code corresponds to the m-line symbol sequence. Encode to generate m characters of length n j -k j The j-th order parity symbol sequence r' 1_j (x)~r' m_j (x), using RS code to pair r' 1_j (x)~r' m_j (x) and R' j Decode the symbol sequence (x), and append the decoded first-order parity symbol sequence to the corresponding row to obtain m symbols of length n. j symbol sequence
[0071] (T3) From symbol sequence Extract the symbol sequence containing the target line and use RS(n) j k j Decoding is performed using a sequence of symbols. The sequence of symbols excluding the target row, together with the sequence of symbols obtained from this decoding, constitutes the m-row symbol sequence.
[0072] (T4) If there is a line that failed to decode in step (T3), then take the line that failed to decode as the target line and proceed to step (T5); otherwise, trigger the data block construction step.
[0073] (T5) After adding 1 to the value of j, if j≤S, then proceed to step (T2); otherwise, decoding fails.
[0074] Data block construction steps: Extract information symbols from the successfully decoded lines, organize them into data blocks by line, and the decoding is complete.
[0075] In the independent decoding step, the number of erroneous symbols in each line can be calculated during the independent decoding process. Since the number of erroneous symbols that can be corrected by the initial encoding and the RS codes used in each higher-order parity code is known, whether each line needs to undergo higher-order decoding, and the order of the specific higher-order decoding, can be directly calculated after determining the order in the independent decoding step. Based on this, to reduce the computational load in the higher-order decoding step, in this embodiment, the independent decoding step further includes: using RS(n0,k) codes to decode the symbol sequence... While performing decoding, the sign (i) bit of each row is calculated to record the order of higher-order decoding required for the i-th row, i = 1, 2, ... m;
[0076] Furthermore, in step (T3), for any target row L, the symbol sequence... Using RS(n) j kj ) decoding is performed on the code, specifically:
[0077] obtain the row number l of the target row L, and acquire its flag bit sign(l). If j < sign(l), the symbol sequence is directly used as the decoding result; otherwise, RS(n j , k j ) code is used to decode the symbol sequence .
[0078] Based on this optimization, if the current decoding order does not reach the high-order decoding order required by the target row, after the current high-order check symbols are recovered, the decoding process will not be executed. This can avoid invalid decoding calculation, reduce the amount of calculation, and improve decoding efficiency. Figure 2 , it shows the comparison of time overhead for decoding the same data block when the flag bit is used and when the flag bit is not used. According to Figure 2 the shown result, it can be seen that the first decoding requires initializing the flag bit, and there is no difference in time overhead between the two. However, as the pre-decoding symbol error rate increases, the role of the flag bit becomes more and more significant, which can effectively reduce the time overhead of decoding and improve decoding efficiency.
[0079] Overall, in this embodiment, based on the RS encoding step, further high-order encoding is performed, which can effectively improve the error correction capability, thereby improving the reliability of the optical storage system; meanwhile, the high-order check symbols generated by the high-order encoding are encoded to obtain concatenated check symbols. Finally, the concatenated check symbols are stored instead of the high-order check symbols. Since the high-order check symbols can be recovered through the concatenated check symbols, and the data amount of the concatenated check symbols is reduced compared with that of the high-order check symbols, therefore, this embodiment can greatly reduce the occupancy rate of redundant space without affecting the error correction capability improvement brought by the high-order check encoding. That is, this embodiment can significantly improve the error correction capability of the optical storage system without significantly increasing the occupation of redundant space.
[0080] It should be noted that in practical applications, the capabilities of initial encoding and each-order high-order check encoding determine the number of symbol errors that can be finally corrected, which can be set correspondingly according to actual applications. The error correction capability of concatenated check coding provides a guarantee for the recovery of high-order check symbols and also determines the final redundant space occupancy, therefore, it needs to be set through comprehensive consideration.
[0081] Theoretically, re-encoding the cascaded check symbols can further improve data storage reliability. However, with a fixed storage space, storing the re-encoded check symbols will compress the storage space for the cascaded check symbols. Experimental comparative analysis shows that this embodiment, by only storing the cascaded check codes and not re-encoding them, can achieve higher error correction performance with the same storage space. The error correction capabilities of the two methods are compared below. Figure 3 As shown, Scheme 1 represents a scheme for encoding the cascade check symbol, and Scheme 2 represents a scheme for not encoding the cascade check symbol, which is the scheme adopted in this embodiment. According to Figure 3 It can be seen that when the symbol error rate before decoding is very high, the higher-order decoding of both methods fails due to the large number of errors, so the error correction performance is the same. However, as the symbol error rate before decoding decreases, the scheme adopted in this embodiment shows better error correction performance.
[0082] One of the comparison results is as follows:
[0083] Figure 4 As shown, this is for line 155 (corresponding to...) Figure 3 This diagram illustrates how, after encoding a data block with N=155 and 214 columns, the cascade check symbol is also encoded. In the data block, the original information symbol for each row (corresponding to d in the diagram) is... i The number is 214, and the low-order check symbols (corresponding to the diagram) The number is 32. A 6th-order higher-order check is used (corresponding to m=7 in the diagram), and each check contains 2 higher-order check symbols (corresponding to each in the diagram). (For 2 symbols), meaning it provides a maximum of 6 additional error correction capabilities. These 6 higher-order check symbols (corresponding to p in the diagram) are check symbols. j The number of j) are 104, 68, 44, 28, 20, and 16 respectively. These p j Perform another protection step, verifying the symbol (corresponding to p in the diagram). * The number is 30.
[0084] Figure 5 As shown, this is for line 155 (corresponding to...) Figure 3 The diagram illustrates the encoding of a data block with N=155 and 214 columns. In this scheme, after obtaining the concatenated check symbol through concatenated check encoding, the concatenated check symbol is not encoded again. In the data block, the original information symbol of each row (corresponding to d in the diagram) i The number is 214, and the low-order check symbol (corresponding to p in the figure) i The number of checks is 32. An 11th-order higher-order check is used (corresponding to m=11 in the diagram), and each check contains two higher-order check symbols (corresponding to S in the diagram). 2t+1 →S 2t+2mThere are a total of 22 higher-order syntagms, which means they provide up to 11 additional error correction capabilities. These 11 higher-order check symbols (corresponding to p in the diagram) are check symbols. j The number of check symbols generated by the added fourth-order high-order check codes are 104, 68, 44, 28, 20, 16, 12, 8, 4, 4, 2, and the sum of the number of check symbols is exactly 30.
[0085] contrast Figure 4 and Figure 5 As can be seen, this embodiment obtains and stores the cascaded check symbols, achieving better benefits in terms of storage space and error correction performance. At the same time, it omits the calculation of encoding the cascaded check symbols.
[0086] To make the technical solution of this embodiment clearer and more detailed, the encoding and decoding stages of the adaptive error correction method for optical storage provided in this embodiment will be further explained below with reference to a specific application example.
[0087] Suppose we have a data block of 30 rows and 215 columns, where each element is 8 bits long and belongs to the Galois field GF(2). 8 The symbol for ) such as Figure 6 As shown.
[0088] The encoding process for this data block is as follows:
[0089] First, the initial encoding step is performed. For each line of 215 information symbols in this information data block, RS(245,215) code is used for encoding, resulting in 30 check symbols. The generator polynomial used for encoding is...
[0090] g(x) = (x-α)(x-α) 2 )…(x-α 30 )
[0091] The checksums obtained from each row are appended to the end of that row, forming a 30-row, 245-column checksum block, such as... Figure 6 As shown, in each row, the first 215 symbols are information symbols and the last 30 symbols are check symbols; based on the RS code mechanism, each row of this data block can correct up to 15 symbol errors.
[0092] Then, the higher-order encoding step is performed. Specifically, two higher-order encoding steps are performed. The first higher-order encoding uses RS(247,245) code, and the generator polynomial used is:
[0093] g1(x)=(x-α 31 (x-α) 32 )
[0094] After first-order high-order parity coding, each line generates 2 first-order high-order parity symbols, and the number of error correction symbols in each line is increased to 16.
[0095] The second-order higher-order encoding uses RS(249,247) code, and the generator polynomial used is:
[0096] g2(x)=(x-α 33 (x-α) 34 )
[0097] After the second-order high-order check coding, two second-order and first-order check symbols are generated, and the number of error correction symbols in each line is increased to 17.
[0098] After the high-order coding is completed, there are a total of 120 first-order and second-order high-order check symbols.
[0099] Next, the concatenated checksum encoding step is performed. This is represented by a new identifier T. Figure 6 The data block elements in the data, for each row of code element T i_1 ,…,T i_245 Let r be the symbol sequence composed of the first-order higher-order parity symbol and the second-order higher-order parity symbol. i_1 (x) and r i_2 (x).
[0100] The higher-order check symbol r corresponding to the 30 lines of code elements i_1 (x) are combined into an information sequence and then RS(90,60) encoded again to obtain the concatenated check code R1(x). The higher-order check symbols r corresponding to the 30 rows of code elements are then used to obtain the concatenated check code R1(x). i_2 (x) are combined into an information sequence and then RS(90,60) encoded again to obtain the concatenated check symbol R2(x). R1(x) and R2(x) each contain 30 check symbols, for a total of 60 concatenated check symbols. Compared with higher-order check symbols, the amount of data is greatly reduced.
[0101] Finally, the code block construction step is performed. These 60 concatenated check symbols are appended to... Figure 7 The data block shown to the right is combined into a 30-row, 247-column data block, as follows: Figure 8 As shown. Among them, R1-1, R1-2...R1-30 represent the 30 symbols in the concatenated check code R1(x), and R2-1, R2-2...R2-30 represent the 30 symbols in the concatenated check symbol R2(x).
[0102] Now assume Figure 8 The original code T of each line in the data block i_1 ,…,T i_245The data block contains a varying number and size of symbolic errors. Line 1 contains 16 symbolic errors, line 2 contains 17, and lines 3 through 30 contain 15 or fewer symbolic errors. Therefore, the decoding process for this data block is as follows.
[0103] First, perform the independent decoding step. Use the traditional Reed-Solomon decoding algorithm to decode each line T. i_1 ,…,T i_245 A total of 245 symbols were subjected to low-order verification: α was used for each symbol. 1 ,α 2 ,…,α 30 Substituting the symbols into the polynomial, we can calculate the syndromes S1, S2, ..., S. 30 Then, the error position polynomial and error value polynomial are obtained by calculating the syndrome. The error position and the corresponding error value are then calculated by the Chan search algorithm and the Forney algorithm, respectively. Finally, the corresponding position of the symbol is corrected, the syndrome is recalculated, and the decoding is judged to be correct.
[0104] Because of T i_1 ,…,T i_245 It is encoded using RS(245,215) code, which has a maximum error correction capability of 15 symbols. Therefore, decoding will fail in lines 1 and 2, while decoding will succeed in lines 3 to 30. Lines 1 and 2 are used as target lines to trigger higher-order decoding steps.
[0105] The higher-order decoding steps are executed as follows:
[0106] First, perform the first-order higher-order decoding: decode each line of code T... i_1 ,…,T i_245 The first-order parity code r' is obtained by encoding using RS(247,245). i_1 (x), each first-order parity code contains 2 parity symbols, and at this time, since T 1_1 ,…,T 1_245 and T 2_1 ,…,T 2_245 It contains uncorrected errors, therefore its calculated first-order parity code r' 1_1 (x) and r' 2_1 (x) is incorrect, while the first-order parity code calculated in rows 3-30 is correct. The first-order parity code r' corresponding to the 30 rows of code elements is... i_1 (x) is combined into an information sequence, concatenated with the concatenated check code R1(x) to form a code element, and then the RS(90,60) decoding algorithm is used to restore the correct first-order check code r'. 1_1 (x) and r' 2_1 (x). Passed by the first-order check code r' 1_1(x) can be used to calculate the higher-order adjoint S for the first row. 31 and S 32 The first-order adjoint S 31 S 32 and the original adjoint S1,S2,…,S 30 Combining these steps allows for the correction of 16 symbol errors, and the subsequent decoding algorithm follows the same process as traditional decoding algorithms. Therefore, the 16 symbol errors in the first row can be corrected, but the 17 symbol errors in the second row cannot be corrected. At this point, a second-order higher-order decoding is required.
[0107] T of each line of code i_1 ,…,T i_245 The second-order parity code r' is obtained by encoding using RS(249,247). i_2 (x), each second-order check code contains 2 check symbols, and at this time, since T 2_1 ,…,T 2_245 It contains uncorrected errors, therefore its calculated second-order check code r' 2_2 (x) is incorrect, while the second-order check codes calculated for the other rows are correct. The second-order check codes r' corresponding to the 30 rows of code elements are... i_2 (x) is combined into an information sequence, concatenated with the concatenated check code R2(x) to form a code element, and then the RS(90,60) decoding algorithm is used to restore the correct second-order check code r'. 2_2 (x). Passed via second-order check code r' 2_2 (x) can be used to calculate the second-order adjoint S for the second row. 33 and S 34 The second-order adjoint S 33 S 34 First-order adjoint S 31 S 32 and the original adjoint S1,S2,…,S 30 Combining these steps allows for the correction of 17 symbol errors, and the subsequent decoding algorithm follows the same procedure as traditional decoding algorithms. Therefore, the 17 symbol errors in the second line can be corrected.
[0108] Example 2:
[0109] An adaptive error correction device suitable for optical storage includes: a computer-readable storage medium for storing a computer program;
[0110] And a processor for reading a computer program stored in a computer-readable storage medium and executing the adaptive error correction method for optical storage provided in Embodiment 1 above.
[0111] In this embodiment, the specific implementation methods of each module can be referred to the description in Embodiment 1 above, and will not be repeated here.
[0112] Example 3:
[0113] An optical storage system includes: an optical storage medium and an adaptive error correction device suitable for optical storage provided in Embodiment 2 above.
[0114] Those skilled in the art will readily understand that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. An adaptive error correction method suitable for optical storage, characterized in that, Includes an encoding stage; the encoding stage includes: Initial encoding steps: Encode each row of the m-row, k-column data block B using RS(n0, k) code to obtain m check symbol sequences of length n0-k. Append these sequences to the corresponding rows to obtain m symbol sequences. The symbol block B0, consisting of m rows and n0 columns; Higher-order coding steps include: (S1) Initialize j = 1; (S2) Using RS(n) j k j For symbol block B j-1 m-line symbol sequence Encode them separately to obtain m elements of length n. j -k j j-th order check symbol sequence r 1_j (x)~r m_j (x), appended to the corresponding line, yields a sequence of m symbols. Forming m rows n j Column symbol block B j ;k j =n j-1 ; (S3) After adding 1 to the value of j, if j≤S, then proceed to step (S2); otherwise, proceed to the cascaded check encoding step; S is a preset positive integer; The concatenated check encoding step includes: processing the first-order check symbol sequence r 1_1 (x), r 2_1 (x), ...r m_1 The symbol sequence composed of (x) is RS encoded to obtain the concatenated parity symbol sequence R1(x); the second-order parity symbol sequence r 1_2 (x), r 2_2 (x), ...r m_2 The symbol sequence composed of (x) is RS encoded to obtain the concatenated parity symbol sequence R2(x); ...; the S-order parity symbol sequence r 1_S (x), r 2_S (x), ...r m_S The symbol sequence composed of (x) is RS encoded to obtain the concatenated parity symbol sequence R. S (x); The steps for constructing the coded block are as follows: Concatenate the parity check symbol sequences R1(x), R2(x)...R... S The symbols in (x) are uniformly appended to the symbol block B0 to obtain the coded block corresponding to the data block B. Encoding complete.
2. The adaptive error correction method for optical storage as described in claim 1, characterized in that, It also includes the decoding stage; The decoding stage includes: Independent decoding steps: from the encoded block to be decoded In each line, extract the first n0 symbols to obtain m symbol sequences of length n0. The symbol sequence is processed using RS(n0,k) codes. Decoding yields an m-line symbol sequence. If a line fails to decode, it is taken as the target line and a higher-order decoding step is triggered; otherwise, a data block construction step is triggered. The higher-order decoding steps include: (T1) Initialize j = 1; (T2) from the encoded block Extracting the cascaded check symbol sequence R j The symbol sequence R' corresponding to (x) j (x), using RS(n) j k j The code represents the m-line symbol sequence respectively. Encode to generate m characters of length n j -k j The j-th order parity symbol sequence r' 1_j (x)~r' m_j (x), using RS code to pair r' 1_j (x)~r' m_j (x) and R' j Decode the symbol sequence (x), and append the decoded first-order parity symbol sequence to the corresponding row to obtain m symbols of length n. j symbol sequence (T3) From symbol sequence Extract the symbol sequence containing the target line and use RS(n) j k j Decoding is performed using a sequence of symbols. The sequence of symbols excluding the target row, together with the sequence of symbols obtained from this decoding, constitutes the m-row symbol sequence. (T4) If there is a line that failed to decode in step (T3), then take the line that failed to decode as the target line and proceed to step (T5); otherwise, trigger the data block construction step. (T5) After adding 1 to the value of j, if j≤S, then proceed to step (T2); otherwise, decoding fails. The data block construction steps are as follows: extract information symbols from the successfully decoded lines, organize them into data blocks by line, and the decoding ends.
3. The adaptive error correction method for optical storage as described in claim 2, characterized in that, The independent decoding step further includes: using RS(n0,k) codes to decode the symbol sequence separately. While performing decoding, the sign (i) bit of each row is calculated to record the order of higher-order decoding required for the i-th row, i = 1, 2, ... m; Furthermore, in step (T3), for any target row L, the symbol sequence... Using RS(n) j k j Decoding is performed on the code as follows: Acquire the line number l of the target line L, and acquire its flag bit sign(l). If j<sign(l), directly output the symbol sequence as the decoding result; otherwise, use RS(n j , k j ) code to decode the symbol sequence .
4. An adaptive error correction device suitable for optical storage, characterized in that, include: A computer-readable storage medium for storing computer programs; And a processor for reading a computer program stored in the computer-readable storage medium and executing the adaptive error correction device for optical storage as described in any one of claims 1 to 3.
5. An optical storage system, characterized in that, include: Includes optical storage media and the adaptive error correction device for optical storage as described in claim 4.