The invention discloses a method for encoding and decoding, error checking and correcting device and a processor, wherein the encoding method includes: a memory controller to write instruction data when receiving, analysis of important degree of the data; belongs to the important level in the importance of the data, using the data encoding BCH and LDPC respectively, or by not higher than the data encoding the first rate LDPC; second important level in the important degree belongs to the data, the data encoding using the BCH or higher than the first rate LDPC; will be written into the data after encoding to in the memory, and save the encoding information of the data. In this way, the encoding and decoding modes can be configured according to different data intelligence.
【技術實現步驟摘要】
一種用于錯誤檢查和糾正的編解碼方法、裝置及處理器
本申請涉及存儲
,特別是一種用于錯誤檢查和糾正的編解碼方法、裝置及處理器。
技術介紹
NAND存儲器是目前使用廣泛的數據存儲工具。數據在NAND存儲器內部的傳輸和保存的過程中,可能會由于存儲器的硬件故障、軟件故障、硬盤錯誤等導致該數據的損壞。故,為了保證用戶數據的完整性,則需要對存儲數據進行錯誤檢查和糾正(ErrorCorrectingCode,簡稱:ECC)。通常,NAND存儲器在寫入數據時,需要對該數據進行編碼使得編碼后的該數據可實現錯誤檢查和糾正,再將該可實現錯誤檢查和糾正的數據寫入到存儲器中。在需要讀出數據時,對存儲的數據進行對應解碼以實現錯誤檢查和糾正,進而輸出經過錯誤檢查和糾正得到的準確數據。然而,現有存儲器都是固定采用一種編解碼方式,并不能針對不同數據而靈活配置編解碼方式。
技術實現思路
本申請提供一種用于錯誤檢查和糾正的編解碼方法、裝置及處理器,能夠針對不同數據智能配置編解碼方式。本申請第一方面提供一種用于錯誤檢查和糾正的編碼方法,包括:存儲控制器在接收到數據的寫入指令時,分析所述數據的重要程度;在所述數據的重要程度屬于第一重要級時,分別采用BCH和低密度奇偶校驗碼LDPC對所述數據進行編碼,或采用不高于第一碼率的LDPC對所述數據進行編碼;在所述數據的重要程度屬于第二重要級時,采用所述BCH或者高于所述第一碼率的LDPC對所述數據進行編碼,其中,所述第一重要級的重要程度高于所述第二重要級的重要程度;以及將編碼后的所述數據寫入到存儲器中,并保存所述數據的編碼信息,其中,所述數據的編碼信息包 ...
【技術保護點】
一種用于錯誤檢查和糾正的編碼方法,其特征在于,包括:存儲控制器在接收到數據的寫入指令時,分析所述數據的重要程度;在所述數據的重要程度屬于第一重要級時,分別采用BCH和LDPC對所述數據進行編碼,或采用不高于第一碼率的LDPC對所述數據進行編碼;在所述數據的重要程度屬于第二重要級時,采用所述BCH或者高于所述第一碼率的LDPC對所述數據進行編碼,其中,所述第一重要級的重要程度高于所述第二重要級的重要程度;以及將編碼后的所述數據寫入到存儲器中,并保存所述數據的編碼信息,其中,所述數據的編碼信息包括所述數據采用的編碼方式。
【技術特征摘要】
1.一種用于錯誤檢查和糾正的編碼方法,其特征在于,包括:存儲控制器在接收到數據的寫入指令時,分析所述數據的重要程度;在所述數據的重要程度屬于第一重要級時,分別采用BCH和LDPC對所述數據進行編碼,或采用不高于第一碼率的LDPC對所述數據進行編碼;在所述數據的重要程度屬于第二重要級時,采用所述BCH或者高于所述第一碼率的LDPC對所述數據進行編碼,其中,所述第一重要級的重要程度高于所述第二重要級的重要程度;以及將編碼后的所述數據寫入到存儲器中,并保存所述數據的編碼信息,其中,所述數據的編碼信息包括所述數據采用的編碼方式。2.根據權利要求1所述的用于錯誤檢查和糾正的編碼方法,其特征在于,所述分析所述數據的重要程度的步驟,包括:分析所述數據的來源、屬性及類型中的至少一種,得到所述數據的重要程度值;當所述重要程度值超過第一預設值時,確定所述數據的重要程度屬于第一重要級;以及當所述重要程度值不超過所述第一預設值時,確定所述數據的重要程度屬于第二重要級。3.根據權利要求2所述的用于錯誤檢查和糾正的編碼方法,其特征在于,所述第二重要級包括第一重要子級和第二重要子級;所述當所述重要程度值不超過所述第一預設值時,確定所述數據的重要程度屬于第二重要級的步驟包括:當所述重要程度值不超過所述第一預設值且超過第二預設值時,確定所述數據的重要程度屬于所述第一重要子級;當所述重要程度值不超過所述第二預設值時,確定所述數據的重要程度屬于所述第二重要子級,其中,所述第一預設值大于所述第二預設值;以及所述在所述數據的重要程度屬于第二重要級時,采用所述BCH或者高于所述第一碼率的LDPC對所述數據進行編碼的步驟,包括:在所述數據的重要程度屬于所述第一重要子級時,采用高于預設校驗位數的BCH或高于所述第一碼率且低于第二碼率的LDPC對所述數據進行編碼,在所述數據的重要程度屬于所述第二重要子級時,采用不高于所述預設校驗位數的BCH或不低于所述第二碼率的LDPC對所述數據進行編碼,其中,所述第一碼率高于所述第二碼率。4.根據權利要求1至3任一項所述的用于錯誤檢查和糾正的編碼方法,其特征在于,所述存儲器為SLC、MLC或TLC類型的NAND存儲器;在所述將編碼后的所述數據寫入到存儲器中,并保存所述數據的編碼信息的步驟之前,所述方法還包括:確定所述存儲器的類型,并當所述存儲器的類型為SLC時,將LDPC解碼中的有限域GF(2^q)中的所述q取值為1;當所述存儲器的類型為MLC時,將所述q取值為2;當所述存儲器的類型為TLC時,將所述q取值為3;以及所述數據的編碼信息還包括所述q的取值。5.根據權利要求1至3任一項所述的用于錯誤檢查和糾正的編碼方法,其特征在于,所述BCH的生成矩陣按照所述BCH的校驗位數進行選擇,和/或,所述LDPC的生成矩陣按照所述LDPC的碼率進行選擇。6.一種用于錯誤檢查和糾正的解碼方法,其特征在于,包括:存儲控制器在接收到數據的讀取指令時,從存儲器中讀取所述數據及所述數據的編碼信息,其中,所述編碼信息包括所述數據采用的編碼方式,所述數據采用的編碼方式取決于所述數據的重要程度,在所述數據的重要程度為第一重要級時,采用BCH和LDPC的結合或不高于第一碼率的LDPC的編碼方式;在所述數據的重要程度為第二重要級時,采用所述BCH或者高于所述第一碼率的LDPC的編碼方式,所述第一重要級的重要程度大于所述第二重要級的重要程度;根據所述編碼信息確定所述數據的編碼方式,并采用與所述編碼方式對應的解碼方式對所述數據進行解碼,其中,所述解碼方式包括BCH和LDPC的結合、不高于第一碼率的LDPC、BCH或者高于所述第一碼率的LDPC;以及輸出進行所述解碼后得到的數據。7.根據權利要求6所述的用于...
【專利技術屬性】
技術研發人員:劉安生,
申請(專利權)人:聯發科技新加坡私人有限公司,
類型:發明
國別省市:新加坡,SG
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。