IP Library › Granted Patent US 12,237,846
Granted Patent B2
US 12,237,846 · App. 18/158,332 · Granted Feb 25, 2025

Systems for error reduction of encoded data using neural networks

Inventors: Fa-Long Luo (San Jose, CA); Jaime Cummins (Bainbridge Island, WA)
Assignee: Micron Technology, Inc.
H03M13/37G06F7/5443G06N3/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,237,846
App. No.
18/158,332
Filed
Jan 23, 2023
Granted
Feb 25, 2025
Kind
B2
Art Unit
2111
USPC
714/701
Abstract

Examples described herein utilize multi-layer neural networks, such as multi-layer recurrent neural networks to estimate an error-reduced version of encoded data based on a retrieved version of encoded data (e.g., data encoded using one or more encoding techniques) from a memory. The neural networks and/or recurrent neural networks may have nonlinear mapping and distributed processing capabilities which may be advantageous in many systems employing a neural network or recurrent neural network to estimate an error-reduced version of encoded data for an error correction coding (ECC) decoder, e.g., to facilitate decoding of the error-reduced version of encoded data at the decoder. In this manner, neural networks or recurrent neural networks described herein may be used to improve or facilitate aspects of decoding at ECC decoders, e.g., by reducing errors present in encoded data due to storage or transmission.

Claims (33)

1. An apparatus comprising:

a memory configured to store encoded data; and

a neural network configured to receive, from the memory, the encoded data including at least one error bit and further configured to mix the encoded data received from the memory with at least a portion of a plurality of coefficients selected for error reduction of data retrieved from the memory to generate an estimate of an error-reduced version of the encoded data, wherein the neural network comprises at least one stage configured to provide delayed versions of respective outputs and mix the delayed versions of the respective outputs with at least a portion of the encoded data.

2. The apparatus of claim 1 , further comprising an encoder configured to provide the encoded data to the memory in accordance with an encoding technique.

3. The apparatus of claim 1 , wherein the error-reduced version of the encoded data corresponds to the encoded data received from the memory without the at least one error bit.

4. The apparatus of claim 1 , wherein the neural network comprises at least two stages to generate the error-reduced version of the encoded data.

5. The apparatus of claim 1 , wherein the error-reduced version of the encoded data includes a reduction of a bit error rate (BER) or an increase of a signal-to-noise ratio (SNR) as compared to a respective BER or SNR of the stored version of the encoded data.

6. The apparatus of claim 1 , further comprising a decoder configured to receive the error-reduced version of the encoded data and to provide decode data based on the error-reduced version of the encoded data.

7. An apparatus comprising:

a memory configured to store encoded data; and

a neural network configured to receive, from the memory, the encoded data including at least one error bit, and further configured to mix the encoded data received from the memory with at least a portion of a plurality of coefficients selected for error reduction of data retrieved from the memory to generate an estimate of an error-reduced version of the encoded data, wherein the neural network comprises at least two stages to generate the error-reduced version of the encoded data, the at least two stages comprising:

a first stage of circuitry configured to receive the encoded data from the memory, to combine the received encoded data with a first set of predetermined weights, and to evaluate at least one non-linear function using combinations of the received encoded data and delayed versions of the combinations of the received encoded data to provide intermediate data; and

a second stage of circuitry configured to receive the intermediate data and combine the intermediate data using a second set of predetermined weights to generate the error-reduced version of the encoded data.

8. The apparatus of claim 7 , wherein the first and second sets of predetermined weights were trained for error reduction of data retrieved from the memory.

9. The apparatus of claim 7 , wherein the first and second sets of predetermined weights are based on training of a neural network using known errored-encoded data and encoded data pairs, the known errored-encoded data including at least one error bit.

10. The apparatus of claim 8 , wherein the first stage of circuitry further comprises a first plurality of memory look-up units (MLUs), the first plurality of MLUs each configured to retrieve at least one intermediate data value corresponding to an output of a respective one of the first plurality of multiplication/accumulation units based on the at least one non-linear function.

11. The apparatus of claim 10 , wherein the decoder is configured to decode encoded data in accordance with an error-correction code decoding technique.

12. The apparatus of claim 10 , wherein the decoder comprises an iterative decoder configured to decode encoded data in accordance with an error-correction code iterative decoding technique.

13. An apparatus comprising:

a memory configured to store encoded data; and

a neural network configured to receive, from the memory, the encoded data including at least one error bit, and further configured to mix the encoded data received from the memory with at least a portion of a plurality of coefficients selected for error reduction of data retrieved from the memory to generate an estimate of an error-reduced version of the encoded data, wherein the neural network comprises at least two stages to generate the error-reduced version of the encoded data, wherein the at least two stages include a first stage of circuitry comprising a first plurality of multiplication/accumulation units, the first plurality of multiplication/accumulation units each configured to multiply at least one bit of the received encoded data with at least one of the first set of predetermined weights and sum multiple weighted bits of the encoded data.

14. A method comprising:

mixing, at a first stage of a neural network, a first version of encoded data retrieved from a memory and delayed versions of respective outputs of the first stage of the neural network with a first subset of a plurality of coefficients selected for error reduction of data retrieved from the memory to generate first processing results;

mixing, at second stage of the neural network, the first processing results and delayed versions of at least a portion of the first processing results with a second subset of the plurality of coefficients to generate second processing results; and

generating, by the neural network, an estimate of an error-reduced version of the encoded data based on the second processing results.

15. The method of claim 14 , further comprising delaying, at respective delay units associated with the first stage of the neural network, the outputs of the first stage of the neural network to generate the delayed versions of the respective outputs of the first stage of the neural network.

16. The method of claim 14 , further comprising multiplying the first version of the encoded data and the delayed versions of the respective outputs of the first stage of the neural network with the first subset of the plurality of coefficients to generate the first processing results.

17. The method of claim 14 , further comprising obtaining the first version of the encoded data from the memory.

18. The method of claim 17 , wherein the stored version of the encoded data includes at least one error bit.

19. The method of claim 14 , further comprising:

decoding the error-reduced version of the encoded data to provide decoded data; and

writing the decoded data to or reading the decoded data from the memory.

20. The method of claim 14 , wherein the error-reduced version of the encoded data is an estimate of the encoded data relative to output of an encoder associated with an encoding technique.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2023
From: LUO, FA-LONG; CUMMINS, JAIME
To: MICRON TECHNOLOGY, INC.
Reel/Frame 062457/0121 →
Continuity (2)
Continuation 17302228 · Apr 27, 2021
Related Publication 20230163788A1 · May 25, 2023
References Cited (103)
US 7321882B2 · Jaeger · 2008 [cited by applicant]
US 9988090B2 · Nishikawa · 2018 [cited by applicant]
US 10176802B1 · Ladhak et al. · 2019 [cited by applicant]
US 10400928B2 · Baldwin et al. · 2019 [cited by applicant]
US 10491243B2 · Kumar et al. · 2019 [cited by applicant]
US 10552738B2 · Holt et al. · 2020 [cited by applicant]
US 10698657B2 · Kang et al. · 2020 [cited by applicant]
US 10749594B1 · O'shea et al. · 2020 [cited by applicant]
US 10812449B1 · Cholleton · 2020 [cited by applicant]
US 10924152B1 · Luo · 2021 [cited by applicant]
US 11088712B2 · Zamir et al. · 2021 [cited by applicant]
US 11196992B2 · Huang et al. · 2021 [cited by applicant]
US 11416735B2 · Luo et al. · 2022 [cited by applicant]
US 11424764B2 · Luo · 2022 [cited by applicant]
US 11563449B2 · Luo · 2023 [cited by examiner]
US 11599773B2 · Luo et al. · 2023 [cited by applicant]
US 11755408B2 · Luo et al. · 2023 [cited by applicant]
US 11973513B2 · Luo et al. · 2024 [cited by applicant]
US 12095479B2 · Luo · 2024 [cited by applicant]
US 20040015459A1 · Jaeger · 2004 [cited by applicant]
US 20050228845A1 · Pius et al. · 2005 [cited by applicant]
US 20060013289A1 · Hwang · 2006 [cited by applicant]
US 20060200258A1 · Hoffberg et al. · 2006 [cited by applicant]
US 20090106626A1 · Hou et al. · 2009 [cited by applicant]
US 20090292537A1 · Ehara et al. · 2009 [cited by applicant]
US 20110029756A1 · Biscondi et al. · 2011 [cited by applicant]
US 20170177993A1 · Draelos et al. · 2017 [cited by applicant]
US 20170310508A1 · Moorti et al. · 2017 [cited by applicant]
US 20170370508A1 · Baldwin et al. · 2017 [cited by applicant]
US 20180022388A1 · Nishikawa · 2018 [cited by applicant]
US 20180046897A1 · Kang et al. · 2018 [cited by applicant]
US 20180174050A1 · Holt et al. · 2018 [cited by applicant]
US 20180249158A1 · Huang et al. · 2018 [cited by applicant]
US 20180307494A1 · Ould-Ahmed-Vall · 2018 [cited by examiner]
US 20180322388A1 · O'Shea · 2018 [cited by applicant]
US 20180336469A1 · O'Connor · 2018 [cited by examiner]
US 20180343017A1 · Kumar et al. · 2018 [cited by applicant]
US 20180357530A1 · Beery et al. · 2018 [cited by applicant]
US 20190196952A1 · Manchiraju · 2019 [cited by examiner]
US 20190197549A1 · Sharma · 2019 [cited by applicant]
US 20200012953A1 · Sun et al. · 2020 [cited by applicant]
US 20200014408A1 · Kim · 2020 [cited by applicant]
US 20200065653A1 · Meier et al. · 2020 [cited by applicant]
US 20200160838A1 · Lee · 2020 [cited by applicant]
US 20200210816A1 · Luo et al. · 2020 [cited by applicant]
US 20200234103A1 · Luo et al. · 2020 [cited by applicant]
US 20200296741A1 · Ayala Romero et al. · 2020 [cited by applicant]
US 20200356620A1 · Yen et al. · 2020 [cited by applicant]
US 20200402591A1 · Xiong et al. · 2020 [cited by applicant]
US 20210004208A1 · Lai et al. · 2021 [cited by applicant]
US 20210143840A1 · Luo · 2021 [cited by applicant]
US 20210273707A1 · Yoo et al. · 2021 [cited by applicant]
US 20210287074A1 · Coenen · 2021 [cited by applicant]
US 20210304009A1 · Bazarsky et al. · 2021 [cited by applicant]
US 20210319286A1 · Gunduz · 2021 [cited by applicant]
US 20210336779A1 · Jho et al. · 2021 [cited by applicant]
US 20210351863A1 · Gunduz · 2021 [cited by applicant]
US 20220019900A1 · Wong et al. · 2022 [cited by applicant]
US 20220368349A1 · Luo et al. · 2022 [cited by applicant]
US 20220368356A1 · Luo et al. · 2022 [cited by applicant]
US 20220399904A1 · Luo · 2022 [cited by applicant]
US 20230115877A1 · Luo et al. · 2023 [cited by applicant]
US 20230208449A1 · Luo et al. · 2023 [cited by applicant]
CN 106203624A · 2016 [cited by applicant]
CN 108353046A · 2018 [cited by applicant]
KR 20170128080A · 2017 [cited by applicant]
KR 20180054554A · 2018 [cited by applicant]
KR 20180084988A · 2018 [cited by applicant]
KR 20200062322A · 2020 [cited by applicant]
KR 20200124504A · 2020 [cited by applicant]
WO 2020131868A1 · 2020 [cited by applicant]
WO 2020139976A1 · 2020 [cited by applicant]
WO 2021096641A1 · 2021 [cited by applicant]
WO 2022232065A1 · 2022 [cited by applicant]
WO 2022232066A1 · 2022 [cited by applicant]
U.S. Appl. No. 16/839,447, titled “Neural Networks and Systems for Decoding Encoded Data”, dated Apr. 3, 2020, pp. all pages of application as filed. [cited by applicant]
U.S. Appl. No. 16/683,217, titled “Recurrent Neural Networks and Systems for Decoding Encoded Data”, filed Nov. 13, 2019, pp. all pages of application as filed. [cited by applicant]
Huo et al. “A Tutorial and Review on Inter-Layer FEC Coded Layered Video Streaming” in IEEE Communications Survey & Tutorials, vol. 17, No. 2, 2nd Quarter 2015; pp. 1166-1207. [cited by applicant]
International Search Report & Written Opinion dated Aug. 10, 2022 for PCT Application No. PCT/US2022/026217, pp. all. [cited by applicant]
U.S. Appl. No. 17/821,391, titled, “Recurrent Neural Networks and Systems for Decoding Encoded Data,” filed Aug. 22, 2022, pp. all pages of application as filed. [cited by applicant]
U.S. Appl. No. 17/496,703 titled “Systems for Estimating Bit Error Rate (BER) of Encoded Data Using Neural Networks” filed Oct. 7, 2021, pp. all pages of application as filed. [cited by applicant]
U.S. Appl. No. 17/302,226, titled “Decoders and Systems for Decoding Encoded Data Using Neural Networks”, filed Apr. 27, 2021, pp. all pages of application as filed. [cited by applicant]
U.S. Appl. No. 17/302,228, titled “Systems for Error Reduction of Encoded Data Using Neural Networks”, filed Apr. 27, 2021, pp. all pages of application as filed. [cited by applicant]
U.S. Appl. No. 16/233,576 titled “Neural Networks and Systems for Decoding Encoded Data” filed Dec. 27, 2018, pp. all pages of application as filed. [cited by applicant]
Cao, Congzhe et al.“DEEP Learning-Based Decoding of Constrained Sequence Codes”, Retrieved from URL: https:/arxiv.org/pdf/1906.06172, Jun. 2019, 13 pages. [cited by applicant]
Huang, Kunping et al., “Functional Error Correction for Robust Neural Networks”, Retrieved from URL: https://arxiv.org/pdf/2001.03814, Jan. 2020, 24 pages. [cited by applicant]
Kim, Minhoe et al., “Building Encoder and Decoder With Deep Neural Networks: On the Way to Reality”, Retrieved from <https://arxiv.org/abs/1808.02401>, dated Aug. 7, 2018, p. 4-5. [cited by applicant]
Lipton, Zachary C. et al., “A Critical Review of Recurrent Neural Networks for Sequence Learning”, Retrieved from https://arxiv.org/abs/1506.00019v4, Oct. 17, 2015, pp. all. [cited by applicant]
Sun, Yang et al., “VLSI Architecture for Layered Decoding of QC-LDPC Codes With High Circulant Weight” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 21, No. 10, pp. 1960-1964, Oct. 2013. [cited by applicant]
I. Wodiany and A. Pop “Low-Precision Neural Network Decoding of Polar Codes”, 2019 IEEE 20th International Workshop on Signal Processing Advances in Wireless Communications (SPAWC), Cannes, FR; Jul. 2019 pp. all. [cited by applicant]
U.S. Appl. No. 18/179,317, filed Mar. 6, 2023 and titled, “Neural Networks and Systems for Decoding Encoded Data,”; pp. all pages of application as filed. [cited by applicant]
Navneet Agrawal “Machine Intelligence in Decoding of Forward Error Correction Codes”; Degree Project in Information and Communication Technology; KTH Royal Institute of Technology, School of Electrical Engineering; Swee… [cited by applicant]
Chang, Andre , et al., “Hardware Accelerators for Recurrent Neural Networks on FPGA”, IEEE International Symposium on Circuits and Systems (ISCAS), 4 pgs, May 2017. [cited by applicant]
Kim, Minhoe , et al., “Toward the Realization of Encoder and Decoder Using Deep Neural Networks”, IEEE Communications Magazine, vol. 57, No. 5, 7 pages, May 2019. [cited by applicant]
Nachmani, Eliya , et al., “RNN Decoding of Linear Block Codes”, arxiv.org, Cornell University Library, 7 pgs, Feb. 2017. [cited by applicant]
Payani, Ali , et al., “Decoding LDPC Codes On Binary Erasure Channels Using Deep Recurrent Neural-Logic Layers”, IEEE 10th International Symposium on Turbo Codes & Iterative Information Processing, 5 pgs, Dec. 2018. [cited by applicant]
Sandoval Ruiz, Cecilia , “FPGA Prototyping of Neuro-Adaptive Decoder”, Advances in Computational Intelligence, Man-Machine Systems and Cybernetics, 6 pgs, Dec. 2010. [cited by applicant]
Soltani, Rohollah , et al., “Higher Order Recurrent Neural Networks”, Retrieved May 31, 2023 from: https://arxiv.org/pdf/1605.00064.pdf, 9 pgs. [cited by applicant]
Teng, Chieh-Fang , et al., “Low-Complexity Recurrent Neural Network-Based Polar Decorder With Weight Quantization Mechanism”, arxiv.org, Cornell University Library, 5 pgs, Oct. 2018. [cited by applicant]
Agrawal, Navneet, “Machine Intelligence in Decoding of Forward Error Correction Codes”, KTH Royal Institute of Technology, School of Electrical Engineering, Degree Project in Information and Communication Technology, Se… [cited by applicant]
Chang, Andre Xian Ming , et al., “Hardware Accelerators for Recurrent Neural Networks On FPGA”, IEEE International Symposium on Circuits and Systems, May 2017, 4 pages. [cited by applicant]
Kim, Minhoe , et al., “Toward the Realization of Encoder and Decoder Using Deep Neural Networks”, IEEE Communications Magazine, May 2019, 7 pages. [cited by applicant]
Soltani, Rohollah , et al., “Higher Order Recurrent Neural Networks”, Journal arXiv:1605.00064, Apr. 2016, 9 pages. [cited by applicant]