CN107608818B - 解码方法、存储器存储装置及存储器控制电路单元 - Google Patents
解码方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN107608818B CN107608818B CN201610545280.3A CN201610545280A CN107608818B CN 107608818 B CN107608818 B CN 107608818B CN 201610545280 A CN201610545280 A CN 201610545280A CN 107608818 B CN107608818 B CN 107608818B
- Authority
- CN
- China
- Prior art keywords
- log
- likelihood ratio
- value
- perturbation
- met
- 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
Links
Images
Abstract
本发明提供一种适用于低密度奇偶检查解码的解码方法、存储器存储装置及存储器控制电路单元,其解码方法,所述解码方法包括对码字执行叠代解码操作,其中多个对数似然比值分别对应所述码字的多个数据位元值;判断所述叠代解码操作是否成功;若所述叠代解码操作不成功,判断是否符合扰动条件;若符合所述扰动条件,对所述对数似然比值中的第一对数似然比值执行保护操作,并且对所述对数似然比值中的多个第二对数似然比值执行扰动操作,其中所述第二对数似然比值不同于所述第一对数似然比值;以及在完成所述扰动操作后,再对所述码字进行所述叠代解码操作。
Description
技术领域
本发明涉及一种解码技术,尤其涉及低密度奇偶检查码的一种解码方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,为了确保可复写式非易失性存储器模块所储存的数据的正确性,在将某一数据储存至可复写式非易失性存储器模块之前,此数据会先被编码。编码后的数据(包含原始数据与错误更正码)会被储存至可复写式非易失性存储器模块中。往后,编码后的数据可被从可复写式非易失性存储器模块中读取并且被解码,以更正其中可能存在的错误。以往错误更正码多使用代数解码演算法,如(BCH code),而目前机率解码演算法,如低密度奇偶检查码(low density parity code,以下也称为LDPC),则逐渐成熟。低密度奇偶检查码是使用一个稀疏矩阵(sparse matrix)来编码与解码。
低密度奇偶检查码是Gallager于1960年首先提出的,可是在1960年之后,LDPC码逐渐地不受到喜爱,其因实现方式复杂且当时的技术又无法降低LDPC码实现方式的复杂度。然而,在1990年之后,LDPC码重新被研究,且已被证实若LDPC基于对应于LDPC码的坦纳图(Tanner Graph)和积演算法(sum-product algorithm,SPA)以进行叠代解码时,LDPC码可以达到近似于雪农(Shannon)信道极限的效能等级。
LDPC码通常会被定义为一个同位检查矩阵(parity-check matrix),且可以利用双分图(bipartite graph)来表达,其中双分图是有关于上述的坦纳图。双分图为一种由多个顶点所构成的图型,且该些顶点会被划分为两种不同的类型,而LDPC码得以由多个顶点所构成的双分图所表示。该些顶点中的一部分被称为变数节点(variable node),而其他顶点则被称为检查节点(check node)。该些变数节点为一对一的映射到该些已编码的数据位元(也称为码字,codeword)。变数节点也可称为信息节点(message node)或是位元节点(bit node)。检查节点也可称为奇偶节点(parity node)。
一般来说,LDPC解码器会在叠代解码操作中,经由未满足检查节点(unsatisfiedcheck node)信息或是对数似然比值(log-likelihood ratio,LLR)来进行解码。
然而,在位元错误率(bit error rate)方面,于进行叠代解码的过程中仍然会遭遇到例如高可靠度错误(High reliable error)、矩阵陷阱集合(matrix trapping set)、局部最大值(local maximum)或局部最小值(local minimum)等问题。这些问题会导致位元错误率的错误地面区(error floor region)与解码器的解码收敛速度(decodingconverging speed)的降低。因此,如何检测且解决发散的对数似然比值(以下也称,LLR)以提升LDPC解码器的效能,为此领域技术人员所关心的议题。
发明内容
本发明提供适用于低密度奇偶检查解码器的一种解码方法,可在叠代解码操作不成功时,判断是否符合扰动条件,以保护特定的对数似然比值且对其他不被保护的对数似然比值执行扰动操作,进而增进解码效能。
本发明的一范例实施例提供适用于低密度奇偶检查解码的一种解码方法,所述解码方法包括对码字执行叠代解码操作,其中多个对数似然比值分别对应所述码字的多个数据位元值;判断所述叠代解码操作是否成功;若所述叠代解码操作不成功,判断是否符合扰动条件;若符合所述扰动条件,对所述对数似然比值中的第一对数似然比值执行保护操作,并且对所述对数似然比值中的多个第二对数似然比值执行扰动操作,其中所述第二对数似然比值不同于所述第一对数似然比值;以及在完成所述扰动操作后,再对所述码字进行所述叠代解码操作。
本发明的一范例实施例提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。连接接口单元电性连接至主机系统。存储器控制电路单元电性连接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以对码字执行叠代解码操作来解码储存于所述可复写式非易失性存储器模块的数据,其中所述码字对应所述数据,其中多个对数似然比值分别对应所述码字的多个数据位元值。所述存储器控制电路单元更用以判断所述叠代解码操作是否成功,其中若所述叠代解码操作不成功,所述存储器控制电路单元更用以判断是否符合扰动条件。若符合所述扰动条件,所述存储器控制电路单元更用以对所述对数似然比值中的第一对数似然比值执行保护操作,并且对所述对数似然比值中的多个第二对数似然比值执行扰动操作,其中所述第二对数似然比值不同于所述第一对数似然比值。并且,在完成所述扰动操作后,所述存储器控制电路单元更用以再对所述码字进行所述叠代解码操作。
本发明的一范例实施例提供用以控制可复写式非易失性存储器模块的一种存储器控制电路单元。所述存储器控制电路单元包括主机接口、存储器接口、错误检查与校正电路以及存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至所述可复写式非易失性存储器模块。存储器管理电路电性连接至所述主机接口、所述存储器接口及所述错误检查与校正电路。所述存储器管理电路传送码字至所述错误检查与校正电路,其中所述错误检查与校正电路用以对所述码字执行叠代解码操作来解码储存于所述可复写式非易失性存储器模块的数据,其中所述码字对应所述数据,其中多个对数似然比值分别对应所述码字的多个数据位元值。所述错误检查与校正电路更用以判断所述叠代解码操作是否成功。若所述叠代解码操作不成功,所述错误检查与校正电路更用以判断是否符合扰动条件。若符合所述扰动条件,所述错误检查与校正电路更用以对所述对数似然比值中的第一对数似然比值执行一保护操作,并且对所述对数似然比值中的多个第二对数似然比值执行扰动操作,其中所述第二对数似然比值不同于所述第一对数似然比值。并且,在完成所述扰动操作后,所述错误检查与校正电路更用以再对所述码字进行所述叠代解码操作。
基于上述,本发明的范例实施例所提供的解码方法,可当符合扰动条件时,适应性地对特定的对数似然比值进行保护,且对于其他对数似然比值进行扰动,以避免在叠代解码过程中校验子/对数似然比值无法收敛的问题且强化了解码成功的机率,进而增进解码的效率且增强了工作效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所显示的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所显示的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的另一范例实施例所显示的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所显示的存储器存储装置的概要方框图;
图5是根据本发明的一范例实施例所显示的存储器控制电路单元的概要方框图;
图6是根据本发明的一范例实施例所显示的低密度奇偶检查码的置信传播(belief propagation)的示意图;
图7是根据本发明的范例实施例所显示的错误检查与校正电路的概要方框图;
图8是根据本发明的一范例实施例所显示的适用于低密度奇偶检查码解码器的解码方法的流程图。
附图标记:
10、30:存储器存储装置;
11、31:主机系统;
110:系统总线;
111:处理器;
112:随机存取存储器;
113:只读存储器;
114:数据传输接口;
12:输入/输出(I/O)装置;
20:主机板;
201:随身盘;
202:记忆卡;
203:固态硬盘;
204:无线存储器存储装置;
205:全球定位系统模块;
206:网络接口卡;
207:无线传输装置;
208:键盘;
209:屏幕;
210:喇叭;
32:SD卡;
33:CF卡;
34:嵌入式存储装置;
341:嵌入式多媒体卡;
342:嵌入式多晶片封装存储装置;
402:连接接口单元;
404:存储器控制电路单元;
406:可复写式非易失性存储器模块;
502:存储器管理电路;
504:主机接口;
506:存储器接口;
508:错误检查与校正电路;
510:缓冲存储器;
512:电源管理电路;
610:置信传播图;
601(1)~601(k):奇偶节点;
602(1)~602(n):信息节点;
L1~Ln:信道可靠度信息;
Li→j、Lj→i:可靠度信息;
710:解码管理电路;
720:保护电路;
730:扰动电路;
S801:步骤(对码字执行叠代解码操作);
S803:步骤(判断所述叠代解码操作是否成功);
S805:步骤(判断是否符合扰动条件);
S807:步骤(对第一对数似然比值执行保护操作);
S809:步骤(对第二对数似然比值执行扰动操作)。
具体实施方式
一般而言,存储器存储装置(也称,存储器储存系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的一范例实施例所显示的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所显示的主机系统、存储器存储装置及I/O装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机系统11可经由数据传输接口114将数据储存至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12电性连接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一个或多个。通过数据传输接口114,主机板20可以经由有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是随身盘201、记忆卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通信(NearField Communication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110电性连接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以储存数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据本发明的另一范例实施例所显示的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通信装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的安全数字(SecureDigital,SD)卡32、小型快闪(Compact Flash,CF)卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多晶片封装(embedded Multi Chip Package,eMCP)存储装置342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所显示的存储器存储装置的概要方框图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用序列总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、记忆棒(Memory Stick,MS)接口标准、多晶片封装(Multi-Chip Package)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、eMMC接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个晶片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的晶片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等操作。
可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404并且用以储存主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶记忆胞(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个记忆胞中可储存1个位元的快闪存储器模块)、多阶记忆胞(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个记忆胞中可储存2个位元的快闪存储器模块)、三阶记忆胞(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个记忆胞中可储存3个位元的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。可复写式非易失性存储器模块406中的记忆胞是以阵列的方式设置。
图5是根据本发明的一范例实施例所显示的存储器控制电路单元的概要方框图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504、存储器接口506及错误检查与校正电路508。
存储器管理电路502用以控制存储器控制电路单元404的整体操作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10工作时,此些控制指令会被执行以进行数据的写入、读取与抹除等操作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未显示)与只读存储器(未显示),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10工作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等操作。
在另一范例实施例中,存储器管理电路502的控制指令也可以程序码型式储存于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未显示)、只读存储器(未显示)及随机存取存储器(未显示)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将储存于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等操作。
此外,在另一范例实施例中,存储器管理电路502的控制指令也可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、记忆胞管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。记忆胞管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路皆电性连接至微控制器。记忆胞管理电路用以管理可复写式非易失性存储器模块406的记忆胞或其群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一个或多个程序码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口504是电性连接至存储器管理电路502并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压准位或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一个或多个信号,或是在汇流排上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的辨识码、存储器地址等信息。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器510与电源管理电路512。
缓冲存储器510是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
在本范例实施例中,可复写式非易失性存储器模块406的记忆胞会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元。具体来说,同一条字元线(或同一个字元线层)上的记忆胞会组成一个或多个实体程序化单元。若每一个记忆胞被用以储存2个以上的位元,则同一条字元线(或同一个字元线层)上的实体程序化单元至少可被分类为一个下(lower)实体程序化单元与一个上(upper)实体程序化单元。
在一范例实施例中,若每一个记忆胞被用以储存2个位元,则同一条字元线(或同一个字元线层)上的实体程序化单元可被分类为一个下实体程序化单元与一个上实体程序化单元。例如,一记忆胞的最低有效位元(Least Significant Bit,LSB)是属于下实体程序化单元,并且一记忆胞的最高有效位元(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度会高于上实体程序化单元的可靠度。
在另一范例实施例中,若每一个记忆胞被用以储存3个位元,则同一条字元线(或同一个字元线层)上的实体程序化单元可被分类为一个下实体程序化单元、一个上实体程序化单元及一个额外(extra)实体程序化单元。例如,一记忆胞的最低有效位元是属于下实体程序化单元,一记忆胞的中间有效位元(Central Significant Bit,CSB)是属于上实体程序化单元,并且一记忆胞的的最高有效位元是属于额外实体程序化单元。
在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元通常包括数据位元区与冗余(redundancy)位元区。数据位元区包含多个实体扇,用以储存使用者数据,而冗余位元区用以储存系统数据(例如,错误更正码)。另一方面,实体抹除单元为抹除的最小单位。即,每一实体抹除单元含有最小数目之一并被抹除的记忆胞。例如,实体抹除单元为实体区块(block)。
在一范例实施例中,存储器管理电路502是基于实体单元来管理可复写式非易失性存储器模块406中的记忆胞。例如,在以下范例实施例中,是以一个实体程序化单元作为一个实体单元的范例。然而,在另一范例实施例中,一个实体单元也可以是指一个实体抹除单元或由任意数目的记忆胞组成,视实务上的需求而定。此外,必须了解的是,当存储器管理电路502对可复写式非易失性存储器模块406中的记忆胞(或实体单元)进行分组时,此些记忆胞(或实体单元)是被逻辑地分组,而其实际位置并未更动。
在本范例实施例中,错误检查与校正电路508是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detectingcode,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正程序。
在本范例实施例中,错误检查与校正电路508所使用的是低密度奇偶检查码(lowdensity parity code,LDPC)。然而,在另一范例实施例中,错误检查与校正电路508所使用的也可以是BCH码、回旋码(convolutional code)、涡轮码(turbo code)、位元翻转(bitflipping)等编/解码演算法。
图6是根据本发明的一范例实施例所显示的低密度奇偶检查码的置信传播(belief propagation)的示意图。
请参照图6,低密度奇偶检查码的解码过程可以表示为一个置信传播图510。置信传播图510包括检查节点601(1)~601(k)与变数节点502(1)~502(n)。每一个检查节点601(1)~601(k)是对应到一个校验子(syndrome),而每一个变数节点502(1)~502(n)是对应当前欲解码的码字中的一个数据位元(data bit)。数据位元与校验子之间的对应关系(即,变数节点502(1)~502(n)与检查节点601(1)~601(k)之间的连结关系)是根据低密度奇偶检查码所采用的一个奇偶检查矩阵所产生的。具体来说,若奇耦检查矩阵中第i列(row)第j行(column)的元素为1,则第i个检查节点601(i)便会连接到第j个变数节点602(j),其中i与j为正整数。
当存储器管理电路502从可复写式非易失性存储器模块406中读取n个数据位元(形成一个码字)时,存储器管理电路502(或错误检查与校正电路508)也会取得每一个数据位元的信道可靠度信息。此信道可靠度信息用以表示对应的数据位元被解码为位元“1”或是“0”的机率(或称信心度)。例如,在置信传播图610中,变数节点602(1)~602(n)会接收到对应的信道可靠度信息L1~Ln。其中,变数节点602(1)会接收第1个数据位元的信道可靠度信息L1,而变数节点602(j)会接收第j个数据位元的信道可靠度信息Lj。错误检查与校正电路508会根据置信传播图610的结构与信道可靠度信息L1~Ln来执行解码操作。
在本范例实施例中,错误检查与校正电路508所执行的解码操作为叠代解码(iterative decoding)操作。在叠代解码操作中,变数节点602(1)~602(n)会计算出可靠度信息给检查节点601(1)~601(k),并且检查节点601(1)~601(k)也会计算出可靠度信息给变数节点602(1)~602(n)。计算出来的可靠度信息会沿着置信传播图610中的边(edge)来传送。例如,检查节点601(i)传送给变数节点602(j)的是可靠度信息Li→j,而变数节点602(j)传送给检查节点601(i)是可靠度信息Lj→i。某一个可靠度信息是用来表示一个节点认为某一个数据位元被解码为“1”或是“0”的机率(或上述信心度)有多少。举例来说,可靠度信息Lj→i表示变数节点602(j)认为第j个数据位元被解码为“1”或是“0”的信心度(可为正或是负),而可靠度信息Li→j表示检查节点601(i)认为第j个数据位元被解码为“1”或是“0”的信心度(也可为正或是负)。而变数节点602(1)~602(n)与检查节点601(1)~601(k)会根据输入的可靠度信息来计算输出的可靠度信息,其近似于计算一个数据位元被解码为“1”或是“0”的条件机率。因此,上述传送可靠度信息的过程又被称为置信传播。
在一范例实施例中,在节点间传输的可靠度信息(例如,可靠度信息Li→j与Lj→i)以及实际用来对数据位元进行解码的信道可靠度信息(例如,信道可靠度信息L1~Ln)皆是以对数似然比值(Log Likelihood Ratio,LLR)来表示。然而,当采用不同的演算法来更新叠代解码操作中的可靠度信息和/或信道可靠度信息时,变数节点602(1)~602(n)和/或检查节点601(1)~601(k)会计算出不同类型/属性的可靠度信息和/或信道可靠度信息。例如,错误检查与校正电路508可以采用总和-乘积演算法(Sum-Product Algorithm,SPA)、最小值-总和演算法(Min-Sum Algorithm)、或位元翻转演算法(Bit-Flipping Algorithm)等,本发明不加以限制。
在本范例实施例中,叠代解码操作中的叠代(iteration)会不断的重复执行,以更新(或最佳化)至少部分数据位元所对应的信道可靠度信息。例如,在叠代解码操作的每一次叠代中,变数节点602(1)~602(n)会传递可靠度信息给检查节点601(1)~601(k),并且检查节点601(1)~601(k)会传递可靠度信息给变数节点602(1)~602(n)。藉此,实际用来对数据位元进行解码的信道可靠度信息(例如,信道可靠度信息L1~Ln)可能会在任一次的叠代中被更新。
若经由解码操作中的某一次叠代所产生的码字为有效(valid)码字,表示解码成功,并且解码操作会停止。若所产生的码字不是有效的码字,则会进行下一次的叠代。此外,若解码操作中执行叠代的总次数到达一预定门槛值(也称,叠代次数上限值),则表示解码失败,并且此解码操作也会停止。藉此,实际用来对数据位元进行解码的信道可靠度信息(例如,信道可靠度信息L1~Ln)可能会在任一次的叠代中被更新。若经由解码操作中的某一次叠代所产生的码字为有效(valid)码字,表示解码成功,并且解码操作会停止。若所产生的码字不是有效的码字,则会进行下一次的叠代。在本范例实施例中,信道可靠度信息为对数似然比值(Log-Likelihood Ratio,以下也称LLR)。在本领域中,对数似然比值为解码LDPC的一输入参数,用以通过LDPC电路对数据进行解码操作。此外,在本领域中,更新对数似然比值的方式例如有登山法(Hill Climbing)、模拟退火法(Simulated Annealing)、梯度下降法(Gradient Descent)等最佳化方法。
对数似然比值泛用于LDPC电路的各种演算法,如总和-乘积演算法(Sum-ProductAlgorithm,SPA)、最小值-总和演算法(Min-Sum Algorithm)、或位元翻转演算法(Bit-Flipping Algorithm)、对数似然比值(Log-Likelihood Ratio,LLR)演算法,补偿式最小值-总和(Offset Min-Sum Algorithm)演算法等,由于此等演算法已为本领域人员所知悉,故在此不再多做赘述。
在本范例实施例中,当有不可更正的错误位元(或是解码错误)时,通过改变叠代解码操作中所使用的多个对数似然比值,可能会改变解码操作的解码结果,进而将错误位元更正回来(或解码成功)。上述改变叠代解码操作中所使用的多个对数似然比值的数值的操作也可称为扰动操作(perturbation operation)。
此外,在另一范例实施例中,也可藉由翻转(flip)一个码字中的若干数据位元(如,使用位元翻转演算法),并对翻转后的码字重新进行叠代解码,以改变叠代解码操作的结果。在一些情况下,在翻转前无法解码的码字(有不可更正的错误位元),有可能在翻转后可以解码成功(不可更正的错误位元被成功更正)。并且,在一范例实施例中存储器管理电路502会持续地进行叠代解码操作,直到叠代解码操作的次数到达预设上限值。厂商可根据需求自行设定预设上限值,本发明不限于此。以下会配合图7与图8来详细说明本发明的用于LDPC解码器的适应性保护操作与扰动操作的细节。
图7是根据本发明的范例实施例所显示的错误检查与校正电路的概要方框图。请参照图7,在本范例实施例中,如上所述错误检查与校正电路508(也称,低密度奇偶检查解码器)是使用低密度奇偶检查码(以下也称,LDPC)来进行对于数据的编码与解码。错误检查与校正电路508包括解码管理电路710、保护电路720与扰动电路730。解码管理电路710用以负责错误检查与校正电路508所进行的LDPC解码操作的整体操作,并且解码管理电路710可利用低密度奇偶检查码来解码。保护电路720电性连接至解码管理电路710,其用以在LDPC解码操作中选择需保护的对数似然比值并且对所选择之对数似然比值进行保护操作。扰动电路730电性连接至解码管理电路710,其用以在LDPC解码操作中对没有被执行保护操作的对数似然比值进行扰动操作。应注意的是,在另一范例实施例中,保护电路720或扰动电路730也可被整合至解码管理电路710中。
图8是根据本发明的一范例实施例所显示的适用于低密度奇偶检查码解码器的解码方法的流程图。请同时参照图7与图8,在步骤S801中,解码管理电路710对码字执行叠代解码操作。具体来说,存储器管理电路502将所欲解码的码字传送至错误检查与校正电路508的解码管理电路710以进行对应LDPC的叠代解码操作,进而解码对应所述码字的储存于可复写式非易失性存储器模块406的数据。在接收到所述码字之后,解码管理电路710会开始对所接收的码字进行叠代解码操作,辨识所接收码字的多个数据位元,根据所述数据位元来获得对应的多个初始对数似然比值,并且经由所述对数似然比值来进行解码操作。在一范例实施例中,初始对数似然比值可经由查询一查找表而获得。然而,在另一范例实施例中,初始对数似然比值也可根据对应的记忆胞中的临界电压分布来取得。本发明并不限定初始对数似然比值的获得方式。当完成每一次的叠代解码操作解码管理电路710会统计对于所述码字执行叠代解码操作的累计次数。
在步骤S803中,解码管理电路710会判断所述叠代解码操作是否成功。具体来说,如上所述,若经由本次叠代解码操作所产生的码字为有效(valid)码字,表示解码成功,并且解码操作会停止,结束整个解码操作。若所产生的码字不是有效的码字,则会接续至步骤S805。值得一提的是,厂商可设定执行叠代解码操作的叠代次数上限值,并且统计对于一码字所执行的叠代解码次数的总和。如此一来,当对所码字执行叠代解码操作的次数达到所述叠代次数上限值时,解码管理电路710会结束对所述码字的解码操作。
在步骤S805中,解码管理电路710会判断是否符合扰动条件。具体来说,解码管理电路710会根据对所述码字执行(一次或多次)叠代解码操作所获得的多个相关信息(如,进行叠代解码操作的次数)来判断扰动条件是否符合。
在本范例实施例中,当解码管理电路710判定下列情境的其中之一发生时,解码管理电路710会判定符合扰动条件:(1)若对所述码字进行叠代解码操作的次数超过第一门槛值;(2)若行信息和/或对数似然比值的存取次数大于第二门槛值(如,使用最小值-总和演算法时);(3)若列信息和/或一对数似然比值的存取次数大于第三门槛值(如,使用位元翻转演算法时);(4)若一校验子(syndrome)的权重低于第四门槛值(如,解码器陷于一个错误模式中,其导致过低的校验子的权重);(5)若所述对数似然比值的其中之一的数目超过第五门槛值(如,高可靠度的对数似然比值的数目大于一定值时,数据有可能已经饱和);(6)若所述对数似然比值的总和超过第六门槛值(如,高可靠度的对数似然比值的总和大于一定值时,数据有可能已经饱和);(7)若一校验子周期性地缩放的次数超过第七门槛值;以及(8)若一对数似然比值周期性地缩放的次数超过第八门槛值。
更详细来说,针对上述的第(7)情境,其中若解码管理电路710辨识到某一校验子会随着叠代解码操作的次数增加而更新并且在每次叠代解码操作后更新的校验子会周期性地呈现缩小-扩张的现象,解码管理电路710会判定所述校验子已无法经由目前的对数似然比值而收敛。如此一来,解码管理电路710会判定符合扰动条件,以在后续步骤中对特定的对数似然比值进行扰动操作,进而有机率获得好的解码结果(或是使所述校验子顺利收敛)。
相似地,针对上述的第(8)情境,其中若解码管理电路710辨识到某一对数似然比值会随着叠代解码操作的次数增加而更新并且在每次叠代解码操作后更新的所述对数似然比值会周期性地呈现缩小-扩张的现象,解码管理电路710会判定符合扰动条件,以在后续步骤中对特定的对数似然比值进行扰动操作,进而有机率获得好的解码结果。此外,若在步骤S805中,判定不符合扰动条件,会接续步骤S801,以再次对所述码字执行叠代解码操作。
在判定符合扰动条件后,于步骤S807中,解码管理电路710对第一对数似然比值执行保护操作。具体来说,在判定符合扰动条件后,解码管理电路710会在对应多个变数节点的多个对数似然比值中选择一个或多个对数似然比值做为第一对数似然比值,并且对所选择的第一对数似然比值执行保护操作。
在本范例实施例中,上述在所述对数似然比值中选择一个或多个对数似然比值做为第一对数似然比值的步骤包括下列方式的其中之一或其组合:(1)选择与未满足校验子(unsatisfied syndrome)无关的变数节点所对应的对数似然比值作为第一对数似然比值;(2)选择翻转次数大于翻转次数门槛值的变数节点所对应的对数似然比值做为所述第一对数似然比值(如,判断常翻转的所述变数节点所导致的解码结果是不成功的,而猜测对于所述变数节点的翻转是无用的);(3)选择没有被翻转过的变数节点所对应的对数似然比值作为所述第一对数似然比值(如,假设在没有高可靠度错误(HRE)的情况下,猜测没有被翻转过的变数节点所对应的对数似然比值是可靠的并且对所述可靠的对数似然比值进行保护);(4)选择高可靠度的变数节点所对没有被选择成为应的对数似然比值作为所述第一对数似然比值(如,判定没有高可靠度错误(HRE)的情况下,对高可靠度的对数似然比值进行保护);以及(5)选择低可靠度的变数节点所对应的对数似然比值作为所述第一对数似然比值(如,判定有高可靠度错误(HRE)的情况下,对低可靠度的对数似然比值进行保护)。
应注意的是,在本范例实施例中,若解码管理电路710对所述第一对数似然比值执行保护操作,其表示解码管理电路710不会对所述第一对数似然比值执行扰动操作。
在对第一对数似然比值执行保护操作后,在步骤S809中,解码管理电路710会对第二对数似然比值执行扰动操作。
具体来说,在本范例实施例中,在于对应所述码字的全部对数似然比值中选择第一对数似然比值后,解码管理电路710将全部对数似然比值中没有被执行保护操作的对数似然比值作为第二对数似然比值。也就是说,此时,对应所述码字的全部对数似然比值会被分类为第一对数似然比值与第二对数似然比值,其中第一对数似然比值是被选择来执行保护操作的对数似然比值,第二对数似然比值是剩余的其他对数似然比值(如,全部对数似然比值中其他没有被选择做为第一对数似然比值的对数似然比值)并且第二对数似然比值会被执行扰动操作。应注意的是,本发明并不限定第一对数似然比值与第二对数似然比值的个数。例如,第一对数似然比值或第二对数似然比值的个数可大于一个或是多于一个。然而,第一对数似然比值的个数加上第二对数似然比值的个数会等于对应码字的全部对数似然比值的个数。
在本范例实施例中,扰动操作的执行方式包括下列操作(运算)的其中之一或其组合:(1)对于所述第二对数似然比值中的每一个第二对数似然比值分别加上对应的扰动值,其中加入至每一个第二对数似然比值的所述扰动值会对应所述扰动值所加入的每一个第二对数似然比值;(2)对于所述第二对数似然比值中的每一个第二对数似然比值皆乘以相同的第一数值;(3)对于所述第二对数似然比值中的每一个第二对数似然比值皆加上相同的第二数值;(4)将所述第二对数似然比值中超过第九门槛值的第二对数似然比值设定为第三数值。应注意的是,厂商可根据自身需求来设定上述的第一门槛值~第九门槛值。
举例来说,假设第二对数似然比值的个数有“X”个,执行扰动操作前的第二对数似然比值分别可表示为LLR[i],其中“i”用以表示第二对数似然比值的顺序,例如“i”可为0、1、…、X-2、X-1。第二对数似然比值在执行扰动操作后会成为已扰动第二对数似然比值,其分别可表示为LLR’[i],其中“i”用以表示第二对数似然比值的顺序,例如“i”可为0、1、…、X-2、X-1。简单来说,LLR[i]在执行扰动操作后会成为LLR’[i]。
根据上方的举例,上述第(1)个扰动操作的执行方式可利用下方的公式(A)来表示:
LLR’[i]=LLR[i]+Noise[i] (A)
其中Noise[i]是表示分别对应不同第二对数似然比值的扰动值(例如,Noise[0]对应LLR[0])。在本范例实施例中,所述扰动值为经由高斯乱数(Gaussian Random Number)或均匀乱数(Uniform Random Numbers)的方式所产生的乱数。值得一提的是,在一范例实施例中,若解码管理电路710判定目前更新后的(最佳化后的)对数似然比值陷入了区域性极值(Local maximum/minimum)且此区域性极值并不是全域性(Global)极值(如,对应的校验子未满足),解码管理电路710会优先尝试使用此第(1)种扰动操作的执行方式。
上述第(2)个扰动操作的执行方式可利用下方的公式(B)来表示:
LLR’[i]=α*LLR[i] (B)
其中α为一常数,所述常数α(也称,第一数值)可被厂商来自行设定。值得一提的是,在一范例实施例中,若解码管理电路710判定目前叠代解码操作具有高可靠度错误(High Reliability Error)或矩阵陷阱集合(Matrix trapping set)的问题,解码管理电路710会优先尝试使用此第(2)种扰动操作的执行方式。
上述第(3)个扰动操作的执行方式可利用下方的公式(C)来表示:
LLR’[i]=LLR[i]+β (C)
其中β为一常数(可小于零或是大于零),所述常数β(也称,第二数值)可被厂商来自行设定。简单来说,可视为所执行的扰动操作为全部的第二对数似然比值皆一起加入相同的“β”。
上述第(4)个扰动操作的执行方式可利用下方的公式(D)来表示:
LLR’[i]=SIGN(LLR[i])*CONSTANT(if LLR[i]>TH)(D)
其中“SIGN(LLR[i])”用以获得“LLR[i]”的正负号。例如,SIGN(20)会得到“+1”。又例如,SIGN(-20)会获得“-1”。“TH”为一预设门槛值(也称,第九门槛值),并且“CONSTANT”为一预设值(也称,第三数值)。也就是说,上述的公式是表示,对于第二对数似然比值中大于第九门槛值的第二对数似然比值,将对其所获得正负号乘上第三数值的结果作为扰动后第二对数似然比值。
举例来说,假设第九门槛值为“-20”,第三数值为“18”,第二对数似然比值分别为数值为“-10”的LLR[0]与数值为“-25”的LLR[1]。则根据公式(D),仅会对LLR[1]执行扰动操作,并且LLR’[1]为“-18”(即,“-1”*“18”=“-18”)。在另一范例实施例中,第三数值的绝对值大小被设定相等于第九门槛值的绝对值大小。
在完成步骤S809后,流程回到步骤S801,解码管理电路710会再对所述码字执行叠代解码操作。
综上所述,本发明的范例实施例所提供的解码方法,可当符合扰动条件时,适应性地对特定的对数似然比值进行保护,且对于其他对数似然比值进行扰动,以避免在叠代解码过程中校验子/对数似然比值无法收敛的问题且强化了解码成功的机率,进而增进解码的效率且增强了工作效率。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,均在本发明范围内。
Claims (18)
1.一种解码方法,适用于一低密度奇偶检查解码器,其特征在于,包括:
对一码字执行一叠代解码操作,其中多个对数似然比值分别对应所述码字的多个数据位元值;
判断所述叠代解码操作是否成功;
若所述叠代解码操作不成功,判断是否符合一扰动条件;
若符合所述扰动条件,对所述多个对数似然比值中的一第一对数似然比值执行一保护操作,并且对所述多个对数似然比值中的多个第二对数似然比值执行一扰动操作,其中所述多个第二对数似然比值不同于所述第一对数似然比值;以及
在完成所述扰动操作后,再对所述码字进行所述叠代解码操作,
上述判断是否符合所述扰动条件的步骤包括:
若对所述码字进行所述叠代解码操作的次数超过第一门槛值,判定符合所述扰动条件;
若行信息和/或对数似然比值的存取次数大于第二门槛值,判定符合所述扰动条件;
若列信息和/或对数似然比值的存取次数大于第三门槛值,判定符合所述扰动条件;
若校验子的权重低于第四门槛值,判定符合所述扰动条件;
若对数似然比值的数目超过第五门槛值,判定符合所述扰动条件;
若所述多个对数似然比值的总和超过第六门槛值,判定符合所述扰动条件;
若所述校验子周期性地缩放的次数超过第七门槛值,判定符合所述扰动条件;或
若所述对数似然比值周期性地缩放的次数超过第八门槛值,判定符合所述扰动条件。
2.根据权利要求1所述的解码方法,其特征在于,还包括:
若不符合所述扰动条件,再对所述码字执行所述叠代解码操作。
3.根据权利要求1所述的解码方法,其特征在于,上述对所述第一对数似然比值执行所述保护操作的步骤包括下列操作的其中之一或其组合:
选择与未满足校验子无关的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值;
选择翻转次数大于翻转次数门槛值的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值;
选择没有被翻转过的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值;
选择高可靠度的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值;以及
选择低可靠度的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值,其中被保护的所述第一对数似然比值不会被执行所述扰动操作。
4.根据权利要求3所述的解码方法,其特征在于,还包括:
将所述多个对数似然比值中的不为所述第一对数似然比值的多个对数似然比值做为所述多个第二对数似然比值,其中上述对所述多个对数似然比值中的所述多个第二对数似然比值执行所述扰动操作的步骤包括下列操作的其中之一或其组合:
对于所述多个第二对数似然比值中的每一个第二对数似然比值分别加上对应的扰动值,其中加入至每一个第二对数似然比值的所述扰动值会对应所述扰动值所加入的每一个第二对数似然比值;
对于所述多个第二对数似然比值中的每一个第二对数似然比值皆乘以相同的第一数值;
对于所述多个第二对数似然比值中的每一个第二对数似然比值皆加上相同的第二数值;以及
将所述多个第二对数似然比值中超过第九门槛值的第二对数似然比值设定为第三数值。
5.根据权利要求4所述的解码方法,其特征在于,所述扰动值包括高斯乱数或均匀乱数。
6.根据权利要求4所述的解码方法,其特征在于,所述第三数值的绝对值等于所述第九门槛值的绝对值。
7.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以对码字执行叠代解码操作来解码储存于所述可复写式非易失性存储器模块的数据,其中所述码字对应所述数据,其中多个对数似然比值分别对应所述码字的多个数据位元值,
其中所述存储器控制电路单元更用以判断所述叠代解码操作是否成功,
其中若所述叠代解码操作不成功,所述存储器控制电路单元更用以判断是否符合扰动条件,
其中若符合所述扰动条件,所述存储器控制电路单元更用以对所述多个对数似然比值中的第一对数似然比值执行保护操作,并且对所述多个对数似然比值中的多个第二对数似然比值执行扰动操作,其中所述多个第二对数似然比值不同于所述第一对数似然比值,
其中在完成所述扰动操作后,所述存储器控制电路单元更用以再对所述码字进行所述叠代解码操作,
在上述所述存储器控制电路单元更用以判断是否符合所述扰动条件的操作中,
若对所述码字进行所述叠代解码操作的次数超过第一门槛值,所述存储器控制电路单元判定符合所述扰动条件,
其中若行信息和/或对数似然比值的存取次数大于第二门槛值,所述存储器控制电路单元判定符合所述扰动条件,
其中若列信息和/或对数似然比值的存取次数大于第三门槛值,所述存储器控制电路单元判定符合所述扰动条件,
其中若校验子的权重低于第四门槛值,所述存储器控制电路单元判定符合所述扰动条件,
其中若对数似然比值的数目超过第五门槛值,所述存储器控制电路单元判定符合所述扰动条件,
其中若所述多个对数似然比值的总和超过第六门槛值,所述存储器控制电路单元判定符合所述扰动条件,
其中若所述校验子周期性地缩放的次数超过第七门槛值,所述存储器控制电路单元判定符合所述扰动条件,
其中若所述对数似然比值周期性地缩放的次数超过第八门槛值,所述存储器控制电路单元判定符合所述扰动条件。
8.根据权利要求7所述的存储器存储装置,其特征在于,若不符合所述扰动条件,所述存储器控制电路单元再对所述码字执行所述叠代解码操作。
9.根据权利要求7所述的存储器存储装置,其特征在于,上述所述存储器控制电路单元更用以对所述第一对数似然比值执行所述保护操作的操作包括下列操作的其中之一或其组合:
所述存储器控制电路单元选择与未满足校验子无关的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值;
所述存储器控制电路单元选择翻转次数大于翻转次数门槛值的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值;
所述存储器控制电路单元选择没有被翻转过的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值;
所述存储器控制电路单元选择高可靠度的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值;以及
所述存储器控制电路单元选择低可靠度的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值,其中被保护的所述第一对数似然比值不会被执行所述扰动操作。
10.根据权利要求9所述的存储器存储装置,其特征在于,所述存储器控制电路单元将所述多个对数似然比值中的不为所述第一对数似然比值的多个对数似然比值作为所述多个第二对数似然比值,其中上述对所述多个对数似然比值中的所述多个第二对数似然比值执行所述扰动操作的操作包括下列操作的其中之一或其组合:
所述存储器控制电路单元对于所述多个第二对数似然比值中的每一个第二对数似然比值分别加上对应的扰动值,其中加入至每一个第二对数似然比值的所述扰动值会对应所述扰动值所加入的每一个第二对数似然比值;
所述存储器控制电路单元对于所述多个第二对数似然比值中的每一个第二对数似然比值皆乘以相同的第一数值;
所述存储器控制电路单元对于所述多个第二对数似然比值中的每一个第二对数似然比值皆加上相同的一第二数值;以及
所述存储器控制电路单元将所述多个第二对数似然比值中超过第九门槛值的第二对数似然比值设定为第三数值。
11.根据权利要求10所述的存储器存储装置,其特征在于,所述扰动值包括高斯乱数或均匀乱数。
12.根据权利要求10所述的存储器存储装置,其特征在于,所述第三数值的绝对值等于所述第九门槛值的绝对值。
13.一种存储器控制电路单元,用以控制可复写式非易失性存储器模块,其特征在于,所述存储器控制电路单元包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至所述可复写式非易失性存储器模块;
错误检查与校正电路;以及
存储器管理电路,电性连接至所述主机接口、所述存储器接口及所述错误检查与校正电路,其中所述存储器管理电路传送码字至所述错误检查与校正电路,
其中所述错误检查与校正电路用以对所述码字执行叠代解码操作来解码储存于所述可复写式非易失性存储器模块的数据,其中所述码字对应所述数据,其中多个对数似然比值分别对应所述码字的多个数据位元值,
其中所述错误检查与校正电路更用以判断所述叠代解码操作是否成功,
其中若所述叠代解码操作不成功,所述错误检查与校正电路更用以判断是否符合扰动条件,
其中若符合所述扰动条件,所述错误检查与校正电路更用以对所述多个对数似然比值中的第一对数似然比值执行保护操作,并且对所述多个对数似然比值中的多个第二对数似然比值执行扰动操作,其中所述多个第二对数似然比值不同于所述第一对数似然比值,
其中在完成所述扰动操作后,所述错误检查与校正电路更用以再对所述码字进行所述叠代解码操作,
在上述所述错误检查与校正电路更用以判断是否符合所述扰动条件的操作中,
若对所述码字进行所述叠代解码操作的次数超过第一门槛值,所述错误检查与校正电路判定符合所述扰动条件,
其中若行信息和/或对数似然比值的存取次数大于第二门槛值,所述错误检查与校正电路判定符合所述扰动条件,
其中若列信息和/或对数似然比值的存取次数大于第三门槛值,所述错误检查与校正电路判定符合所述扰动条件,
其中若校验子的权重低于第四门槛值,所述错误检查与校正电路判定符合所述扰动条件,
其中若对数似然比值的数目超过第五门槛值,所述错误检查与校正电路判定符合所述扰动条件,
其中若所述多个对数似然比值的总和超过第六门槛值,所述错误检查与校正电路判定符合所述扰动条件,
其中若所述校验子周期性地缩放的次数超过第七门槛值,所述错误检查与校正电路判定符合所述扰动条件,
其中若所述对数似然比值周期性地缩放的次数超过第八门槛值,所述错误检查与校正电路判定符合所述扰动条件。
14.根据权利要求13所述的存储器控制电路单元,其特征在于,若不符合所述扰动条件,所述错误检查与校正电路再对所述码字执行所述叠代解码操作。
15.根据权利要求13所述的存储器控制电路单元,其特征在于,上述所述错误检查与校正电路更用以对所述第一对数似然比值执行所述保护操作的操作包括下列操作的其中之一或其组合:
所述错误检查与校正电路选择与未满足校验子无关的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值;
所述错误检查与校正电路选择翻转次数大于翻转次数门槛值的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值;
所述错误检查与校正电路选择没有被翻转过的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值;
所述错误检查与校正电路选择高可靠度的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值;以及
所述错误检查与校正电路选择低可靠度的变数节点所对应的对数似然比值作为所述第一对数似然比值且保护所述第一对数似然比值,其中被保护的所述第一对数似然比值不会被执行所述扰动操作。
16.根据权利要求15所述的存储器控制电路单元,其特征在于,所述错误检查与校正电路将所述多个对数似然比值中的不为所述第一对数似然比值的多个对数似然比值作为所述多个第二对数似然比值,其中上述对所述多个对数似然比值中的所述多个第二对数似然比值执行所述扰动操作的操作包括下列操作的其中之一或其组合:
所述错误检查与校正电路对于所述多个第二对数似然比值中的每一个第二对数似然比值分别加上对应的扰动值,其中加入至每一个第二对数似然比值的所述扰动值会对应所述扰动值所加入的每一个第二对数似然比值;
所述错误检查与校正电路对于所述多个第二对数似然比值中的每一个第二对数似然比值皆乘以相同的第一数值;
所述错误检查与校正电路对于所述多个第二对数似然比值中的每一个第二对数似然比值皆加上相同的第二数值;以及
所述错误检查与校正电路将所述多个第二对数似然比值中超过第九门槛值的第二对数似然比值设定为第三数值。
17.根据权利要求16所述的存储器控制电路单元,其特征在于,所述扰动值包括高斯乱数或均匀乱数。
18.根据权利要求16所述的存储器控制电路单元,其特征在于,所述第三数值的绝对值等于所述第九门槛值的绝对值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610545280.3A CN107608818B (zh) | 2016-07-12 | 2016-07-12 | 解码方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610545280.3A CN107608818B (zh) | 2016-07-12 | 2016-07-12 | 解码方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107608818A CN107608818A (zh) | 2018-01-19 |
CN107608818B true CN107608818B (zh) | 2021-05-18 |
Family
ID=61054839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610545280.3A Active CN107608818B (zh) | 2016-07-12 | 2016-07-12 | 解码方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107608818B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6775711B2 (ja) * | 2018-06-05 | 2020-10-28 | 三菱電機株式会社 | 最適化システム、最適化方法、制御回路およびプログラム記憶媒体 |
KR20200011655A (ko) * | 2018-07-25 | 2020-02-04 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
US10783972B2 (en) * | 2018-08-02 | 2020-09-22 | SK Hynix Inc. | NAND flash memory with reconfigurable neighbor assisted LLR correction with downsampling and pipelining |
CN109660263B (zh) * | 2018-11-22 | 2022-07-05 | 华中科技大学 | 一种适用于mlc nand闪存的ldpc码译码方法 |
CN111917419B (zh) * | 2019-05-08 | 2022-10-28 | 华为技术有限公司 | 一种数据译码的方法以及装置 |
TWI739157B (zh) * | 2019-09-18 | 2021-09-11 | 慧榮科技股份有限公司 | 快閃記憶體控制器、儲存裝置及讀取方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601178A (zh) * | 2013-10-30 | 2015-05-06 | 群联电子股份有限公司 | 解码方法、解码电路、存储器存储装置与控制电路单元 |
CN105320573A (zh) * | 2014-07-28 | 2016-02-10 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8234556B2 (en) * | 2008-12-30 | 2012-07-31 | Intel Corporation | Broadcast receiver and method for optimizing a scale factor for a log-likelihood mapper |
-
2016
- 2016-07-12 CN CN201610545280.3A patent/CN107608818B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601178A (zh) * | 2013-10-30 | 2015-05-06 | 群联电子股份有限公司 | 解码方法、解码电路、存储器存储装置与控制电路单元 |
CN105320573A (zh) * | 2014-07-28 | 2016-02-10 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
Also Published As
Publication number | Publication date |
---|---|
CN107608818A (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9973213B2 (en) | Decoding method, and memory storage apparatus and memory control circuit unit using the same | |
CN107608818B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
US9529666B2 (en) | Decoding method, memory storage device and memory controlling circuit unit | |
US9471421B2 (en) | Data accessing method, memory storage device and memory controlling circuit unit | |
US10534665B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
TWI612527B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
US10067824B2 (en) | Error processing method, memory storage device and memory controlling circuit unit | |
US10193569B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
TWI672698B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN106681856B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
US10622077B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
TW202022861A (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI607452B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN109697134B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN107025935B (zh) | 译码方法、内存储存装置及内存控制电路单元 | |
CN111326186B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN107301873B (zh) | 译码方法、存储器储存装置及存储器控制电路单元 | |
CN107590018B (zh) | 译码方法、存储器控制电路单元及存储器存储装置 | |
US11373713B1 (en) | Memory control method, memory storage device, and memory control circuit unit | |
US11962328B1 (en) | Decoding method, memory storage device and memory control circuit unit | |
US10628259B2 (en) | Bit determining method, memory control circuit unit and memory storage device | |
CN111258791B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN110795268B (zh) | 比特判断方法、存储器控制电路单元以及存储器存储装置 | |
CN112837728A (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN115547388A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190408 Address after: Room 609, 6th Floor, Taibang Science and Technology Building, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Da Xin Electronic Technology Co., Ltd. Address before: 2nd Floor, No. 5, 91 Lane, Dongmei Road, Xinzhu, Taiwan, China Applicant before: Big heart electronic Limited by Share Ltd |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |