CN105320573A - 解码方法、存储器存储装置及存储器控制电路单元 - Google Patents
解码方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN105320573A CN105320573A CN201410362489.7A CN201410362489A CN105320573A CN 105320573 A CN105320573 A CN 105320573A CN 201410362489 A CN201410362489 A CN 201410362489A CN 105320573 A CN105320573 A CN 105320573A
- Authority
- CN
- China
- Prior art keywords
- clock signal
- circuit
- controling parameters
- correcting
- iterative decoding
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种解码方法、存储器存储装置及存储器控制电路单元。所述解码方法包括:由一校正电路根据一第一时脉信号对一第一码字执行一低密度奇偶校验校正码的至少一第一迭代解码程序;根据所述第一迭代解码程序的一第一迭代次数产生一控制参数;根据所述控制参数输出一第二时脉信号至所述校正电路;以及由所述校正电路根据所述第二时脉信号对一第二码字执行所述低密度奇偶校验校正码的至少一第二迭代解码程序。
Description
技术领域
本发明是有关于一种解码方法,且特别是有关于一种解码方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种便携式多媒体装置中。
一般来说,差错校验与校正电路会被设置在存储器存储装置中。用来驱动差错校验与校正电路的时脉信号的频率是固定的,甚至是相当高的,以避免因解码速度太低而影响到系统效能。然而,对于吞吐率(throughput)有限的存储器存储装置来说,提供频率很高的时脉信号给差错校验与校正电路会导致电力的浪费,却可能无助于存储器存储装置整体的数据存取速度。
发明内容
本发明提供一种解码方法、存储器存储装置及存储器控制电路单元,可根据过去的迭代次数来动态地调整负责迭代解码的校正电路当前的时脉信号的频率。
本发明的一范例实施例提供一种解码方法,其用于存储器控制电路单元。所述解码方法包括:由校正电路根据第一时脉信号对第一码字执行低密度奇偶校验校正码(lowdensityparitycode,简称LDPC)的至少一第一迭代解码程序;根据所述第一迭代解码程序的第一迭代次数产生控制参数;根据所述控制参数输出第二时脉信号至所述校正电路;以及由所述校正电路根据所述第二时脉信号对第二码字执行所述低密度奇偶校验校正码的至少一第二迭代解码程序。
在本发明的一范例实施例中,所述的解码方法还包括:由校正电路根据第三时脉信号对第三码字执行低密度奇偶校验校正码的至少一第三迭代解码程序,其中根据所述至少一第一迭代解码程序的第一迭代次数产生控制参数的步骤包括:计算所述至少一第一迭代解码程序的第一迭代次数与所述至少一第三迭代解码程序的第三迭代次数的平均值;以及根据平均值产生控制参数。
在本发明的一范例实施例中,所述的控制参数包括第一控制参数与第二控制参数,而根据平均值产生控制参数的步骤包括:判断平均值是否超过第一门限值或低于第二门限值,其中第一门限值等于或高于第二门限值;若平均值超过第一门限值,输出第一控制参数,其中第一控制参数指示将第一时脉信号的第一频率增加至第二时脉信号的第二频率;以及若平均值低于第二门限值,输出第二控制参数,其中第二控制参数指示将第一时脉信号的第一频率减少至第二时脉信号的第二频率。
在本发明的一范例实施例中,所述的根据所述第一迭代解码程序的第一迭代次数产生控制参数的步骤包括:将所述至少一第一迭代解码程序的第一迭代次数输入至均值滤波器电路或无限脉冲响应滤波器。
在本发明的一范例实施例中,所述的解码方法还包括:输出第四时脉信号至校验电路;以及由校验电路根据第四时脉信号输出对应于第二码字的至少一校验子。
在本发明的一范例实施例中,所述的解码方法还包括:输出第五时脉信号至加法电路;以及由加法电路根据第五时脉信号与校正电路所输出的错误索引信息来更正第二码字。
本发明的一范例实施例提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。连接接口单元用以电性连接至主机系统。可复写式非易失性存储器模块包括多个实体抹除单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块。其中存储器控制电路单元用以控制校正电路根据第一时脉信号对第一码字执行低密度奇偶校验校正码的至少一第一迭代解码程序,存储器控制电路单元还用以根据所述第一迭代解码程序的第一迭代次数产生控制参数。存储器控制电路单元还用以根据控制参数输出第二时脉信号至校正电路。存储器控制电路单元还用以控制校正电路根据第二时脉信号对第二码字执行低密度奇偶校验校正码的至少一第二迭代解码程序。
在本发明的一范例实施例中,所述的存储器控制电路单元还用以控制校正电路根据第三时脉信号对第三码字执行低密度奇偶校验校正码的至少一第三迭代解码程序,其中存储器控制电路单元根据所述至少一第一迭代解码程序的第一迭代次数产生控制参数的操作包括:计算所述至少一第一迭代解码程序的第一迭代次数与所述至少一第三迭代解码程序的第三迭代次数的平均值;以及根据平均值产生控制参数。
在本发明的一范例实施例中,所述的控制参数包括第一控制参数与第二控制参数,而存储器控制电路单元根据平均值产生控制参数的操作包括:判断平均值是否超过第一门限值或低于第二门限值,其中第一门限值等于或高于第二门限值;若平均值超过第一门限值,输出第一控制参数,其中第一控制参数指示将第一时脉信号的第一频率增加至第二时脉信号的第二频率;以及若平均值低于第二门限值,输出第二控制参数,其中第二控制参数指示将第一时脉信号的第一频率减少至第二时脉信号的第二频率。
在本发明的一范例实施例中,所述的存储器控制电路单元根据所述至少一第一迭代解码程序的第一迭代次数产生控制参数的操作包括:将所述至少一第一迭代解码程序的第一迭代次数输入至均值滤波器电路或无限脉冲响应滤波器。
在本发明的一范例实施例中,所述的存储器控制电路单元还用以输出第四时脉信号至校验电路,并且控制校验电路根据第四时脉信号输出对应于第二码字的至少一校验子。
在本发明的一范例实施例中,所述的存储器控制电路单元还用以输出第五时脉信号至加法电路,并且控制加法电路根据第五时脉信号与校正电路所输出的错误索引信息来更正第二码字。
本发明的一范例实施例提供一种存储器控制电路单元,其用于控制可复写式非易失性存储器模块,其中可复写式非易失性存储器模块包括多个实体抹除单元,存储器控制电路单元包括主机接口、存储器接口、存储器管理电路、差错校验与校正电路及时脉信号输出电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块。存储器管理电路电性连接至主机接口与存储器接口。差错校验与校正电路电性连接至存储器管理电路,并且包括校正电路。校正电路用以根据第一时脉信号对第一码字执行低密度奇偶校验校正码的至少一第一迭代解码程序。时脉信号输出电路电性连接至差错校验与校正电路,并且用以输出第一时脉信号至校正电路。其中时脉信号输出电路还用以根据所述第一迭代解码程序的第一迭代次数产生控制参数。时脉信号输出电路还用以根据控制参数输出第二时脉信号至校正电路。校正电路还用以根据第二时脉信号对第二码字执行低密度奇偶校验校正码的至少一第二迭代解码程序。
在本发明的一范例实施例中,所述的时脉信号输出电路还用以输出第三时脉信号至校正电路。校正电路还用以根据第三时脉信号对第三码字执行低密度奇偶校验校正码的至少一第三迭代解码程序,其中时脉信号输出电路根据所述至少一第一迭代解码程序的第一迭代次数产生控制参数的操作包括:计算所述至少一第一迭代解码程序的第一迭代次数与所述至少一第三迭代解码程序的第三迭代次数的平均值;以及根据平均值产生控制参数。
在本发明的一范例实施例中,所述的控制参数包括第一控制参数与第二控制参数,而时脉信号输出电路根据平均值产生控制参数的操作包括:判断平均值是否超过第一门限值或低于第二门限值,其中第一门限值等于或高于第二门限值;若平均值超过第一门限值,输出第一控制参数,其中第一控制参数指示将第一时脉信号的第一频率增加至第二时脉信号的第二频率;以及若平均值低于第二门限值,输出第二控制参数,其中第二控制参数指示将第一时脉信号的第一频率减少至第二时脉信号的第二频率。
在本发明的一范例实施例中,所述的时脉信号输出电路根据所述至少一第一迭代解码程序的第一迭代次数产生控制参数的操作包括:将所述至少一第一迭代解码程序的第一迭代次数输入至均值滤波器电路或无限脉冲响应滤波器。
在本发明的一范例实施例中,所述的差错校验与校正电路还包括校验电路。时脉信号输出电路还用以输出第四时脉信号至校验电路。校验电路用以根据第四时脉信号输出对应于第二码字的至少一校验子。
在本发明的一范例实施例中,所述的差错校验与校正电路还包括加法电路。时脉信号输出电路还用以输出第五时脉信号至加法电路。加法电路用以根据第五时脉信号与校正电路所输出的错误索引信息来更正第二码字。
基于上述,本发明的一范例实施例可根据执行过的迭代解码程序的迭代次数,来动态地调整负责迭代解码的校正电路当前的时脉信号的频率。藉此,可降低用于解码的耗电量,并且可有效维持解码效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统与存储器存储装置的示意图;
图2是根据一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图;
图3是根据一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是示出图1所示的存储器存储装置的概要方块图;
图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图;
图6是根据一范例实施例所示出的存储单元阵列的示意图;
图7是根据一范例实施例所示出存储于存储单元阵列中的写入数据所对应的栅极电压的统计分配图;
图8是根据一范例实施例所示出的从存储单元中读取数据的示意图;
图9是根据另一范例实施例所示出的从存储单元中读取数据的示意图;
图10是根据一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图11是根据一范例实施例所示出的存储器控制电路单元的概要方块图;
图12是根据一范例实施例示出奇偶校验矩阵的示意图;
图13是根据一范例实施例示出读取验证比特的示意图;
图14是根据一范例实施例示出的差错校验与校正电路的的概要方块图;
图15是根据一范例实施例示出的时脉信号输出电路的的概要方块图;
图16是根据一范例实施例示出的解码方法的流程图。
附图标记说明:
1000:主机系统;
1100:电脑;
1102:微处理器;
1104:随机存取存储器;
1106:输入/输出装置;
1108:系统总线;
1110:数据传输接口;
1202:鼠标;
1204:键盘;
1206:显示器;
1208:打印机;
1212:U盘;
1214:记忆卡;
1216:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:记忆棒;
1318:CF卡;
1320:嵌入式存储装置;
100:存储器存储装置;
102:连接接口单元;
104:存储器控制电路单元;
106:可复写式非易失性存储器模块;
2202:存储单元阵列;
2204:字符线控制电路;
2206:比特线控制电路;
2208:行解码器;
2210:数据输入/输出缓冲器;
2212:控制电路;
702:存储单元;
704:比特线;
706:字符线;
708:源极线;
712:选择栅漏极晶体管;
714:选择栅源极晶体管;
SGS:选择栅源极;
SGD:选择栅漏极;
LSB:最低有效比特;
CSB:中间有效比特;
MSB:最高有效比特;
VA、VB、VC、VD、VE、VF、VG、V1~V5:读取电压;
400(0)~400(N):实体抹除单元;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
208:差错校验与校正电路;
210:缓冲存储器;
212:电源管理电路;
214:时脉信号输出电路;
1330:二分图;
1332(1)~1332(k):奇偶节点;
1334(1)~1334(n):信息节点;
L1~Ln:通道可靠性信息;
Li→j、Lj→i:可靠性信息;
1510、1520:存储状态;
1301~1306:区间;
b1~b5:验证比特;
1401、1404、1409:缓冲电路;
1402:扰乱电路;
1403:编码电路;
1405:校验电路;
1406:校正电路;
1407:解扰乱电路;
1408:加法电路;
1410:XOR电路;
DATA_1、DATA_2:数据;
CW_1、CW_2:码字;
1501:时脉信号产生电路;
1502~1506:除频电路;
1507:时脉控制电路;
CS_1~CS_7:时脉信号;
S1602、S1604、S1606、S1608:步骤。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据一范例实施例所示出的主机系统与存储器存储装置的示意图。图2是根据一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图。
请参照图1,主机系统1000一般包括电脑1100与输入/输出(input/output,简称I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(randomaccessmemory,简称RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106还可包括其他装置。
在本发明实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的操作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图2所示的U盘1212、记忆卡1214或固态硬盘(SolidStateDrive,简称SSD)1216等的可复写式非易失性存储器存储装置。
图3是根据一范例实施例所示出的主机系统与存储器存储装置的示意图。
一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄像机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机1310时,可复写式非易失性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memorystick)1316、CF卡1318或嵌入式存储装置1320(如图3所示)。嵌入式存储装置1320包括嵌入式多媒体卡(EmbeddedMMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图4是示出图1所示的存储器存储装置的概要方块图。
请参照图4,存储器存储装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器模块106。
在本范例实施例中,连接接口单元102是兼容于串行高级技术附件(SerialAdvancedTechnologyAttachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102也可以是符合并行高级技术附件(ParallelAdvancedTechnologyAttachment,简称PATA)标准、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,简称IEEE)1394标准、高速周边零件连接接口(PeripheralComponentInterconnectExpress,简称PCIExpress)标准、通用串行总线(UniversalSerialBus,简称USB)标准、安全数位(SecureDigital,简称SD)接口标准、超高速一代(UltraHighSpeed-I,简称UHS-I)接口标准、超高速二代(UltraHighSpeed-II,简称UHS-II)接口标准、记忆棒(MemoryStick,简称MS)接口标准、多媒体存储卡(MultiMediaCard,简称MMC)接口标准、崁入式多媒体存储卡(EmbeddedMultimediaCard,简称eMMC)接口标准、通用快闪存储器(UniversalFlashStorage,简称UFS)接口标准、小型快闪(CompactFlash,简称CF)接口标准、电子集成驱动(IntegratedDeviceElectronics,简称IDE)接口标准或其他适合的标准。连接接口单元102可与存储器控制电路单元104封装在一个芯片中,或者连接接口单元102是布设于一包含存储器控制电路单元104的芯片外。
存储器控制电路单元104用以执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等操作。在一范例实施例中,当存储器控制电路单元104是发出写入指令序列、读取指令序列与抹除指令序列来完成上述写入、读取与抹除等操作。每一个指令序列中可包括一或多个信号、识别码、数据、或其组合,本发明并不限制指令序列的内容。
可复写式非易失性存储器模块106是电性连接至存储器控制电路单元104,并且用以存储主机系统1000所写入的数据。可复写式非易失性存储器模块106可以是单阶存储单元(SingleLevelCell,简称SLC)NAND型快闪存储器模块、多阶存储单元(MultiLevelCell,简称MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特数据的快闪存储器模块)、复数阶存储单元(TripleLevelCell,简称TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。图6是根据一范例实施例所示出的存储单元阵列的示意图。
请参照图5,可复写式非易失性存储器模块106包括存储单元阵列2202、字符线控制电路2204、比特线控制电路2206、行解码器(columndecoder)2208、数据输入/输出缓冲器2210与控制电路2212。
在本范例实施例中,存储单元阵列2202可包括用以存储数据的多个存储单元702、多个选择栅漏极(selectgatedrain,简称SGD)晶体管712与多个选择栅源极(selectgatesource,简称SGS)晶体管714、以及连接此些存储单元的多条比特线704、多条字符线706、与共用源极线708(如图6所示)。存储单元702是以阵列方式(或立体堆叠的方式)配置在比特线704与字符线706的交叉点上。当从存储器控制电路单元104接收到写入指令或读取指令时,控制电路2212会控制字符线控制电路2204、比特线控制电路2206、行解码器2208、数据输入/输出缓冲器2210来写入数据至存储单元阵列2202或从存储单元阵列2202中读取数据,其中字符线控制电路2204用以控制施予至字符线706的电压,比特线控制电路2206用以控制施予至比特线704的电压,行解码器2208依据指令中的列地址以选择对应的比特线,并且数据输入/输出缓冲器2210用以暂存数据。
可复写式非易失性存储器模块106中的存储单元是以临界电压的改变来存储多比特(bits)。具体来说,每一个存储单元的控制栅极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的程序也称为“把数据写入至存储单元”或“程序化存储单元”。随着临界电压的改变,存储单元阵列2202的每一存储单元具有多个存储状态。并且通过读取电压可以判断存储单元是属于哪一个存储状态,藉此取得存储单元所存储的比特。
图7是根据一范例实施例所示出存储于存储单元阵列中的写入数据所对应的栅极电压的统计分配图。
请参照图7,以MLCNAND型快闪存储器为例,随着不同的临界电压,每一存储单元具有4种存储状态,并且此些存储状态分别地代表"11"、"10"、"00"与"01"等比特。换言之,每一个存储状态包括最低有效比特(LeastSignificantBit,简称LSB)以及最高有效比特(MostSignificantBit,简称MSB)。在本范例实施例中,存储状态(即,"11"、"10"、"00"与"01")中从左侧算起的第1个比特为最低有效比特LSB,而从左侧算起的第2个比特为最高有效比特MSB。因此,在此范例实施例中,每一存储单元可存储2个比特。必须了解的是,图7所示出的临界电压及其存储状态的对应仅为一个范例。在本发明另一范例实施例中,临界电压与存储状态的对应也可是随着临界电压越大而以"11"、"10"、"01"与"00"排列,或是其他排列。此外,在另一范例实施例中,也可定义从左侧算起的第1个比特为最高有效比特MSB,而从左侧算起的第2个比特为最低有效比特LSB。
图8是根据一范例实施例所示出的从存储单元中读取数据的示意图,其是以MLCNAND型快闪存储器为例。
请参照图8,存储单元阵列2202的存储单元的读取操作是通过施予读取电压于控制栅极,通过存储单元通道的导通状态,来识别存储单元存储的数据。验证比特(VA)是用以指示施予读取电压VA时存储单元通道是否为导通;验证比特(VC)是用以指示施予读取电压VC时,存储单元通道是否为导通;验证比特(VB)是用以指示施予读取电压VB时,存储单元通道是否为导通。在此假设验证比特是“1”时表示对应的存储单元通道导通,而验证比特是“0”时表示对应的存储单元通道没有导通。如图8所示,通过验证比特(VA)~(VC)可以判断存储单元是处于哪一个存储状态,进而取得所存储的比特。
图9是根据另一范例实施例所示出的从存储单元中读取数据的示意图。
请参照图9,以一TLCNAND型快闪存储器为例,每一个存储状态包括左侧算起的第1个比特的最低有效比特LSB、从左侧算起的第2个比特的中间有效比特(CenterSignificantBit,简称CSB)以及从左侧算起的第3个比特的最高有效比特MSB。在此范例中,依照不同的临界电压,存储单元具有8种存储状态(即,"111"、"110"、"100"、"101"、"001"、"000"、"010"与"011")。通过施加读取电压VA~VG于控制栅极,可以识别存储单元所存储的比特。其中,值得说明的是,此8种存储状态的排列顺序,可依制造商的设计而订,非以本范例的排列方式为限。
图10是根据一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
请参照图10,可复写式非易失性存储器模块106的存储单元702会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元400(0)~400(N)。具体来说,同一条字符线上的存储单元会组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字符线上的实体程序化单元可被分类为下实体程序化单元与上实体程序化单元。例如,每一存储单元的最低有效比特LSB是属于下实体程序化单元,并且每一存储单元的最高有效比特MSB是属于上实体程序化单元。一般来说,在MLCNAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,或下实体程序化单元的可靠性是高于上实体程序化单元的可靠性。在此范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面或是实体扇(sector)。若实体程序化单元为实体页面,则每一个实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体扇,用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,错误更正码)。在本范例实施例中,每一个数据比特区包含32个实体扇,且一个实体扇的大小为512比特组(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,本发明并不限制实体扇的大小以及个数。另一方面,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块。
图11是根据一范例实施例所示出的存储器控制电路单元的概要方块图。必须了解的是,图11所示的存储器控制电路单元的结构仅为一范例,本发明不以此为限。
请参照图11,存储器控制电路单元104包括存储器管理电路202、主机接口204、存储器接口206与差错校验与校正电路208。
存储器管理电路202用以控制存储器控制电路单元104的整体操作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100操作时,此些控制指令会被执行以进行数据的写入、读取与抹除等操作。以下说明存储器管理电路202的操作时,等同于说明存储器控制电路单元104的操作,以下并不再赘述。
在本范例实施例中,存储器管理电路202的控制指令是以固件形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100操作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等操作。
在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序码形式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元104被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等操作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件形式来实作。例如,存储器管理电路202包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块106的实体区块;存储器写入电路用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取电路用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204也可以是兼容于PATA标准、IEEE1394标准、PCIExpress标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。具体来说,若存储器管理电路202要存取可复写式非易失性存储器模块106时,存储器接口206会传送对应的指令序列。这些指令序列可包括一或多个信号,或是在总线上的数据。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
差错校验与校正电路208是电性连接至存储器管理电路202并且用以执行差错校验与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,差错校验与校正电路208会为对应此写入指令的数据产生对应的错误更正码(errorcorrectingcode,简称ECCcode)或差错校验码(errordetectingcode,简称EDC),并且存储器管理电路202会将对应此写入指令的数据与对应的错误更正码或差错校验码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误更正码或差错校验码,并且差错校验与校正电路208会依据此错误更正码或差错校验码对所读取的数据执行差错校验与校正程序。在此范例实施例中,差错校验与校正电路208所使用的是低密度奇偶校验校正码(lowdensityparitycode,简称LDPC)。
在一范例实施例中,存储器控制电路单元104还包括缓冲存储器210与电源管理电路212。
缓冲存储器210是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
电源管理电路212是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。
在低密度奇偶校验校正码中,是用一个奇偶校验矩阵来定义有效的码字。以下将奇偶校验矩阵标记为矩阵H,并且一码字标记为CW。依照以下方程式(1),若奇偶校验矩阵H与码字CW的相乘是零向量,表示码字CW为有效的码字。其中运算子表示模2(mod2)的矩阵相乘。换言之,矩阵H的零空间(nullspace)便包含了所有的有效码字。然而,本发明并不限制码字CW的内容。例如,码字CW也可以包括用任意演算法所产生的错误更正码或是差错校验码。
其中矩阵H的维度是k-乘-n(k-by-n),码字CW的维度是1-乘-n。k与n为正整数。码字CW中包括了信息比特与奇偶比特,即码字CW可以表示成[MP],其中向量M是由信息比特所组成,向量P是由奇偶比特所组成。向量M的维度是1-乘-(n-k),而向量P的维度是1-乘-k。以下将信息比特与奇偶比特统称为数据比特。换言之,码字CW中具有n个数据比特,其中信息比特的长度为(n-k)比特,并且奇偶比特的长度是k比特,即码字CW的码率(coderate)为(n-k)/n。
一般来说在编码时会使用一个产生矩阵(以下标记为G),使得对于任意的向量M都可满足以下方程式(2)。其中产生矩阵G的维度是(n-k)-乘-n。
由方程式(2)所产生的码字CW为有效的码字。因此可将方程式(2)代入方程式(1),藉此得到以下方程式(3)。
由于向量M可以是任意的向量,因此以下方程式(4)必定会满足。也就是说,在决定奇偶校验矩阵H以后,对应的产生矩阵G也可被决定。
在解码一个码字CW时,会先对码字中的数据比特执行一个奇偶校验程序,例如将奇偶校验矩阵H与码字CW相乘以产生一个向量(以下标记为S,如以下方程式(5)所示)。若向量S是零向量,则可直接输出码字CW。若向量S不是零向量,则表示码字CW不是有效的码字。
向量S的维度是k-乘-1,其中每一个元素也称为校验子(syndrome)。若码字CW不是有效的码字,则差错校验与校正电路208会执行一个解码程序,以尝试更正码字CW中的错误比特。
图12是根据一范例实施例示出奇偶校验矩阵的示意图。
请参照图12,一般来说,奇偶校验矩阵H可以表示为二分图(bipartitegraph)1330,其中包括奇偶节点1332(1)~1332(k)与信息节点1334(1)~1334(n)。每一个奇偶节点1332(1)~1332(k)是对应到一个校验子,而每一个信息节点1334(1)~1334(n)是对应一个数据比特。数据比特与校验子之间的对应关系(即,信息节点1334(1)~1334(n)与奇偶节点1332(1)~1332(k)之间的连结关系)是根据奇偶校验矩阵所产生。具体来说,若奇偶校验矩阵中第i列第j行的元素为1,则第i个奇偶节点1332(i)便会连接到第j个信息节点1334(j),其中i与j为正整数。
当存储器管理电路202从可复写式非易失性存储器模块106中读取n个数据比特(形成一个码字)时,则存储器管理电路202也会取得每一个数据比特的一通道可靠性信息。此通道可靠性信息是用以表示对应的数据比特被解码为比特“1”或是“0”的几率(或称信心度),以下再详细说明。在二分图1330中,信息节点1334(1)~1334(n)也会接收到对应的通道可靠性信息。例如,信息节点1332(1)会接收第1个数据比特的通道可靠性信息L1,而信息节点1332(j)会接收第j个数据比特的通道可靠性信息Lj。
差错校验与校正电路208会根据二分图1330的结构与通道可靠性信息L1~Ln来执行解码程序。此解码程序会包括迭代解码。具体来说,在迭代解码中,信息节点1334(1)~1334(n)会计算出可靠性信息给奇偶节点1332(1)~1332(k),并且奇偶节点1332(1)~1332(k)也会计算出可靠性信息给信息节点1334(1)~1334(n)。这些可靠性信息会沿着这些二分图1330中的边(edge)来传送。例如,奇偶节点1332(i)传送给信息节点1334(j)的是可靠性信息Li→j,而信息节点1334(j)传送给奇偶节点1332(i)是可靠性信息Lj→i。这些可靠性信息是用来表示一个节点认为某一个数据比特被解码为“1”或是“0”的几率(也称为信心度)有多少。举例来说,可靠性信息Lj→i表示信息节点1334(j)认为第j个数据比特被解码为“1”或是“0”的信心度(可为正或是负),而可靠性信息Li→j表示奇偶节点1332(i)认为第j个数据比特被解码为“1”或是“0”的信心度。而信息节点1334(1)~1334(n)与奇偶节点1332(1)~1332(k)会根据输入的可靠性信息来计算输出的可靠性信息,其近似于计算一个数据比特被解码为“1”或是“0”的条件几率。因此,上述传送可靠性信息的过程又被称为置信传播(beliefpropagation)。
当采用不同的演算法,信息节点1334(1)~1334(n)和/或奇偶节点1332(1)~1332(k)会计算出不同的可靠性信息。例如,差错校验与校正电路208可以采用总和-乘积演算法(Sum-ProductAlgorithm)、最小值-总和演算法(Min-SumAlgorithm)、或是比特翻转(bit-flippingAlgorithm),本发明并不限制采用何种演算法。
在迭代解码的每一次迭代中,信息节点1334(1)~1334(n)会传递可靠性信息给奇偶节点1332(1)~1332(k),并且奇偶节点1332(1)~1332(k)会传递可靠性信息给信息节点1334(1)~1334(n)。在每一次迭代过后,信息节点1334(1)~1334(n)会根据目前的可靠性信息计算出每一个数据比特应该被解码为比特“1”或是“0”。接下来对这些计算出的数据比特执行奇偶校验程序,即将数据比特所形成的码字与奇偶校验矩阵相乘,藉此判断该码字是否为有效的码字。若所产生的码字为有效的码字,则迭代解码会停止。若所产生的码字不是有效的码字,则会进行下一次的迭代。若迭代解码的迭代次数超过一个预设值,则迭代解码也会停止,表示解码失败。
图13是根据一范例实施例示出读取验证比特的示意图。请参照图13,在此假设属于存储状态1510的存储单元所存储的是比特“1”,而属于存储状态1520的存储单元所存储的是比特“0”。存储状态1510与存储状态1520有部分的重叠,也即在某些读取电压,部分属于存储状态1510的存储单元会被判别为属于存储状态1520,而部分属于存储状态1520的存储单元会被判别为属于存储状态1510。在一范例实施例中,当施加读取电压于存储单元的控制栅极以后,随着存储单元通道是否导通,存储器管理电路202所取得的验证比特会是“0”或是“1”。在此假设若存储单元通道没有导通时则对应的验证比特是“0”,反之则是“1”。若存储器管理电路202施加了读取电压V1~V5至某一存储单元,则存储器管理电路202会取得5个验证比特。具体来说,读取电压V1是对应到验证比特b1;读取电压V2是对应到验证比特b2;读取电压V3是对应到验证比特b3;读取电压V4是对应到验证比特b4;读取电压V5是对应到验证比特b5。若一个存储单元的临界电压是在区间1301,则从验证比特b1至验证比特b5,存储器管理电路202所取得的验证比特会是“11111”;若存储单元的临界电压是在区间1302,则验证比特会是“01111”;若存储单元的临界电压是在区间1303,则验证比特会是“00111”;若存储单元的临界电压是在区间1304,则验证比特会是“00011”;若存储单元的临界电压是在区间1305,则验证比特会是“00001”;若存储单元的临界电压是在区间1306,则验证比特会是“00000”。在另一范例实施例中,可复写式非易失性存储器模块106也可以将对验证比特b1~b5做运算以后,把运算后的验证比特传送给存储器管理电路202。例如,验证比特b2与b4会进行异或运算,而验证比特b1与b5会进行异或运算。如此一来,存储器管理电路202只会取得3个验证比特。本发明并不限制验证比特的个数与内容。
在此范例实施例中,读取电压V1~V5的其中之一会被设定为正负号(sign)读取电压。此正负号读取电压是用来决定数据比特为何。例如,若读取电压V3为正负号读取电压,则数据比特会相同于验证比特b3;若读取电压V2为正负号读取电压,则数据比特会相同于验证比特b2,以此类推。在每一个区间中,根据存储单元属于存储状态1510的几率与属于存储状态1520的几率,可以计算出对数可能性比值(LogLikelihoodRatio,简称LLR),而在此范例实施例中此对数可能性比值也被称为数据比特的通道可靠性信息。在一范例实施例中,各个区间所对应的对数可能性比值可以事先被计算出来并且存储在一个查找表中。存储器管理电路202可以将验证比特b1~b5输入此查找表中,藉此取得对应的对数可能性比值以作为通道可靠性信息。所取得的通道可靠性信息(即,图12中的L1~Ln)便可以来执行上述的迭代解码。在一范例实施例中,若设定不同的正负号读取电压,则会使用不同的查找表来取得通道可靠性信息。
在上述的范例实施例中,若读取电压的个数为x个,则可以分出x+1个区间,其中x为正整数。然而,在另一范例实施例中,若读取电压的个数为x个,则可以分出y个区间,其中y可为任意的正整数。本发明并不限制x个读取电压会产生几个区间。若读取电压的个数为1(例如,仅使用读取电压V3),则所进行的解码程序也被称为硬比特模式解码程序。若读取电压的个数大于1,则所进行的解码程序也被称为软比特模式解码程序。一般来说,软比特模式解码程序所使用的信息较多,因此能更正较多的错误比特,但执行速度也比较慢。此外,在一范例实施例中,当进行硬比特模式解码程序时,存储器管理电路202可以直接根据所取得的验证比特来计算出通道可靠性信息,并不会通过查找表。例如,若验证比特为“1”,则通道可靠性信息可设定为z;若验证比特为“0”,则通道可靠性信息可设定为-z,其中z为实数。
图14是根据一范例实施例示出的差错校验与校正电路的的概要方块图。必须了解的是,图14所示的差错校验与校正电路的结构仅为一范例,本发明不以此为限。
请参照图14,在本范例实施例中,差错校验与校正电路208包括缓冲电路1401、扰乱(converting)电路1402、编码电路1403、缓冲电路1404、校验电路1405、校正电路1406、解扰乱(de-converting)电路1407及加法电路1408。
缓冲电路1401电性连接至主机接口204。当主机系统1000欲写入数据DATA_1至可复写式非易失性存储器模块106时,缓冲电路1401用以暂存数据DATA_1。扰乱电路1402电性连接至缓冲电路1401,并且用以扰乱存储在缓冲电路1401中的数据DATA_1。编码电路1403电性连接至扰乱电路1402,并且用以将扰乱后的数据DATA_1进行编码。在此,编码电路1403是使用低密度奇偶校验校正码来编码。然而,在另一范例实施例中,编码电路1403也可以是使用回旋码(convolutionalcode)、涡轮码(turbocode)或者任意的编码演算法来编码,本发明不加以限制。编码电路1403会将编码后的数据DATA_1(即,码字CW_1)暂存至缓冲电路1404,并且码字CW_1会被经由存储器接口206传输至可复写式非易失性存储器模块106。例如,编码电路1403可根据上述方程式(2)来产生码字CW_1。
当主机系统1000欲从可复写式非易失性存储器模块106读取数据时,多个验证比特会被从可复写式非易失性存储器模块106中读取出来。存储器管理电路202会根据此些验证比特产生多个数据比特。例如,数据比特可根据正负号读取电压来决定。此些数据比特可组成码字CW_2,并且被传送至校验电路1405。校验电路1405用以产生对应于码字CW_2的多个校验子。具体而言,校验电路1405会对码字CW_2执行奇偶校验程序以产生此些校验子。例如,数据比特所形成的向量与奇偶校验矩阵相乘可以得到多个校验子。然而,正负号读取电压与奇偶校验程序已说明如上,在此不再赘述。校正电路1406电性连接至校验电路1405,并且用以对码字CW_2执行迭代解码的解码程序以产生错误索引信息。例如,此错误索引信息包括错误比特的索引。例如,校正电路1406可以对码字CW_2执行硬比特模式解码程序或软比特模式解码程序,在此不加以限制。具体来说,在低密度奇偶校验校正码的迭代解码中,校正电路1406可根据此些校验子取得码字CW_2中每一个数据比特的可靠性信息,并且根据可靠性信息决定数据比特中错误比特的索引。当要判断是否产生有效的码字时,校正电路1406可判断错误比特的索引与校验子是否符合奇偶条件。若错误比特的索引与校验子符合奇偶条件,校正电路1406可输出错误索引信息,此错误索引信息可用来更正码字CW_2中的一或多个数据比特以产生有效的码字。值得一提的是,当校正电路1406对一个码字进行解码时,可能会执行一或多次的迭代,直到获得有效码字或判定解码失败为止。每一次的迭代也可称为一迭代解码程序。另一方面,码字CW_2会被传输至解扰乱电路1407。解扰乱电路1407与扰乱电路1402是相互对应的。若一个数据的数据序列被扰乱电路1402扰乱,则解扰乱电路1407可将此被扰乱的数据序列还原。解扰乱电路1407用以解扰乱码字CW_2,并且输出解扰乱后的码字CW_2。加法电路1408电性连接至校正电路1406与解扰乱电路1407,并且用以根据错误索引信息与解扰乱后的码字CW_2来产生数据DATA_2。也就是说,加法电路1408会根据错误索引信息来更正码字CW_2。例如,在本范例实施例中,加法电路1408包括缓冲电路1409与XOR电路1410。缓冲电路1409用以暂存解扰乱后的码字CW_2,并且XOR电路1410可根据错误比特的索引来对解扰乱后的码字CW_2执行模2的加法。藉此,XOR电路1410可产生数据DATA_2。换言之,数据DATA_2即为有效码字,并且会被传送至主机系统1000。然而,需注意的是,图14中的这些电路的连接关系可以被改变,且部分的电路也可以被替换为其他电路,而非限定于上述。
请再次参照图11,存储器控制电路单元104还包括时脉信号输出电路214。时脉信号输出电路214电性连接至存储器管理电路202、主机接口204、存储器接口206、差错校验与校正电路208、缓冲存储器210及电源管理电路212。时脉信号输出电路214用以输出具有相同或不相同的频率的多个时脉(clock)信号至存储器管理电路202、主机接口204、存储器接口206、差错校验与校正电路208、缓冲存储器210及电源管理电路212。若一个电路(例如,差错校验与校正电路208)包含多个内部电路,则时脉信号输出电路214也可以分别提供具有相同或不相同的频率的时脉信号至此些内部电路。此外,在一范例实例中,时脉信号输出电路214也可以是仅提供时脉信号至差错校验与校正电路208,而存储器管理电路202、主机接口204、存储器接口206、缓冲存储器210及电源管理电路212的时脉信号则由另外的时脉信号输出电路(未示出)提供。
图15是根据一范例实施例示出的时脉信号输出电路的概要方块图。必须了解的是,图15所示的时脉信号输出电路的结构仅为一范例,本发明不以此为限。
请参照图15,在本范例实施例中,时脉信号输出电路214包括时脉信号产生电路1501、除频电路1502~1506及时脉控制电路1507。时脉信号产生电路1501用以提供初始时脉信号ICS。例如,时脉信号产生电路1501包括一振荡器(oscillator)。除频(dividing)电路1502~1506电性连接至时脉信号产生电路1501,并且用以根据初始时脉信号ICS输出经过除频的时脉信号。除频电路1502~1506的数量可以是更多或更少,本发明不加以限制。在本范例实施例中,除频电路1502电性连接至校正电路1406,并且用以提供时脉信号CS_1(也称为第一时脉信号)/CS_2(也称为第二时脉信号)/CS_3(也称为第三时脉信号)至校正电路1406;除频电路1503电性连接至校验电路1405,并且用以提供时脉信号CS_4(也称为第四时脉信号)至校验电路1405;除频电路1504电性连接至存储器管理电路202、主机接口204、缓冲电路1401、扰乱电路1402、缓冲电路1404、解扰乱电路1407及加法电路1408,并且用以提供时脉信号CS_5(也称为第五时脉信号)至存储器管理电路202、主机接口204、缓冲电路1401、扰乱电路1402、缓冲电路1404、解扰乱电路1407及加法电路1408;除频电路1505电性连接至编码电路1403,并且用以提供时脉信号CS_6至编码电路1403;除频电路1506电性连接至存储器接口206,并且用以提供时脉信号CS_7至存储器接口206。也就是说,在本范例实施例中,时脉信号CS_1/CS_2/CS_3是用以驱动校正电路1406;时脉信号CS_4是用以驱动校验电路1405;时脉信号CS_5是用以驱动存储器管理电路202、主机接口204、缓冲电路1401、扰乱电路1402、缓冲电路1404、解扰乱电路1407及加法电路1408;时脉信号CS_6是用以驱动编码电路1403;时脉信号CS_7是用以驱动存储器接口206。本发明并不限制时脉信号CS_1~CS_7的频率各别为多少。此外,在另一范例实施例中,除频电路1502~1506的数目以及除频电路1502~1506与存储器控制电路单元106中的各电路的连接关系也可以被调整,本发明不加以限制。时脉控制电路1507电性连接至除频电路1502,并且用以控制除频电路1502。例如,时脉控制电路1507可控制除频电路1502输出的时脉信号的频率。此外,在另一范例实施例中,时脉控制电路1507也可以电性连接至除频电路1502~1506的至少其中之一,以分别控制除频电路1502~1506输出的时脉信号的频率。
假设目前除频电路1502是提供时脉信号CS_1至校正电路1406,则校正电路1406可以根据时脉信号CS_1来对一码字(也称为第一码字)执行低密度奇偶校验校正码的至少一第一迭代解码程序。校正电路1406所执行的迭代解码程序已在前面说明过,在此不重复赘述。时脉控制电路1507还电性连接至校正电路1406,并且会根据此至少一第一迭代解码程序的迭代次数(也称为第一迭代次数)产生控制参数(也称为控制信号)。换言之,此第一迭代次数是指示为了解码第一码字,校正电路1406执行了多少次的第一迭代解码程序。第一迭代次数可以是由校正电路1406统计后传送给时脉控制电路1507,或者由时脉控制电路1507即时统计,本发明不加以限制。时脉控制电路1507会将此控制参数传送至除频电路1502,并且除频电路1502会根据此控制参数输出时脉信号CS_2至校正电路1406。此时,若需要对另一码字(也称为第二码字)进行解码,校正电路1406会根据时脉信号CS_2对此第二码字执行低密度奇偶校验校正码的至少一第二迭代解码程序。
在一范例实施例中,校正电路1406还会根据时脉信号CS_3对另一码字(也称为第三码字)执行低密度奇偶校验校正码的至少一第三迭代解码程序。例如,此至少一第三迭代解码程序可以是在第一迭代解码程序之间或之后执行,且此至少一第三迭代解码程序是在第二迭代解码程序之前执行。时脉控制电路1507会计算此至少一第一迭代解码程序的第一迭代次数与此至少一第三迭代解码程序的迭代次数(也称为第三迭代次数)的一平均值。此平均值也可以是指加权平均值。或者,当对更多的迭代次数进行平均时,此平均值也可以是指中位数(median)值等,本发明不加以限制。时脉控制电路1507会根据此平均值产生上述控制参数。
在一范例实施例中,上述控制参数包括一第一控制参数与一第二控制参数。第一控制参数用以指示提高时脉信号的频率,并且第二控制参数用以指示降低时脉信号的频率。时脉控制电路1507会判断此平均值是否超过一第一门限值或低于一第二门限值,其中第一门限值等于或高于第二门限值。若此平均值超过第一门限值,时脉控制电路1507会输出第一控制参数至除频电路1502;若此平均值低于第二门限值,时脉控制电路1507会输出该第二控制参数至除频电路1502。例如,假设目前除频电路1502是输出时脉信号CS_1,并且时脉信号CS_1的频率(也称为第一频率)低于时脉信号CS_2的频率(也称为第二频率),则根据第一控制参数,除频电路1502会改为输出频率较高的时脉信号CS_2。或者,假设目前除频电路1502是输出时脉信号CS_1,并且时脉信号CS_1的频率高于时脉信号CS_2的频率,则根据第二控制参数,除频电路1502会改为输出频率较低的时脉信号CS_2。换言之,此第一控制参数指示将第一时脉信号的频率增加至第二时脉信号的频率,并且此第二控制参数指示将第一时脉信号的频率减少至第二时脉信号的频率。例如,假设目前除频电路1502是输出频率为“100MHz”的时脉信号CS_1,第一门限值与第二门限值都是“2”,并且第一迭代次数与第三迭代次数的平均值是“3”,则时脉控制电路1507会判定第一迭代次数与第三迭代次数的平均值超过第一门限值,并且控制除频电路1502输出频率为“133MHz”的时脉信号CS_2。此外,此平均值也可以是对应于更多次的迭代解码程序,而不限于上述第一迭代解码程序与第三迭代解码程序。
在一范例实施例中,时脉控制电路1507也可以包括一均值滤波器电路(meanfilter)(未示出)或一无限脉冲响应滤波器(infiniteimpulseresponsefilter)(未示出)。通过将上述第一迭代次数输入至此均值滤波器电路或此无限脉冲响应滤波器,时脉控制电路1507也可以产生对应的控制参数。
表1是根据一范例实施例示出的时脉信号、迭代次数的平均值及码字的平均错误比特数的关系表。若校正电路1406前N次解码的N个码字中的错误比特数普遍偏多,则校正电路1406前N次解码的平均迭代次数会偏高,并且由除频电路1502输出的时脉信号的频率会被对应增加;若校正电路1406前N次解码的N个码字中的错误比特数普遍偏少,则校正电路1406前N次解码的平均迭代次数会偏低,并且由除频电路1502输出的时脉信号的频率会被对应减少。换言之,可通过校正电路1406前N次解码各别的迭代次数或前N次解码的N个迭代次数的平均值,来决定要提高或降低由除频电路1502输出的时脉信号的频率。在此,N预设是“8”。然而,在另一范例实施例中,N可以是任意的正整数。
表1
在本范例实施例中,由除频电路1502输出的时脉信号的频率,与由除频电路1503~1506输出的时脉信号的频率无关。也就是说,在本范例实施例中,不管除频电路1502输出的时脉信号的频率如何变化,除频电路1503~1506都是会输出具有预设频率的时脉信号。然而,在另一范例实施例中,除频电路1502输出的时脉信号的频率,也可以与由除频电路1503~1506的至少其中之一输出的时脉信号的频率有关。值得一提的是,存储器控制电路单元104(或存储器接口206)的吞吐率(throughput)是有限的,因此即使提高或降低提供至校正电路1406的时脉信号的频率,对于存储器控制电路单元104(或存储器接口206)的吞吐率的影响也是有限的。
图16是根据一范例实施例示出的解码方法的流程图。请参照图16,在步骤S1602中,由校正电路根据第一时脉信号对第一码字执行低密度奇偶校验校正码的至少一第一迭代解码程序。在步骤S1604中,根据所述第一迭代解码程序的第一迭代次数产生控制参数。在步骤S1606中,根据所述控制参数输出第二时脉信号至所述校正电路。在步骤S1608中,由所述校正电路根据所述第二时脉信号对第二码字执行所述低密度奇偶校验校正码的至少一第二迭代解码程序。
然而,图16中各步骤已详细说明如上,在此便不在赘述。值得注意的是,图16中各步骤可以实作为多个程序码或是电路,本发明并不在此限。此外,图16的方法可以搭配以上实施例使用,也可以单独使用,本发明并不在此限。
综上所述,在本发明的一范例实施例中,所述解码方法、存储器存储装置及存储器控制电路单元可根据解码的迭代次数,来动态地调整负责迭代解码的校正电路当前的时脉信号的频率。藉此,可降低用于解码的耗电量,并且可有效维持解码效率。此外,由于是根据过去的信息来决定校正电路当前的时脉信号的频率,因此提供至校正电路的时脉信号的频率可以被事先决定,而不会影响到当前的解码。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (18)
1.一种解码方法,用于存储器控制电路单元,其特征在于,该解码方法包括:
由校正电路根据第一时脉信号对第一码字执行低密度奇偶校验校正码的至少一第一迭代解码程序;
根据该至少一第一迭代解码程序的第一迭代次数产生控制参数;
根据该控制参数输出第二时脉信号至该校正电路;以及
由该校正电路根据该第二时脉信号对第二码字执行该低密度奇偶校验校正码的至少一第二迭代解码程序。
2.根据权利要求1所述的解码方法,其特征在于,还包括:
由该校正电路根据第三时脉信号对第三码字执行该低密度奇偶校验校正码的至少一第三迭代解码程序,
其中根据该至少一第一迭代解码程序的该第一迭代次数产生该控制参数的步骤包括:
计算该至少一第一迭代解码程序的该第一迭代次数与该至少一第三迭代解码程序的第三迭代次数的平均值;以及
根据该平均值产生该控制参数。
3.根据权利要求2所述的解码方法,其特征在于,该控制参数包括第一控制参数与第二控制参数,而根据该平均值产生该控制参数的步骤包括:
判断该平均值是否超过第一门限值或低于第二门限值,其中该第一门限值等于或高于该第二门限值;
若该平均值超过该第一门限值,输出该第一控制参数,其中该第一控制参数指示将该第一时脉信号的第一频率增加至该第二时脉信号的第二频率;以及
若该平均值低于该第二门限值,输出该第二控制参数,其中该第二控制参数指示将该第一时脉信号的该第一频率减少至该第二时脉信号的该第二频率。
4.根据权利要求1所述的解码方法,其特征在于,根据该至少一第一迭代解码程序的该第一迭代次数产生该控制参数的步骤包括:
将该至少一第一迭代解码程序的该第一迭代次数输入至均值滤波器电路或无限脉冲响应滤波器。
5.根据权利要求1所述的解码方法,其特征在于,还包括:
输出第四时脉信号至校验电路;以及
由该校验电路根据该第四时脉信号输出对应于该第二码字的至少一校验子。
6.根据权利要求1所述的解码方法,其特征在于,还包括:
输出第五时脉信号至加法电路;以及
由该加法电路根据该第五时脉信号与该校正电路所输出的错误索引信息来更正该第二码字。
7.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,包括多个实体抹除单元;以及
存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,
其中该存储器控制电路单元用以控制校正电路根据第一时脉信号对第一码字执行低密度奇偶校验校正码的至少一第一迭代解码程序,
该存储器控制电路单元还用以根据该至少一第一迭代解码程序的第一迭代次数产生控制参数,
该存储器控制电路单元还用以根据该控制参数输出第二时脉信号至该校正电路,
该存储器控制电路单元还用以控制该校正电路根据该第二时脉信号对第二码字执行该低密度奇偶校验校正码的至少一第二迭代解码程序。
8.根据权利要求7所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以控制该校正电路根据第三时脉信号对第三码字执行该低密度奇偶校验校正码的至少一第三迭代解码程序,
其中该存储器控制电路单元根据该至少一第一迭代解码程序的该第一迭代次数产生该控制参数的操作包括:
计算该至少一第一迭代解码程序的该第一迭代次数与该至少一第三迭代解码程序的第三迭代次数的平均值;以及
根据该平均值产生该控制参数。
9.根据权利要求8所述的存储器存储装置,其特征在于,该控制参数包括第一控制参数与第二控制参数,而该存储器控制电路单元根据该平均值产生该控制参数的操作包括:
判断该平均值是否超过第一门限值或低于第二门限值,其中该第一门限值等于或高于该第二门限值;
若该平均值超过该第一门限值,输出该第一控制参数,其中该第一控制参数指示将该第一时脉信号的第一频率增加至该第二时脉信号的第二频率;以及
若该平均值低于该第二门限值,输出该第二控制参数,其中该第二控制参数指示将该第一时脉信号的该第一频率减少至该第二时脉信号的该第二频率。
10.根据权利要求7所述的存储器存储装置,其特征在于,该存储器控制电路单元根据该至少一第一迭代解码程序的该第一迭代次数产生该控制参数的操作包括:
将该至少一第一迭代解码程序的该第一迭代次数输入至均值滤波器电路或无限脉冲响应滤波器。
11.根据权利要求7所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以输出第四时脉信号至校验电路,并且控制该校验电路根据该第四时脉信号输出对应于该第二码字的至少一校验子。
12.根据权利要求7所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以输出第五时脉信号至加法电路,并且控制该加法电路根据该第五时脉信号与该校正电路所输出的错误索引信息来更正该第二码字。
13.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块包括多个实体抹除单元,该存储器控制电路单元包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至该可复写式非易失性存储器模块;
存储器管理电路,电性连接至该主机接口与该存储器接口;
差错校验与校正电路,电性连接至该存储器管理电路,其中该差错校验与校正电路包括校正电路,并且该校正电路用以根据第一时脉信号对第一码字执行低密度奇偶校验校正码的至少一第一迭代解码程序;以及
时脉信号输出电路,电性连接至该差错校验与校正电路,并且用以输出该第一时脉信号至该校正电路,
其中该时脉信号输出电路还用以根据该至少一第一迭代解码程序的第一迭代次数产生控制参数,
该时脉信号输出电路还用以根据该控制参数输出第二时脉信号至该校正电路,
该校正电路还用以根据该第二时脉信号对第二码字执行该低密度奇偶校验校正码的至少一第二迭代解码程序。
14.根据权利要求13所述的存储器控制电路单元,其特征在于,该时脉信号输出电路还用以输出第三时脉信号至该校正电路,
该校正电路还用以根据该第三时脉信号对第三码字执行该低密度奇偶校验校正码的至少一第三迭代解码程序,
其中该时脉信号输出电路根据该至少一第一迭代解码程序的该第一迭代次数产生该控制参数的操作包括:
计算该至少一第一迭代解码程序的该第一迭代次数与该至少一第三迭代解码程序的第三迭代次数的平均值;以及
根据该平均值产生该控制参数。
15.根据权利要求14所述的存储器控制电路单元,其特征在于,该控制参数包括第一控制参数与第二控制参数,而该时脉信号输出电路根据该平均值产生该控制参数的操作包括:
判断该平均值是否超过第一门限值或低于第二门限值,其中该第一门限值等于或高于该第二门限值;
若该平均值超过该第一门限值,输出该第一控制参数,其中该第一控制参数指示将该第一时脉信号的第一频率增加至该第二时脉信号的第二频率;以及
若该平均值低于该第二门限值,输出该第二控制参数,其中该第二控制参数指示将该第一时脉信号的该第一频率减少至该第二时脉信号的该第二频率。
16.根据权利要求13所述的存储器控制电路单元,其特征在于,该时脉信号输出电路根据该至少一第一迭代解码程序的该第一迭代次数产生该控制参数的操作包括:
将该至少一第一迭代解码程序的该第一迭代次数输入至均值滤波器电路或无限脉冲响应滤波器。
17.根据权利要求13所述的存储器控制电路单元,其特征在于,该差错校验与校正电路还包括校验电路,
该时脉信号输出电路还用以输出第四时脉信号至该校验电路,
该校验电路用以根据该第四时脉信号输出对应于该第二码字的至少一校验子。
18.根据权利要求13所述的存储器控制电路单元,其特征在于,该差错校验与校正电路还包括加法电路,
该时脉信号输出电路还用以输出第五时脉信号至该加法电路,
该加法电路用以根据该第五时脉信号与该校正电路所输出的错误索引信息来更正该第二码字。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410362489.7A CN105320573B (zh) | 2014-07-28 | 2014-07-28 | 解码方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410362489.7A CN105320573B (zh) | 2014-07-28 | 2014-07-28 | 解码方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105320573A true CN105320573A (zh) | 2016-02-10 |
CN105320573B CN105320573B (zh) | 2019-06-14 |
Family
ID=55247994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410362489.7A Active CN105320573B (zh) | 2014-07-28 | 2014-07-28 | 解码方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105320573B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608818A (zh) * | 2016-07-12 | 2018-01-19 | 大心电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN109407999A (zh) * | 2018-11-16 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种信号矫正方法、系统及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070116059A1 (en) * | 2003-12-09 | 2007-05-24 | Imre Hipp | Circuit and method for synchronization |
US20080276156A1 (en) * | 2007-05-01 | 2008-11-06 | Texas A&M University System | Low density parity check decoder for regular ldpc codes |
KR20080102902A (ko) * | 2007-05-22 | 2008-11-26 | 삼성전자주식회사 | 가변 부호화율을 가지는 ldpc 부호 설계 방법, 장치 및그 정보 저장 매체 |
US20090245393A1 (en) * | 2006-07-28 | 2009-10-01 | Alan Jay Stein | Method and Apparatus For Fast Channel Change For Digital Video |
US7814515B2 (en) * | 2006-03-30 | 2010-10-12 | Panasonic Corporation | Digital data delivery system and method of the same |
-
2014
- 2014-07-28 CN CN201410362489.7A patent/CN105320573B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070116059A1 (en) * | 2003-12-09 | 2007-05-24 | Imre Hipp | Circuit and method for synchronization |
US7814515B2 (en) * | 2006-03-30 | 2010-10-12 | Panasonic Corporation | Digital data delivery system and method of the same |
US20090245393A1 (en) * | 2006-07-28 | 2009-10-01 | Alan Jay Stein | Method and Apparatus For Fast Channel Change For Digital Video |
US20080276156A1 (en) * | 2007-05-01 | 2008-11-06 | Texas A&M University System | Low density parity check decoder for regular ldpc codes |
KR20080102902A (ko) * | 2007-05-22 | 2008-11-26 | 삼성전자주식회사 | 가변 부호화율을 가지는 ldpc 부호 설계 방법, 장치 및그 정보 저장 매체 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608818A (zh) * | 2016-07-12 | 2018-01-19 | 大心电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN107608818B (zh) * | 2016-07-12 | 2021-05-18 | 深圳大心电子科技有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN109407999A (zh) * | 2018-11-16 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种信号矫正方法、系统及装置 |
CN109407999B (zh) * | 2018-11-16 | 2022-03-08 | 郑州云海信息技术有限公司 | 一种信号矫正方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105320573B (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106169308B (zh) | 存储器控制器及其操作方法 | |
CN109616148B (zh) | 具有解码器的存储器系统、其操作方法和解码器 | |
US20190252035A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
CN110299176B (zh) | 存储器控制器及具有该存储器控制器的存储器系统 | |
CN109753376B (zh) | 存储器系统及其操作方法 | |
US20150358036A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
CN105468292A (zh) | 数据存取方法、存储器储存装置及存储器控制电路单元 | |
CN104601178A (zh) | 解码方法、解码电路、存储器存储装置与控制电路单元 | |
CN104572334A (zh) | 解码方法、存储器存储装置与存储器控制电路单元 | |
US10193569B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
US10522234B2 (en) | Bit tagging method, memory control circuit unit and memory storage device | |
CN105022674B (zh) | 解码方法、存储器存储装置、存储器控制电路单元 | |
CN112241333B (zh) | 用于存储器系统的编码器及其方法 | |
CN105304142A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN104733044A (zh) | 译码方法、存储器存储装置、存储器控制电路单元 | |
CN104733051A (zh) | 奇偶校验码的解码方法、存储器储存装置及控制电路单元 | |
CN104851458A (zh) | 解码方法、存储器存储装置与存储器控制电路单元 | |
US11036579B2 (en) | Decoder for memory system and method thereof | |
CN104424045A (zh) | 解码方法、存储器储存装置与非易失性存储器模块 | |
CN109901784B (zh) | 数据存取方法、存储器控制电路单元以及存储器储存装置 | |
TW202029202A (zh) | 解碼方法、記憶體控制電路單元與記憶體儲存裝置 | |
US11190217B2 (en) | Data writing method, memory controlling circuit unit and memory storage device | |
CN104778975A (zh) | 译码方法、存储器存储装置、存储器控制电路单元 | |
CN105095011A (zh) | 数据处理方法、存储器控制电路单元以及存储器存储装置 | |
CN105320573A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 |
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 |