CN103297061A - 决定同位元检查阵列的方法以及快闪存储器系统 - Google Patents

决定同位元检查阵列的方法以及快闪存储器系统 Download PDF

Info

Publication number
CN103297061A
CN103297061A CN2013100579999A CN201310057999A CN103297061A CN 103297061 A CN103297061 A CN 103297061A CN 2013100579999 A CN2013100579999 A CN 2013100579999A CN 201310057999 A CN201310057999 A CN 201310057999A CN 103297061 A CN103297061 A CN 103297061A
Authority
CN
China
Prior art keywords
block
candidate
parity checking
content
mxn
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.)
Granted
Application number
CN2013100579999A
Other languages
English (en)
Other versions
CN103297061B (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion 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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN103297061A publication Critical patent/CN103297061A/zh
Application granted granted Critical
Publication of CN103297061B publication Critical patent/CN103297061B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明提供一种决定同位元检查阵列的方法以及快闪存储器系统。同位元检查阵列包括MxN个区块。此方法包括产生一第一候选方块组以作为MxN个区块中一第一方块组的候选者;计算对应第一候选方块组的多个第一估计结果;根据所述多个第一估计结果来决定MxN个区块中至少一第一区块的内容;产生一第二候选方块组以作为MxN个区块中一第二方块组的候选者;借由考虑第一区块的内容来计算对应第二候选方块组的多个第二估计结果;以及根据所述多个第二估计结果来决定MxN个区块中至少一第二区块的内容。

Description

决定同位元检查阵列的方法以及快闪存储器系统
技术领域
本发明有关于一种决定同位元检查阵列的方法,用于快闪存储器系统,特别是有关于一种借由彻底地计算对应任何可能候选区块的多个估计结果来决定低密度同位元检查(low-density parity check)的同位元检查阵列的方法,而同位元检查阵列用来对快闪存储器系统所储存的数据进行解码。
背景技术
在电脑与其他电子装置之间的信息通讯可以借由使用各种不同的标准以及技术来实施。通道编码以及错误校正技术可被使用来减少在所接收的信号中由失真以及其他扰乱所引起的错误。此编码以及错误校正可借由在传输通道的末端使用编码器以及解码器来实施。
举例来说,关于低密度同位元检查码(low-density parity check code,LDPCcode,亦称为低密度奇偶检查码)的任何规则可使用在快闪存储器系统以对接收到的数据进行编码,且编码后数据(码字(codeword)),接着可储存在快闪存储器中。另一方面,迭代解码器(iterative decoder)通常在对字码进行解码时收敛在一正确解码数值上。在一实施中,系在接收端上使用软性决定(soft-decision)消息传递演算法(message passing algorithm,MPA)以执行LDPC解码。接收到的多个位元(例如通道数值)视为多个变量,且每一变量表示数值是”0”或”1”的机率,且这些变量以解码演算法来表示为对数相似比率(log likelihood ratio,LLR)。消息传递演算法将来自变量节点的消息传(例如LLR)送至检查节点,计算当前迭代的校正子(syndrome),将来自检查节点的消息(例如LLR)送至变量节点,以及以相同方法进行迭代直到达到收敛为止(例如校正子的检查位元全都为”0”)。
然而,LDPC码固有的问题之一是陷阱集合(trapping set)的存在。一个陷阱集合是在任何既定数量的迭代后无法被解码为正确数值的一组位元组。就具有高信噪比(signal-to-noise ratio,SNR)加成性白高斯噪声(additive white Gaussian noise,AWGN)的LDPC解码器而论,所接收的多个位元的错误位元数量通常较小。然而,假使错误位于一些特定变量节点时,这些错误会回馈错误的可靠度数值,且导致一个陷阱集合。简单来说,当对一接收到的字码进行解码时,LDPC解码器可能遭遇到一或多个陷阱集合,这阻止解码器正确地对接收的字码进行解码。一特定LDPC码的最小位元错误率可由固有存在于LDPC码内的陷阱集合数量来支配。
因此,需要有效地找出或决定其固有具有最小数量陷阱集合的LDPC码。换句话说,需要有效地找出或决定一同位元检查阵列,用以定义在错误校正中具有最佳效能的LDPC码。
发明内容
根据本发明的示范实施例,提出一种借由彻底地计算对应任何可能候选区块的多个估计结果来决定低密度同位元检查(low-density parity check)的同位元检查阵列的方法,而同位元检查阵列用来对快闪存储器系统所储存的数据进行解码,且提供一种相关的存储器系统,以解决上述问题。
本发明的一示范实施例提出一种决定一同位元检查阵列的方法。此同位元检查阵列用于一快闪存储器系统。快闪存储器系统自一快闪存储器读取一数据且以同位元检查阵列来对该数据进行解码。同位元检查阵列定义一低密度同位元检查码(low-density parity check code,LDPC code)且包括MxN个区块,其中,M表示在同位元检查阵列中一行的区块数量,且N表示在同位元阵列中一列的区块数量。此方法包括步骤:产生一第一候选方块组以作为MxN个区块中一第一方块组的候选者;计算对应第一候选方块组的多个第一估计结果;根据所述多个第一估计结果来决定MxN个区块中至少一第一区块的内容;产生一第二候选方块组以作为MxN个区块中一第二方块组的候选者;借由考虑第一区块的内容来计算对应第二候选方块组的多个第二估计结果;以及根据所述多个第二估计结果来决定MxN个区块中至少一第二区块的内容。
本发明的另一示范实施例提出一种快闪存储器系统。此快闪存储器系统使用一同位元检查阵列。快闪存储器系统自一快闪存储器读取一数据且以同位元检查阵列来对数据进行解码。同位元检查阵列定义一低密度同位元检查码(low-densityparity check code,LDPC code)且包括MxN个区块,其中,M表示在同位元检查阵列中一行的区块数量,且N表示在同位元阵列中一列的区块数量。同位元检查阵列依照以下步骤来决定:产生一第一候选方块组以作为MxN个区块中一第一方块组的候选者;计算对应第一候选方块组的多个第一估计结果;根据所述多个第一估计结果的一最佳结果来决定MxN个区块中至少一第一区块的内容;产生一第二候选方块组以作为MxN个区块中一第二方块组的候选者;借由考虑第一区块的内容来计算对应第二候选方块组的多个第二估计结果;以及根据所述多个第二估计结果来决定MxN个区块中至少一第二区块的内容。
附图说明
图1表示根据本发明一示范实施例的快闪存储器系统;
图2表示用于快闪存储器系统内的同位元检查阵列;
图3表示可用于同位元检查阵列的候选方块;
图4表示根据本发明一示范实施例的第一候选方块组,其可作为同位元检查阵列的第一方块组的候选者;
图5表示决定来自第一候选区块组中的一最佳结果的树状图(trellis diagram);
图6表示根据本发明一示范实施例的第二候选方块组,其可作为同位元检查阵列的第二方块组的候选者;
图7表示决定来自第二候选区块组中的一最佳结果的树状图;
图8表示根据本发明另一示范实施例的第一候选方块组,其可作为同位元检查阵列的第一方块组的候选者;
图9表示决定来自第一候选区块组中的一最佳结果的树状图;
图10表示根据本发明另一示范实施例的第二候选方块组,其可作为同位元检查阵列的第二方块组的候选者;
图11表示决定来自第二候选区块组中的一最佳结果的树状图。
【主要元件符号说明】
1000~存储器系统;
1100~快闪存储器
1110~存储单元(栅极浮接晶体管);
1200~存储器控制器;
1210~控制逻辑;
1220~ECC电路;
1222~ECC解码器;
1224~ECC编码器;
B1,1、B2,1、……、BN,M~区块;
I0、I1、I2、I3、……、IZ~候选区块;
M~在同位元阵列中一行的区块数量;
M_0……M_K~存储单元;
N~在同位元阵列中一列的区块数量;
P_0、P_1、P_2、……、P_N~实体页面;
VG_0……VG_N~控制栅极电压;
Z~水平/垂直方向尺寸。
具体实施方式
为使本发明的上述目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配合所附附图,作详细说明如下。
在说明书及权利要求当中使用了某些词汇来指称特定元件。所属领域中具有通常知识者应可理解,制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及后续的请求项当中所提及的“包括”和“包含”为一开放式的用语,故应解释成“包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电性连接手段。间接的电性连接手段包括通过其他装置进行连接。
图1表示根据本发明实施例的一快闪存储器系统。参阅图1,示范的存储器系统1000包括快闪存储器1100以及存储器控制器1200。在此示范实施例中,快闪存储器1100可以是NAND型快闪存储器,其包括多个实体页面(physical page)P_0、P_1、P_2、……、以及P_N,其中,实体页面P_0~P_N的每一者包括多个存储单元(例如栅极浮接晶体管)1110。举例来说,关于将被读取的一目标实体页面P_0,其包括存储单元M_0~M_K。为了读取储存于目标实体页面P_0的存储单元M_0~M_K内的数据,应适当地设定控制栅极电压VG_0~VG_N。举例来说,控制栅极电压VG_0~VG_N应适当地设定,以确保实体页面P_1~P_N的所有存储单元(例如栅极浮接晶体管)1110都导通。在每一存储单元1110配置来储存N个位元(例如,三个位元,包括最小有效位元(least significant bit(LSB)、中间有效位元(central significant bit(CSB)、以及最大有效位元(most significant bit(MSB))的情况下,快闪存储器110设定控制栅极电压VG_0具有(2N-1)个位准,以定义目标实体页面P_0的每一存储单元1110的所有N个位元。此外,为了将数据储存至目标实体页面P_0的存储单元M_0~M_K,数据应适当地解码,以确保数据储存的正确性。
再次参阅图1,存储器控制器1200配置来控制快闪存储器1100的存取(读/写),且包括控制逻辑1210以及ECC(error-correcting code)电路1220,但不以此为限。请注意,只有有关于本发明技术特征的元件显示于图1。即是,存储器控制器1200可能包括其他元件来支援其他功能。一般而言,当接收关于储存于目标实体页面P_0的存储单元M_0~M_K的数据的一读取请求时,控制逻辑1210运作来控制快闪存储器1100去读取所请求的数据。此技术领域的人士已知,一实体页面的部分存储单元1110用来储存ECC信息(例如一ECC码)。因此,ECC电路1220运作来对读取自该实体页面的读出信息(例如一字码)执行ECC操作。在此示范实施例中,ECC电路1220包括ECC解码器1222以及ECC编码器1224。ECC解码器1222用来检查读出信息的正确性,借此侦测任何错误位元的存在。当侦测到任何错误位元存在时,ECC解码器1222运作来校正发现自被检查的读出信息的错误位元。然而,当存在于读出信息的错误位元的数量超过可被ECC解码器1222侦测到的错误位元的最大数量时,ECC解码器1222则指示出此读出信息包括不可修正的错误位元。因此,控制逻辑1210可能致能关于目标实体页面P_0的再次读取操作以获得可通过由电路1220所执行的同位元检查的读出信息,或者可能报告读出失败。再次读取操作降低了快闪存储器系统的效能。而读取失败几乎无法被使用者所接受。
提高ECC电路1220的错误校正能力的一种方式是选择用于解码的一适当错误校正码。当接收到关于储存于目标实体页面P_1的存储单元M_0~M_K的数据的一读取请求时,控制逻辑1210运作来控制快闪存储器1100去读取数据。如上所述,数据已适当地被编码以确保数据储存的正确性。ECC解码器1222实施来对读取自具有同位元检查阵列的快闪存储器1100的数据进行解码。此同位元检查阵列可以硬件、软件、或固件形式来实施。一般而言,ECC解码器1222所使用的同位元检查阵列定义一特定错误校正码,例如一个基于消息传递演算法(messagepassing algorithm,MPA)的编码或一个低密度同位元检查码(low-density paritycheck code,LDPC code)。图2表示快闪存储器系统1000所使用的同位元检查阵列。同位元检查阵列包括MxN个区块,即B1,1、B2,1、......、以及BN,M其中,M表示在同位元阵列中一行的区块数量,而N表示在同位元阵列中一列的区块数量。举例来说,在同位元检查阵列的第一行中,具有M个区块,包括B1,1、B1,2、......、以及B1,M;在同位元检查阵列的第一列中,具有N个区块,包括B1,1、B2,1、......、以及BN,1。MxN个区块中每一方块为一正方形阵列,且具有水平方向尺寸以及垂直方向尺寸。MxN个区块中每一方块的选择为产生适合于快闪存储器系统1000的同位元检查阵列的关键点。请注意,同位元检查阵列定义了准循环低密度同位元检查码(quasi-cyclic LDPC(QC-LPDC)code)。更详细内容将于下文说明。
图3表示根据本发明实施例可用于同位元检查阵列的候选区块。如上所述,MxN个区块中每一方块为一正方形阵列,且具有水平方向尺寸以及垂直方向尺寸。所有的候选区块可用于同位元检查阵列,且具有相同的水平方向尺寸以及垂直方向尺寸Z。一初始候选区块I0为所有位元都为”0”的一ZxZ正方形阵列。第一候选区块I1为一尺寸Z的相同正方形。尺寸Z的相同正方形为一ZxZ正方形阵列,其具有在主要对角线上的”1”以及在别处的”0”。其他的候选区块为偏移的相同正方形,具有相异的偏移数值。举例来说,一第二候选方块I2为一偏移的相同正方形,其具有偏移数值1;一第三候选方块I3为一偏移的相同正方形,其具有偏移数值2;一第Z候选方块IZ为一偏移的相同正方形,其具有偏移数值(Z-1)。请注意,区块尺寸(即Z)、在同位元检查阵列中一行上的区块数量(即列权重M)、在同位元检查阵列中一列上的区块数量(即行权重N)应可根据所期望的编码率以及期望的编码长度来预先决定。候选方块中的任何方块可被决定为MxN个区块中的一区块。在同位元检查阵列中,候选区块的结合将支配同位元检查阵列的特性与效能。找出或决定在一预先决定区块尺寸、列权重、以及行权重下一最佳同位元检查阵列的方式是,彻底地找出候选区块的任何可能组合并计算所有的对应结果(每一种结合的效能)。在此方式下,可找出最佳同位元检查阵列,且浪费较多一些时间和资源。彻底找出候选区块的任何可能组合并计算所有的对应结果的复杂度将与(Z+1)M*N成比例。根据本发明一实施例,有效地寻找或决定同位元检查阵列的方法将于下文详细叙述。
参阅图4与图5,图4说明根据本发明实施例的第一候选区块组,其作为同位元检查阵列的第一区块组的候选者;图5表示决定来自第一候选区块组中的一最佳结果的树状图(trellis diagram)。在图4中,同位元检查阵列的第一区块组包括区块B1,1、B1,2、B1,3。在此示范实施例中,第一区块组中区块的数量为三个,然而,第一区块组中区块的数量仅为一个例子而并非限制。第一区块组中区块的数量可以视为树状图的视窗尺寸。此视窗尺寸应预先决定。对于在MxN个区块中一区块而言,例如区块B1,1,此区块的内容可决定为所有候选区块中任一区块。举例来说,区块B1,1的内容可决定为候选区块I0、I1、I2、I3、......、以及IZ中任一者;区块B1,2的内容可决定为候选区块I0、I1、I2、I3、......、以及IZ中任一者;区块B1,3的内容可决定为候选区块I0、I1、I2、I3、......、以及IZ中任一者。在图5中,树状图说明了候选区块的所有可能的组合。树状图的每一分支为候选区块的一可能组合。作为同位元检查阵列的第一区块组的候选者的第一候选区块组包括候选区块的所有可能组合,即树状图的所有分支。在一示范实施例中,如图4所示,区块B1,1的内容推定为第一候选区块I1,区块B1,2的内容推定为第二候选区块I2,且区块B1,3的内容推定为第三候选区块I3,以上为候选区块的一种可能组合。具有此可能组合(区块B1,1的内容=第一候选区块I1,区块B1,2的内容=第二候选区块I2,且区块B1,3的内容=第三候选区块I3)的同位元检查阵列的效能(结果)可被估计。此外,对应候选区块的所有可能组合(即第一候选区块组)的所有结果可被估计。换句话说,对应(Z+1)3个分支的(Z+1)3个结果可被估计。第一区块(即区块B1,1)的内容可根据多个第一估计结果中一最佳结果来决定。举例来说,具有组合(区块B1,1的内容=第一候选区块I1,区块B1,2的内容=第二候选区块I2,且区块B1,3的内容=第三候选区块I3)的同位元检查阵列具有一最佳效能。因此,区块B1,1的内容决定为第一候选区块I1
LDPC码的效能主要是根据瀑布区域(water fall)以及错误基数区域(error floorregion)来判定。特别是,对于一储存系统而言,用来指示LDPC码的一最小位元错误率的错误基数区域是重要的特性。错误基数区域由以环长组(girth bundle)构成的陷阱集合所支配。因此,由上述多个第一估计结果中决定最佳结果的方式是考虑上述多个的每一结果的环长数量。此环长具有不同的类型。此环长是在多个检查节点与多个变量节点之间形成环的传递路径(pass circle)。根据传递长度,具有环长4(girth4)、环长6(girth6)、环长8(girth8)等等。此环长的一个类型称为环长4(girth four)。环长4由两个变量节点以及两个检查节点所组成,其中,每一变量节点具有两个消息传递路径,分别连接两个检查节点。此环长的一个类型称为环长6(girth six)。环长6由三个变量节点以及三个检查节点所组成,其中,每一变量节点具有两个消息传递路径,分别连接两个检查节点。一个具有少量环长4的LDPC码为一较佳编码。同样地,一个具有少量环长6的LDPC码为一较佳编码。相较于环长6,环长4将更加严重地降低LDPC码的效能。因此,当在上述多个第一估计结果中决定最佳结果时,在环长4应视为较高优先考虑事项。最佳结果具有最小数量的环长4(或不具有环长4)。假使上述多个第一估计结果中有多个结果具有相同数量的环长4(或不具有环长4),则应考虑环长6的数量来决定最佳结果。在此情况下,最佳结果具有最小数量的环长6。除此之外,假使上述多个第一估计结果中有多个结果具有相同数量的环长4以及环长6,则任意决定上述多个结果中的一者作为最佳结果。请注意,我们可以轻易地找到不具有环长4的LDPC码,但非常困难找到不具有环长6的编码。
在决定区块B1,1的内容后,树状图的视窗可偏移到下一阶层。参阅图6与图7,图6说明根据本发明实施例的第二候选区块组,其作为同位元检查阵列的第二区块组的候选者;图7表示决定来自第二候选区块组中的一最佳结果的树状图。同样地,在图6中,同位元检查阵列的第二区块组包括区块B1,2、B1,3、B1,4。此时,区块B1,1的内容决定为第一候选区块I1。对于在MxN个区块中一第二区块而言,例如区块B1,2,此区块的内容可决定为所有候选区块中任一区块。举例来说,区块B1,2的内容可决定为候选区块I0、I1、I2、I3、......、以及IZ中任一者;区块B1,3的内容可决定为候选区块I0、I1、I2、I3、......、以及IZ中任一者;区块B1,4的内容可由候选区块I0、I1、I2、I3、......、以及IZ中任一者。在图7中,树状图说明了候选区块的所有可能的组合。树状图的每一分支为候选区块的一可能组合。作为同位元检查阵列的第二区块组的候选者的第二候选区块组包括候选区块的所有可能组合,即树状图的所有分支。在一示范实施例中,如图6所示,区块B1,1的内容推定为第一候选区块I1,区块B1,2的内容推定为第二候选区块I2,区块B1,3的内容推定为第三候选区块I3,且区块B1,4的内容推定为第四候选区块I4,以上为候选区块的一种可能组合。具有此可能组合(区块B1,1的内容=第一候选区块I1,区块B1,2的内容=第二候选区块I2,区块B1,3的内容=第三候选区块I3,且区块B1,4的内容=第四候选区块I3)的同位元检查阵列的效能(结果)可被估计。在区块B1,1的内容决定为候选区块I1的情况下,此外,对应候选区块的所有可能组合(即第二候选区块组)的所有结果可被估计。换句话说,对应(Z+1)3个分支的(Z+1)3个结果可被估计。第一区块(即区块B1,2)的内容可根据多个第二估计结果中一最佳结果来决定。举例来说,具有组合(区块B1,1的内容=第一候选区块I1,区块B1,2的内容=第二候选区块I2,区块B1,3的内容=第三候选区块I3,且区块B1,4的内容=第四候选区块I4)的同位元检查阵列具有一最佳效能。因此,区块B1,2的内容决定为第二候选区块I2
请注意,决定效能的一重要规则也包括考虑一编码的环长数量。因此,为了简洁而可省略进一步说明。此外,同位元检查阵列的其他区块可以相似方式来产生。因此,为了简洁而可省略进一步说明。本发明实施例的优点在于可大幅减少用来决定同位元检查阵列资源。本发明实施例的另一优点在于,可找到候选区块的大部分组合。因此,尽管编码搜寻可能不彻底,然而,却可找得相对较佳的编码。关于更减少计算资源方面,可以增加在同位元检查阵列的相异多个列或行之间的相依性。更详细的内容将于下文说明。
参阅图8以及图9,图8说明根据本发明实施例的第一候选区块组,其作为同位元检查阵列的第一区块组的候选者;图9表示决定来自第一候选区块组中的一最佳结果的树状图。在图7中,同位元检查阵列的第一区块组包括区块B1,1、B1,2、B1,3、B2,2、B2,3、B2,4、B3,3、B3,4、B3,5、......、以及BM,M、BM-1,M、BM-2,M。对于在MxN个区块中一区块而言,例如区块B1,1,此区块的内容可决定为所有候选区块中任一区块。举例来说,除了已被推定为其他区块的内容的候选区块以外,区块B1,1的内容可决定为候选区块I0、I1、I2、I3、......、以及IZ中任一者;除了已被推定为其他区块的内容的候选区块以外,区块B1,2的内容可决定为候选区块I0、I1、I2、I3、......、以及IZ中任一者;除了已被推定为其他区块的内容的候选区块以外,区块B1,3的内容可决定为候选区块I0、I1、I2、I3、......、以及IZ中任一者。此外,为了减少复杂度,位于MxN个区块中y行与x列上的一区块的内容以及位于MxN个区块中y+1行与x+1列上的一区块的内容应相同。在其他实施例中,位于MxN个区块中y行与x列上的一区块的内容以及位于MxN个区块中y+2行与x+1列上的一区块的内容应相同;或者位于MxN个区块中y行与x列上的一区块的内容以及位于MxN个区块中y+1行与x+2列上的一区块的内容应相同。只要在同位元检查阵列的相异行与列之间存在有相依性即可。树状图的每一分支为候选区块的一可能组合。作为同位元检查阵列的第一区块组的候选者的第一候选区块组包括候选区块的所有可能组合,即树状图的所有分支。在一示范实施例中,如图8所示,区块B1,1、B2,2、......、以及Bk,k的内容推定为第一候选区块I1,区块B1,2、B2,3、......、以及BM-1,M的内容推定为第二候选区块I2,且区块B1,3、B2,4、......、以及BM-2,M的内容推定为第三候选区块I3,以上为候选区块的一种可能组合。换句话说,当估计同位元检查阵列的效能时,位于MxN个区块中y行与x列上的一区块的内容以及位于MxN个区块中y+1行与x+1列上的一区块的内容应推定为相同。具有此可能组合(区块B1,1、B2,2、......、以及Bk,k的内容=第一候选区块I1,区块B1,2、B2,3、.....、以及BM-1,M的内容=第二候选区块I2,且区块B1,3、B2,4、......、以及BM-2,M的内容=第三候选区块I3)的同位元检查阵列的效能(结果)可被估计。此外,对应候选区块的所有可能组合(即第一候选区块组)的所有结果可被估计。换句话说,对应(Z+1)*Z*(Z-1)个分支的(Z+1)*Z*(Z-1)个结果可被估计。第一区块组的区块数量大幅增加,且更多区块的内容可以同时决定。第一区块(即区块B1,1、B2,2、......、以及BM,M)的内容可根据多个第一估计结果中一最佳结果来决定。举例来说,具有组合(区块B1,1、B2,2、......、以及Bk,k的内容=第一候选区块I1,区块B1,2、B2,3、......、以及BM-1,M的内容=第二候选区块I2,且区块B1,3、B2,4、......、以及BM-2,M的内容=第三候选区块I3)的同位元检查阵列具有一最佳效能。因此,区块B1,1、B2,2、......、以及Bk,k的内容决定为第一候选区块I1。换句话说,位于MxN个区块中第一行上的区块的内容与位于MxN个区块中二行上的区块的内容具有相依性。
在决定区块B1,1、区块B2,2、......、以及区块Bk,k的内容后,树状图的视窗可偏移到下一阶层。参阅图10以及图11,图10说明根据本发明实施例的第二候选区块组,其作为同位元检查阵列的第二区块组的候选者;图11表示决定来自第二候选区块组中的一最佳结果的树状图。同样地,在图10中,同位元检查阵列的第二区块组包括区块B1,2、B1,3、B1,4、B2,3、B2,4、B2,5、B3,4、B3,5、B3,6......、以及BM-1,M、BM-2,M、BM-3,M。此时,区块B1,1、区块B2,2、......、以及区块Bk,k的内容决定为第一候选区块I1。为了进一步减少复杂度,根据本发明的一示范实施例,第一候选区块I1不能被决定为同位元检查阵列的其他区块的内容,但不以此为限。对于在MxN个区块中第二区组块而言,例如区块B1,2、B1,3、B1,4、B2,3、B2,4、B2,5、B3,4、B3,5、B3,6......、以及BM-1,M、BM-2,M、BM-3,M,这些区块的内容可决定为所有候选区块中任一区块。举例来说,除了已被推定为其他区块的内容的候选区块以外,区块B1,2、B2,3、B3,4、......、以及BM-1,M的内容可决定为候选区块I0、I1、I2、I3、......、以及IZ中任一者;除了已被推定为其他区块的内容的候选区块以外,区块B1,3、B2,4、B3,5......、以及BM-2,M的内容可决定为候选区块I0、I1、I2、I3、......、以及IZ中任一者;除了已被推定为其他区块的内容的候选区块以外,区块B1,4、B2,5、B3,6......、以及BM-3,M的内容可决定为候选区块I0、I1、I2、I3、......、以及IZ中任一者。同样地,为了减少复杂度,位于MxN个区块中y行与x列上的一区块的内容以及位于MxN个区块中y+1行与x+1列上的一区块的内容应相同。在图11中,树状图说明了候选区块的所有可能组合。树状图的每一分支为候选区块的一可能组合。作为同位元检查阵列的第二区块组的候选者的第二候选区块组包括候选区块的所有可能组合,即树状图的所有分支。在一示范实施例中,如图10所示,区块B1,1k的内容推定为第一候选区块I1,区块B1,2、B2,3、B3,4、......、以及BM-1,M的内容推定为第二候选区块I2,区块B1,3、B2,4、B3,5......、以及BM-2,M的内容推定为第三候选区块I3,且区块B1,4、B2,5、B3,6......、以及BM-3,M的内容推定为第四候选区块I4,以上为候选区块的一种可能组合。具有此可能组合(区块B1,1、B2,2、......、以及BM,M的内容=第一候选区块I1,区块B1,2、B2,3、B3,4、......、以及BM-1,M的内容=第二候选区块I2,区块B1,3、B2,4、B3,5......、以及BM-2,M的内容=第三候选区块I3,且区块B1,4、B2,5、B3,6......、以及BM-3,M的内容=第四候选区块I4)的同位元检查阵列的效能(结果)可被估计。在区块B1,1、B2,2、......、以及BM,M的内容决定为第一候选区块I1的情况下,对应候选区块的所有可能组合(即第二候选区块组)的所有结果可被估计。换句话说,对应(Z-1)*Z*(Z-2)个分支的(Z-1)*Z*(Z-2)个结果可被估计。第二区块(即区块B1,2、B2,3、B3,4、......、以及BM-1,M)的内容可根据多个第二估计结果中一最佳结果来决定。举例来说,具有组合(区块B1,1、B2,2、......、以及BM,M的内容=第一候选区块I1,区块B1,2、B2,3、B3,4、......、以及BM-1,M的内容=第二候选区块I2,区块B1,3、B2,4、B3,5......、以及BM-2,M的内容=第三候选区块I3,且区块B1,4、B2,5、B3,6......、以及BM-3,M的内容=第四候选区块I4)的同位元检查阵列具有一最佳效能。因此,区块B1,2、B2,3、B3,4、......、以及BM-1M的内容决定为第一候选区块I2
请注意,决定效能的一重要规则也包括考虑一编码的环长数量。因此,为了简洁而可省略进一步说明。此外,同位元检查阵列的其他区块可以相似方式来产生。因此,为了简洁而可省略进一步说明。本发明实施例的优点在于可大幅减少用来决定同位元检查阵列资源。本发明实施例的另一优点在于,可找到候选区块的大部分组合。因此,本发明所执行的编码搜寻可能近乎,且可找得相对较佳的编码。
本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视所附的权利要求所界定者为准。

Claims (11)

1.一种决定一同位元检查阵列的方法,其中,该同位元检查阵列用于一快闪存储器系统,该快闪存储器系统自一快闪存储器读取一数据且以该同位元检查阵列来对该数据进行解码,该同位元检查阵列定义一低密度同位元检查码且包括MxN个区块,M表示在该同位元检查阵列中一行的区块数量,且N表示在该同位元阵列中一列的区块数量,决定该同位元检查阵列的方法包括:
产生一第一候选方块组以作为这些MxN个区块中一第一方块组的候选者;
计算对应该第一候选方块组的多个第一估计结果;
根据这些第一估计结果来决定这些MxN个区块中至少一第一区块的内容;
产生一第二候选方块组以作为这些MxN个区块中一第二方块组的候选者;
借由考虑该第一区块的内容来计算对应该第二候选方块组的多个第二估计结果;以及
根据这些第二估计结果来决定这些MxN个区块中至少一第二区块的内容。
2.如权利要求1所述的决定同位元检查阵列的方法,其特征在于,产生该第一候选方块组以作为这些MxN个区块中该第一方块组的候选者的步骤包括:
决定一视窗的尺寸为W;以及
产生具有ZW个候选方块的该第一候选方块组,以作为这些MxN个区块中组多个区块B1~BW的候选者;以及
其中,产生该第二候选方块组以作为这些MxN个区块中该第二方块组的候选者的步骤包括:
产生具有ZW个候选方块的该第二候选方块组,以作为这些MxN个区块中组多个区块B2~BW+1的候选者。
3.如权利要求1所述的决定同位元检查阵列的方法,其特征在于,这些估计结果中的一最佳结果是借由考虑这些第一估计结果的每一者的环长4的数量来决定。
4.如权利要求3所述的决定同位元检查阵列的方法,其特征在于,该最佳结果具有最小数量的环长4,且假使这些第一估计结果中有多个结果具有相同数量的环长4,则考虑这些第一估计结果的每一者的环长6的数量。
5.如权利要求4所述的决定同位元检查阵列的方法,其特征在于,该最佳结果具有最小数量的环长6,且假使这些第一估计结果中有多个结果具有相同数量的环长6,则任意决定这些多个结果中的一者作为该最佳结果。
6.如权利要求1所述的决定同位元检查阵列的方法,其特征在于,该第一区块组包括位于这些MxN个区块的一第一行的一区块以及位于这些MxN个区块的一第二行的一区块,且位于这些MxN个区块的该第一行的该区块的内容与位于这些MxN个区块的该第二行的该区块的内容具有相依性。
7.如权利要求6所述的决定同位元检查阵列的方法,其特征在于,位于这些MxN个区块的该第一行的该区块以及位于这些MxN个区块的该第二行的该区块位于这些MxN个区块的相异列。
8.如权利要求7所述的决定同位元检查阵列的方法,其特征在于,位于这些MxN个区块的该第一行的该区块位于这些MxN个区块的y行与x列,且位于这些MxN个区块的该第二行的该区块位于这些MxN个区块的y+1行与x+1列。
9.如权利要求1所述的决定同位元检查阵列的方法,其特征在于,更包括:
根据这些第一估计结果中的一最佳结果来决定这些MxN个区块中的多个第一区块的内容。
10.如权利要求1所述的决定同位元检查阵列的方法,其特征在于,这些第二候选区块组的内容不包括该第一区块的内容。
11.一种快闪存储器系统,该快闪存储器系统使用一同位元检查阵列,其中,该快闪存储器系统自一快闪存储器读取一数据且以该同位元检查阵列来对该数据进行解码,该同位元检查阵列定义一低密度同位元检查码且包括MxN个区块,M表示在该同位元检查阵列中一行的区块数量,且N表示在该同位元阵列中一列的区块数量,且该同位元检查阵列依照以下步骤来决定:
产生一第一候选方块组以作为这些MxN个区块中一第一方块组的候选者;
计算对应该第一候选方块组的多个第一估计结果;
根据这些第一估计结果的一最佳结果来决定这些MxN个区块中至少一第一区块的内容;
产生一第二候选方块组以作为这些MxN个区块中一第二方块组的候选者;
借由考虑该第一区块的内容来计算对应该第二候选方块组的多个第二估计结果;以及
根据这些第二估计结果来决定这些MxN个区块中至少一第二区块的内容。
CN201310057999.9A 2012-02-22 2013-02-22 决定同位元检查阵列的方法以及快闪存储器系统 Active CN103297061B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/402,725 2012-02-22
US13/402,725 US8739008B2 (en) 2012-02-22 2012-02-22 Method for determining parity check matrix utilized in flash memory system and related flash memory system thereof

Publications (2)

Publication Number Publication Date
CN103297061A true CN103297061A (zh) 2013-09-11
CN103297061B CN103297061B (zh) 2016-12-28

Family

ID=48983301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310057999.9A Active CN103297061B (zh) 2012-02-22 2013-02-22 决定同位元检查阵列的方法以及快闪存储器系统

Country Status (3)

Country Link
US (1) US8739008B2 (zh)
CN (1) CN103297061B (zh)
TW (1) TWI496157B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092353B1 (en) * 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10157677B2 (en) 2016-07-28 2018-12-18 Ip Gem Group, Llc Background reference positioning and local reference positioning using threshold voltage shift read
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
KR20190038964A (ko) * 2017-10-02 2019-04-10 에스케이하이닉스 주식회사 에러 정정 코드 유닛, 그것의 인코딩 및 디코딩 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033471A1 (en) * 2001-08-07 2003-02-13 Chun-Hung Lin Window-based flash memory storage system and management and access methods thereof
US7149362B2 (en) * 2001-09-21 2006-12-12 Interuniversitair Microelektronica Centrum (Imec) Vzw 2D FIFO device and method for use in block based coding applications
US7295137B2 (en) * 2005-03-01 2007-11-13 The Texas A&M University System Data encoding and decoding using Slepian-Wolf coded nested quantization to achieve Wyner-Ziv coding
US20110264986A1 (en) * 2008-09-26 2011-10-27 Po Shin Francois Chin Decoding Circuit and Encoding Circuit

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101143732B1 (ko) * 2003-05-30 2012-05-09 소니 주식회사 복호 방법 및 복호 장치, 기록 재생 장치 및 방법과, 재생 장치 및 방법
TW201126537A (en) * 2010-01-20 2011-08-01 Sunplus Technology Co Ltd Memory utilization method for low density parity check code, low density parity check code decoding method and apparatus thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033471A1 (en) * 2001-08-07 2003-02-13 Chun-Hung Lin Window-based flash memory storage system and management and access methods thereof
US7149362B2 (en) * 2001-09-21 2006-12-12 Interuniversitair Microelektronica Centrum (Imec) Vzw 2D FIFO device and method for use in block based coding applications
US7295137B2 (en) * 2005-03-01 2007-11-13 The Texas A&M University System Data encoding and decoding using Slepian-Wolf coded nested quantization to achieve Wyner-Ziv coding
US20110264986A1 (en) * 2008-09-26 2011-10-27 Po Shin Francois Chin Decoding Circuit and Encoding Circuit

Also Published As

Publication number Publication date
CN103297061B (zh) 2016-12-28
TWI496157B (zh) 2015-08-11
TW201335943A (zh) 2013-09-01
US8739008B2 (en) 2014-05-27
US20130219249A1 (en) 2013-08-22

Similar Documents

Publication Publication Date Title
CN103297061A (zh) 决定同位元检查阵列的方法以及快闪存储器系统
US8595589B2 (en) Quasi-cyclic low-density parity-check codes
US8806307B2 (en) Interruption criteria for block decoding
KR20110037842A (ko) 메모리 시스템 및 메모리 시스템의 제어 방법
US10177787B1 (en) Mitigation of error correction failure due to trapping sets
US10812112B2 (en) Methods and decoder for soft input decoding of generalized concatenated codes
CN103888148A (zh) 一种动态阈值比特翻转的ldpc码硬判决译码方法
JP2002353946A (ja) 有限サイズのデータブロックに対して誤り訂正符号を評価する方法
US20170288698A1 (en) Power saving for bit flipping decoding algorithm in ldpc decoder
JP2010205328A (ja) 半導体メモリ装置
US10848182B2 (en) Iterative decoding with early termination criterion that permits errors in redundancy part
US20160294416A1 (en) Decoding method of low density parity check code and information storing method in the decoding method
US8832525B2 (en) Memory controller with low density parity check code decoding capability and relevant memory controlling method
CN111833956A (zh) 错误校正电路和具有错误校正电路的存储器控制器
US10804938B2 (en) Decoding data using decoders and neural networks
US20150317203A1 (en) Code-Based Read Control for Data Storage Devices
Spinner et al. Soft input decoder for high‐rate generalised concatenated codes
JP2017022651A (ja) 誤り訂正装置、半導体記憶装置、および誤り訂正方法
US20140298131A1 (en) Priori Information Based Post-Processing in Low-Density Parity-Check Code Decoders
US20200389187A1 (en) Method of training artificial intelligence to execute decoding program of low density parity check code
US9350390B2 (en) Encoder, decoder and semiconductor device including the same
CN113131947B (zh) 译码方法、译码器和译码装置
TWI812411B (zh) 記憶體控制器及低密度同位元查核碼之位元翻轉方法
US11218168B2 (en) Method and apparatus for generating an LDPC code with a required error floor
US10628259B2 (en) Bit determining method, memory control circuit unit and memory storage device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant