快闪存储器控制器、储存装置及其读取方法与流程

文档序号:23800178发布日期:2021-02-02 12:35阅读:72来源:国知局
快闪存储器控制器、储存装置及其读取方法与流程

[0001]
本发明有关于低密度奇偶校验(low-density parity-check,ldpc)技术,特别是一种可避免低密度奇偶校验码(ldpc code)的弱点和快闪存储器的弱点重合而减损更正力与可靠度的快闪存储器控制器、储存装置及其读取方法。


背景技术:

[0002]
快闪存储器可透过电子式的抹除与写入/程序化以进行数据储存,而广泛地应用于记忆卡、固态硬碟与可携式多媒体播放器等等。并且,快闪存储器可区分为nor型快闪存储器和nand型快闪存储器。其中,nand型快闪存储器相较于nor型快闪存储器来说,具有较高的储存密度以及较低的每一储存位元的成本。
[0003]
一般而言,因制造生产时的缺陷,快闪存储器于开卡前便可能存在有损坏行(bad column)(此种可称为先天损坏行)。此外,快闪存储器于使用过程中也可能因为使用磨损导致较为脆弱的某些行因变得易于出错而成为损坏行(此种可称为运行损坏行)。并且,此些损坏行所导致的高可靠度错误会影响到低密度奇偶校验码(low-density parity-check code,ldpc code)的更正力与可靠度。
[0004]
传统的快闪存储器控制器于碰到先天损坏行时,若其状况不严重则直接使用。而若快闪存储器控制器具有跳过损坏行功能时,则直接跳过损坏行,以藉由缩减页的大小来避免。然而,此种跳过作法会增加快闪存储器控制器处理的复杂度,且缩减页的大小也会降低低密度奇偶校验码的更正力。此外,对于使用过程中出现的运行损坏行,传统的快闪存储器控制器通常都无法特别处理。


技术实现要素:

[0005]
在一实施例中,一种用以存取快闪存储器的快闪存储器控制器,包含只读存储器、处理器与错误更正码单元。只读存储器用以储存程序码。处理器用以执行程序码以控制对快闪存储器的存取。错误更正码单元包含控制模块与解码器。控制模块用以分别计算多个预设低密度奇偶校验码的多个陷阱集和先天损坏行位置资讯之间的第一相关性,并以具有最低的第一相关性的预设低密度奇偶校验码作为选定低密度奇偶校验码。并且,解码器用以根据选定低密度奇偶校验码对自快闪存储器取得的读取资讯进行解码。
[0006]
在一实施例中,一种储存装置包含快闪存储器与快闪存储器控制器。快闪存储器控制器用以存取快闪存储器。快闪存储器控制器包含只读存储器、处理器与错误更正码单元。只读存储器用以储存程序码。处理器用以执行程序码以控制对快闪存储器的存取。错误更正码单元包含控制模块与解码器。控制模块用以分别计算多个预设低密度奇偶校验码的多个陷阱集和先天损坏行位置资讯之间的第一相关性,并以具有最低的第一相关性的预设低密度奇偶校验码作为选定低密度奇偶校验码。并且,解码器用以根据选定低密度奇偶校验码对自快闪存储器取得的读取资讯进行解码。
[0007]
在一实施例中,一种快闪存储器的读取方法包含:分别计算多个预设低密度奇偶
校验码的多个陷阱集和于先天损坏行位置资讯之间的第一相关性;以具有最低的第一相关性的预设低密度奇偶校验码作为选定低密度奇偶校验码;根据读取指令自快闪存储器取得读取资讯;及利用选定低密度奇偶校验码对此读取资讯进行解码。
附图说明
[0008]
图1为耦接至主装置的储存装置的一实施例的方块示意图。
[0009]
图2为快闪存储器的数据储存空间的一实施例的概要示意图。
[0010]
图3为图1中错误更正码单元的一实施例的方块示意图。
[0011]
图4为读取方法的一实施例的流程图。
[0012]
图5为图4中于步骤s40的执行后一实施例的流程图。
[0013]
符号说明
[0014]
100
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
储存装置
[0015]
110
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
快闪存储器
[0016]
120
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
快闪存储器控制器
[0017]
121
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
只读存储器
[0018]
121c
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
程序码
[0019]
122
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
处理器
[0020]
123
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
错误更正码单元
[0021]
1231
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
控制模块
[0022]
1232
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
解码器
[0023]
1233
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
数位信号处理模块
[0024]
1234
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
通道值存储器
[0025]
1235
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
解码结果存储器
[0026]
1236
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
高可靠度错误判断模块
[0027]
1237
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
运行损坏行判断模块
[0028]
1238
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
高可靠度错误存储器
[0029]
1239
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
损坏行存储器
[0030]
123a
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
编码器
[0031]
124
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第一传输接口
[0032]
125
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第二传输接口
[0033]
126
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
缓冲存储器
[0034]
200
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
主装置
[0035]
blk1-blkz
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
区块
[0036]
chk1-chk4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
区段
[0037]
cv1-cvn
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
通道值
[0038]
d1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
读取资讯
[0039]
ldpc1-ldpcm
ꢀꢀꢀꢀ
预设低密度奇偶校验码
[0040]
i1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
损坏行数据
[0041]
i11
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
先天损坏行位置资讯
[0042]
i12
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
运行损坏行位置资讯
[0043]
pg1-pgy
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ

[0044]
r1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
解码结果
[0045]
sc1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
选定低密度奇偶校验码
[0046]
s10-s110
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
步骤
具体实施方式
[0047]
为使本发明的实施例的上述目的、特征和优点能更明显易懂,下文配合附图,作详细说明如下。
[0048]
图1为耦接至主装置的储存装置的一实施例的方块示意图。请参阅图1,储存装置100可耦接至主装置(host device)200。在一些实施态样中,储存装置100可为记忆卡,且主装置200可为但不限于配置有读卡机的各式装置,例如电脑、手机、相机等。在另一些实施态样中,储存装置100亦可为固态硬碟(ssd),且主装置200可为但不限于电脑、主机等。
[0049]
在一实施例中,储存装置100包含快闪存储器(flash memory)110和快闪存储器控制器120,且快闪存储器控制器120耦接于快闪存储器110。快闪存储器110用以储存各式数据,例如多媒体档案,且快闪存储器控制器120可用以存取快闪存储器110。
[0050]
图2为快闪存储器的数据储存空间的一实施例的概要示意图。请参阅图1与图2,一般而言,快闪存储器110的数据储存空间可被划分成多个区块(或称为物理区块(physical block))blk1-blkz,其中z为大于1的正整数。各区块blk1-blkz包含多个页(或称为物理页(physical page))pg1-pgy,其中y为大于1的正整数。此外,每一页pg1-pgy包含多个区段。在一些实施态样中,y可为256,每一页pg1-pgy的数据区域的大小可为16千位元组(kb),且每一页pg1-pgy包含4个区段chk1-chk4(此时每一区段chk1-chk4的数据区域的大小为4kb),但本发明并非以此为限。
[0051]
在一实施例中,快闪存储器控制器120可包含只读存储器121、处理器122以及错误更正码(error correcting codes)单元123。此外,快闪存储器控制器120可还包含至少二传输接口(以下分别称的为第一传输接口124与第二传输接口125)与至少一缓冲存储器126。于此,处理器122耦接于只读存储器121、错误更正码单元123、第一传输接口124、第二传输接口125与缓冲存储器126。
[0052]
在一些实施态样中,处理器122可透过汇流排耦接至只读存储器121、错误更正码单元123、第一传输接口124、第二传输接口125与缓冲存储器126。第一传输接口124与第二传输接口125可为通用序列汇流排(usb)、先进技术附着(ata)、序列先进技术附着(sata)、快速周边元件互联(pci-e)等。此外,处理器122可为中央控制单元(cpu)、微处理器(micro-processor)、数位信号处理器(dsp)、可程序化控制器、特殊应用集成电路(asic)、可程序化逻辑装置(pld)或其他类似电路元件,但本发明并非以此为限。
[0053]
只读存储器121可用以储存一程序码121c,但本发明并非以此为限,程序码121c亦得储存在缓冲存储器126或任何形式的存储器内。处理器122可透过执行程序码121c来控制只读存储器121、错误更正码单元123、第一传输接口124、第二传输接口125与缓冲存储器126进行诸多协同运作。例如,透过第一传输接口124存取快闪存储器110(尤其是对至少一区块blk1-blkz或至少一页pg1-pgy的存取运作)、利用缓冲存储器126进行所需的缓冲处
理、透过第二传输接口125与耦接于储存装置100的主装置200沟通、利用错误更正码单元123进行编码与解码等。
[0054]
图3为图1中错误更正码单元的一实施例的方块示意图。请参阅图1至图3,错误更正码单元123可利用低密度奇偶校验码(ldpc code)对自快闪存储器110中读出的资讯进行解码并对写入至快闪存储器110中的资讯进行编码。在一实施例中,错误更正码单元123可包含控制模块1231与解码器1232,且控制模块1231耦接于解码器1232。
[0055]
一般而言,储存装置100于制造阶段时,制造商可对储存装置100进行开卡动作。开卡动作主要包含系统初始化与低阶格式化。其中,于系统初始化后可产生占用了快闪存储器110的部分储存容量的资讯区块。并且,此资讯区块中可包含一先天损坏行(innate bad column)位置资讯i11。于此,先天损坏行位置资讯i11记载了储存装置100于产出后便已损坏的先天损坏行的位置。
[0056]
为了避免错误更正码单元123因所使用的低密度奇偶校验码的弱点位置(即,陷阱集的位置)重合于快闪存储器110的弱点位置(即,损坏行的位置)而减损到低密度奇偶校验码的更正力与可靠度,本发明任一实施例的快闪存储器控制器120可根据任一实施例的读取方法来读取快闪存储器110中所储存的资讯。
[0057]
图4为读取方法的一实施例的流程图。请参阅图1至图4,在读取方法的一实施例中,快闪存储器控制器120可先利用处理器122透过第一传输接口124取得储存于快闪存储器110中的先天损坏行位置资讯i11。接续,快闪存储器控制器120再利用错误更正码单元123的控制模块1231根据多个预设低密度奇偶校验码ldpc1-ldpcm的多个陷阱集和先天损坏行位置资讯i11去分别计算出各预设低密度奇偶校验码的陷阱集和先天损坏行位置资讯i11之间的第一相关性(步骤s10),并且控制模块1231选择以具有最低的第一相关性的预设低密度奇偶校验码作为选定低密度奇偶校验码sc1来提供给解码器1232(步骤s20)。于此,第一相关性是指预设低密度奇偶校验码的陷阱集的位置和先天损坏行位置资讯i11中损坏行的位置有多相关,并且第一相关性越大时表示预设低密度奇偶校验码的陷阱集的位置和先天损坏行位置资讯i11中损坏行的位置之间的重合度越高。
[0058]
之后,当快闪存储器控制器120透过第二传输接口125接收到来自主装置200的读取指令时,快闪存储器控制器120可利用处理器122根据读取指令中所载的逻辑地址对位于快闪存储器110中的多个区块blk1-blkz中的一区块中的特定实体地址进行读取动作,以取得读取资讯d1(步骤s30)。接续,快闪存储器控制器120便可利用解码器1232透过选定低密度奇偶校验码sc1对读取资讯d1进行解码,并产生相应的解码结果r1(步骤s40)。此外,快闪存储器控制器120还可利用处理器122将步骤s40所得的解码结果r1透过第二传输接口125传送至主装置200,以完成读取指令所指示的读取动作。
[0059]
于此,由于解码器1232是使用和先天损坏行位置资讯i11之间的第一相关性最低的选定低密度奇偶校验码sc1来进行解码,因此,可有效降低先天损坏行对选定低密度奇偶校验码sc1的更正力和可靠度的影响。
[0060]
在步骤s10的一实施例中,各预设低密度奇偶校验码ldpc1-ldpcm所具有的陷阱集的位置与种类互不相同。于此,各预设低密度奇偶校验码ldpc1-ldpcm的陷阱集的位置与种类可预先被找出,并且此些预设低密度奇偶校验码ldpc1-ldpcm和其对应的陷阱集的位置与种类等资讯可储存于只读存储器121中,但本发明并非以此为限,此些预设低密度奇偶校
验码ldpc1-ldpcm和其对应的陷阱集的位置与种类等资讯亦可储存在快闪存储器110中,且快闪存储器控制器120可透过存取快闪存储器110来取得。因此,控制模块1231在取得先天损坏行位置资讯i11后,便可依序将各预设低密度奇偶校验码ldpc1-ldpcm的陷阱集的位置和先天损坏行位置资讯i11中所记载的损坏行的位置进行比较,以计算出第一相关性。
[0061]
于此,由于如何找出各预设低密度奇偶校验码ldpc1-ldpcm所具有的陷阱集的位置与种类因已为本技术领域中具有通常知识者所熟知,例如透过高可靠度错误(high reliability error,hre)检验、重要性取样(importance sampling,is)检验等方式来找出,故不赘述。
[0062]
在步骤s30的一实施例中,错误更正码单元123可还包含数位信号处理模块1233,且数位信号处理模块1233耦接于解码器1232。于此,快闪存储器控制器120可利用处理器122根据读取指令读取位于某一区块中的特定实体地址上的读取资讯d1,并利用错误更正码单元123的数位信号处理模块1233计算出特定实体地址中各地址上合适的可靠度讯息,以转换出相应于读取资讯d1的多个通道值cv1-cvn。其中,各通道值cv1-cvn包含一个符号位元(sign bit)和至少一个可靠度位元(reliability bit(s))。此外,错误更正码单元123可还包含通道值存储器1234。通道值存储器1234耦接于数位信号处理模块1233与解码器1232,且通道值存储器1234可用以储存数位信号处理模块1233所转换出的此些通道值cv1-cvn。
[0063]
在步骤s40的一实施例中,错误更正码单元123可还包含解码结果存储器1235。解码结果存储器1235耦接于解码器1232,且解码结果存储器1235可用以储存解码器1232所产生的解码结果r1,以供后续使用。于此,由于如何利用选定低密度奇偶校验码sc1递回地对多个通道值cv1-cvn进行解码以产生解码结果r1,已为本技术领域中具有通常知识者所熟知,例如,利用讯息传递演算法(belief propagation algorithm,bpa)、和积演算法(sum-product algorithm)等,故不赘述。
[0064]
一般而言,储存装置100于使用过程中,亦会因为制程缺陷或制程不均匀的影响,使得快闪存储器110的某些行会磨耗的特别快,进而导致此些行上的位元特别容易出错。而此些容易出错的行即为运行损坏行(run-time bad column)。
[0065]
图5为图4中于步骤s40的执行后一实施例的流程图。请参阅图1至图5,由于此些在使用过程中才产生的运行损坏行亦会影响到选定低密度奇偶校验码sc1的更正力与可靠度,因此,在读取方法的一实施例中,快闪存储器控制器120还可于取得一运行损坏行位置资讯i12后,将先天损坏行位置资讯i11与运行损坏行位置资讯i12统合成一损坏行数据i1。接续,快闪存储器控制器120再利用错误更正码单元123的控制模块1231去计算出目前作为选定低密度奇偶校验码sc1的预设低密度奇偶校验码的陷阱集和损坏行数据i1之间的第二相关性(步骤s50)。其中,第二相关性是指选定低密度奇偶校验码sc1的陷阱集的位置和损坏行数据i1中损坏行的位置有多相关,并且第二相关性越大时表示选定低密度奇偶校验码sc1的陷阱集的位置和损坏行数据i1中损坏行的位置之间的重合度越高。之后,控制模块1231可将步骤s50所得的第二相关性和预设的一第一阀值进行比较,以判断第二相关性是否大于第一阀值(步骤s60)。
[0066]
在步骤s50的一实施例中,错误更正码单元123还包含高可靠度错误判断模块1236与运行损坏行判断模块1237。高可靠度错误判断模块1236耦接于通道值存储器1234与解码
结果存储器1235,且运行损坏行判断模块1237耦接于高可靠度错误判断模块1236。
[0067]
于此,高可靠度错误判断模块1236用以将解码结果存储器1235中所储存的解码结果r1和通道值存储器1234中所储存的通道值cv1-cvn依序进行比较,以分别判断各通道值cv1-cvn是否为一高可度错误。于各通道值cv1-cvn的判断过程中,倘若此通道值被判断为高可靠度错误时,高可靠度错误判断模块1236会根据此通道值的对应地址产生相应的高可靠度错误位置资讯,以记录下快闪存储器110中各个出现被判断为高可靠度错误的位置。
[0068]
举例而言,假设通道值cv1为表示相应的位元数据应为高可靠度的“0”,但解码器1231所产生的解码结果r1却表示此位元数据应为“1”时,高可靠度错误判断模块1236便可判定此为高可靠度错误,并产生相应的高可靠度错误位置资讯。在一些实施例中,高可靠度错误位置资讯可包含出现高可靠度错误的区块编号、页编号、区段编号与地址等。
[0069]
在一些实施例中,错误更正码单元123可还包含高可靠度错误存储器1238,且高可靠度错误存储器1238耦接于高可靠度错误判断模块1236与运行损坏行判断模块1237。于此,高可靠度错误判断模块1236可将所产生的各个高可靠度错误位置资讯储存至高可靠度错误存储器1238中。在一实施态样中,高可靠度错误判断模块1236可以建表方式储存所产生的各个高可靠度错误位置资讯。举例而言,高可靠度错误判断模块1236所建立的损坏行表格的一实施态样可如下方表一所示,其中损坏行表格的栏位可包含区块编号、页编号、区段编号、地址与次数。
[0070]
表一
[0071]
区块编号页编号区段编号地址次数172200x0563172200x0752172200x1a23172200x2d30
[0072]
于此,高可靠度错误判断模块1236可于每次产生高可靠度错误位置资讯时,先判断此高可靠度错误位置资讯的位置是否和先前产生的某一高可靠度错误位置资讯的位置完全相同(即,此高可靠度错误位置资讯中的区块编号、页编号、区段编号、地址是否和损坏行表格中的某一列中所载的区块编号、页编号、区段编号、地址完全相同)。倘若完全相同,高可靠度错误判断模块1236可将损坏行表格中和高可靠度错误位置资讯的位置完全相同的那一列的次数栏位中的数值加1。反之,若位置不完全相同或不曾出现,高可靠度错误判断模块1236则将此高可靠度错误位置资讯的位置记录至损坏行表格中的新的一列中。
[0073]
运行损坏行判断模块1237用以根据高可靠度错误存储器1238中所储的各个高可靠度错误位置资讯(即,高可靠度错误判断模块1236所建立的表格)判断快闪存储器110中是否出现了运行损坏行。并且,于判断出现了运行损坏行时,运行损坏行判断模块1237可将此运行损坏行的位置记录至损坏行数据i1的运行损坏行位置资讯i12中。
[0074]
在一些实施例中,运行损坏行判断模块1237可根据位置完全相同的高可靠度错误位置资讯的数量是否超过第一预设数量来判断快闪存储器110中是否出现了运行损坏行。举例而言,运行损坏行判断模块1237可根据损坏行表格中各列于次数栏位的数值是否超过第一预设数量来判断。此时,若有某一列于次数栏位的数值超过第一预设数量时,运行损坏行判断模块1237便可判定出现了运行损坏行,并且将此列于地址栏位的数值记录至损坏行
位置资讯i12中。其中,第一预设数量的数值端视设计而定。
[0075]
在另一些实施例中,运行损坏行判断模块1237亦可根据虽为跨页但其余位置完全相同的高可靠度错误位置资讯的数量是否超过第二预设数量来判断。举例而言,假设于损坏行表格中有多列的内容的差异仅在于页栏位时,运行损坏行判断模块1237可计算此些列的数量,并且于此数量超过第二预设数量时判定出现了运行损坏行,而将此些列于地址栏位的数值记录至损坏行位置资讯i12中。其中,第二预设数量的数值端视设计而定。
[0076]
在又一些实施例中,运行损坏行判断模块1237还可同时根据位置完全相同的高可靠度错误位置资讯的数量是否超过第一预设数量以及虽为跨页但其余位置完全相同的高可靠度错误位置资讯的数量是否超过第二预设数量来判断。
[0077]
在一些实施例中,错误更正码单元123可还包含损坏行存储器1239,且损坏行存储器1239耦接于运行损坏行判断模块1237与控制模块1231。损坏行存储器1239用以储存损坏行数据i1。其中,损坏行数据i1包含先天损坏行位置资讯i11与运行损坏行位置资讯i12,且运行损坏行位置资讯i12的内容可持续由运行损坏行判断模块1237进行新增。
[0078]
在读取方法的一实施例中,当控制模块1231于步骤s60中判断第二相关性是小于或等于第一阀值时,表示此时选定低密度奇偶校验码sc1的陷阱集的位置和损坏行数据i1中损坏行的位置之间的重合度未超标,控制模块1231可维持住当前使用的选定低密度奇偶校验码sc1,并返回至步骤s50以持续监控选定低密度奇偶校验码sc1与损坏行数据i1之间的第二相关性,但本发明并非仅限于此。在另一实施例中,控制模块1231还可再将第二相关性和小于第一阀值的一第二阀值进行比较,以判断第二相关性是否大于第二阀值(步骤s70)。
[0079]
当步骤s70的判断结果为第二相关性小于或等于第二阀值时,表示此时选定低密度奇偶校验码sc1的陷阱集的位置和损坏行数据i1中损坏行的位置之间的重合度够低,因此,控制模块1231可维持住当前使用的选定低密度奇偶校验码sc1(步骤s80)。反之,当步骤s70的判断结果为第二相关性大于第二阀值时,表示此时选定低密度奇偶校验码sc1的陷阱集的位置和损坏行数据i1中损坏行的位置之间的重合度虽不足以严重减损到低密度奇偶校验码的更正力与可靠度,但仍会对低密度奇偶校验码的更正力与可靠度造成些许减损,此时控制模块1231可致使解码器1232对选定低密度奇偶校验码sc1的陷阱集执行一后处理(post processing),以试图降低低密度奇偶校验码sc1的错误基数(error floor)现象(步骤s90)。并且,于执行完后处理后再返回步骤s80,以维持经过后处理后的低密度奇偶校验码sc1。
[0080]
于此,第一阀值与第二阀值的选定可视所需设计而定。在一些实施态样中,第一阀值可为0.5且第二阀值为0.3。
[0081]
在读取方法的一实施例中,当控制模块1231于步骤s60中判断第二相关性大于第一阀值时,表示损坏行数据i1中所记载的损坏行的位置和预设低密度奇偶校验码的陷阱集的位置重合度过高,此时控制模块1231可改以此些预设低密度奇偶校验码ldpc1-ldpcm中与损坏行数据i1之间的第三相关性是小于或等于第一阀值的某一个预设低密度奇偶校验码来作为选定低密度奇偶校验码sc1,并将更新后的选定低密度奇偶校验码sc1提供给解码器1232(步骤s100),以致使解码器1232可根据更新后的选定低密度奇偶校验码sc1进行解码。其中,第三相关性是指预设低密度奇偶校验码的陷阱集的位置和损坏行数据i1中损坏
行的位置有多相关,并且第三相关性越大时表示此预设低密度奇偶校验码的陷阱集的位置和损坏行数据i1中损坏行的位置之间的重合度越高。
[0082]
在步骤s100的一实施例中,控制模块1231可先从多个预设低密度奇偶校验码ldpc1-ldpcm中取得一预设低密度奇偶校验码,并计算出预设低密度奇偶校验码的陷阱集和损坏行数据i1之间的第三相关性。当所得的第三相关性小于或等于第一阀值时,控制模块1231便可以此作为新的选定低密度奇偶校验码sc1,并返回至步骤s50以持续监控。而当所得的第三相关性是大于第一阀值时,控制模块1231再从多个预设低密度奇偶校验码ldpc1-ldpcm中取得另一个预设低密度奇偶校验码并进行计算。依此顺序直至检测过所有预设低密度奇偶校验码ldpc1-ldpcm。
[0083]
在读取方法的一实施例中,倘若控制模块1231从此些预设低密度奇偶校验码ldpc1-ldpcm中皆无法找到第三相关性是小于或等于第一阀值的预设低密度奇偶校验码时,表示此区块(即相应于损坏行数据i1的区块)已不适用,此时控制模块1231可将此区块的编号存入至一损坏区块列表中,以禁止使用此区块(步骤s110)。在一些实施例中,此损坏区块列表可储存于快闪存储器110中。
[0084]
在一些实施例中,错误更正码单元123可还包含编码器123a,且编码器123a耦接于控制模块1231。于此,编码器123a可根据控制模块1231所指示的选定低密度奇偶校验码sc1对写入至快闪存储器110的写入数据进行编码。
[0085]
在一些实施例中,控制模块1231可根据损坏行数据i1中每一个区块的损坏行的情况来选用对应的选定低密度奇偶校验码sc1。如此一来,解码器1232便可根据当前通道值cv1-cvn的来源区块为何而使用相应的选定低密度奇偶校验码sc1去进行解码(编码器123a亦同)。
[0086]
在一些实施例中,本发明中的“模块”、“单元”,例如错误更正码单元123、控制模块1231、数位信号处理模块1233、高可靠度错误判断模块1236、运行损坏行判断模块1237等,可透过特殊应用集成电路(asic)来实现。此外,处理器122可为中央控制单元(cpu)、微处理器(micro-processor)、数位信号处理器(dsp)、可程序化控制器、特殊应用集成电路(asic)、可程序化逻辑装置(pld)或其他类似电路元件,但本发明并非以此为限。
[0087]
在一些实施例中,本发明任一实施例的快闪存储器控制器120可以各式制程的集成电路制程方式整合于晶片中,但本发明并非以此为限。
[0088]
综上所述,本发明任一实施例的快闪存储器控制器、储存装置及读取方法,其以和快闪存储器的先天损坏行的位置相关性最低的预设低密度奇偶校验码作为提供给解码器使用的选定低密度奇偶校验码,使得快闪存储器的先天损坏行对选定低密度奇偶校验码的更正力和可靠度的影响可降低。此外,本发明任一实施例的快闪存储器控制器、储存装置及读取方法还透过于使用过程中侦测高可靠度错误的位置来得到运行损坏行位置资讯,以避免于使用过程中才出现的运行损坏行会减损到选定低密度奇偶校验码的更正力和可靠度。
[0089]
本发明的实施例揭示如上,然其并非用以限定本发明的范围,任何所属技术领域中具有通常知识者,在不脱离本发明实施例的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1