Polar code decoding device and method
By using polarization encoding to generate subcode words and performing shared bit secondary decoding during polarization decoding, the problems of high complexity and delay of polarization decoding are solved, and more efficient decoding performance is achieved.
Patent Information
- Application Number
- CN201811059583.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-11-06
- Filing Date
- 2018-09-11
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2038-09-11
AI Technical Summary
The decoding complexity and decoding delay are high during polarization decoding, making it difficult to effectively apply in storage devices.
By allowing the encoder to polarize the data to generate a subcodeword and allowing the decoder to decode the subcodeword. If one subcodeword is successfully decoded while the other fails, the shared bits are used to perform secondary decoding to improve the probability of decoding success.
While maintaining error correction capabilities, it significantly improves decoding complexity and decoding delay, reducing the error rate in feature data, thereby improving performance.
Smart Images

Figure CN109753377B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to Korean Patent Application No. 10-2017-0146674, filed on November 6, 2017, and all benefits arising therefrom, and incorporates the entire disclosure of this application by reference. Technical Field
[0003] The present disclosure relates to a polar code decoding device and method. Background Art
[0004] In the memory system, encoding and decoding are performed using low-density parity-check (LDPC) codes or turbo codes. Recently, polar codes have attracted attention, and in order to improve the complexity, efficient encoding algorithms have been vigorously studied to achieve the excellent performance of polar codes.
[0005] Polar codes are of great interest not only because they can achieve channel capacities as high as discrete memoryless channels by using a successive erasure decoding scheme, but also because their design and efficient encoding and decoding algorithms have been proposed.
[0006] The discrete random channels are transformed into a set of channels with different reliabilities through channel polarization. If data is transmitted only through channels with high reliability, the reliability of the entire system can be improved.
[0007] Channel polarization represents the process of generating a set of N channels with different reliabilities by using a given discrete memory channel WN times independently, i.e.,
[0008] Once N polarization channels with different reliabilities are generated, the polarization codewords are configured to transmit frozen bits having fixed values via channels with low reliability and transmit data bits or unfrozen bits via channels with high reliability.
[0009] Examples of polar code decoding include continuous erasure decoding and list continuous erasure decoding. List continuous erasure decoding is also called list decoding and is known to have the strongest error correction capability among existing error correction code (ECC) decoding technologies.
[0010] However, since polar code decoding is very complex and has a very high decoding delay, the applicability of polar code decoding may be relatively low. Specifically, since decoding complexity and decoding delay are more important for storage devices than for wireless communication systems, it may be difficult to use polar codes as they are. Summary of the invention
[0011] An exemplary embodiment of the present disclosure provides a polar code decoding method, which is capable of improving decoding complexity and decoding delay while maintaining its error correction capability.
[0012] An exemplary embodiment of the present disclosure also provides a polar code decoding apparatus, which is capable of improving decoding complexity and decoding delay while maintaining its error correction capability.
[0013] Exemplary embodiments of the present disclosure also provide a memory control system capable of reducing errors in feature data and improving performance using the feature data.
[0014] However, the exemplary embodiments of the present disclosure are not limited to those described herein. The above and other exemplary embodiments of the present disclosure will become more apparent to those skilled in the art to which the present disclosure belongs by referring to the detailed description of the present disclosure given below.
[0015] According to an exemplary embodiment of the present disclosure, a polar code decoding method is provided, including: generating a first sub-codeword by allowing an encoder to perform polar coding on first data, the first data including a first unfrozen bit and a first frozen bit, the first unfrozen bit including a first data bit and a second data bit; generating a second sub-codeword by allowing the encoder to perform polar coding on a second pre-codeword, the second pre-codeword including a second unfrozen bit and a first frozen bit, the second unfrozen bit including a third data bit and a second data bit; allowing a decoder to decode the first sub-codeword and the second sub-codeword, and if only one of the first sub-codeword and the second sub-codeword is decoded successfully, allowing the decoder to decode again the other sub-codeword that failed to be decoded using the second data bit.
[0016] According to the above and other exemplary embodiments of the present disclosure, a polar code decoding method is provided, including: generating a first sub-codeword by allowing an encoder to perform polar coding on first data, the first data including a first unfrozen bit and a first frozen bit, the first unfrozen bit including a first data bit and a second data bit; generating a second sub-codeword by allowing the encoder to perform polar coding on a second pre-codeword, the second pre-codeword including a second unfrozen bit and a first frozen bit, the second unfrozen bit including a third data bit and a fourth data bit related to the second data bit; allowing a decoder to decode the first sub-codeword and the second sub-codeword, and if only one of the first sub-codeword and the second sub-codeword is decoded successfully, allowing the decoder to decode again the other sub-codeword that failed to be decoded using the second data bit or the fourth data bit.
[0017] According to the above and other exemplary embodiments of the present disclosure, a polar code decoding method is provided, including: generating a plurality of sub-codewords by allowing an encoder to perform polar coding on a plurality of pre-codewords, each pre-codeword including frozen bits and unfrozen bits, the pre-codewords including non-shared bits that are not shared between pre-codewords and shared bits that are shared or related between pre-codewords; allowing a decoder to perform primary decoding on the sub-codewords, acquiring shared bits of at least one decoded sub-codeword obtained through the primary decoding, and allowing the decoder to perform secondary decoding on at least one sub-codeword that cannot be decoded through the primary decoding using the acquired shared bits.
[0018] According to another exemplary embodiment, a polar code encoding and decoding method is provided, including: generating a first sub-codeword by polar encoding a first pre-codeword, the first pre-codeword including a first unfrozen bit and a first frozen bit, wherein the first unfrozen bit includes a first data bit and a second data bit; generating a second sub-codeword by polar encoding a second pre-codeword, the second pre-codeword including a second unfrozen bit and a second frozen bit, wherein the second unfrozen bit includes a third data bit and a second data bit; decoding the first sub-codeword; decoding the second sub-codeword; and if the decoding of the first sub-codeword is successful and the decoding of the second sub-codeword is unsuccessful, decoding the second sub-codeword for a second time using a second data bit recovered by decoding the first sub-codeword. In some embodiments, the method further includes: generating a third sub-codeword by polar encoding the third data, the third data including a third unfrozen bit and a third frozen bit, wherein the third unfrozen bit includes a fourth data bit and a second data bit; decoding the third sub-codeword; and when the decoding of the first sub-codeword is successful and the decoding of the second sub-codeword is unsuccessful, if the decoding of the third sub-codeword is unsuccessful, decoding the third sub-codeword for a second time using the second data bit. In some embodiments, the second data bit is a parity bit. In some embodiments, the second data bit is an information bit. In some embodiments, the first unfrozen bit includes a data region and a parity region, and wherein the parity region includes parity information of the data region.
[0019] A polar code decoding device is also provided, comprising at least one processor configured to implement: a decoder configured to perform operations including the following: receiving a first subcodeword and a second subcodeword, wherein the first subcodeword and the second subcodeword are polarization encoded, respectively decoding the first subcodeword and the second subcodeword into a first precodeword and a second precodeword, wherein the first precodeword comprises a first unfrozen bit and a first frozen bit, wherein the first unfrozen bit comprises a first data bit and a second data bit, and the second precodeword comprises a second unfrozen bit and a second frozen bit, wherein the first frozen bit comprises a third data bit and a fourth data bit, wherein the fourth data bit is related to the second data bit. The method comprises: receiving the second data bit from a frozen bit restorer, and decoding the first subcodeword for the second time using the second data bit. The at least one processor further implements the frozen bit restorer, the frozen bit restorer configured to perform operations including the following: receiving the fourth bit from the decoder, obtaining the second data bit, and if the first subcodeword is not successfully decoded but the second subcodeword is successfully decoded, sending the obtained second data bit to the decoder.
[0020] Other features and exemplary embodiments will become apparent from the following detailed description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The above and other exemplary embodiments and features of the present disclosure will become more apparent by describing in detail exemplary embodiments of the present disclosure with reference to the accompanying drawings, in which:
[0022] Figure 1 is a block diagram of a polar code decoding apparatus according to some exemplary embodiments of the present disclosure;
[0023] Figure 2 is a block diagram of a polar code decoding apparatus according to some exemplary embodiments of the present disclosure;
[0024] Figure 3 The operation of an encoder of a polar coding device according to some exemplary embodiments of the present disclosure is shown;
[0025] Figure 4 The operation of an encoder of a polar coding device according to some exemplary embodiments of the present disclosure is shown;
[0026] Figures 5 to 7 The operation of an encoder of a polar coding device according to some exemplary embodiments of the present disclosure is shown;
[0027] Figure 8 The operations of the encoder and the decoder of the polar coding device according to some exemplary embodiments of the present disclosure are shown;
[0028] Fig. 9 is a block diagram of an example of a decoder of a polar code decoding apparatus according to some exemplary embodiments of the present disclosure;
[0029] Fig.10 is a block diagram of another example of a decoder of a polar code decoding apparatus according to some exemplary embodiments of the present disclosure;
[0030] Fig.11 The invention shows an encoding and decoding method of a polar code decoding device according to some exemplary embodiments of the present disclosure;
[0031] Fig.12 The invention shows an encoding and decoding method of a polar code decoding device according to some exemplary embodiments of the present disclosure;
[0032] Fig.13 The invention shows an encoding and decoding method of a polar code decoding device according to some exemplary embodiments of the present disclosure;
[0033] Fig.14 The data structure of a pre-codeword used in a polar code decoding device according to some exemplary embodiments of the present disclosure is shown;
[0034] Fig.15 is a block diagram of an electronic device using a polar code decoding apparatus according to some exemplary embodiments of the present disclosure;
[0035] Fig.16 is a flowchart illustrating a polar code decoding method according to some exemplary embodiments of the present disclosure;
[0036] Fig.17 is a flowchart illustrating another polar code decoding method according to some exemplary embodiments of the present disclosure; and
[0037] Fig.18 is used to explain the Fig.17 FIG. 1 is a diagram of hard decision (HD) decoding and soft decision (SD) decoding performed in a polar code decoding method of an exemplary embodiment of the present invention. DETAILED DESCRIPTION
[0038] A polar code decoding apparatus according to some exemplary embodiments of the present disclosure will be described below.
[0039] Figure 1 is a block diagram of a polar code decoding apparatus according to some exemplary embodiments of the present disclosure, and Figure 2 is a block diagram of a polar code decoding apparatus according to some exemplary embodiments of the present disclosure.
[0040] refer to Figure 1 and Figure 2, the polar code decoding apparatus 1000 includes a memory controller 100 and a storage device 200 .
[0041] The storage device 200 may be implemented as a nonvolatile storage device. For example, the storage device 200 may be implemented as a flash memory device, a phase change random access memory (PRAM) device, a ferroelectric random access memory (FRAM) device, or a magnetic random access memory (MRAM) device. The storage device 200 may include at least one nonvolatile storage device and at least one volatile storage device, or may include a plurality of nonvolatile storage devices of at least two different types.
[0042] The storage device 200 may be composed of a single flash memory chip. Alternatively, the storage device 200 may be composed of a plurality of flash memory chips.
[0043] The memory controller 100 includes a processor 110 , an encoder 120 , a decoder 130 , a random access memory (RAM) 140 , a host interface 150 , a memory interface 160 , and a bus 170 .
[0044] The processor 110 is electrically connected to the encoder 120 , the decoder 130 , the RAM 140 , the host interface 150 , and the memory interface 160 via the bus 170 .
[0045] The bus 170 refers to a path through which information is transferred between elements of the memory controller 100 .
[0046] The processor 110 controls the general operation of the polar code decoding apparatus 1000. Specifically, the processor 110 interprets a command received from the host and controls the polar code decoding apparatus 1000 to perform an operation according to the interpreted result.
[0047] Processor 110 provides a read command and address to storage device 200 during a read operation and provides a write command, address, and encoded codeword to storage device 200 during a write operation. Processor 110 converts a logical address received from a host into a physical page address (PPA) using metadata stored in RAM 140.
[0048] In the RAM 140, data received from the host and data generated by the processor 110 may be temporarily stored, or data read by the storage device 200 may be temporarily stored. In the RAM 140, metadata read from the storage device 200 may also be stored. In the RAM 140, information required for performing encoding or decoding may also be stored. The RAM 140 may be implemented as a dynamic RAM (DRAM) or a static RAM (SRAM).
[0049] As used herein, the term "metadata" refers to data generated by the polar code decoding apparatus 100 for managing the storage device 200. The metadata as management information includes mapping table information for converting a logical address into a PPA of the storage device 200. For example, the metadata may include page mapping table information for performing address mapping in units of pages. In addition, the metadata may include information for managing the storage space of the storage device 200.
[0050] The host interface 150 includes a protocol for exchanging data with a host, the host is connected to the storage device 200, and the host interface 150 can connect the storage device 200 to the host. The host interface 150 can be implemented as an Advanced Technology Attachment (ATA) interface, a Serial ATA (SATA) interface, a Parallel ATA (PATA) interface, a Universal Serial Bus (USB) or a Serial Attached Small Computer System (SAS) interface, a Small Computer System Interface (SCSI), an Embedded Multimedia Card (eMMC) interface, or a Unix File System (UFS) interface, but the present disclosure is not limited thereto. Specifically, the host interface 150 can exchange commands, addresses, and data with the host under the control of the processor 110.
[0051] The memory interface 160 is electrically connected to the storage device 200. The memory interface 160 may be configured to support an interface with a NAND flash memory chip or a NOR flash memory chip. The memory interface 160 may allow software and hardware interleaved operations to be selectively performed via a plurality of channels.
[0052] When the polar code decoding device 100 is powered on, the processor 110 controls the polar code decoding device 100 to read metadata and information used to perform encoding or decoding from the storage device 200, and stores the read metadata and information in the RAM 140. The processor 110 controls the polar code decoding device 100 to update the metadata stored in the RAM 140 according to the metadata update operation of the storage device 200. The processor 110 controls the polar code decoding device 100 to write the metadata stored in the RAM 140 to the storage device 200 before the polar code decoding device 100 is powered off.
[0053] During a write operation, the processor 110 controls the memory controller 100 to encode the information word received from the host using the encoding method provided in the present disclosure. During a read operation, the processor 110 controls the memory controller 100 to decode the data read from the storage device 200 using the decoding method provided in the present disclosure.
[0054] The encoder 120 encodes the information word received from the host using a polar code. The polar code may be a binary polar code or a non-binary polar code. Specifically, an input symbol vector is generated by combining the information word received from the host with the frozen bits, and a codeword symbol is generated using the input symbol vector and a matrix. This will be described in detail below.
[0055] The decoder 130 decodes the data read from the storage device 200 using the polar decoding method provided in the present disclosure. This will be described in detail below.
[0056] The storage device 200 of the polar code decoding apparatus 1000 may include a plurality of flash memory chips 201 and 203 , but the present disclosure is not limited thereto.
[0057] The polar code decoding apparatus 1000 may have N channels (where N is a natural number), and may include a plurality of flash memory chips for each of the N channels. The number of flash memory chips provided for each of the N channels may vary.
[0058] Figure 3 The operation of an encoder of a polar coding device according to some exemplary embodiments of the present disclosure is illustrated.
[0059] Will be referenced below Figure 1 and Figure 3 Polar code encoding performed by encoder 120 is described.
[0060] refer to Figure 1 and Figure 3 , data d can be the unfrozen bit u 1 to u k First, freeze the bit f 1 to f m Add to unfrozen bitsu 1 to u k . Unfrozen Bitu 1 to u k is k bits, and the frozen bit f 1 to f m is m bits. Therefore, the precodeword u may have a size of k+m bits before being encoded.
[0061] An input code having a size of k+m bits may be encoded into a polar codeword c having a size of k+m bits. The encoding of the input code may be defined as the following vector operation: c=uG. The polar codeword c may include a polar code c of (k+m) bits. 1 to c k+m .
[0062] Freeze Bitf 1 to f mIt can be a bit known to the decoder 130. The frozen bit f 1 to f m Each of can be represented as "0", but the present disclosure is not limited thereto. That is, alternatively, the frozen bit f 1 to f m can have values other than 0, as long as the decoder 130 already knows their values. The decoder 130 already has information about the frozen bits f 1 to f m The polar code can be decoded using this information.
[0063] Figure 4 The operation of an encoder of a polar coding device according to some exemplary embodiments of the present disclosure is illustrated.
[0064] refer to Figure 1 and Figure 4 ,and Figure 3 The difference shown in 1 to u k and freeze bit f 1 to f m can be interleaved. That is, the unfrozen bits u 1 to u k and freeze bit f 1 to f m can be interleaved rather than arranged side by side according to their type. Specifically, the frozen bits f 1 Can be arranged in unfrozen bits u 2 and u 3 between.
[0065] The decoder 130 may already have information about the frozen bits f 1 to f m Due to the characteristics of polar codes, the unfrozen bits u 1 to u k and freeze bit f 1 to f m The quality (or reliability) may be different depending on the location (ie, depending on the channel). 1 to f m Assigned to channels with poor information capacity performance or quality, and unfrozen bits u 1 to u k Assign to channels with good information capacity performance or quality. In this way, the probability of successful decoding can be increased.
[0066] Figures 5 to 7 The operation of an encoder of a polar coding device according to some exemplary embodiments of the present disclosure is illustrated.
[0067] refer to Figure 5 , which can be represented by a 2×2 matrix [G] 2 Define polar code encoding. In general, the theoretical encoding operation can be written in matrix form as c=uG, where u is the row vector of the pre-codeword bits and c is the codeword bit (in Figure 5-Figure 7 The row vector of the polar code bit c is the number of bits in the polar code bit c. 1 It can be defined as bit u 1 and u 2 The sum of bits u 2 Can be used as polar code bit c 2 Output, and codeword c = [c 1 c 2 ].
[0068] refer to Figure 6 , which can be represented by a 4×4 matrix [G] 4 Define polarization code, polarization code c 1 It can be defined as bit u 1 、u 2 、u 3 and u 4 The sum of and bit u 4 Can be used as polar code c 4 Output; the output codeword is [c 1 c 2 c 3 c 4 ].
[0069] refer to Figure 7 , which can be represented by an 8×8 matrix [G] 8 Define polarization code encoding, polarization code c 1 It can be defined as bit u 1 to u 8 The sum of and bit u 8 Can be used as polar code c 8 Output; the output codeword is [c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 ].
[0070] Assume that the polar code c 1 to c 8 Decoded as u 1 to u 8The path passed is defined as a channel, and the quality of the channel can refer to the probability of decoding. That is, a channel with good quality can refer to a high probability of successful decoding, and a channel with poor quality can refer to a low probability of successful decoding.
[0071] refer to Figure 7 , the highest quality channel can be the one that transmits u 8 The channel with the lowest quality can be the one that transmits bit u 1 channel.
[0072] Polar codes can have different qualities for different channels. Theoretically, the longer the polar code, the more likely the channel quality is to be polarized. That is, for longer polar codes, the ratio of channels with relatively high or low quality is higher.
[0073] Figure 8 The operations of an encoder and a decoder of a polar coding device according to some exemplary embodiments of the present disclosure are illustrated.
[0074] refer to Figure 8 , the encoder 120 may perform two pre-codewords (ie, the first pre-codeword u a and the second pre-codeword u b ) is polarization-encoded, and then the polarization-encoded precodewords can be concatenated.
[0075] Specifically, the first pre-codeword u a It may include a first unfrozen bit UF1 and a first frozen bit F 1 The first unfrozen bit UF1 may include the first data bit D 1 and the second data bit D 2 Typically, the first data bit D 1 and the second data bit D 2 Can be information bits (independent of any previous encoding operations).
[0076] The first data bit D 1 is k bits and can be referred to as bit u 1 to u k . Bitu 1 to u k can be close to each other (such as Figure 3 ), or can be separated from each other (as shown Figure 4 shown).
[0077] The second data bit D 2 is (nk) bits and can refer to bit u k+1 to u n . Bitu k+1 to u n can be close to each other (such as Figure 3), or can be separated from each other (as shown Figure 4 shown).
[0078] The first frozen bit F 1 is m bits, and can be referred to as bit f 1 to f m . Bit f 1 to f m can be close to each other (such as Figure 3 ), or can be separated from each other (as shown Figure 4 shown).
[0079] That is to say, Figure 8 The first data bit D 1 , the second data bit D 2 and the first frozen bit F 1 is shown as simply concatenated without interleaving, but in some exemplary embodiments of the present disclosure, the first data bit D 1 , the second data bit D 2 and the first frozen bit F 1 Can be interwoven.
[0080] Similarly, the second precodeword u b It may include a second unfrozen bit UF2 and a second frozen bit F 2 The second unfrozen bit UF2 may include the third data bit D 3 and the second data bit D 2 .
[0081] The third data bit D 3 is k bits, and can be referred to as bit v 1 to v k .Bitv 1 to v k can be close to each other (such as Figure 3 ), or can be separated from each other (as shown Figure 4 shown).
[0082] The second data bit D 2 can be combined with the first pre-code word u a The second data bit D 2 The data bit 801 and the data bit 802 are the same data bits. Figure 8 Indicated as "D 2 ”. The repeated data bits 801 and 802 are referred to herein as shared data bits. In some embodiments, the shared bits are not repeated bits, but exhibit some correlation aspects.
[0083] The second frozen bit F 2 is m bits, and can refer to bit g1 tog m . Bit g 1 tog m can be close to each other (such as Figure 3 ), or can be separated from each other (as shown Figure 4 shown).
[0084] That is, in some exemplary embodiments, the third data bit D 3 , the second data bit D 2 and the second frozen bit F 2 Can be interwoven.
[0085] The first pre-code word u can be converted into a Encoded as the first subpolarization codeword C a , and the second pre-code word u can be converted into b Encoded as the second sub-polarization codeword C b .
[0086] The first subpolar codeword C a and the second sub-polarization codeword C b can be concatenated with each other and can thus form a polar codeword c.
[0087] As mentioned above, the first frozen bit F 1 and the second frozen bit F 2 yes Figure 1 is a value known to the decoder 130 and is typically 0, but the present disclosure is not limited thereto.
[0088] Figure 8 Set the first frozen bit F 1 and the second frozen bit F 2 are shown as m bits, but the present disclosure is not limited thereto. That is, in some exemplary embodiments, the first frozen bit F 1 and the second frozen bit F 2 Available in different bit sizes.
[0089] Fig. 9 is a block diagram of an example of a decoder of a polar code decoding apparatus according to some exemplary embodiments of the present disclosure.
[0090] refer to Figure 8 and Fig. 9 , the decoder 130 may include a polar code decoder 131 and a frozen bit restorer 132 .
[0091] The decoder 130 may receive the polarization codeword c and may output a pre-codeword u.
[0092] Specifically, the polar code decoder 131 may receive a polar codeword c. The polar codeword c received by the polar code decoder 131 may include a first sub-polar codeword C a and the second sub-polarization codeword C b The polar code decoder 131 attempts to decode the first sub-polar codeword C a Decode to obtain the first pre-codeword u a , and try to use the second sub-polarization codeword C b Decode to obtain the second pre-code word u b The first sub-polarization codewords C can be executed one by one a The decoding of the second sub-polar codeword C b The decoding of the first sub-polarization codeword C can be performed independently of each other. a The decoding of the second sub-polar codeword C b Decoding.
[0093] The probability of successful decoding may vary depending on the quality of the channel, and the success or failure of decoding may also vary with the sub-polarization codeword.
[0094] If the decoding of all sub-polar codewords of the polar codeword is successful, the decoding of the polar codeword can be completed. In addition, if the decoding of all sub-polar codewords of the polar codeword fails, the decoding of the polar codeword can be completed.
[0095] On the other hand, if decoding of only some sub-polar codewords of a polar codeword is successful, decoding of the polar codeword may not be easily completed.
[0096] The first pre-code word u a and the second pre-codeword u b The second data bit D may be included in 2 That is, the second data bit D 2 Can be used as the first pre-codeword u a and the second pre-codeword u b Shared bits between. Figure 8 , the first data bit D 1 is a non-shared bit, and the third data bit D 3 It is a non-shared bit.
[0097] If the first subpolar codeword u a The decoding fails and only the second sub-polarization codeword u b The decoding is successful, and the second pre-code word u can be sent to the frozen bit restorer 132 b The third data bit D 3 and the second data bit D 2 as an intermediate result.
[0098] As a result, as the first pre-codeword ua and the second pre-codeword u b The second data bit D of the shared bit between 2 Can be made public.
[0099] The frozen bit restorer 132 may send the disclosed second data bit D to the polar code decoder 131. 2 As additional frozen bits.
[0100] The polar code decoder 131 can use the first frozen bit F 1 and the second data bit D 2 To the first polarization codeword C a That is, since the frozen bits are bits known to the polar code decoder 131, the polar code decoder 131 can use them not only in decoding the first sub-polar codeword C a and the second sub-polarization codeword C b The first frozen bit F known before decoding 1 As a frozen bit, it can also be used in the second sub-polarization codeword C b The second data bit D is disclosed during the decoding process 2 The first data bit D which has not been made public is used as a frozen bit. 1 to decode.
[0101] At this time, the ratio of frozen bits is higher than that of the first sub-polarization codeword C a and the second sub-polarization codeword C b The ratio of frozen bits at the initial stage of decoding is higher than that of the first sub-polar codeword C. a and the second sub-polarization codeword C b Therefore, the polar code decoder 131 may attempt to decode the first sub-polar codeword C with an increased decoding success probability. a to decode.
[0102] On the other hand, if the second sub-polarization codeword u b The decoding fails and only the first subpolar codeword u a If the decoding is successful, the first pre-code word u can be sent to the frozen bit restorer 132 a The first data bit D 1 and the second data bit D 2 as an intermediate result.
[0103] Therefore, as the first pre-codeword u a and the second pre-codeword u b The second data bit D of the shared bit between 2 Can be made public.
[0104] The frozen bit restorer 132 may send the disclosed second data bit D to the polar code decoder 131. 2 As additional frozen bits.
[0105] The polar code decoder 131 can use the second frozen bit F 2 and the second data bit D 2 To the second polarization codeword C b That is, since the frozen bits are bits known to the polar code decoder 131, the polar code decoder 131 can use them not only in decoding the first sub-polar codeword C a and the second sub-polarization codeword C b The second frozen bit F known before decoding 2 As frozen bits, they can also be used in the first sub-polarization codeword C a The second data bit D is disclosed during the decoding process 2 The third data bit D which has not been disclosed is used as a frozen bit. 3 to decode.
[0106] Therefore, the polar code decoder 131 may attempt to decode the second sub-polar codeword C with an increased probability of successful decoding. b to decode.
[0107] according to Fig. 9 The polar code decoding device of the exemplary embodiment can significantly reduce the decoding complexity and decoding delay. Fig. 9 The polar code decoding device of the exemplary embodiment of the present invention can still provide the same high error correction capability as the conventional polar code decoding. In addition, since partial decoding can be achieved, even when the overall decoding cannot be performed, according to Fig. 9 The polar code decoding apparatus of the exemplary embodiment may also perform partial error correction through partial decoding.
[0108] Will be referenced below Fig.10 The polar code encoding and decoding methods according to some exemplary embodiments of the present disclosure are described, and the above referenced parts will be omitted or at least simplified. Figures 1 to 9 Description of described components and reference numerals.
[0109] Fig.10 is a block diagram of another example of a decoder of a polar code decoding apparatus according to some exemplary embodiments of the present disclosure.
[0110] refer to Fig.10 The decoder 130 includes a first polar code decoder 131 a, a second polar code decoder 131 b and a frozen bit restorer 132 .
[0111] That is, the decoder 130 may include a plurality of polar code decoders ( 130 a and 130 b ).
[0112] The first polar code decoder 131a may receive the first sub-polar codeword C a , and the first pre-code word u can be output a The second polar code decoder 131b can receive the second sub-polar codeword C b , and the second pre-code word u can be output b .
[0113] The frozen bit restorer 132 may receive intermediate results from the first polar code decoder 131 a and the second polar code decoder 131 b and may provide additional frozen bits.
[0114] Since multiple polar code decoders are provided in decoder 130, the amount of time spent decoding the sub-polar codewords independent of each other can be further reduced. That is, the decoding of the first sub-polar codeword C a The decoding of the second sub-polar codeword C b of the decoding, and as a result, according to Fig.10 The polar code decoding apparatus of the exemplary embodiment can significantly reduce the decoding delay.
[0115] The first polar code decoder 131a and the second polar code decoder 131b may have the same structure. a The second polar code decoder 131b is inputted and the second sub-polar code word C b After inputting the first polar code decoder 131a, the first pre-code word u can still be output from the polar code decoder 131. a and the second pre-codeword u b .
[0116] That is, since there is no restriction on which polar code decoder 131 is used to decode which polar codeword, there is no need to allocate resources.
[0117] Will be referenced below Figure 1 and Fig.11 The encoding and decoding methods of the polar code decoding device according to some exemplary embodiments of the present disclosure are described, and the above referenced parts will be omitted or at least simplified. Figures 1 to 10 Description of described components and reference numerals.
[0118] Fig.11 The invention shows an encoding and decoding method of a polar code decoding device according to some exemplary embodiments of the present disclosure.
[0119] refer to Figure 1 and Fig.11, the encoder 120 can perform three pre-codewords (ie, the first pre-codeword u a , the second pre-code word u b and the third pre-codeword u c ) for encoding and concatenation.
[0120] Specifically, the third pre-codeword u c It may include a third unfrozen bit UF3 and a third frozen bit F 3 The third unfrozen bit UF3 may include the fourth data bit D 4 and the second data bit D 2 .
[0121] The fourth data bit D 4 is k bits, and can be referred to as bit w 1 tow k . Bit w 1 tow k can be close to each other (such as Figure 3 ), or can be separated from each other (as shown Figure 4 shown).
[0122] The second data bit D 2 The second data bit D may be included in the first unfrozen bit UF1 or the second unfrozen bit UF2. 2 same.
[0123] The third frozen bit F 3 is m bits, and can refer to bit h 1 to h m . Bit h 1 to h m can be close to each other (such as Figure 3 ), or can be separated from each other (as shown Figure 4 shown).
[0124] That is, the fourth data bit D 4 , the second data bit D 2 and the third frozen bit F 3 Can be interwoven.
[0125] The first pre-code word u can be converted into a Encoded as the first subpolarization codeword C a , and the second pre-codeword u is converted into b Encoded as the second sub-polarization codeword C b Similarly, the third pre-codeword u can be converted into c Encoded as the third sub-polarization codeword C c .
[0126] The first subpolar codeword Ca , the second sub-polarization codeword C b and the third subpolarization codeword C c can be concatenated with each other and can thus form a polar codeword c.
[0127] The decoder 130 may first decode the first sub-polarization codeword C a , the second sub-polarization codeword C b and the third subpolarization codeword C c to decode.
[0128] If decoding of all sub-polar codewords of a polar codeword is successful, decoding of the polar codeword can be completed. In addition, if decoding of all sub-polar codewords of a polar codeword fails, decoding of the polar codeword can be completed. On the other hand, if decoding of only some sub-polar codewords of a polar codeword is successful, decoding of the polar codeword may not be easily completed.
[0129] The first pre-code word u a , the second pre-code word u b and the third pre-codeword u c The second data bit D may be included in 2 That is, the second data bit D 2 Can be used as the first pre-codeword u a , the second pre-code word u b and the third pre-codeword u c For example, data bit 1101, data bit 1102, and data bit 1103 are the same data bits. Fig.11 Indicated as "D 2 ”. The repeated data bits 1101, 1102 and 1103 are referred to herein as shared data bits.
[0130] If the first subpolar codeword C a , the second sub-polarization codeword C b and the third subpolarization codeword C c If at least one of the decoding is successful, it is used as the first pre-codeword u a , the second pre-code word u b and the third pre-codeword u c The second data bit D of the shared bit between 2 can be used as additional frozen bits for the failed sub-polar codewords to be decoded. As a result, the failed sub-polar codewords can be decoded again with an increased probability of successful decoding.
[0131] In short, according to Fig.11The polar code decoding device of the exemplary embodiment of obtains the polar code word by cascading three pre-code words. Therefore, even if only one of the three pre-code words is decoded successfully, the other pre-code words can be additionally decoded with an increased probability of successful decoding, and as a result, the probability of decoding can be significantly improved. In addition, according to Fig.11 The polar code decoding device of the exemplary embodiment can significantly reduce decoding delay and decoding complexity.
[0132] The encoding and decoding of three pre-code words have been described above, but the present disclosure is not limited thereto. Fig.11 The polar code decoding apparatus of the exemplary embodiment may perform encoding or decoding using four or more pre-code words.
[0133] Will be referenced below Figure 1 and Fig.12 The encoding and decoding methods of the polar code decoding device according to some exemplary embodiments of the present disclosure are described, and the above referenced parts will be omitted or at least simplified. Figures 1 to 11 Description of described components and reference numerals.
[0134] Fig.12 The invention shows an encoding and decoding method of a polar code decoding device according to some exemplary embodiments of the present disclosure.
[0135] refer to Figure 1 and Fig.12 , the second pre-code word u b may include a second data bit D different from 2 The fifth data bit D 5 , and the third pre-codeword u c The first parity bit P may be included 1 , the first parity bit P 1 Including the second data bit D 2 The parity information and the fifth data bit D 5 Parity information. 1 With D 2 and D 5 Therefore, the unfrozen bits UF1, UF2, and UF3 are correlated. For example, UF1, UF2, and UF3 are not independent in a statistical sense. In general, P 1 Can include D 2 Calculate the first parity bit and pair D 5 Calculate the second parity bit. Because P 1 Depends on D 2 , so in this paper P 1 Known as D 2 Related to or with D 2 Have a relationship.
[0136] The encoder 120 can generate the first pre-codeword u by a , the second pre-code word u b and the third pre-codeword u c Polar coding is performed to generate the first sub-polar codeword C a , the second sub-polarization codeword C b and the third subpolarization codeword C c The encoder 120 can convert the first polarization codeword C a , the second sub-polarization codeword C b and the third subpolarization codeword C c cascaded to generate polar codeword c.
[0137] If the first subpolar codeword C a , the second sub-polarization codeword C b and the third subpolarization codeword C c If decoding of two of the sub-polarization codewords is successful, decoder 130 may try to decode the other sub-polarization codeword again.
[0138] Specifically, if the first sub-polarization codeword C a and the second sub-polarization codeword C b The decoding is successful and the third sub-polarization codeword C c If the decoding fails, the second data bit D 2 and the fifth data bit D 5 To recover the first parity bit P 1 , the second data bit D 2 and the fifth data bit D 5 The first polarization codeword C a and the second sub-polarization codeword C b The decoding process is public.
[0139] In this case, the decoder 130 can use not only the third frozen bit F 3 As the frozen bit, the recovered first parity bit P 1 As frozen bits, the third pre-code word u c to decode.
[0140] Similarly, if the first subpolarization codeword C a and the third subpolarization codeword C c The decoding is successful and the second sub-polarization codeword C b If the decoding fails, the second data bit D 2 and the first parity bit P 1 To recover the fifth data bit D 5 , the second data bit D 2and the first parity bit P 1 The first polarization codeword C a and the third subpolarization codeword C c The decoding process is public.
[0141] In this case, the decoder 130 can use not only the second frozen bit F 2 As a frozen bit, the restored fifth data bit D can also be used 5 As frozen bits, the second pre-codeword u b to decode.
[0142] Similarly, if the second sub-polarization codeword C b and the third subpolarization codeword C c The decoding is successful and the first sub-polarization codeword C a If the decoding fails, the fifth data bit D 5 and the first parity bit P 1 To recover the second data bit D 2 , the fifth data bit D 5 and the first parity bit P 1 The second polarization codeword C b and the third subpolarization codeword C c The decoding process is public.
[0143] In this case, the decoder 130 can use not only the second frozen bit F 2 As the frozen bit, the recovered second data bit D can also be used 2 As frozen bits, the first pre-code word u a to decode.
[0144] according to Fig.12 The polar code decoding device of the exemplary embodiment can minimize the shared bits among the three pre-code words. That is, since the second data bit D 2 Including different from the fifth data bit D 5 The data is therefore the same as the second data bit D 2 and the fifth data bit D 5 A larger amount of data can be obtained by decoding than when the data is overlapped.
[0145] Will be referenced below Figure 1 and Fig.13 The encoding and decoding methods of the polar code decoding device according to some exemplary embodiments of the present disclosure are described, and the above referenced parts will be omitted or at least simplified. Figures 1 to 12 Description of described components and reference numerals.
[0146] Fig.13The invention shows an encoding and decoding method of a polar code decoding device according to some exemplary embodiments of the present disclosure.
[0147] refer to Figure 1 and Fig.13 , the first pre-codeword u a It may include a first unfrozen bit UF1 and a first frozen bit F 1 The first unfrozen bit UF1 may include the first data bit D 1 , the second data bit D 2 and the sixth data bit D 6 .u a Data bits 1301, u b Data bits 1302 and u c The data bits 1303 are the same data bits as in Fig.13 Indicated as "D 6 "". The repeated data bits 1301, 1302 and 1303 are referred to herein as shared data bits. The unfrozen bits UF1, UF2 and UF3 form a plurality of bits. Included in the plurality of bits is D 2 , D 6 , D 5 and P 1 . D 2 , D 6 , D 5 and P 1 This may be referred to herein as a second plurality of bits.
[0148] In some exemplary embodiments, the first data bit D 1 , the second data bit D 2 , the sixth data bit D 6 and the first frozen bit F 1 Can be interwoven.
[0149] The second pre-code word u b It may include a second unfrozen bit UF2 and a second frozen bit F 2 The second unfrozen bit UF2 may include the third data bit D 3 , the fifth data bit D 5 and the sixth data bit D 6 .
[0150] In some exemplary embodiments, the third data bit D 3 , the fifth data bit D 5 , the sixth data bit D 6 and the second frozen bit F 2 Can be interwoven.
[0151] The third pre-code word u cIt may include a third unfrozen bit UF3 and a third frozen bit F 3 The third unfrozen bit UF3 may include the fourth data bit D 4 , the first parity bit P 1 and the sixth data bit D 6 .
[0152] In some exemplary embodiments, the fourth data bit D 4 , the first parity bit P 1 , the sixth data bit D 6 and the third frozen bit F 3 Can be interwoven.
[0153] The encoder 120 may generate three pre-codewords (i.e., the first pre-codeword u a , the second pre-code word u b and the third pre-codeword u c ) for polarization encoding and concatenation.
[0154] Specifically, the first pre-code word u can be converted into a Encoded as the first subpolarization codeword C a , and the second pre-code word u can be converted into b Encoded as the second sub-polarization codeword C b Similarly, the third pre-codeword u can be converted into c Encoded as the third sub-polarization codeword C c .
[0155] The first subpolar codeword C a , the second sub-polarization codeword C b and the third subpolarization codeword C c can be concatenated with each other and can thus form a polar codeword c.
[0156] The decoder 130 may first decode the first sub-polarization codeword C a , the second sub-polarization codeword C b and the third subpolarization codeword C c to decode.
[0157] If all the first subpolar codewords C a , the second sub-polarization codeword C b and the third subpolarization codeword C c If the decoding of all the first sub-polarization codewords C is successful, the decoding of polarization codeword c can be completed. a , the second sub-polarization codeword C b and the third subpolarization codeword C c If the decoding of all fails, the decoding of polar codeword c can be completed.
[0158] On the other hand, if the first sub-polarization codeword C a , the second sub-polarization codeword C b and the third subpolarization codeword C c If only one of the sub-polarization codewords is successfully decoded, and the decoding of the other two sub-polarization codewords fails, the sixth data bit D 6 Public as shared bits.
[0159] Decoder 130 can use the sixth data bit D 6 The two sub-polarization codewords that failed to be decoded are decoded again. In this case, because the sixth data bit D 6 are frozen bits (ie, bits known to the decoder 130), so the probability of decoding can be increased.
[0160] Then, if the decoding of one of the two sub-polar codewords that failed to be decoded is successful, while the decoding of the other sub-polar codeword still fails, the second data bit D 2 The fifth data bit D 5 The set and the first parity bit P 1 One of the sets of can be recovered using the other two sets, and decoder 130 can decode the sub-polar codeword that still cannot be decoded again. 2 The fifth data bit D 5 The set and the first parity bit P 1 A set of a set and the sixth data bit D 6 It has been disclosed and can therefore be used as a frozen bit, thereby further improving the probability of decoding.
[0161] Fig.13 An example is shown in which the unfrozen bits are divided into three regions to perform decoding in two stages using shared bits, but the present disclosure is not limited thereto. That is, the polar code decoding apparatus according to some exemplary embodiments of the present disclosure can encode and decode a pre-codeword having unfrozen bits divided into four or more regions.
[0162] according to Fig.13 The polar code decoding apparatus of the exemplary embodiment may use the first parity bit P 1 Add the second data bit D 2 and the fifth data bit D 5 The ratio of the fifth data bit D 5 and the second data bit D 2 Even if the first pre-codeword u a , the second pre-code word u b and the third pre-codeword uc Only one of them is decoded successfully, according to Fig.13 The polar code decoding apparatus of the exemplary embodiment can be realized by using the sixth data bit D 6 Improve the probability of decoding the other two pre-code words.
[0163] Will be referenced below Figure 1 and Fig.14 The encoding and decoding methods of the polar code decoding device according to some exemplary embodiments of the present disclosure are described, and the above referenced parts will be omitted or at least simplified. Figures 1 to 13 Description of described components and reference numerals.
[0164] Fig.14 The data structure of a pre-codeword used in a polar code decoding apparatus according to some exemplary embodiments of the present disclosure is shown.
[0165] refer to Figure 1 and Fig.14 , the first pre-codeword u a It may include a first unfrozen bit UF1 and a first frozen bit F 1 The first unfrozen bit UF1 may include the first data bit D 1 and the second parity bit P 2 Typically, the first data bit D 1 Can be information bits (independent of any previous encoding operations).
[0166] The first data bit D 1 Shared bits may be included. Shared bits may be bits shared with other precodewords.
[0167] The second parity bit P 2 It can be for the first data bit D 1 The second parity bit P 2 This may be cyclic redundancy check (CRC) bits.
[0168] The first data bit D 1 It may not be shared with other precode words, and the second parity bit P 2 It can be a bit shared with other pre-code words. The second parity bit P 2 It does not have a CRC function for other pre-codewords, but can apply a CRC function to the first pre-codeword u a .
[0169] according to Fig.14 The polar code decoding apparatus of the exemplary embodiment may use the polar code with excellent error correction capability to significantly improve decoding complexity and decoding delay, and may perform CRC on the data.
[0170] Fig.15 is a block diagram of an electronic device using a polar code decoding apparatus according to some exemplary embodiments of the present disclosure.
[0171] refer to Fig.15 , the electronic device 2000 may include a processor 2100, a RAM 2200, an input / output (I / O) device 2300, a power supply device 2400, and a memory system 1000. Although not specifically shown, the electronic device 2000 may also include a port for communicating with a video card, a sound card, a memory card, a USB device, or other electronic devices. The electronic device 2000 may be implemented as a portable electronic device, such as a personal computer (PC), a notebook computer, a mobile phone, a personal digital assistant (PDA), or a camera.
[0172] References Figures 1 to 14 The polar code decoding apparatus according to some exemplary embodiments of the present disclosure may be applied to the memory system 1000. Therefore, the memory system 1000 may perform polar code decoding on data read from the memory device 200.
[0173] The processor 2100 may perform a specific calculation or task. In some exemplary embodiments, the processor 2100 may be a microprocessor or a central processing unit (CPU). The processor 2100 may communicate with the RAM 2200, the input / output device 2300, and the memory system 1000 via a bus 2500 (e.g., an address bus, a control bus, or a data bus). In some exemplary embodiments, the processor 2100 may be connected not only to the bus 2500, but also to an expansion bus such as a peripheral component interconnect (PCI) bus.
[0174] The RAM 2200 may store data required for the operation of the electronic device 2000. For example, the RAM 2200 may be implemented as a DRAM, a mobile DRAM, an SRAM, a PRAM, a FRAM, a resistive RAM (RRAM), and / or an MRAM.
[0175] The I / O device 2300 may include an input device such as a keyboard, a keypad, or a mouse, and an output device such as a printer or a display. The power supply device 2400 may provide an operating voltage required for the operation of the electronic device 2000.
[0176] Will be referenced below Figures 8 to 16 The polar code decoding method according to some exemplary embodiments of the present disclosure is described, and the above referenced Figures 1 to 15 Description of described components and reference numerals.
[0177] Fig.16 is a flowchart illustrating a polar code decoding method according to some exemplary embodiments of the present disclosure.
[0178] refer to Fig.16 , the sub-polarization codeword is decoded (S10).
[0179] Specifically, refer to Figure 8 , the first sub-polarization codeword C can be executed a The decoding of the second sub-polarization codeword C b The decoding and the third sub-polarization codeword C c Decoding, thereby trying to obtain the first pre-codeword u a , the second pre-code word u b and the third pre-codeword u c The first sub-polarization codeword C can be executed one by one or simultaneously. a The decoding of the second sub-polar codeword C b The decoding of the first sub-polarization codeword C can be performed independently of each other. a The decoding of the second sub-polar codeword C b Decoding.
[0180] The probability of successful decoding varies according to the quality of each channel and varies with the sub-polarization codeword.
[0181] Reference again Fig.16 , determine whether decoding of all sub-polarization codewords is successful (S20).
[0182] (1) If all sub-polar codewords are successfully decoded, the polar code decoding method according to some exemplary embodiments of the present disclosure ends.
[0183] (2) If only some of the sub-polar codewords are successfully decoded, the polar code decoding method according to some exemplary embodiments of the present disclosure proceeds to S30.
[0184] (3) If decoding of all sub-polar codewords fails, the polar code decoding method according to some exemplary embodiments of the present disclosure ends.
[0185] In S30, the frozen bits are restored.
[0186] Specifically, refer to Figure 8 , the first pre-codeword u a and the second pre-codeword u b The second data bit D may be included in 2 That is, the second data bit D 2 Can be used as the first pre-codeword u a and the second pre-codeword u b The shared bits between.
[0187] If the first subpolar codeword C a The decoding of the second sub-polarization codeword C b If the decoding is successful, the second pre-codeword u b The third data bit D 3 and the second data bit D 2 Can Figure 1 That is, as the first pre-codeword u a and the second pre-codeword u b The second data bit D of the shared bit between 2 Can be made public.
[0188] Therefore, the first frozen bit F 1 and the second data bit D 2 can be used as frozen bits to freeze the first sub-polarization codeword C a That is, since the frozen bits are bits known to the decoder 130, not only the first frozen bit F 1 can be used as a frozen bit, and in the second sub-polarization codeword C b The second data bit D is disclosed during the decoding process 2 It can also be used as a frozen bit to freeze the first data bit D that has not yet been disclosed. 1 to decode.
[0189] At this time, the ratio of frozen bits is higher than the ratio of frozen bits in the initial stage of decoding (i.e., in S10), so the decoding success probability can also be higher than the decoding success probability in S10. As a result, the first sub-polarization codeword C can be executed with an increased decoding success probability. a Decoding.
[0190] On the other hand, if the second sub-polarization codeword C b The decoding of the first subpolar codeword C a If the decoding is successful, the first pre-codeword u a The first data bit D 1 and the second data bit D 2 Can Figure 1 That is, as the first pre-codeword u a and the second pre-codeword u b The second data bit D of the shared bit between 2 Can be made public.
[0191] Therefore, the second frozen bit F 2 and the second data bit D 2 can be used as frozen bits to modify the second sub-polarization codeword Cb That is, since the frozen bit is a bit known to the decoder 130, not only the second frozen bit F 2 can be used as frozen bits, and in the first sub-polarization codeword C a The second data bit D is disclosed during the decoding process 2 It can also be used as a frozen bit to indicate the second data bit D which has not yet been disclosed. 2 to decode.
[0192] As a result, the second sub-polarization codeword C can be executed with an increased probability of decoding success. b Decoding.
[0193] The polar code decoding apparatus and method according to some exemplary embodiments of the present disclosure use polar codes that are complex and time-consuming to decode, but can significantly reduce decoding complexity and decoding delay. In addition, when overall decoding is not possible, the polar code decoding apparatus and method according to some exemplary embodiments of the present disclosure can perform partial error correction through partial decoding.
[0194] Will be referenced below Figure 8 , Fig.16 , Fig.17 and Fig.18 Another polar code decoding method according to some exemplary embodiments of the present disclosure is described, and the above-referenced Figures 1 to 16 Description of described components and reference numerals.
[0195] Fig.17 is a flowchart illustrating another polar code decoding method according to some exemplary embodiments of the present disclosure, and Fig.18 is used to explain the Fig.17 FIG. 1 is a diagram of hard decision (HD) decoding and soft decision (SD) decoding performed in a polar code decoding method of an exemplary embodiment of the present invention.
[0196] refer to Fig.17 , HD decoding is performed (S100).
[0197] Specifically, refer to Figure 2 and Fig.18 , for different voltages, flash memory chips 201 and 203 may have different cell counts (ie, scattering characteristics).
[0198] The scattering characteristic may have a plurality of states S1 and S2. Whether the flash memory chips 201 and 203 are in state S1 or in state S2 may be determined by a single read operation performed at the first read level R1, and may be defined as HD decoding. HD decoding may perform a read operation at a relatively high speed, but has a relatively low accuracy for determining the states of the flash memory chips 201 and 203.
[0199] HD decoding can be compared with the above reference Figure 8 and Fig.16 The polar code decoding method described is the same. HD decoding is relatively fast, but is likely to fail due to its relatively low accuracy.
[0200] Reference again Fig.17 , if the HD decoding fails, SD decoding is performed (S200).
[0201] SD decoding can determine the status of the flash memory chips 201 and 203 at a second read level R2 adjacent to the first read level R1 and / or a third read level R3 adjacent to the second read level R2 by performing an additional read operation at the first read level R1. SD decoding may be relatively slow, but can have relatively high accuracy in determining the status of the flash memory chips 201 and 203.
[0202] SD decoding can be compared with the above reference Figure 8 and Fig.16 The polar code decoding method described is the same.
[0203] exist Fig.17 In the exemplary embodiment of , HD decoding is mainly performed at high speed, and only when HD decoding fails, SD decoding is additionally performed. Therefore, decoding can be performed at high speed, and even if decoding fails, additional decoding can be performed later.
[0204] Although the inventive concept has been specifically shown and described with reference to the exemplary embodiments of the inventive concept, it will be understood by those skilled in the art that various changes in form and detail may be made without departing from the spirit and scope of the inventive concept as defined by the appended claims. Therefore, it is desired that the present embodiment be considered in all respects as illustrative rather than restrictive, and reference is made to the appended claims rather than the foregoing description to indicate the scope of the invention.
Claims
1. A polar code encoding and decoding method, comprising: Generate a first sub-codeword by performing polar coding on a first pre-codeword, wherein the first pre-codeword includes a first unfrozen bit and a first frozen bit, wherein the first unfrozen bit includes a first data bit and a second data bit; Generate a second sub-codeword by polar coding a second pre-codeword, wherein the second pre-codeword includes a second unfrozen bit and a second frozen bit, wherein the second unfrozen bit includes a third data bit and the second data bit; Decoding the first sub-codeword; decoding the second sub-codeword independently of decoding the first sub-codeword; and If the decoding of the first sub-codeword is successful but the decoding of the second sub-codeword is unsuccessful, the second sub-codeword is decoded a second time using the second data bits recovered by decoding the first sub-codeword.
2. The polar code encoding and decoding method according to claim 1, further comprising: generating a third sub-codeword by performing polar coding on third data, wherein the third data includes third unfrozen bits and third frozen bits, wherein the third unfrozen bits include fourth data bits and the second data bits; Decoding the third sub-codeword; and When the decoding of the first sub-codeword is successful but the decoding of the second sub-codeword is unsuccessful, if the decoding of the third sub-codeword is unsuccessful, the third sub-codeword is decoded for the second time using the second data bits.
3. The polar code encoding and decoding method according to claim 2, wherein: The second data bit is a parity bit.
4. The polar code encoding and decoding method according to claim 2, wherein: The second data bits are information bits.
5. The polar code encoding and decoding method according to claim 1, wherein: The first unfrozen bits include a data region and a parity region, and wherein the parity region includes parity information of the data region.
6. The polar code encoding and decoding method according to claim 1, further comprising: Primary decoding, including decoding the first sub-codeword and decoding the second sub-codeword, and performing a second decoding on the second sub-codeword using the second data bit; as well as secondary decoding, the secondary decoding being performed after the primary decoding, Therein, the primary decoding is based on hard decision decoding, and the secondary decoding is based on soft decision decoding.
7. A polar code encoding and decoding method, comprising: Generate a first sub-codeword by performing polar coding on a first pre-codeword, wherein the first pre-codeword includes a first unfrozen bit and a first frozen bit, wherein the first unfrozen bit includes a first data bit and a second data bit; Generate a second sub-codeword by polar encoding a second pre-codeword, wherein the second pre-codeword includes a second unfrozen bit and a second frozen bit, wherein the second unfrozen bit includes a third data bit and a fourth data bit, wherein the fourth data bit is related to the second data bit; Decoding the first sub-codeword; decoding the second sub-codeword independently of decoding the first sub-codeword; If the decoding of the first sub-codeword is successful but the decoding of the second sub-codeword is unsuccessful, decoding the second sub-codeword for a second time using the second data bits; and If the decoding of the second sub-codeword is successful but the decoding of the first sub-codeword is unsuccessful, the first sub-codeword is decoded for a second time, wherein the second decoding of the first sub-codeword includes: using the fourth data bit.
8. The polar code encoding and decoding method according to claim 7, wherein: The fourth data bit is identical to the second data bit.
9. The polar code encoding and decoding method according to claim 8, further comprising: generating a third sub-codeword by polar coding a third pre-codeword, wherein the third pre-codeword includes a third unfrozen bit and a third frozen bit, wherein the third unfrozen bit includes a fifth data bit and the second data bit; Decoding the third sub-codeword; and If the decoding of the third sub-codeword is successful but the decoding of the second sub-codeword is unsuccessful and the decoding of the first sub-codeword is unsuccessful, then: decoding the first sub-codeword for a second time using the second data bits, and The second sub-codeword is decoded a second time using the second data bits.
10. The polar code encoding and decoding method according to claim 7, further comprising: generating a third sub-codeword by polar coding a third pre-codeword, wherein the third pre-codeword includes a third unfrozen bit and a third frozen bit, wherein the third unfrozen bit includes a fifth data bit and the fourth data bit, wherein the fourth data bit includes a first parity check bit of the second data bit and a second parity check bit of the fifth data bit; Decoding the third sub-codeword, If the decoding of the second sub-codeword is successful but the decoding of the first sub-codeword is unsuccessful, then decoding the first sub-codeword for the second time further includes: using the fifth data bit.
11. The polar code encoding and decoding method according to claim 10, wherein: The second decoding of the first sub-codeword further includes: using the fourth data bit and the fifth data bit to restore the second data bit, and using the restored second data bit as a frozen bit to decode the first sub-codeword.
12. The polar code encoding and decoding method according to claim 10, further comprising: If the decoding of the first sub-codeword is successful and the decoding of the second sub-codeword is successful, but the decoding of the third sub-codeword is unsuccessful, then: The third sub-codeword is decoded for the second time using the second data bits and the fourth data bits.
13. The polar code encoding and decoding method according to claim 10, further comprising: If the decoding of the first sub-codeword is successful and the decoding of the third sub-codeword is successful, but the decoding of the second sub-codeword is unsuccessful, the second sub-codeword is decoded for the second time using the second data bit and the fifth data bit.
14. The polar code encoding and decoding method according to claim 10, wherein: The first unfrozen bit, the second unfrozen bit, and the third unfrozen bit form a first plurality of bits, and the first plurality of bits includes a sixth data bit, a seventh data bit, an eighth data bit, and a ninth data bit, and wherein the sixth data bit, the seventh data bit, the eighth data bit and the ninth data bit are not independent in a statistical sense, The polar code encoding and decoding method further includes: if decoding of at least one of the first sub-codeword, the second sub-codeword, and the third sub-codeword is successful, and if decoding of one of the first sub-codeword, the second sub-codeword, and the third sub-codeword is unsuccessful, using at least one of the sixth data bit, the seventh data bit, the eighth data bit, and the ninth data bit to perform a second decoding on the undecoded sub-codeword.
15. A polar code encoding and decoding method, comprising: generating a first plurality of sub-codewords by polar encoding a second plurality of pre-codewords, wherein the second plurality of pre-codewords includes a first pre-codeword and a second pre-codeword, wherein each of the second plurality of pre-code words comprises frozen bits and unfrozen bits, Wherein, at least the first pre-code word and the second pre-code word include a shared bit: performing preliminary decoding on the first plurality of sub-codewords; and When primary decoding of the first plurality of sub-codewords fails, secondary decoding of the first plurality of sub-codewords is performed using the shared bits.
16. The polar code encoding and decoding method according to claim 15, wherein: The shared bits are all identical.
17. The polar code encoding and decoding method according to claim 15, wherein: The second plurality of precodewords includes a third precodeword, The shared bits of the first pre-codeword are different from the shared bits of the second pre-codeword, and The shared bits of the third pre-code word include first parity check bits of the shared bits of the first pre-code word and second parity check bits of the shared bits of the second pre-code word.
18. The polar code encoding and decoding method according to claim 15, wherein: The unfrozen bits include a data region and a parity region, wherein the parity region includes parity information of the data region.
19. The polar code encoding and decoding method according to claim 15, wherein: The unfrozen bits and the frozen bits are interleaved.
20. The polar code encoding and decoding method according to claim 15, wherein: The primary decoding and the secondary decoding are hard decision decoding, Among them, the third level decoding is soft decision decoding, and The polar code encoding and decoding method further includes: after the secondary decoding, performing the tertiary decoding on at least one sub-codeword that cannot be decoded by the secondary decoding.
Citation Information
Patent Citations
Operating method for controlling nonvolatile memory device and mapping pattern selecting method
CN103377694A
Continuous encryption physical layer secure transmission method based on polarization code construction
CN107148015A