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对所述数据进行编码,其中,所述第一重要级的重要程度高于所述第二重要级的重要程度;以及将编码后的所述数据写入到存储器中,并保存所述数据的编码信息,其中,所述数据的编码信息包括所述数据采用的编码方式。
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。