簡易檢索 / 詳目顯示

研究生: 何啟達
Ho,Chi-Da
論文名稱: 用於非揮發性記憶體之低密度同位檢查編解碼器設計
Design of the Low-Density Parity-Check CODEC for Non-Volatile Memories
指導教授: 黃稚存
Huang,Chih-Tsun
口試委員:
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2008
畢業學年度: 97
語文別: 英文
論文頁數: 79
中文關鍵詞: 低密度同位檢查碼非揮發性記憶體
外文關鍵詞: LDPC Non-Volatile Memories
相關次數: 點閱:2下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 在本論文中,我們探討了現有建構低密度同位元 (Low-Density Parity-Check)編解碼的方式應用在非揮發性記憶體上。在現有的規格之下,基於面積以及處理效能的考量我們使用了旋轉矩陣來建構LDPC的編解碼。我們建構了一套模擬系統針對於整個編解碼流程以及各種不同旋轉矩陣的的碼率 (code rate)用以觀察其更正能力以及比較其他種類的錯誤更正碼 (BCH code)。在經過分析探討LDPC解碼的演算法後,我們決定採用佈於對數值域的SPA (sum-product algorithm)。在硬體實作上我們則是用LBPA (Layered Belief Propagation Algorithm)由SPA改進。在對數值域之下,所有運算都是整數運算可以簡化硬體設計的處理。

    關於LDPC編解碼硬體架構,面積是很有效率的被使用。由於採用的旋轉矩陣建構LDPC,這使得整個架構可以延伸到不同的碼率以針對不同的應用,並且架構裡平行的運算單元可以輕易提升處理效能。除此之外我們提出了一個相當有效的壓縮記憶體使用方式並且解壓縮後無損其更正能力。最後我們實作了一個LDPC邊解碼的硬體設計針對於現有記憶體規格。

    對於未來的展望,我們可以考慮將LDPC跟BCH這兩種錯誤更正碼合併可以讓這樣組合的碼率更有更正能力。並且找尋更有更正能力的LDPC邊解碼方式以及改善硬體的架構已針對非揮發性記憶體以及固態硬碟等等之應用。


    In this thesis, we evaluated the existing technologies of LDPC (low-density parity check)
    codes for the error correcting scheme of the non-volatile memories. With the consideration
    of the cost-effectiveness, the ¼-matrix approach has been adopted for the parity-check matrix.
    The system model was constructed to evaluate the performance and encoding/decoding behavior
    of our LDPC CODEC (Encoder/Decoder) with various code rates. After the analysis
    of coding performance, we used sum-product algorithm in logarithm domain as the decoding
    approach, and adopted the layered belief propagation algorithm. In addition, the decoding
    indexes are implemented with integer numbers to simplify the hardware.
    The overall LDPC CODEC is area efficient. The scalable architecture makes our CODEC
    suitable for a large variety of code rates. Parallel architecture can be easily implemented
    to speed up the throughput. In addition, the memory usage is dramatically reduced in our
    design without affecting the correcting performance. A design for the modern flash memory
    has been implemented to validate our LDPC CODEC.
    Our future works includes the study and design of the hybrid BCH and LDPC codes to
    further increase the effective code rate, also the searching of the more efficient LDPC codes,
    and the improvement of the encoding/decoding architecture, with the consideration of the
    future non-volatile memories and solid-state disks.

    1 Introduction 1 1.1 Error Correction Codes on Non-Volatile Memories . . . . . . . . . . . . . . 1 1.2 Introduction of LDPC Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 Motivation and Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Parity-Check Matrix Construction for Non-Volatile Memories 5 2.1 Specification Requirement for Non-Volatile Memories . . . . . . . . . . . . . 5 2.1.1 Fundamentals of Non-Volatile Memories . . . . . . . . . . . . . . . . 5 2.1.2 Error Correction Flow . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.3 Specification of Flash Memories . . . . . . . . . . . . . . . . . . . . . 9 2.2 Randomized Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 EG-LDPC Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4 ¼ Rotation Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.5 QC LDPC Block Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.6 Takashi Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.7 Comparison of LDPC Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3 LDPC Codec Overview 19 3.1 Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.1 Using Generation Matrix Encoding . . . . . . . . . . . . . . . . . . . 19 3.1.2 Approximate Upper Triangle Matrix . . . . . . . . . . . . . . . . . . 20 3.1.3 Use Parity Check Matrix . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2 Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.1 Bit-Flipping (BF) Decoding . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.2 Sum Product Algorithm in Probability Domain (SPA) . . . . . . . . 24 3.2.3 Sum Product Algorithm in Logarithm Domain . . . . . . . . . . . . . 29 3.2.4 Layered Belief Propagation Algorithm . . . . . . . . . . . . . . . . . 30 3.3 Short Circle (Girth) Issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4 Architecture Design 34 4.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.2 CODEC Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3 Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.4 Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.5 Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.5.1 Decoding Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.5.2 Adder Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.5.3 Lr memory Compact . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.5.4 Memories and Functional Units Dispatch . . . . . . . . . . . . . . . . 49 5 Logic Design 52 5.1 I/O Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.2 Memory Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.3 Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.4 Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.5 Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.5.1 Decoder Functional Unit . . . . . . . . . . . . . . . . . . . . . . . . . 57 6 Implementation, Experiment and Analysis 60 6.1 Matrix Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.2 Code Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.2.1 Injected Bit-by-Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 6.2.2 Channel Model with Additive White Gaussian Noise (AWGN) Channel 69 6.3 Hardware Measurement and Comparison . . . . . . . . . . . . . . . . . . . . 70 6.3.1 Hardware Measurement . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.3.2 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7 Conclusions and Future Works 76 7.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 7.2 Future Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

    [1] Weldon. E.J. Peterson W. Wesley, Error-correcting codes, Cambridge, 1972.
    [2] P.Uard, “A 360mw 105mb/s dvb-s2 complaint codec based in 64800b ldpc and bch
    codes enabling satellite transmission portable devices”, Proc. IEEE Int’l Solid-State
    Cir. Conf. (ISSCC), vol. 3, pp. 310–311, Feb. 2008.
    [3] Mitsuhiko Ohta Toshihiko Morita and Takao Sugawara, “Efficiency of short ldpc codes
    combines with long reed-solomon codes for magnetic recording channels”, IEEE Trans.
    MAGNETICS., vol. 40, no. 4, July 2004.
    [4] R.G. Gallager, “Low density parity check codes”, IRE Trans. Inform. Theory, , no.
    IT-8, pp. 21–28, Jan. 1962.
    [5] A. Sridharan T.E. Fuja R. Tanner, D. Sridhara and D. Costello Jr, “Ldpc block and
    convolutional codes based on circulant matrices”, IEEE Trans. on Information Theory,
    vol. 50, no. 12, pp. 2966–2984, Dec. 2004.
    [6] Jr. Shu Lin, Daniel J. Costello, Error Control Coding, Pearson, 2004.
    [7] S. Chang R. Echard, “The ¼-rotation low-density parity check codes”, in Proc. GLOBECOM
    2001, Shanghai, Nov. 2001, pp. 980–984.
    [8] Djurdjevic Lei Chen, Ivana and Shu Lin, “Near-shannon-limit quasi-cyclic low-density
    parity-check codes”, IEEE Communications Magazine, vol. 52, July 2004.
    [9] Takashi ISHIDA and Takashi WADAYAMA, “A construction of regular ldpc codes
    based on monomials and constant weight vectors”, Trans. of the Institute of Electronics,
    Information and Communication Engineers, vol. J87-A, no. 11, pp. 1457–1459, 2004.
    [10] Wayne Luk Dong-U Lee and C. Wang, “A flexible hardware encoder for low-density
    parity-check codes”, Annu. IEEE Symp. on Field-Programmable Custom Computing
    Mashines, 2004.
    [11] D. M. Arnold X. Y. Hu, E. Eleftheriou and A. Dholakia, “Efficient implamentation of
    the sum-product algorithm for decoding ldpc codes”, IEEE Global Telecomm.Conf., vol.
    2, pp. 25–29, Nov. 2001.
    [12] D. E. Hocevar, “A reduced complexity decoder architecture via layered decoding of ldpc
    codes”, Proc. IEEE Workshop on Signal Processing Syetems(SIPS), pp. 107–112, 2004.
    [13] Kuan-Hong Lin, “Design and implementation of ldpc decoder for ieee 802.11n communications”,
    Master Thesis, Dept. Electrical Engineering, National Tsing Hua University,
    Hsinchu, Taiwan, Oct. 2006.
    [14] R. Michael Tanner, “A recursive approach to low complexity codes”, IRE Trans. Inform.
    Theory, vol. 27, no. 5, Sept. 1981.
    [15] Tatsuyuki ISHIKAWA Kazunori SHIMIZU and Nozomu TOGAWA, “Power-efficient
    ldpc decoder architecture based on accelerated message-passing schedule”, IEICE Trans.
    on Fundamentals of Electronics, Communications and Computer Sciences, vol. E89-A,
    pp. 3602–3612, Dec. 2006.
    [16] Ahmad Darabiham Anthony Chan CArusone and Frank R. Kschischang, “A bit-serial
    approximate min-sum ldpc decoder and fpga implementation”, Proc. IEEE Int’l Symp.
    on Circuits and Systems (ISCAS), May 2006.
    [17] Mielke N. and Marquart. T, “Bit error rate in nand flash memories”, Reliability Physics
    Symposium, 2008. IRPS. IEEE international, pp. 9–19, 2008.
    [18] S. Haykin, Communication Systems, John Wiley and Sons, 2001.
    [19] T. Ikenaga T. Ishikawa, K. Shimizu and S. Goto, “High-throughput decoder for low
    density parity check codes”, in Proc. Asia and South Pacific Conf., 2006, pp. 112–113.
    [20] Ikenaqa T Qi Wang, Shimizu K and Goto S, “A power-saved 1gbps irregular ldpc
    decoder based on simplified min-sum algorithm”, VLSI Design, Automation and Test,
    2007. VLSI-DAT 2007. International Sumposium on, pp. 1–4, 2007.
    79

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE