CN104376876B - 一种ecc纠错能力的调节方法及调节装置 - Google Patents

一种ecc纠错能力的调节方法及调节装置 Download PDF

Info

Publication number
CN104376876B
CN104376876B CN201310352454.0A CN201310352454A CN104376876B CN 104376876 B CN104376876 B CN 104376876B CN 201310352454 A CN201310352454 A CN 201310352454A CN 104376876 B CN104376876 B CN 104376876B
Authority
CN
China
Prior art keywords
computing unit
current
maximum
error correcting
flash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310352454.0A
Other languages
English (en)
Other versions
CN104376876A (zh
Inventor
苏志强
刘会娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhaoyi Innovation Technology Group Co.,Ltd.
Original Assignee
GigaDevice Semiconductor Beijing Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GigaDevice Semiconductor Beijing Inc filed Critical GigaDevice Semiconductor Beijing Inc
Priority to CN201310352454.0A priority Critical patent/CN104376876B/zh
Publication of CN104376876A publication Critical patent/CN104376876A/zh
Application granted granted Critical
Publication of CN104376876B publication Critical patent/CN104376876B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种ECC纠错能力的调节方法及调节装置,所述方法包括:根据目前所有Flash中最大存储空间确定ECC的最大纠错能力和最长码长;根据最大纠错能力和最长码长配置所需的最大个数的计算单元;根据当前Flash的存储空间配置当前Flash所需的当前纠错能力和当前码长;根据当前纠错能力分别计算编码所需的计算单元个数和译码所需的计算单元个数;在当前Flash进行编程操作时,在最大个数的计算单元中调用与编码所需的计算单元个数一致的计算单元对Flash中的数据进行编码计算;在当前Flash进行读取操作时,在最大个数的计算单元中调用与译码所需的计算单元个数一致的计算单元对Flash中的数据进行译码计算。

Description

一种ECC纠错能力的调节方法及调节装置
技术领域
本发明涉及闪存存储技术领域,特别是涉及一种ECC纠错能力的调节方法及调节装置。
背景技术
由于Flash(闪存)的材料和工艺原因,在Flash的读写使用和存放过程中很容易产生坏块,所以使用错误检查和纠正(ECC,Error Correcting Code)来保证数据完整性。即在Flash的每一个页面上用额外的存储空间来保存ECC数据,当写入数据时,计算出固定长度数据的ECC数据,并更新;当数据读取时,也会读取ECC代码,来检验读取的数据是否正确,如读取数据不正确时,通过ECC代码来校正数据。
由于在不同的Flash中,存储容量是一定的,而ECC纠错需要的纠错码是占用空间的,所以给出的存储空间直接决定了ECC码的纠错能力和码长。不同工艺下的Flash所需要的ECC纠错能力是不同的,工艺决定了出错的概率,从而决定了所需的纠错能力。由于不同的纠错能力所需要的空间不同,所以Flash的存储空间必须能够满足纠错所需空间的需要,才能正常使用Flash。如果针对每种工艺需求都单独设计处理,成本将非常高,因此当需要支持多种工艺需求时,就需要ECC的纠错能力和码长可调。
发明内容
本发明提供一种ECC纠错能力的调节方法及调节装置,以解决对每种工艺的Flash单独处理造成的效率低、成本高的问题。
为了解决上述问题,本发明公开了一种ECC纠错能力的调节方法,包括:
根据目前所有Flash中的最大存储空间确定ECC的最大纠错能力和最长码长;
根据所述ECC的最大纠错能力和最长码长配置所需的最大个数的计算单元;
根据当前Flash的存储空间配置当前Flash所需的ECC的当前纠错能力和当前码长;
根据所述当前纠错能力分别计算编码所需的计算单元个数和译码所需的计算单元个数;
在当前Flash进行编程操作时,在最大个数的计算单元中调用与所述编码所需的计算单元个数一致的计算单元对Flash中的数据进行编码计算;
在当前Flash进行读取操作时,在最大个数的计算单元中调用与所述译码所需的计算单元个数一致的计算单元对Flash中的数据进行译码计算。
可选地,所述根据所述当前纠错能力计算编码所需的计算单元个数,包括:
调用所述当前纠错能力的ECC编码计算编码对应的计算单元个数。
可选地,所述根据所述当前纠错能力计算译码所需的计算单元个数,包括:
调用所述当前纠错能力的ECC译码计算译码对应的计算单元个数。
可选地,所述当前纠错能力小于所述最大纠错能力;
所述当前码长小于所述最长码长。
可选地,还包括:
根据译码结果判断读取的数据是否有错;当读取的数据有错时,根据所述当前码长和译码计算中确定的读取的数据的错误个数对Flash存储数据进行对应的纠错处理;当读取的数据没错时,退出译码。
本发明还公开了一种ECC纠错能力的调节装置,其特征在于,包括:
确定模块,用于根据目前所有Flash中的最大存储空间确定ECC的最大纠错能力和最长码长;
计算单元配置模块,用于根据所述ECC的最大纠错能力和最长码长配置所需的最大个数的计算单元;
纠错能力配置模块,用于根据当前Flash的存储空间配置当前Flash所需的ECC的当前纠错能力;
码长配置模块,用于根据当前Flash的存储空间配置当前Flash所需的ECC的当前码长;
计算模块,用于根据所述当前纠错能力分别计算编码所需的计算单元个数和译码所需的计算单元个数;
编码模块,用于在当前Flash进行编程操作时,在最大个数的计算单元中调用与所述编码所需的计算单元个数一致的计算单元对Flash中的数据进行编码计算;
译码模块,用于在当前Flash进行读取操作时,在最大个数的计算单元中调用与所述译码所需的计算单元个数一致的计算单元对Flash中的数据进行译码计算。
可选地,所述计算模块包括:
编码计算子模块,用于调用所述当前纠错能力的ECC编码计算编码对应的计算单元个数。
可选地,所述计算模块包括:
译码计算子模块,用于调用所述当前纠错能力的ECC译码计算译码对应的计算单元个数。
可选地,所述当前纠错能力小于所述最大纠错能力;
所述当前码长小于所述最长码长。
可选地,还包括:
纠错模块,用于根据译码结果判断读取的数据是否有错;当读取的数据有错时,根据所述当前码长和译码计算中确定的读取的数据的错误个数对Flash存储数据进行对应的纠错处理;当读取的数据没错时,退出译码。
与现有技术相比,本发明包括以下优点:
本发明首先根据目前所有Flash中的最大存储空间确定ECC的最大纠错能力和最长码长,然后根据所述ECC的最大纠错能力和最长码长配置所需的最大个数的计算单元,接着根据当前Flash的存储空间配置当前Flash所需的ECC的当前纠错能力和当前码长,之后根据所述当前纠错能力分别计算编码所需的计算单元个数和译码所需的计算单元个数,最后在当前Flash进行编程操作时,在最大个数的计算单元中调用与所述编码所需的计算单元个数一致的计算单元对Flash中的数据进行编码计算;在当前Flash进行读取操作时,在最大个数的计算单元中调用与所述译码所需的计算单元个数一致的计算单元对Flash中的数据进行译码计算。这样虽然不同工艺的Flash需要的纠错能力和码长不同,对应的计算单元个数也不同,但是都可以从最大个数的计算单元中选择一部分计算单元来实现。也就是说,最大个数的计算单元可以实现不同纠错能力和码长的编码和译码,本发明可以根据当前存储空间配置当前纠错能力和当前码长,并且可以复用同一个计算单元(最大个数计算单元)来实现编码和译码,因此可以支持多种ECC纠错能力和码长,不需要针对不同工艺的Flash进行单独设计,加快了开发周期,降低了开发成本。
附图说明
图1是本发明实施例一种ECC纠错能力的调节方法的流程图;
图2是本发明另一实施例一种ECC纠错能力的调节方法的流程图;
图3是本发明实施例一种ECC纠错能力的调节装置的结构框图;
图4是本发明实施例一种ECC纠错能力的调节原理图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明提出了一种ECC纠错能力的调节方法,旨在Flash应用中,可以在一个设计里实现同时支持不同纠错能力和纠错码码长的BCH纠错码,从而可以在不同的Flash中,动态调整ECC的纠错能力。
实施例一:
参照图1,示出了本发明一种ECC纠错能力的调节方法的流程图,本实施例具体可以包括以下步骤:
步骤101,根据目前所有Flash中的最大存储空间确定ECC的最大纠错能力和最长码长。
不同工艺下的Flash所需要的ECC纠错能力是不同的,工艺决定了出错的概率,从而决定了所需的纠错能力。由于不同的纠错能力所需要的空间不同,所以Flash的存储空间必须能够满足纠错所需空间的需要,才能正常使用Flash。因此需要根据目前所有Flash中的最大存储空间来确定其所支持的最大纠错能力和最长码长。目前所有的Flash中,工艺不同的Flash对应的最大存储空间也不同,首先找出目前所有Flash中最大的那个存储空间,接着确定该最大存储空间所能支持的ECC的最大纠错能力和最长码长。
步骤102,根据所述ECC的最大纠错能力和最长码长配置所需的最大个数的计算单元。
根据步骤101中所确定的ECC的最大纠错能力和最长码长配置所需要的最大个数的计算单元,这里最大个数的计算单元是指最大纠错能力和最长码长所需要的全部计算单元。
步骤103,根据当前Flash的存储空间配置当前Flash所需的ECC的当前纠错能力和当前码长。
当前Flash选定之后,就确定了存储器,根据存储空间配置当前Flash所支持的纠错能力和码长作为当前纠错能力和当前码长。由于当前Flash的存储空间小于所有Flash中的最大存储空间,因此当前纠错能力小于步骤102中所配置的最大纠错能力,当前码长小于步骤101中所配置的最长码长。
步骤104,根据所述当前纠错能力分别计算编码所需的计算单元个数和译码所需的计算单元个数。
可以在Flash进行编码操作的时候,计算编码所需的计算单元个数。在Flash进行读取操作的时候,计算译码所需的计算单元个数。由于纠错能力与所需要的计算单元个数是成正比的,而当前纠错能力小于最大纠错能力,因此依据当前纠错能力计算出来的编码所需的计算单元个数小于步骤102中配置的最大个数的计算单元的个数。同样,依据当前纠错能力计算出来的译码所需的计算单元的个数也小于步骤102中配置的最大个数的计算单元的个数。也就是说,只需要从最大个数的计算单元中选取一部分计算单元,就可以完成编码计算,同理,从最大个数的计算单元中选择一部分计算单元,也可以完成译码计算。
步骤105,在当前Flash进行编程操作时,在最大个数的计算单元中调用与所述编码所需的计算单元个数一致的计算单元对Flash中的数据进行编码计算。
例如,最大个数计算单元是20个计算单元,编码所需的计算单元的个数是5个,那么在20个最大个数计算单元中,调用任意5个计算单元即可实现编码操作。需要说明的是,本实施例不限定具体调用20个计算单元中的哪5个计算单元,只要从20个计算单元中选择个数满足5个的计算单元即可。
步骤106,在当前Flash进行读取操作时,在最大个数的计算单元中调用与所述译码所需的计算单元个数一致的计算单元对Flash中的数据进行译码计算。
例如,最大个数计算单元是20个计算单元,译码所需的计算单元的个数是10个,那么在20个最大个数计算单元中,调用任意10个计算单元即可实现读取操作。需要说明的是,本实施例不限定具体调用20个计算单元中的哪10个计算单元,只要从20个计算单元中选择个数满足10个的计算单元即可。
本实施例首先根据目前所有Flash中的最大存储空间确定ECC的最大纠错能力和最长码长,然后根据所述ECC的最大纠错能力和最长码长配置所需的最大个数的计算单元,接着根据当前Flash的存储空间配置当前Flash所需的ECC的当前纠错能力和当前码长,之后根据所述当前纠错能力分别计算编码所需的计算单元个数和译码所需的计算单元个数,最后在当前Flash进行编程操作时,在最大个数的计算单元中调用与所述编码所需的计算单元个数一致的计算单元对Flash中的数据进行编码计算;在当前Flash进行读取操作时,在最大个数的计算单元中调用与所述译码所需的计算单元个数一致的计算单元对Flash中的数据进行译码计算。这样虽然不同工艺的Flash需要的纠错能力和码长不同,对应的计算单元个数也不同,但是都可以从步骤102中配置的最大个数的计算单元中选择一部分计算单元来实现。也就是说,步骤102中配置的最大个数的计算单元可以实现不同纠错能力和码长的编码和译码,即可以支持多种ECC纠错能力和码长,不需要针对不同工艺的Flash进行单独设计,加快了开发周期,降低了开发成本。
实施例二:
参照图2示出了本发明一种ECC纠错能力的调节方法的流程图,本实施例具体可以包括以下步骤:
步骤201,根据目前所有Flash中的最大存储空间确定ECC的最大纠错能力和最长码长。
不同工艺下的Flash,需要的纠错能力可能不同,由工艺决定了出错的概率,从而决定了所需的纠错能力。由于不同的纠错能力所需要的空间不同,所以Flash的存储空间必须能满足纠错所需空间的需要,才能正常使用Flash。因此需要根据Flash的存储空间来确定ECC的纠错能力和码长,本实施例中选择目前所有Flash中的最大存储空间来确定ECC的最大纠错能力和最长码长。
步骤202,根据所述ECC的最大纠错能力和最长码长配置所需的最大个数的计算单元。
根据步骤201中所确定的ECC的最大纠错能力和最长码长配置所需要的最大个数的计算单元,这里最大个数的计算单元是指最大纠错能力和最长码长所需要的全部计算单元。
步骤203,根据当前Flash的存储空间配置当前Flash所需的ECC的当前纠错能力和当前码长。
当前Flash选定之后,就确定了存储器,根据存储空间配置当前Flash所支持的纠错能力和码长作为当前纠错能力和当前码长。由于当前Flash的存储空间小于所有Flash中的最大存储空间,因此当前纠错能力小于步骤202中所配置的最大纠错能力,当前码长小于步骤201中所配置的最长码长。
步骤204,根据所述当前纠错能力分别计算编码所需的计算单元个数和译码所需的计算单元个数。
可以在Flash进行编码操作的时候,计算编码所需的计算单元个数。在Flash进行读取操作的时候,计算译码所需的计算单元个数。由于纠错能力与所需要的计算单元个数是成正比的,而当前纠错能力小于最大纠错能力,因此依据当前纠错能力计算出来的编码所需的计算单元个数小于步骤202中配置的最大个数的计算单元的个数。同样,依据当前纠错能力计算出来的译码所需的计算单元的个数也小于步骤202中配置的最大个数的计算单元的个数。也就是说,只需要从最大个数的计算单元中选取一部分计算单元,就可以完成编码计算,同理,从最大个数的计算单元中选择一部分计算单元,也可以完成译码计算。
本实施例中,所述根据所述当前纠错能力计算编码所需的计算单元个数,具体可以包括:调用所述当前纠错能力的ECC编码计算编码对应的计算单元个数。本实施例中所述根据所述当前纠错能力计算译码所需的计算单元个数,具体可以包括:调用所述当前纠错能力的ECC译码计算译码对应的计算单元个数。
步骤205,在当前Flash进行编程操作时,在最大个数的计算单元中调用与所述编码所需的计算单元个数一致的计算单元对Flash中的数据进行编码计算。
需要说明的是,最大个数的计算单元相当于在不同纠错能力和码长的情况下,提出来的公共单元,这样就可以在不同的纠错需要时复用同一计算单元,这里的同一计算单元指的是最大个数的计算单元这一整体,当然具体纠错的时候可以根据纠错能力选择最大个数的计算单元中的一部分进行编译码的计算。例如,最大个数计算单元是20个计算单元,编码所需的计算单元的个数是5个,那么在20个最大个数计算单元中,调用任意5个计算单元即可实现编码操作。需要说明的是,本实施例不限定具体调用20个计算单元中的哪5个计算单元,只要从20个计算单元中选择个数满足5个的计算单元即可。
步骤206,在当前Flash进行读取操作时,在最大个数的计算单元中调用与所述译码所需的计算单元个数一致的计算单元对Flash中的数据进行译码计算。
例如,最大个数计算单元是20个计算单元,译码所需的计算单元的个数是10个,那么在20个最大个数计算单元中,调用任意10个计算单元即可实现读取操作。需要说明的是,本实施例不限定具体调用20个计算单元中的哪10个计算单元,只要从20个计算单元中选择个数满足10个的计算单元即可。
步骤207,根据译码结果判断读取的数据是否有错;当读取的数据有错时,根据所述当前码长和译码计算中确定的读取的数据的错误个数对Flash存储数据进行对应的纠错处理;当读取的数据没错时,退出译码。
BCH译码包括伴随式计算、计算错误位置多项式、查找错误位置和纠错四个步骤,通过译码结果可以判断Flash读取的数据是否有错。在读取的数据出错时,可以根据步骤203配置的ECC的当前码长和译码结果所确定的错误个数对Flash的存储数据进行对应的纠错处理。在读取的数据没有出错时,直接退出译码即可。
本实施例首先根据目前所有Flash中的最大存储空间确定ECC的最大纠错能力和最长码长,然后根据所述ECC的最大纠错能力和最长码长配置所需的最大个数的计算单元,接着根据当前Flash的存储空间配置当前Flash所需的ECC的当前纠错能力和当前码长,之后根据所述当前纠错能力分别计算编码所需的计算单元个数和译码所需的计算单元个数,然后在当前Flash进行编程操作时,在最大个数的计算单元中调用与所述编码所需的计算单元个数一致的计算单元对Flash中的数据进行编码计算;在当前Flash进行读取操作时,在最大个数的计算单元中调用与所述译码所需的计算单元个数一致的计算单元对Flash中的数据进行译码计算。最后根据译码结果判断读取的数据是否有错;当读取的数据有错时,根据所述当前码长和译码计算中确定的读取的数据的错误个数对Flash存储数据进行对应的纠错处理;当读取的数据没错时,退出译码。这样虽然不同工艺的Flash需要的纠错能力和码长不同,对应的计算单元个数也不同,但是都可以从步骤102中配置的最大个数的计算单元中选择一部分计算单元来实现。也就是说,步骤102中配置的最大个数的计算单元可以实现不同纠错能力和码长的编码和译码,本实施例可以根据当前存储空间配置当前纠错能力和当前码长,并且可以复用最大计算单元中的部分计算单元来实现编码和译码,因此可以支持多种ECC纠错能力和码长,不需要针对不同工艺的Flash进行单独设计,加快了开发周期,降低了开发成本。
实施例三:
参照图3示出了本发明一种ECC纠错能力的调节装置的结构框图,本实施例具体可以包括:确定模块11、计算单元配置模块12、纠错能力配置模块13、码长配置模块14、计算模块15、编码模块16和译码模块17,其中:
确定模块11,用于根据目前所有Flash中的最大存储空间确定ECC的最大纠错能力和最长码长。
计算单元配置模块12,用于根据所述ECC的最大纠错能力和最长码长配置所需的最大个数的计算单元。
纠错能力配置模块13,用于根据当前Flash的存储空间配置当前Flash所需的ECC的当前纠错能力。
码长配置模块14,用于根据当前Flash的存储空间配置当前Flash所需的ECC的当前码长。
计算模块15,用于根据所述当前纠错能力分别计算编码所需的计算单元个数和译码所需的计算单元个数。
编码模块16,用于在当前Flash进行编程操作时,在最大个数的计算单元中调用与所述编码所需的计算单元个数一致的计算单元对Flash中的数据进行编码计算。
译码模块17,用于在当前Flash进行读取操作时,在最大个数的计算单元中调用与所述译码所需的计算单元个数一致的计算单元对Flash中的数据进行译码计算。
本实施例提供的ECC纠错能力的调节装置,可以支持多种ECC纠错能力和码长,不需要针对不同工艺的Flash进行单独设计,加快了开发周期,降低了开发成本。
在本发明的一种优选实施例中,所述计算模块15可以包括:编码计算子模块。编码计算子模块,用于调用所述当前纠错能力的ECC编码计算编码对应的计算单元个数。
在本发明的另一种优选实施例中,所述计算模块15可以包括:译码计算子模块。译码计算子模块,用于调用所述当前纠错能力的ECC译码计算译码对应的计算单元个数。
需要说明的是,由于纠错能力与所需要的计算单元个数是成正比的,而当前纠错能力小于最大纠错能力,因此编码计算子模块依据当前纠错能力计算出来的编码所需的计算单元个数小于计算单元配置模块中配置的最大个数的计算单元的个数。同样,译码计算子模块依据当前纠错能力计算出来的译码所需的计算单元的个数也小于计算单元配置模块中配置的最大个数的计算单元的个数。
在本发明的一种优选实施例中,所述ECC纠错能力的调节装置,还包括:纠错模块。纠错模块,用于根据译码结果判断读取的数据是否有错;当读取的数据有错时,根据所述当前码长和译码计算中确定的读取的数据的错误个数对Flash存储数据进行对应的纠错处理;当读取的数据没错时,退出译码。
可以结合图4所述的原理图来理解本发明。如图4所示,包括:纠错能力配置单元21、码长配置单元22、计算控制模块23、各个纠错能力计算单元24和纠错控制单元25。首先,需要配置纠错能力和码长,进入纠错能力配置单元21配置纠错能力,进入码长配置单元22配置码长。其次,将配置信息传送到计算控制模块23之后,计算控制模块23调用当前纠错能力对应的编译码的各步骤计算单元(各个纠错能力计算单元中的一部分计算单元)进行编译码的计算。在译码结束之后,如果译码结果显示有错,则调用纠错控制单元25,根据当前码长和错误个数做对应的纠错。其中各个纠错能力计算单元24是在不同纠错能力和码长的情况下,提出来的公共单元,这样就可以在不同的纠错需要时复用同一计算单元(都是各个纠错能力计算单元),可以节省面积,同时由于不需要针对每种需求单独做设计,可以加快开发周期,降低开发成本。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图1方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的一种ECC纠错能力的调节方法及调节装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种ECC纠错能力的调节方法,其特征在于,包括:
根据目前所有Flash中的最大存储空间确定ECC的最大纠错能力和最长码长;
根据所述ECC的最大纠错能力和最长码长配置所需的最大个数的计算单元;
根据当前Flash的存储空间配置当前Flash所需的ECC的当前纠错能力和当前码长;
根据所述当前纠错能力分别计算编码所需的计算单元个数和译码所需的计算单元个数;
在当前Flash进行编程操作时,在所述最大个数的计算单元中调用与所述编码所需的计算单元个数一致的计算单元对当前Flash中的数据进行编码计算;
在当前Flash进行读取操作时,在所述最大个数的计算单元中调用与所述译码所需的计算单元个数一致的计算单元对当前Flash中的数据进行译码计算。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前纠错能力计算编码所需的计算单元个数,包括:
调用所述当前纠错能力的ECC编码计算编码对应的计算单元个数。
3.根据权利要求1所述的方法,其特征在于,所述根据所述当前纠错能力计算译码所需的计算单元个数,包括:
调用所述当前纠错能力的ECC译码计算译码对应的计算单元个数。
4.根据权利要求1所述的方法,其特征在于:
所述当前纠错能力小于所述最大纠错能力;
所述当前码长小于所述最长码长。
5.根据权利要求1所述的方法,其特征在于,还包括:
根据译码结果判断读取的数据是否有错;当读取的数据有错时,根据所述当前码长和译码计算中确定的读取的数据的错误个数对当前Flash存储数据进行对应的纠错处理;当读取的数据没错时,退出译码。
6.一种ECC纠错能力的调节装置,其特征在于,包括:
确定模块,用于根据目前所有Flash中的最大存储空间确定ECC的最大纠错能力和最长码长;
计算单元配置模块,用于根据所述ECC的最大纠错能力和最长码长配置所需的最大个数的计算单元;
纠错能力配置模块,用于根据当前Flash的存储空间配置当前Flash所需的ECC的当前纠错能力;
码长配置模块,用于根据当前Flash的存储空间配置当前Flash所需的ECC的当前码长;
计算模块,用于根据所述当前纠错能力分别计算编码所需的计算单元个数和译码所需的计算单元个数;
编码模块,用于在当前Flash进行编程操作时,在所述最大个数的计算单元中调用与所述编码所需的计算单元个数一致的计算单元对当前Flash中的数据进行编码计算;
译码模块,用于在当前Flash进行读取操作时,在所述最大个数的计算单元中调用与所述译码所需的计算单元个数一致的计算单元对当前Flash中的数据进行译码计算。
7.根据权利要求6所述的装置,其特征在于,所述计算模块包括:
编码计算子模块,用于调用所述当前纠错能力的ECC编码计算编码对应的计算单元个数。
8.根据权利要求6所述的装置,其特征在于,所述计算模块包括:
译码计算子模块,用于调用所述当前纠错能力的ECC译码计算译码对应的计算单元个数。
9.根据权利要求6所述的装置,其特征在于:
所述当前纠错能力小于所述最大纠错能力;
所述当前码长小于所述最长码长。
10.根据权利要求6所述的装置,其特征在于,还包括:
纠错模块,用于根据译码结果判断读取的数据是否有错;当读取的数据有错时,根据所述当前码长和译码计算中确定的读取的数据的错误个数对当前Flash存储数据进行对应的纠错处理;当读取的数据没错时,退出译码。
CN201310352454.0A 2013-08-13 2013-08-13 一种ecc纠错能力的调节方法及调节装置 Active CN104376876B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310352454.0A CN104376876B (zh) 2013-08-13 2013-08-13 一种ecc纠错能力的调节方法及调节装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310352454.0A CN104376876B (zh) 2013-08-13 2013-08-13 一种ecc纠错能力的调节方法及调节装置

Publications (2)

Publication Number Publication Date
CN104376876A CN104376876A (zh) 2015-02-25
CN104376876B true CN104376876B (zh) 2018-03-27

Family

ID=52555737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310352454.0A Active CN104376876B (zh) 2013-08-13 2013-08-13 一种ecc纠错能力的调节方法及调节装置

Country Status (1)

Country Link
CN (1) CN104376876B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106504796A (zh) * 2016-10-28 2017-03-15 东南大学 一种应用于nand闪存上的极化码纠错方案
CN108519928A (zh) * 2018-03-31 2018-09-11 北京联想核芯科技有限公司 一种动态调整ecu的处理方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499325A (zh) * 2008-02-03 2009-08-05 深圳艾科创新微电子有限公司 一种具有可变纠错能力的非易失性存储系统及方法
CN103077096A (zh) * 2012-12-31 2013-05-01 记忆科技(深圳)有限公司 数据纠错系统、固态硬盘及数据纠错方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101670922B1 (ko) * 2009-08-07 2016-11-09 삼성전자주식회사 아날로그 신호를 출력하는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499325A (zh) * 2008-02-03 2009-08-05 深圳艾科创新微电子有限公司 一种具有可变纠错能力的非易失性存储系统及方法
CN103077096A (zh) * 2012-12-31 2013-05-01 记忆科技(深圳)有限公司 数据纠错系统、固态硬盘及数据纠错方法

Also Published As

Publication number Publication date
CN104376876A (zh) 2015-02-25

Similar Documents

Publication Publication Date Title
JP5424596B2 (ja) 面積効率が高いエラー訂正デコーダ構造を含むマルチチャンネルメモリシステム
CN105340022B (zh) 用于校正数据错误的电路、设备及方法
US8826099B2 (en) Memory controller, semiconductor memory system, and memory control method
KR101437517B1 (ko) 인터리빙 기법을 이용한 메모리 시스템, 및 그 방법
US10404283B2 (en) Method and associated decoding circuit for decoding an error correction code
US8850284B2 (en) Flash memory controller and data reading method
US10009045B2 (en) Decoding method, memory controlling circuit unit and memory storage device
US20210028795A1 (en) Memory Controller and Method for Decoding Memory Devices with Early Hard-Decode Exit
US20160329912A1 (en) Data error correcting method and device, and computer storage medium
CN111696615A (zh) 存储器系统和操作存储器系统的方法
WO2019136976A1 (zh) 一种编译码系统使用多种错误纠正码组合的方法
CN104376876B (zh) 一种ecc纠错能力的调节方法及调节装置
US9164831B2 (en) Memory controller, semiconductor storage device, and decoding method
KR102004928B1 (ko) 데이터 저장 장치 및 그것의 에러 정정 코드 처리 방법
CN111475868B (zh) 适用于功能和信息安全芯片的cpu指令保护方法及系统
US20150200686A1 (en) Encoding device, decoding device, and operating method thereof
CN208460001U (zh) 一种非易失性半导体存储器
CN101996688B (zh) 应用可变动错误更正码容量的快闪存储器控制方法
CN106250050A (zh) 用于数据传输中的实时空白页检测的方法和装置
CN103870354B (zh) 一种错误检查和纠正码译码器及译码方法
CN109857340B (zh) Nor flash中文件的存储和读取方法、装置及存储介质
CN116662063B (zh) 一种闪存的纠错配置方法、纠错方法、系统、设备及介质
US11115055B2 (en) Method and apparatus for encoding and decoding data in memory system
KR20230132697A (ko) 일반 연결 코드 코드워드를 디코딩하는 장치, 저장 시스템 및 그 제어 방법
KR102023120B1 (ko) 연접 bch 부호화 방법, 부호화 장치 및 신뢰성 기반 복호화 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094

Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd.

Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing

Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.