Error correction device, error correction method, control circuit and storage medium
Patent Information
- Application Number
- JP2023544421
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-03-14
- Publication Date
- 2025-02-19
- Estimated Expiration
- 2043-03-14
AI Technical Summary
Conventional Chase decoding methods for error correction in optical transmission systems face challenges in achieving high-speed decoding processing, particularly at gigabit/s transmission speeds.
An error correction device that extracts hard decision values from a soft decision reception sequence, performs syndrome calculations in parallel, and executes multiple test patterns to enhance decoding efficiency through parallel processing.
The device achieves faster decoding processing by performing syndrome calculations and error correction in parallel, reducing the overall processing time.
Smart Images

Figure 00000009_0000 
Figure 00000009_0001 
Figure 00000009_0002
Abstract
Description
[Technical field]
[0001] The present disclosure relates to an error correction device, an error correction method, a control circuit, and a storage medium. [Background technology]
[0002] Chase decoding is a soft-decision error correction decoding method using block error correction codes such as BCH (Bose-Chaudhuri-Hocquenghem) codes (for example, Non-Patent Document 1). In Chase decoding, pseudo correction is performed in sequence using multiple test patterns based on soft-decision information of a received sequence, and then a code sequence candidate with the highest correlation with the received sequence is selected from code sequence candidates obtained by conventional algebraic error correction trials, thereby performing correction beyond the correction limit of algebraic decoding. [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] David Chase, “A Class of Algorithms for Decoding Block Codes With Channel Measurement Information”, IEEE Transactions on information theory, Vol.IT-18, No.1, pp.170-182, 1972 Summary of the Invention [Problem to be solved by the invention]
[0004] In the conventional Chase decoding method, trials are performed with each test pattern in order. For this reason, when the conventional method is applied to an error correction device used in optical transmission with a transmission speed of gigabits per second, it is difficult to achieve the required throughput, and it is desirable to realize a high-speed decoding process.
[0005] The present disclosure has been made in view of the above, and has an object to provide an error correction device that realizes faster decoding processing. [Means for solving the problem]
[0006] In order to solve the above-mentioned problems and achieve the object, an error correction device according to the present disclosure includes a hard decision value extraction unit that extracts hard decision values from a soft decision reception sequence having soft decision information and outputs the extracted hard decision value sequence as a hard decision reception sequence, a syndrome calculation unit that generates a syndrome based on the hard decision reception sequence, a test pattern position candidate selection unit that determines test pattern position candidates that are positions at which test patterns are applied to the hard decision reception sequence based on the soft decision information, and a pseudo correction processing unit that generates a plurality of test patterns to be applied to the test pattern position candidates and performs error correction processing using the generated test patterns in parallel on the hard decision reception sequence, wherein the pseudo correction processing unit: Each one Test pattern position candidates The corresponding test pattern position candidate is One-to-one syndrome of Syndrome Pattern Output as a plurality of syndrome selection units each of which selects a syndrome from among the plurality of syndrome selection units; is output from Syndrome Pattern Receive one or more of the syndrome patterns to a syndrome of the hard-decision received sequence, and a plurality of error correction calculation units each associated with one of the plurality of syndrome addition units and performing an error correction calculation using the syndrome of the hard-decision received sequence after the syndrome pattern has been added by the associated syndrome addition unit. Effect of the Invention
[0007] The error correction device according to the present disclosure has an effect of realizing high-speed decoding processing. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram showing a configuration example of an error correction device according to a first embodiment; [Diagram 2]1 is a flowchart showing an example of an operation of the error correction device according to the first embodiment. [Diagram 3] FIG. 13 is a diagram showing a configuration example of an error correction device according to a second embodiment; [Figure 4] 11 is a flowchart showing an example of an operation of the error correction device according to the second embodiment. [Diagram 5] FIG. 1 is a diagram showing an example of a processing circuit that realizes some or all of the components of an error correction device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] An error correction device, an error correction method, a control circuit, and a storage medium according to embodiments of the present disclosure will be described in detail below with reference to the drawings.
[0010] Embodiment 1 1 is a diagram showing a configuration example of an error correction device 100 according to a first embodiment. The error correction device 100 is installed in, for example, a communication device constituting an optical transmission system, and performs error correction decoding on an information sequence obtained by soft-decision on a received sequence (hereinafter referred to as a soft-decision received sequence). The error correction device 100 corrects errors in the soft-decision received sequence by a chase decoding process.
[0011] As shown in FIG. 1, the error correction device 100 includes a hard decision value extraction unit 2, a test pattern position candidate selection unit 3, test pattern selection and determination units 4-1 to 4-T, test pattern addition units 5-1 to 5-T, syndrome calculation units 6 and 6-1 to 6-T, error correction calculation units 7 and 7-1 to 7-T, a correction candidate selection unit 8, and a correction processing unit 9. Here, T is an integer equal to or greater than 2. A soft decision reception sequence 1 having soft decision information such as LLR (Log-Likelihood-Ratio) is input to the error correction device 100. In the error correction device 100, the soft decision reception sequence 1 is input to the hard decision value extraction unit 2 and the test pattern position candidate selection unit 3. The test pattern position candidate selection unit 3 selects test pattern position candidates by weighting them in order of the likelihood of error based on the soft decision information such as LLR. The test pattern selection and determination units 4-1 to 4-T each select a different error pattern based on the order weighted by the test pattern position candidate selection unit 3. The test pattern adders 5-1 to 5-T execute the same processing in parallel for the test patterns selected by the test pattern selection determination units 4-1 to 4-T. The same is true for the syndrome calculation units 6-1 to 6-T and error correction calculation units 7-1 to 7-T. The test pattern selection determination units 4-1 to 4-T, the test pattern adders 5-1 to 5-T, the syndrome calculation units 6-1 to 6-T, and the error correction calculation units 7-1 to 7-T constitute a pseudo-correction processing unit 110 that executes multiple pseudo-correction processing in parallel using multiple test patterns by the Chase decoding method.
[0012] The operation of each unit of the error correction device 100 will be described with reference to Fig. 1 and Fig. 2. Fig. 2 is a flowchart showing an example of the operation of the error correction device 100 according to the first embodiment.
[0013] In the error correction device 100, first, the hard decision value extractor 2 extracts hard decision values from the soft decision received sequence 1 (step S11). The hard decision value sequence extracted by the hard decision value extractor 2 is input as a hard decision received sequence to each of the syndrome calculator 6, the test pattern adders 5-1 to 5-T, and the correction processor 9.
[0014] Further, the test pattern position candidate selection unit 3 determines test pattern position candidates, which are positions for applying test patterns to the hard decision reception sequence extracted by the hard decision value extraction unit 2, while sorting the test pattern positions by weighting in order of likelihood of error based on soft decision information such as LLR (step S12). In this embodiment, the test pattern position candidate selection unit 3 finally determines S test pattern position candidates (S locations). S is an integer equal to or greater than 2. The test pattern position candidate selection unit 3 determines the test pattern position candidates based on the soft decision information included in the soft decision reception sequence 1.
[0015] In FIG. 2, step S12 is executed after step S11, but steps S11 and S12 are executed in parallel.
[0016] Next, the test pattern selection determination units 4-1 to 4-T generate T test patterns from the S position candidates determined by the test pattern position candidate selection unit 3 (step S13). Specifically, the test pattern selection determination units 4-1 to 4-T select different test patterns as test patterns to be added to the hard decision received sequence extracted by the hard decision value extraction unit 2. Here, in this embodiment, since the test pattern position candidates are S, the maximum value of T, which corresponds to the number of test patterns, is 2. S -1. It is also possible to narrow down the number of test patterns selected by the test pattern selection determination units 4-1 to 4-T based on the soft decision information included in the soft decision reception sequence 1. For example, test pattern positions with likelihoods equal to or greater than a predetermined threshold may be excluded, and the test pattern selection determination units 4-1 to 4-T may select test patterns corresponding to the remaining test pattern positions. In this case, some of the test pattern selection determination units 4-1 to 4-T select and output different test patterns. Also, if the test patterns selected by each of the test pattern selection determination units 4-1 to 4-T are fixed, that is, if test patterns are always output based on the same position candidates of the S positions rearranged by weighting, the test pattern selection determination units 4-1 to 4-T are only wired.
[0017] Next, the test pattern adders 5-1 to 5-T add the test patterns to the hard decision received sequence (step S14). Specifically, the test pattern adders 5-1 to 5-T perform exclusive-OR addition of the test patterns selected by the preceding test pattern selection determination units 4-1 to 4-T to the hard decision received sequence input from the hard decision value extraction unit 2. At this time, the test pattern adders 5-1 to 5-T perform exclusive-OR addition of each bit of the test pattern to each hard decision value corresponding to each test pattern position.
[0018] Next, syndrome calculation units 6 and 6-1 to 6-T perform syndrome calculations (step S15). Specifically, syndrome calculation unit 6 calculates a syndrome of the hard-decision received sequence input from hard-decision value extraction unit 2. Syndrome calculation units 6-1 to 6-T each calculate a syndrome of the hard-decision received sequence to which test patterns have been added by test pattern addition units 5-1 to 5-T at the preceding stage. Note that the contents of the calculation processes executed by syndrome calculation units 6 and 6-1 to 6-T are the same.
[0019] Next, the error correction calculation units 7 and 7-1 to 7-T perform error correction calculation (step S16). Specifically, the error correction calculation unit 7 performs error correction calculation of the hard decision received sequence using the syndrome calculated by the syndrome calculation unit 6. The error correction calculation units 7-1 to 7-T each perform error correction calculation of the hard decision received sequence to which the test pattern is added by the test pattern adder units 5-1 to 5-T using the syndrome calculated by the syndrome calculation units 6-1 to 6-T in the previous stage. At this time, if the error position coincides with the test pattern position in the error correction calculation, correction is not possible. The error correction calculation units 7 and 7-1 to 7-T extract error patterns that are candidates for transmission codes in the error correction calculation.
[0020] Next, the correction candidate selection unit 8 selects an error pattern (step S17). Specifically, the correction candidate selection unit 8 selects one of the error patterns extracted by each of the error correction calculation units 7 and 7-1 to 7-T. For example, the correction candidate selection unit 8 calculates the total value of the likelihood of each bit of the error pattern for each of the multiple error patterns, selects the error pattern with the lowest total value, and outputs it to the correction processing unit 9.
[0021] Next, the correction processing unit 9 corrects the hard-decision received sequence (step S18). Specifically, the correction processing unit 9 cancels errors by performing an exclusive OR operation on the correction pattern input from the correction candidate selection unit 8 and the hard-decision received sequence input from the hard-decision value extraction unit 2 for each bit. The correction processing unit 9 outputs the hard-decision received sequence after error correction.
[0022] As described above, the error correction device 100 according to the present embodiment performs pseudo-correction processing in the Chase decoding method, specifically, the processing of selecting a test pattern to be used, the processing of adding the test pattern to a hard decision reception sequence, the processing of calculating a syndrome, and the error correction processing of extracting an error pattern, in parallel, so that the time required for the decoding processing can be shortened. In other words, the error correction device 100 can realize high-speed decoding processing.
[0023] Embodiment 2 The error correction device 100 according to the first embodiment described above is configured to execute a series of Chase decoding processes in parallel, thereby shortening the processing time and realizing high-speed decoding processes. Next, an embodiment will be described that reduces the scale of the circuitry that executes the test pattern processing included in each process executed in parallel.
[0024] Fig. 3 is a diagram showing a configuration example of an error correction device 100a according to the second embodiment. In Fig. 3, the same components as those of the error correction device 100 according to the first embodiment shown in Fig. 1 are denoted by the same reference numerals. The components denoted by the same reference numerals as those in Fig. 1 perform the same processes as those in the first embodiment, and therefore the description thereof will be omitted.
[0025] The error correction device 100a includes a hard decision value extraction unit 2, a test pattern position candidate selection unit 3, a syndrome calculation unit 6, syndrome selection units 10-1 to 10-S, syndrome addition units 11-1 to 11-T, error correction calculation units 7 and 7-1 to 7-T, a correction candidate selection unit 8, and a correction processing unit 9. The syndrome selection units 10-1 to 10-S, the syndrome addition units 11-1 to 11-T, and the error correction calculation units 7-1 to 7-T configure a pseudo correction processing unit 110a.
[0026] The operation of each part of the error correction device 100a will be described with reference to Fig. 3 and Fig. 4. Fig. 4 is a flowchart showing an example of the operation of the error correction device 100a according to the second embodiment. In Fig. 4, the same step numbers are used for the processes common to the flowchart shown in Fig. 2. The flowchart shown in Fig. 4 is obtained by replacing steps S13 to S15 of the flowchart shown in Fig. 2 with steps S23 and S24. The processes with the same step numbers as Fig. 2 are the same as those in the first embodiment, and therefore will not be described.
[0027] In the error correction device 100a, after executing the processes of steps S11 and S12, the syndrome calculation unit 6 performs a syndrome calculation, and the syndrome selection units 10-1 to 10-S select syndrome patterns for each of the S position candidates selected by the test pattern position candidate selection unit 3 (step S23). In this step S23, the syndrome calculation unit 6 performs the same process as in the first embodiment to calculate syndromes. The syndrome selection units 10-1 to 10-S calculate different syndrome patterns based on the S test pattern position candidates. Specifically, the syndrome selection units 10-1 to 10-S are each associated with one of the S test pattern positions, and calculate a syndrome corresponding to the associated test pattern position and output it as a syndrome pattern. The syndrome selection units 10-1 to 10-S can calculate syndromes by the same calculation process as the syndrome calculation units 6-1 to 6-T in the first embodiment, but in this embodiment, the position information of the test pattern position is used as an address, and a syndrome pattern corresponding to the test pattern position is output, for example, from a lookup table, thereby suppressing the circuit scale. For example, in the case of an extended BCH code with a code length of 256 bits and an information bit length of 239 bits, the input address is 8 bits, the number of words is 256, and the output syndrome pattern is 16 bits excluding the extended parity. In this case, it can be realized by simply arranging at most S circuits in parallel that output syndrome patterns corresponding to the test pattern positions.
[0028] Next, the syndrome adders 11-1 to 11-T add one or more syndrome patterns of the syndrome selectors 10-1 to 10-S to the syndrome of the hard-decision received sequence (step S24). Specifically, the syndrome adders 11-1 to 11-T respectively perform an exclusive OR operation on the syndrome pattern output from the preceding syndrome selectors 10-1 to 10-S and the syndrome of the hard-decision received sequence output from the syndrome calculator 6. The outputs of these syndrome adders 11-1 to 11-T are similar to the outputs of the syndrome calculators 6-1 to 6-T in the error correction device 100 according to the first embodiment.
[0029] A specific example of the calculation by the syndrome adders 11-1 to 11-T will be described. As an example, an extended BCH code with a code length of 256 bits and an information bit length of 239 bits will be described. In this case, if only one of the test pattern positions determined by the test pattern position candidate selector 3 is the target of the test pattern, the calculation of the syndrome adder 11 (any of the syndrome adders 11-1 to 11-T) corresponding to the test pattern is a bit-by-bit exclusive OR calculation of 16 bits of the output of the preceding syndrome selector 10 (any of the syndrome selectors 10-1 to 10-S) and 16 bits of the 17 bits of the output of the syndrome calculator 6 based on the output of the hard decision value extractor 2. The syndrome based on the extended parity bit can be obtained by inverting the extended parity bit output of the syndrome calculator 6 by 0,1. Even if the number of target positions in the test pattern, which has a maximum of S, is K, each of the 16 bits is similarly exclusive-ORed bit by bit, and the syndrome based on the extended parity bit is output by inverting 0,1 if K is odd, or output as is if K is even.
[0030] As described above, the error correction device 100a according to the present embodiment includes syndrome selection units 10-1 to 10-S in one-to-one correspondence with the S test pattern positions, and syndrome addition units 11-1 to 11-T add the syndrome patterns output by the syndrome selection units 10-1 to 10-S to the syndromes output by the syndrome calculation unit 6. The error correction device 100 according to the first embodiment described above is configured to perform syndrome calculation after adding each test pattern to a hard-decision received sequence, so that calculation processing is performed for each bit, resulting in a large circuit scale. However, according to the present embodiment, the circuit scale can be reduced compared to the first embodiment.
[0031] For example, even if each of the syndrome selection units 10-1 to 10-S has the same configuration as the syndrome calculation unit 6, the circuit scale is small because the number of test pattern positions S is overwhelmingly smaller than the number of test patterns T. Also, the number of exclusive OR additions in the syndrome addition units 11-1 to 11-T is smaller than the number of exclusive OR additions performed in the test pattern addition units 5-1 to 5-T of the error correction device 100 according to the first embodiment because the bit length of the syndrome pattern is overwhelmingly smaller than the bit length of the hard decision received sequence, resulting in a smaller circuit scale.
[0032] Next, the hardware configuration of the error correction devices 100 and 100a described in each embodiment will be described. The error correction devices 100 and 100a are realized by similar hardware. Here, as an example, an example of the hardware configuration of the error correction device 100a will be described.
[0033] The hard decision value extraction unit 2, test pattern position candidate selection unit 3, syndrome calculation unit 6, error correction calculation units 7, 7-1 to 7-T, syndrome selection units 10-1 to 10-S, syndrome addition units 11-1 to 11-T, correction candidate selection unit 8 and correction processing unit 9 of the error correction device 100a are realized by a processing circuit which is dedicated hardware, specifically, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a processing circuit which is a combination of these.
[0034] Also, some or all of the components of the error correction device 100a, that is, some or all of the hard decision value extractor 2, the test pattern position candidate selector 3, the syndrome calculator 6, the error correction calculators 7, 7-1 to 7-T, the syndrome selectors 10-1 to 10-S, the syndrome adders 11-1 to 11-T, the correction candidate selector 8, and the correction processor 9, may be realized by a processing circuit configured with a processor 91 and a memory 92 shown in Fig. 5. Fig. 5 is a diagram showing an example of a processing circuit that realizes some or all of the components of the error correction device 100a. The processor 91 is a CPU (Central Processing Unit, also called a central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, or DSP (Digital Signal Processor)). The memory 92 is, for example, a random access memory (RAM), a read only memory (ROM), a flash memory, an erasable programmable read only memory (EPROM), an electrically erasable programmable read only memory (EEPROM (registered trademark)), etc.
[0035] 5, a program for operating as part or all of the hard decision value extraction unit 2, test pattern position candidate selection unit 3, syndrome calculation unit 6, error correction calculation units 7, 7-1 to 7-T, syndrome selection units 10-1 to 10-S, syndrome addition units 11-1 to 11-T, correction candidate selection unit 8, and correction processing unit 9 of the error correction device 100a is stored in the memory 92. The processor 91 reads out and executes this program to realize part or all of the hard decision value extraction unit 2, test pattern position candidate selection unit 3, syndrome calculation unit 6, error correction calculation units 7, 7-1 to 7-T, syndrome selection units 10-1 to 10-S, syndrome addition units 11-1 to 11-T, correction candidate selection unit 8, and correction processing unit 9 of the error correction device 100a. When some of the components of the error correction device 100a are realized by the processor 91 and the memory 92, the remaining components are realized by the above-mentioned single circuit, composite circuit, etc. In other words, some of the components of the error correction device 100a may be realized by dedicated hardware, and the remaining components may be realized by the processor 91 and the memory 92 shown in FIG.
[0036] When some or all of the components of the error correction device 100a are realized by a processor 91 and a memory 92, the above-mentioned program stored in the memory 92 may be provided to a user, for example, in a form written on a storage medium such as a CD (Compact Disc)-ROM or a DVD (Digital Versatile Disc)-ROM, or may be provided via a network.
[0037] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or the embodiments may be combined with each other. Also, parts of the configurations may be omitted or modified without departing from the spirit of the invention. [Explanation of symbols]
[0038] 1 soft decision received sequence, 2 hard decision value extraction unit, 3 test pattern position candidate selection unit, 4-1 to 4-T test pattern selection determination unit, 5-1 to 5-T test pattern addition unit, 6, 6-1 to 6-T syndrome calculation unit, 7, 7-1 to 7-T error correction calculation unit, 8 correction candidate selection unit, 9 correction processing unit, 10-1 to 10-S syndrome selection unit, 11-1 to 11-T syndrome addition unit, 100, 100a error correction device, 110, 110a pseudo correction processing unit.
Claims
1. a hard decision value extracting unit that extracts hard decision values from a soft decision reception sequence having soft decision information and outputs the extracted hard decision value sequence as a hard decision reception sequence; a syndrome calculation unit that generates a syndrome based on the hard decision received sequence; a test pattern position candidate selection unit that determines test pattern position candidates, which are positions for applying a test pattern to the hard decision received sequence, based on the soft decision information; a pseudo-correction processing unit that generates a plurality of test patterns to be applied to the test pattern position candidates and executes an error correction process using the generated test patterns on the hard decision received sequence in parallel; Equipped with The pseudo-correction processing unit includes: a plurality of syndrome selectors for selecting syndrome patterns from among syndromes having one-to-one correspondence with the test pattern position candidates; a plurality of syndrome adders that add one or more of the syndrome patterns selected by each of the plurality of syndrome selectors to a syndrome of the hard decision received sequence; a plurality of error correction calculation units each associated with one of the plurality of syndrome addition units and performing an error correction calculation using the syndrome of the hard decision reception sequence after the syndrome pattern is added by the associated syndrome addition unit; An error correction device comprising:
2. An error correction method executed by an error correction device that performs soft decision error correction decoding, comprising: a hard decision value extraction step of extracting hard decision values from a soft decision reception sequence having soft decision information and outputting the extracted hard decision value sequence as a hard decision reception sequence; generating a syndrome based on the hard decision received sequence; a test pattern position candidate selection step of determining test pattern position candidates, which are positions for applying a test pattern to the hard decision received sequence, based on the soft decision information; a pseudo-correction step of generating a plurality of test patterns to be applied to the test pattern position candidates and performing error correction processing using the generated test patterns on the hard-decision received sequence in parallel; Including, The pseudo-correction step includes: a syndrome selection step of selecting syndrome patterns from syndromes having one-to-one correspondence with the test pattern position candidates in parallel; a syndrome adding step of performing in parallel a process of adding one or more of the syndrome patterns selected in the syndrome selecting step to a syndrome of the hard decision received sequence; an error correction calculation step of performing error correction calculations in parallel using the syndromes of the plurality of hard decision received sequences after the syndrome patterns are added in the syndrome adding step; 13. An error correction method comprising:
3. A control circuit for controlling an error correction device that performs soft decision error correction decoding, a first step of extracting hard decision values from a soft decision reception sequence having soft decision information and outputting the extracted hard decision value sequence as a hard decision reception sequence; a second step of generating a syndrome based on the hard decision received sequence; a third step of determining test pattern position candidates, which are positions for applying test patterns to the hard decision received sequence, based on the soft decision information; a fourth step of generating a plurality of test patterns to be applied to the test pattern position candidates and executing error correction processing using the generated test patterns on the hard decision received sequence in parallel; causing the error correction device to execute The fourth step is a syndrome selection step of selecting syndrome patterns from syndromes having one-to-one correspondence with the test pattern position candidates in parallel; a syndrome adding step of performing in parallel a process of adding one or more of the syndrome patterns selected in the syndrome selecting step to a syndrome of the hard decision received sequence; an error correction calculation step of performing error correction calculations in parallel using the syndromes of the plurality of hard decision received sequences after the syndrome patterns are added in the syndrome adding step; A control circuit comprising:
4. A storage medium for storing a program for controlling an error correction device that performs soft decision error correction decoding, The program is a first step of extracting hard decision values from a soft decision reception sequence having soft decision information and outputting the extracted hard decision value sequence as a hard decision reception sequence; a second step of generating a syndrome based on the hard decision received sequence; a third step of determining test pattern position candidates, which are positions for applying test patterns to the hard decision received sequence, based on the soft decision information; a fourth step of generating a plurality of test patterns to be applied to the test pattern position candidates and executing error correction processing using the generated test patterns on the hard decision received sequence in parallel; causing the error correction device to execute The fourth step is a syndrome selection step of selecting syndrome patterns from syndromes having one-to-one correspondence with the test pattern position candidates in parallel; a syndrome adding step of performing in parallel a process of adding one or more of the syndrome patterns selected in the syndrome selecting step to a syndrome of the hard decision received sequence; an error correction calculation step of performing error correction calculations in parallel using the syndromes of the plurality of hard decision received sequences after the syndrome patterns are added in the syndrome adding step; A storage medium comprising: