CN104733044A - 译码方法、存储器存储装置、存储器控制电路单元 - Google Patents

译码方法、存储器存储装置、存储器控制电路单元 Download PDF

Info

Publication number
CN104733044A
CN104733044A CN201310719392.2A CN201310719392A CN104733044A CN 104733044 A CN104733044 A CN 104733044A CN 201310719392 A CN201310719392 A CN 201310719392A CN 104733044 A CN104733044 A CN 104733044A
Authority
CN
China
Prior art keywords
bit mode
those
code word
positive circuit
translator
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
CN201310719392.2A
Other languages
English (en)
Other versions
CN104733044B (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.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN201310719392.2A priority Critical patent/CN104733044B/zh
Publication of CN104733044A publication Critical patent/CN104733044A/zh
Application granted granted Critical
Publication of CN104733044B publication Critical patent/CN104733044B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明提出一种译码方法、存储器存储装置、存储器控制电路单元。首先,读取多个存储单元以取得多个校验比特。由第一更正电路根据校验比特执行第一硬比特模式译码程序,并判断第一硬比特模式译码程序是否生成第一有效码字。若生成第一有效码字,输出该第一有效码字。若没有生成第一有效码字,由第二更正电路根据上述的校验比特执行第二硬比特模式译码程序,并判断第二硬比特模式译码程序是否生成有效码字。其中第一更正电路的精准度小于第二更正电路的精准度。藉此,可以增加译码的速度。

Description

译码方法、存储器存储装置、存储器控制电路单元
技术领域
本发明是有关于一种译码方法,且特别是有关于一种可复写式非易失性存储器模块的译码方法、存储器存储装置、存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内装在上述所举例的各种便携式多媒体装置中。
一般来说,写入至可复写式非易失性存储器模块的数据都会根据一个错误更正码来编码。从可复写式非易失性存储器模块中所读取的数据也会经过对应的译码程序。在一些情况下,若所读取的数据中有错误比特,并且这些错误比特无法被更正,则需要的译码时间会更长。因此,如何增加译码的速度,为此领域技术人员所关心的议题。
发明内容
本发明提供一种译码方法、存储器存储装置、存储器控制电路单元,可以增加译码的速度。
本发明一范例实施例提出一种译码方法,用于可复写式非易失性存储器模块。可复写式非易失性存储器模块包括多个第一存储单元。此译码方法包括:根据第一读取电压读取第一存储单元以取得多个第一校验比特;由第一更正电路根据第一校验比特执行第一硬比特模式译码程序,并判断第一硬比特模式译码程序是否生成第一有效码字;若第一硬比特模式译码程序生成第一有效码字,输出第一有效码字;若第一硬比特模式译码程序没有生成第一有效码字,由第二更正电路根据第一校验比特执行第二硬比特模式译码程序,并判断第二硬比特模式译码程序是否生成第二有效码字,其中第一更正电路的精准度小于第二更正电路的精准度;以及,若第二硬比特模式译码程序生成第二有效码字,输出第二有效码字。
在一范例实施例中,上述的译码方法还包括:若第二硬比特模式译码程序没有生成第二有效码字,根据多个第二读取电压读取第一存储单元以取得多个第二校验比特,并由第二更正电路根据第二校验比特执行一软比特模式译码程序,其中第二读取电压的个数大于第一读取电压的个数;判断软比特模式译码程序是否生成第三有效码字;以及,若软比特模式译码程序生成第三有效码字,输出第三有效码字。
在一范例实施例中,上述的译码方法还包括:若软比特模式译码程序没有生成第三有效码字,判断一读取次数是否大于一读取临界值;若读取次数大于读取临界值,判断译码失败;以及,若读取次数不大于读取临界值,重新设定第一读取电压,根据重新设定的第一读取电压来读取第一存储单元以重新取得第一校验比特,以及通过第一更正电路根据重新取得的第一校验比特执行第一硬比特模式译码程序。
在一范例实施例中,上述的译码方法还包括:根据第一校验比特生成多个数据比特;以及对数据比特执行一奇偶校验程序以生成多个校验子。其中根据第一校验比特执行第一硬比特模式译码程序的步骤包括:在低密度奇偶校验码的一叠代译码中,根据校验子取得每一数据比特的一可靠度信息,并且根据可靠度信息决定数据比特中错误比特的索引。其中判断第一硬比特模式译码程序是否生成有效的码字的步骤包括:判断错误比特的索引与校验子是否符合一奇偶校验条件;以及若错误比特的索引与校验子符合奇偶校验条件,判断第一硬比特模式译码程序生成有效的码字。其中输出有效的码字的步骤包括:根据错误比特的索引来更正数据比特,并输出更正后的数据比特。
在一范例实施例中,上述的译码方法还包括:根据校验子计算一校验总和;判断校验总和是否小于第一校验临界值;若校验总和小于第一校验临界值,由第一更正电路执行第一硬比特模式译码程序;若校验总和大于等于第一校验临界值,判断校验总和是否小于第二校验临界值;若校验总和小于第二校验临界值,由第二更正电路执行第二硬比特模式译码程序;若校验总和大于等于第二校验临界值,判断校验总和是否小于第三校验临界值;以及若校验总和小于第三校验临界值,由第二更正电路执行软比特模式译码程序。
在一范例实施例中,在根据第一读取电压读取第一存储单元的步骤之前,上述的译码方法还包括:从可复写式非易失性存储器模块中读取一奇偶校验矩阵信息;根据奇偶校验矩阵信息来设定第一更正电路的第一参数,其中第一硬比特模式译码程序是根据第一参数所执行;以及根据奇偶校验矩阵信息来设定第二更正电路的第二参数,其中第二硬比特模式译码程序是根据第二参数所执行。
在一范例实施例中,上述读取奇偶校验矩阵信息的步骤包括:从可复写式非易失性存储器模块中读取第一数据;以及对第一数据执行博斯-乔赫里-霍克文黑姆BCH译码程序以取得奇偶校验矩阵信息。
在一范例实施例中,上述的第一硬比特模式译码程序与第二硬比特模式译码程序是对应于一类循环低密度奇偶校验码。类循环低密度奇偶校验码具有一奇偶校验矩阵,奇偶校验矩阵包括多个排列矩阵,并且奇偶校验矩阵信息包括每一个排列矩阵的索引。
本发明一范例实施例提出一种存储器存储装置,包括连接接口单元、上述的可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元,用以电性连接至主机系统。存储器控制电路单元是电性连接至连接接口单元与可复写式非易失性存储器模块。存储器控制电路单元包括存储器管理电路、第一更正电路与第二更正电路,其中第一更正电路的一精准度小于第二更正电路的一精准度。存储器管理电路是用以根据第一读取电压读取第一存储单元以取得多个第一校验比特。第一更正电路用以根据第一校验比特执行第一硬比特模式译码程序,并判断第一硬比特模式译码程序是否生成第一有效码字。若第一硬比特模式译码程序生成第一有效码字,第一更正电路用以输出第一有效码字。若第一硬比特模式译码程序没有生成第一有效码字,第二更正电路用以根据第一校验比特执行第二硬比特模式译码程序,并判断第二硬比特模式译码程序是否生成第二有效码字。若第二硬比特模式译码程序生成第二有效码字,第二更正电路用以输出第二有效码字。
在一范例实施例中,若第二硬比特模式译码程序没有生成第二有效码字,存储器管理电路用以根据多个第二读取电压读取第一存储单元以取得多个第二校验比特,其中第二读取电压的个数大于第一读取电压的个数。第二更正电路用以根据第二校验比特执行一软比特模式译码程序。第二更正电路用以判断软比特模式译码程序是否生成第三有效码字。若软比特模式译码程序生成第三有效码字,第二更正电路用以输出第三有效码字。
在一范例实施例中,若软比特模式译码程序没有生成第三有效码字,存储器管理电路用以判断一读取次数是否大于一读取临界值。若读取次数大于读取临界值,存储器管理电路用以判断译码失败。若读取次数不大于读取临界值,存储器管理电路用以重新设定第一读取电压,根据重新设定的第一读取电压来读取第一存储单元以重新取得第一校验比特。第一更正电路用以根据重新取得的第一校验比特执行第一硬比特模式译码程序。
在一范例实施例中,第一校验比特是用以生成多个数据比特。存储器控制电路单元还包括校验电路与存储器。校验电路是用以对数据比特执行一奇偶校验程序以生成多个校验子。存储器是电性连接至校验电路、第一更正电路与第二更正电路,用以存储校验子。第一更正电路根据第一校验比特执行第一硬比特模式译码程序的操作包括:在低密度奇偶校验码的一叠代译码中,第一更正电路根据校验子取得每一个数据比特的一可靠度信息,并且根据可靠度信息决定数据比特中错误比特的索引。第一更正电路判断第一硬比特模式译码程序是否生成有效的码字的操作包括:第一更正电路判断错误比特的索引与校验子是否符合一奇偶校验条件;以及若错误比特的索引与校验子符合奇偶校验条件,第一更正电路判断第一硬比特模式译码程序生成有效的码字。第一更正电路输出有效的码字的操作包括:第一更正电路根据错误比特的索引来更正数据比特,并输出更正后的数据比特。
在一范例实施例中,存储器管理电路还用以根据校验子计算一校验总和,并判断校验总和是否小于第一校验临界值。若校验总和小于第一校验临界值,第一更正电路执行第一硬比特模式译码程序。若校验总和大于等于第一校验临界值,存储器管理电路还用以判断校验总和是否小于第二校验临界值。若校验总和小于第二校验临界值,第二更正电路执行第二硬比特模式译码程序。若校验总和大于等于第二校验临界值,存储器管理电路还用以判断校验总和是否小于第三校验临界值。若校验总和小于第三校验临界值,第二更正电路执行软比特模式译码程序。
在一范例实施例中,存储器管理电路还用以从可复写式非易失性存储器模块中读取一奇偶校验矩阵信息。第一更正电路还用以根据奇偶校验矩阵信息来设定第一更正电路的第一参数,其中第一硬比特模式译码程序是根据第一参数所执行。第二更正电路还用以根据奇偶校验矩阵信息来设定第二更正电路的第二参数,其中第二硬比特模式译码程序是根据第二参数所执行。
在一范例实施例中,存储器控制电路单元还包括一译码器。存储器管理电路读取奇偶校验矩阵信息的操作包括:存储器管理电路从可复写式非易失性存储器模块中读取第一数据;以及译码器对第一数据执行博斯-乔赫里-霍克文黑姆BCH译码程序以取得奇偶校验矩阵信息。
本发明一范例实施例提出一种存储器控制电路单元,用于控制上述的可复写式非易失性存储器模块。存储器控制电路单元包括主机接口、存储器接口、存储器管理电路、以及错误校验与校正电路。主机接口是用以电性连接至主机系统。存储器接口是用以电性连接至可复写式非易失性存储器模块。存储器管理电路是电性连接至主机接口与存储器接口,用以根据第一读取电压读取第一存储单元以取得多个第一校验比特。错误校验与校正电路包括第一更正电路与第二更正电路,其中第一更正电路的一精准度小于第二更正电路的一精准度。第一更正电路用以根据第一校验比特执行第一硬比特模式译码程序,并判断第一硬比特模式译码程序是否生成第一有效码字。若第一硬比特模式译码程序生成第一有效码字,第一更正电路用以输出第一有效码字。若第一硬比特模式译码程序没有生成第一有效码字,第二更正电路用以根据第一校验比特执行第二硬比特模式译码程序,并判断第二硬比特模式译码程序是否生成第二有效码字。若第二硬比特模式译码程序生成第二有效码字,第二更正电路用以输出第二有效码字。
在一范例实施例中,第一校验比特是用以生成多个数据比特。错误校验与校正电路还包括校验电路与存储器。校验电路是用以对数据比特执行一奇偶校验程序以生成多个校验子。存储器是电性连接至校验电路、第一更正电路与第二更正电路,用以存储校验子。第一更正电路根据第一校验比特执行第一硬比特模式译码程序的操作包括:在低密度奇偶校验码的一叠代译码中,第一更正电路根据校验子取得每一数据比特的一可靠度信息,并且根据可靠度信息决定数据比特中一错误比特的一索引。其中第一更正电路判断第一硬比特模式译码程序是否生成有效的码字的步骤包括:第一更正电路判断错误比特的索引与校验子是否符合一奇偶校验条件;以及若错误比特的索引与校验子符合奇偶校验条件,第一更正电路判断第一硬比特模式译码程序生成有效的码字。其中第一更正电路输出有效的码字的步骤包括:第一更正电路根据错误比特的索引来更正数据比特,并输出更正后的数据比特。
基于上述,本发明范例实施例提出的译码方法、存储器存储装置、存储器控制电路单元,由于配置了两个精准度不同的更正电路,因此可以增加译码的速度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统与存储器存储装置;
图2是根据一范例实施例所示出的计算机、输入/输出装置与存储器存储装置的示意图;
图3是根据一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是示出图1所示的存储器存储装置的概要方块图;
图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图;
图6是根据一范例实施例所示出的存储单元阵列的示意图;
图7是根据一范例实施例所示出存储在存储单元阵列中的写入数据所对应的栅极电压的统计分配图;
图8是根据一范例实施例所示出的从存储单元中读取数据的示意图;
图9是根据另一范例实施例所示出的从存储单元中读取数据的示意图;
图10是根据一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图11是根据一范例实施例所示出的存储器控制电路单元的概要方块图;
图12是根据一范例实施例示出奇偶校验矩阵的示意图;
图13是根据一范例实施例示出读取校验比特的示意图;
图14是根据一范例实施例示出译码的示意图;
图15是根据第二范例实施例示出错误校验与校正电路208的示意方块图;
图16是根据第七范例实施例示出译码的流程图;
图17是根据第八范例实施例示出读取奇偶校验矩阵信息的流程图;
图18是根据第八范例实施例示出错误校验与校正电路的方块图;
图19是根据第八范例实施例示出更正电路的方块图。
附图标记说明:
1000:主机系统;
1100:计算机;
1102:微处理器;
1104:随机存取存储器(RAM);
1106:输入/输出(I/O)装置;
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:选择栅源极晶体管;
VA、VB、VC、VD、VE、VF、VG、V1~V5-:读取电压;
400(0)~400(N):实体抹除单元;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
208:错误校验与校正电路;
210:缓冲存储器;
212:电源管理电路;
1332(1)~1332(k):奇偶校验节点;
1334(1)~1334(n):信息节点;
1510、1520:存储状态;
1501~1506:区间;
b1~b5:校验比特;
S1401~S1412、S1601~S1616、S1701~S1705:步骤;
1530:第一更正电路;
1540:第二更正电路;
1550:校验电路;
1560、1820、1830:存储器;
1810:译码器;
1910(1)~1910(C):缓冲存储器;
1920(1)~1920(C):移位器;
1930:数据节点单元;
1940(1)~1940(C):奇偶校验节点单元;
SGD:选择栅漏极;
SGS:选择栅源极;
LSB:最低有效比特;
MSB:最高有效比特;
CSB:中间有效比特;
L1~Ln:通道可靠度信息;
1330:图;
Li→j:奇偶校验节点1332(i)传送给信息节点1334(j)的可靠度信息;
Lj→i:信息节点1334(j)传送给奇偶校验节点1332(i)的可靠度信息。
具体实施方式
[第一范例实施例]
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据一范例实施例所示出的主机系统与存储器存储装置。图2是根据一范例实施例所示出的计算机、输入/输出装置与存储器存储装置的示意图。
请参照图1,主机系统1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(randomaccess memory,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或固态硬盘(Solid State Drive,SSD)1216等的可复写式非易失性存储器存储装置。
图3是根据一范例实施例所示出的主机系统与存储器存储装置的示意图。
一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄像机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄像机)1310时,可复写式非易失性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick)1316、CF卡1318或嵌入式存储装置1320(如图3所示)。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图4是示出图1所示的存储器存储装置的概要方块图。
请参照图4,存储器存储装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器模块106。
在本范例实施例中,连接接口单元102是兼容于串行高级技术附件(SerialAdvanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102也可以是符合并行高级技术附件(ParallelAdvanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速外设零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra HighSpeed-II,UHS-II)接口标准、记忆棒(Memory Stick,MS)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、崁入式多媒体存储卡(EmbeddedMultimedia Card,eMMC)接口标准、通用快闪存储器(Universal FlashStorage,UFS)接口标准、小型快闪(Compact Flash,CF)接口标准、集成式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元102可与存储器控制电路单元104封装在一个芯片中,或者连接接口单元102是布设于一包含存储器控制电路单元104的芯片外。
存储器控制电路单元104用以执行以硬件形式或软件形式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等操作。
可复写式非易失性存储器模块106是电性连接至存储器控制电路单元104,并且用以存储主机系统1000所写入的数据。可复写式非易失性存储器模块106可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特数据的快闪存储器模块)、复数阶存储单元(TripleLevel Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。图6是根据一范例实施例所示出的存储单元阵列的示意图。
请参照图5,可复写式非易失性存储器模块106包括存储单元阵列2202、字节线控制电路2204、比特线控制电路2206、行译码器(column decoder)2208、数据输入/输出缓冲存储器2210与控制电路2212。
在本范例实施例中,存储单元阵列2202可包括用以存储数据的多个存储单元702、多个选择栅漏极(select gate drain,SGD)晶体管712与多个选择栅源极(select gate source,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)。具体来说,每一个存储单元的控制栅极(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的过程也称为“把数据写入至存储单元”或“编程存储单元”。随着临界电压的改变,存储单元阵列2202的每一存储单元具有多个存储状态。并且通过读取电压可以判断存储单元是属于哪一个存储状态,藉此取得存储单元所存储的比特。
图7是根据一范例实施例所示出存储在存储单元阵列中的写入数据所对应的栅极电压的统计分配图。
请参照图7,以MLC NAND型快闪存储器为例,随着不同的临界电压,每一存储单元具有4种存储状态,并且此些存储状态分别地代表“11”、“10”、“00”与“01”等比特。换言之,每一个存储状态包括最低有效比特(LeastSignificant Bit,LSB)以及最高有效比特(Most Significant Bit,MSB)。在本范例实施例中,存储状态(即,“11”、“10”、“00”与“01”)中从左侧算起的第1个比特为LSB,而从左侧算起的第2个比特为MSB。因此,在此范例实施例中,每一存储单元可存储2个比特。必须了解的是,图7所示出的临界电压及其存储状态的对应仅为一个范例。在本发明另一范例实施例中,临界电压与存储状态的对应也可是随着临界电压越大而以“11”、“10”、“01”与“00”排列,或是其他排列。此外,在另一范例实施例中,也可定义从左侧算起的第1个比特为MSB,而从左侧算起的第2个比特为LSB。
图8是根据一范例实施例所示出的从存储单元中读取数据的示意图,其是以MLC NAND型快闪存储器为例。
请参照图8,存储单元阵列2202的存储单元的读取操作是通过施予读取电压在控制栅极,通过存储单元通道的导通状态,来识别存储单元存储的数据。校验比特(VA)是用以指示施予读取电压VA时存储单元通道是否为导通;校验比特(VC)是用以指示施予读取电压VC时,存储单元通道是否为导通;校验比特(VB)是用以指示施予读取电压VB时,存储单元通道是否为导通。在此假设校验比特是“1”时表示对应的存储单元通道导通,而校验比特是“0”时表示对应的存储单元通道没有导通。如图8所示,通过校验比特(VA)~(VC)可以判断存储单元是处于哪一个存储状态,进而取得所存储的比特。
图9是根据另一范例实施例所示出的从存储单元中读取数据的示意图。
请参照图9,以一TLC NAND型快闪存储器为例,每一个存储状态包括左侧算起的第1个比特的最低有效比特LSB、从左侧算起的第2个比特的中间有效比特(Center Significant Bit,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是属于上实体编程单元。一般来说,在MLC NAND型快闪存储器中,下实体编程单元的写入速度会大于上实体编程单元的写入速度,或下实体编程单元的可靠度是高于上实体编程单元的可靠度。在此范例实施例中,实体编程单元为编程的最小单元。即,实体编程单元为写入数据的最小单元。例如,实体编程单元为实体页面或是实体扇(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标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
错误校验与校正电路208是电性连接至存储器管理电路202并且用以执行错误校验与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误校验与校正电路208会为对应此写入指令的数据生成对应的错误更正码(error correcting code,ECC code)或错误校验码(error detecting code,EDC),并且存储器管理电路202会将对应此写入指令的数据与对应的错误更正码或错误校验码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误更正码或错误校验码,并且错误校验与校正电路208会依据此错误更正码或错误校验码对所读取的数据执行错误校验与校正操作。在此范例实施例中,错误校验与校正电路208所使用的是低密度奇偶校验码(low density parity code,LDPC)。
在低密度奇偶校验码中,是用一个奇偶校验矩阵来定义有效的码字。以下将奇偶校验矩阵标记为矩阵H,并且一码字标记为CW。依照以下公式(1),若奇偶校验矩阵H与码字CW的相乘是零向量,表示码字CW为有效的码字。其中运算子表示模2(mod2)的矩阵相乘。换言之,矩阵H的零空间(null space)便包含了所有的有效码字。然而,本发明并不限制码字CW的内容。例如,码字CW也可以包括用任意算法所生成的错误更正码或是错误校验码。
H ⊗ CW T = 0 - - - ( 1 )
其中矩阵H的维度是k-乘-n(k-by-n),码字CW的维度是1-乘-n。k与n为正整数。码字CW中包括了信息比特与奇偶比特,即码字CW可以表示成[M P],其中向量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。
M ⊗ G = [ MP ] = CW - - - ( 2 )
由公式(2)所生成的码字CW为有效的码字。因此可将公式(2)代入公式(1),藉此得到以下公式(3)。
H ⊗ G T ⊗ M T = 0 . . . ( 3 )
由于向量M可以是任意的向量,因此以下公式(4)必定会满足。也就是说,在决定奇偶校验矩阵H以后,对应的生成矩阵G也可被决定。
H ⊗ G T = 0 . . . ( 4 )
在译码一个码字CW时,会先对码字中的数据比特执行一个奇偶校验程序,例如将奇偶校验矩阵H与码字CW相乘以生成一个向量(以下标记为S,如以下公式(5)所示)。若向量S是零向量,则可直接输出码字CW。若向量S不是零向量,则表示码字CW不是有效的码字。
H ⊗ CW T = S . . . ( 5 )
向量S的维度是k-乘-1,其中每一个元素也称为校验子(syndrome)。若码字CW不是有效的码字,则错误校验与校正电路208会执行一个译码程序,以尝试更正码字CW中的错误比特。
图12是根据一范例实施例示出奇偶校验矩阵的示意图。
请参照图12,一般来说,奇耦校验矩阵H可以表示为图(graph)1330,其中包括奇偶校验节点1332(1)~1332(k)与信息节点1334(1)~1334(n)。每一个奇偶校验节点1332(1)~1332(k)是对应到一个校验子,而每一个信息节点1334(1)~1334(n)是对应一个数据比特。数据比特与校验子之间的对应关系(即,信息节点1334(1)~1334(n)与奇偶校验节点1332(1)~1332(m)之间的连结关系)是根据奇偶校验矩阵所生成。具体来说,若奇耦校验矩阵中第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(m),并且奇偶校验节点1332(1)~1332(m)也会计算出可靠度信息给信息节点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(m)会根据输入的可靠度信息来计算输出的可靠度信息,其近似于计算一个数据比特被译码为“1”或是“0”的条件机率。因此,上述传送可靠度信息的过程又被称为置信传播(belief propagation)。
当采用不同的算法,信息节点1334(1)~1334(n)及/或奇偶校验节点1332(1)~1332(m)会计算出不同的可靠度信息。例如,错误校验与校正电路208可以采用总和-乘积算法(Sum-Product Algorithm)、最小值-总和算法(Min-SumAlgorithm)、或是比特翻转(bit-flipping Algorithm),本发明并不限制采用何种算法。
在叠代译码的每一次叠代中,信息节点1334(1)~1334(n)会传递可靠度信息给奇偶校验节点1332(1)~1332(m),并且奇偶校验节点1332(1)~1332(m)会传递可靠度信息给信息节点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。若一个存储单元的临界电压是在区间1501,则从校验比特b1至校验比特b5,存储器管理电路202所取得的校验比特会是“11111”;若存储单元的临界电压是在区间1502,则校验比特会是“01111”;若存储单元的临界电压是在区间1503,则校验比特会是“00111”;若存储单元的临界电压是在区间1504,则校验比特会是“00011”;若存储单元的临界电压是在区间1505,则校验比特会是“00001”;若存储单元的临界电压是在区间1506,则校验比特会是“00000”。
在此范例实施例中,读取电压V1~V5的其中之一会被设定为正负号(sign)读取电压。此正负号读取电压是用来决定数据比特为何。例如,若读取电压V3为正负号读取电压,则数据比特会相同于校验比特b3-;若读取电压V2为正负号读取电压,则数据比特会相同于校验比特b2,以此类推。在每一个区间中,根据存储单元属于存储状态1510的机率与属于存储状态1520的机率,可以计算出对数可能性比值(Log Likelihood Ratio,LLR),而在此范例实施例中此对数可能性比值也被称为数据比特的通道可靠度信息。在一范例实施例中,各个区间所对应的对数可能性比值可以事先被计算出来并且存储在一个查找表中。存储器管理电路202可以将校验比特b1~b5输入此查找表中,藉此取得对应的对数可能性比值以作为通道可靠度信息。所取得的通道可靠度信息便可以来执行上述的叠代译码(即,图12中的L1~Ln)。在一范例实施例中,若设定不同的正负号读取电压,则会使用不同的查找表来取得通道可靠度信息。
值得注意的是,若读取电压的个数为x个,则通道可靠度信息便会有x+1种可能的数值,其中x为正整数。若读取电压的个数为1(例如,仅使用读取电压V3-),则所进行的译码程序也被称为硬比特模式译码程序。若读取电压的个数大于1,则所进行的译码程序也被称为软比特模式译码程序。一般来说,软比特模式译码程序所使用的信息较多,因此能更正较多的错误比特,但执行速度也比较慢。此外,在一范例实施例中,当进行硬比特模式译码程序时,存储器管理电路202可以直接根据所取得的校验比特来计算出通道可靠度信息,并不会通过查找表。例如,若校验比特为“1”,则通道可靠度信息可设定为y;若校验比特为“0”,则通道可靠度信息可设定为-y,其中y为实数。
在本范例实施例中,错误校验与校正电路208中包括第一更正电路与第二更正电路。当要读取可复写式非易失性存储器模块106中多个第一存储单元所存储的数据时,存储器管理电路202会先根据一第一读取电压来读取这些第一存储单元以取得多个第一校验比特。第一更正电路会根据这些第一校验比特来执行第一硬比特模式译码程序。例如,第一更正电路会根据第一校验比特来生成通道可靠度信息,再利用通道可靠度信息来执行叠代译码。然而,叠代译码、通道可靠度信息、与硬比特模式译码程序已详细说明如上,在此并不再赘述。第一更正电路也会判断第一硬比特模式译码程序是否生成有效码字(也称为第一有效码字)。若第一硬比特模式译码程序生成了有效码字,则错误校验与校正电路208会输出该有效码字。若第一硬比特模式译码程序没有生成有效码字,会由第二更正电路来继续译码。具体来说,第二更正电路会根据第一校验比特执行第二硬比特模式译码程序,并判断第二硬比特模式译码程序是否生成有效码字(也称为第二有效码字)。若第二硬比特模式译码程序生成了有效码字,则错误校验与校正电路208会输出该有效码字。特别的是,第一更正电路的精准度(或更正能力)小于第二更正电路的精准度(或更正能力)。在一范例实施例中,精准度表示在叠代译码中用几个比特来表示可靠度信息。也就是说,相较于第一更正电路,第二更正电路会使用更多个比特来表示可靠度信息,藉此第二更正电路具有较好的更正能力,其中,在本范例实施例中,第一更正电路可具有2比特运算精度,第二更正电路可具有6比特运算精度。此外,第一硬比特模式译码程序与第二硬比特模式译码程序可以使用相同的算法或是不同的算法,本发明并不在此限。然而,由于第一更正电路与第二更正电路所使用的都是第一校验比特,因此存储器管理电路202不需要再使用另外的读取电压来读取第一存储单元。此外,在本范例实施例中,第一更正电路与第二更正电路是彼此独立的电路,但在另一范例实施例中,第一更正电路可是第二更正电路的至少一部份,或第一更正电路与第二更正电路可共用一相同电路。
在此范例实施例中,错误校验与校正电路208所使用的是低密度奇偶校验码。然而,在另一范例实施例中,错误校验与校正电路208所使用的也可以是回旋码(convolutional code)、涡轮码(turbo code)、或其他可具有硬比特模式译码程序与软比特模式译码程序的算法。
图14是根据一范例实施例示出译码的示意图。
请参照图14,在步骤S1401中,根据第一读取电压读取第一存储单元以取得第一校验比特。在步骤S1402中,根据第一校验比特执行第一硬比特模式译码程序。在步骤S1403中,判断是否生成有效码字。若生成有效码字,在步骤S1410中输出有效码字。若没有生成有效码字,在步骤S1404中,根据第一校验比特执行第二硬比特模式译码程序。在步骤S1405中,判断是否生成有效码字。然而,步骤S1401~S1405已详细说明如上,在此便不再赘述。
在一范例实施例中,若在步骤S1405中判断没有生成有效码字,则进行步骤S1406,存储器管理电路202根据多个第二读取电压读取第一存储单元以取得多个第二校验比特。其中第二读取电压的个数大于第一读取电压的个数。例如,若第二读取电压的个数是5个,则存储器管理电路202会从每一个第一存储单元取得5个第二校验比特。在步骤S1407中,第二更正电路会根据第二校验比特执行软比特模式译码程序。然而,软比特模式译码程序已详细说明如上,在此便不再赘述。在步骤S1408中,第二更正电路会判断软比特模式译码程序是否生成有效码字(也称第三有效码字)。若软比特模式译码程序生成有效码字,在步骤S1410中会输出该有效码字。若软比特模式译码程序没有生成有效码字,在步骤S1409中,存储器管理电路202会判断一个读取次数是否大于一读取临界值。若读取次数大于读取临界值,在步骤S1411中存储器管理电路202判断译码失败。若读取次数不大于读取临界值,在步骤S1412中存储器管理电路202会更新读取次数(例如,加上1),重新设定第一读取电压,并且回到步骤S1401,根据重新设定的第一读取电压来读取第一存储单元以重新取得第一校验比特。在步骤S1402中第一更正电路会根据重新取得的第一校验比特执行第一硬比特模式译码程序,以下不再赘述。
[第二范例实施例]
图15是根据第二范例实施例示出错误校验与校正电路208的示意方块图。
请参照图15,错误校验与校正电路208包括校验电路1550、存储器1560、第一更正电路1530与第二更正电路1540。在存储器管理电路202取得校验比特以后,校验电路1550会根据这些校验比特生成数据比特,并且对数据比特执行奇偶校验程序以生成多个校验子。例如,数据比特可根据正负号读取电压来决定,而数据比特所形成的向量与奇偶校验矩阵相乘可以得到多个校验子。然而,正负号读取电压与奇偶校验程序已说明如上,在此不再赘述。所生成的校验子会被存储在存储器1560当中。
在第一硬比特模式译码程序、第二硬比特模式译码程序、及/或软比特模式译码程序中,第一更正电路1530及/或第二更正电路1540会根据校验子来生成错误比特的索引。具体来说,在低密度奇偶校验码的叠代译码中,可根据校验子取得每一个数据比特的可靠度信息,并且根据可靠度信息决定数据比特中错误比特的索引。当要判断是否生成有效的码字时,可判断错误比特的索引与校验子是否符合奇偶校验条件。若错误比特的索引与校验子符合奇偶校验条件,可输出错误比特的索引,这些索引可用来更正数据比特以生成有效的码字。最后,更正后的数据比特会被输出。以下再举多个范例实施例详细说明上述算法的不同态样。
[第三范例实施例]
请参照回图12,在第三范例实施例中,根据校验子取得可靠度信息的步骤可以表示为以下公式(6)~(9)。
αji=sign(Lj→i)   (8)
βji=|Lj→i|   (9)
Si为第i个校验子。N(i)为对应至第i个校验子的数据比特(表示为所有连接到奇偶校验节点1332(i)的数据节点)。{j}为第j个数据比特所形成的集合。在首次叠代中,可靠度信息Lj→i会等于通道可靠度信息Lj
接着,可靠度信息Lj→i可根据以下公式(10)来更新。
L j → i = L j + Σ i ′ ∈ N ( j ) L i ′ → j - - - ( 10 )
跟据以下公式(11)可以计算每一个数据比特的总和可靠度信息。
L j tot = L j + Σ i ∈ N ( i ) L i → j - - - ( 11 )
为第j个数据比特的总和可靠度信息。第一更正电路1530及/或第二更正电路1540判断每一个数据比特的总和可靠度信息是否符合一临界值以决定错误比特并取得一错误索引向量,此错误索引向量的长度会等于码字的长度。例如,取得错误索引向量的步骤可以根据公式(12)来执行。
e j = 1 if L j tot < 0 0 otherwise - - - ( 12 )
e为错误索引向量,其中包括了e1~en。ej表示错误索引向量中第j个索引。若ej等于1,表示码字中第j个数据比特是错误比特。
最后,第一更正电路1530及/或第二更正电路1540会对奇偶校验矩阵与错误索引向量做模2乘法以取得第一向量,并且判断第一向量是否相同于校验子所形成的向量。若第一向量相同于校验子所形成的向量,表示错误比特的索引与校验子符合奇偶校验条件,此时会停止叠代译码,并且输出错误索引向量。换句话说,若公式(13)符合,则叠代译码会停止。然而,若公式(13)不符合,则进行下一次叠代,即重复上述公式(6)~(12)。
H &CircleTimes; e = s - - - ( 13 )
若输出了错误索引向量,表示可生成有效码字。具体来说,错误校验与校正电路208会根据错误索引向量来更正数据比特,更正后的数据比特便会形成有效码字。然而,若上述的叠代译码中,错误比特的索引与校验子一直无法符合奇偶校验条件,并且因为叠代次数超过了叠代临界值而停止叠代译码,则表示无法生成有效的码字。
[第四范例实施例]
第四范例实施例中所适用的是硬比特模式译码程序,并且所有数据比特的对数可能性比值的平均值会被当作通道可靠度信息,也即所有的数据比特有相同的通道可靠度信息。
在第四范例实施例的首次叠代中,不论i与j为多少,可靠度信息Lj→i都是上述的通道可靠度信息(以下标记为Lr)。根据校验子取得总合可靠度信息的步骤可表示为上述的公式(6)~(9)(重复列在下面)以及下列公式(14)~(15)。
αji=sign(Lj→i)   (8)
βji=|Lj→i|   (9)
L j &RightArrow; i = L r + &Sigma; i &prime; &Element; N ( j ) L i &prime; &RightArrow; j - - - ( 14 )
L j tot = L r + &Sigma; i &Element; N ( i ) L i &RightArrow; j - - - ( 15 )
此外,取得错误索引向量的步骤与判断校验子与错误索引向量是否符合奇偶校验条件的步骤与上述公式(12)与(13)相同,在此不再赘述。
[第五范例实施例]
在第五范例实施例中,上述的公式(6)可用最小值的运算来逼近。具体来说,根据校验子取得可靠度信息的步骤可表示为以下公式(16)与上述公式(8)~(9)(重复列在下面)。
L i &RightArrow; j = ( - 2 S i + 1 ) &times; &Pi; j &prime; &Element; N ( i ) - { j } &alpha; j &prime; i &times; min j &prime; &Element; N ( i ) - { j } &beta; j &prime; i - - - ( 16 )
αji=sign(Lj→i)   (8)
βji=|Lj→i|   (9)
其他如计算总合可靠度信息的步骤、取得错误索引向量的步骤、与判断是否符合奇偶校验条件的步骤都与第三范例实施例或第四范例实施例相同,在此不再赘述。值得注意的是,公式(16)可以用于硬比特模式译码程序或是软比特模式译码程序,本发明并不在此限。
[第六范例实施例]
在第六范例实施例中,在根据校验子来计算可靠度信息时,是将校验子所形成的向量与奇偶校验矩阵相乘以取得一向量(也称第二向量),表示为以下公式(17)。
f=sT·H   (17)
f为上述的第二向量,维度是1-乘-n,其中包括每一个数据比特的可靠度信息。值得注意的是,公式(17)中的乘法是一般的矩阵乘法,并不是模2的矩阵乘法。因此,若向量f中一个元素的数值越大,表示一个数据比特错误的机率越大。
接下来,根据向量f中数值最大的元素来决定错误比特的索引。在此假设向量f中第e个元素具有最大的数值,则e即为错误比特的索引,其中e为正整数。在判断校验子与错误比特的索引是否符合奇偶校验条件时,第一更正电路1530及/或第二更正电路1540会根据此索引e从奇耦校验矩阵H的多个行(column)中挑选第e个行(也称为错误更正行),并且根据此第e个行来更新校验子。例如,此更新的步骤可根据公式(18)来执行。
s=s+he(18)
he是奇耦校验矩阵H中的第e行。公式(18)中的加法是模2的加法。最后,判断更新后的校验子所形成的向量是否为零向量。若更新后的校验子所形成的向量为零向量(即,向量s中所有的元素为0),则表示符合该奇偶校验条件,此时叠代译码会被停止,并且在每一次叠代中生成的索引e会被输出。若更新后的校验子所形成的向量不为零向量,则进行下一次的叠代,即依据更新后的校验子来重新执行上述公式(17)与(18)。
[第七范例实施例]
请参照回图15,在第七范例实施例中,第一硬比特模式译码程序、第二硬比特模式译码程序及软比特模式译码程序可以是上述第三范例实施例至第六范例实施例中的任何一个,或者是传统计算可靠度信息的算法。此外,第一硬比特模式译码程序、第二硬比特模式译码程序与软比特模式译码程序可以采用相同的算法或是不同的算法,本发明并不在此限。特别的是,由于校验子是被存储在存储器1560当中,因此可以重复被利用。例如,若第一硬比特模式译码程序与第二硬比特模式译码程序都会使用校验子来更新可靠度信息,则第二更正电路1540在进行第二硬比特模式译码程序时便不需要重复计算校验子,可直接从存储器1560取得校验子。
校验子可以用来估测错误比特的个数。例如,若为“1”的校验子的个数越多,表示码字中错误比特的个数应该会越多。因此,在第七范例实施例中,还会根据这些校验子来决定译码的流程。图16是根据第七范例实施例示出译码的流程图。请参照图16,在步骤S1601中,根据第一读取电压读取第一存储单元以取得第一校验比特。在步骤S1602中,根据第一校验比特取得数据比特,接着取得校验子与校验总和。例如,校验总和是所有校验子的相加(一般的加法,非模2的加法)。在步骤S1603中,判断校验总和是否小于第一校验临界值。若校验总和小于第一校验临界值,在步骤S1604中,由第一更正电路执行第一硬比特模式译码,并在步骤S1605中判断是否生成有效码字。若步骤S1605生成有效码字,则在步骤S1606输出所生成的有效码字。
若步骤S1603中判断校验总和不小于第一校验临界值,在步骤S1607中判断校验总和是否小于第二校验临界值。若校验总和小于第二校验临界值,或者是步骤S1605中没有生成有效码字,进行步骤S1608,由第二更正电路执行第二硬比特模式译码程序。在步骤S1609中,判断第二硬比特模式译码程序是否生成有效码字。若生成有效码字,则进行步骤S1606,输出所生成的有效码字。
若步骤S1607中判断校验总和不小于第二校验临界值,在步骤S1610中判断校验总和是否小于第三校验临界值。若校验总和小于第三校验临界值或是步骤S1609中没有生成有效码字,进行步骤S1611,根据多个第二读取电压读取第一存储单元以取得多个第二校验比特。接下来在步骤S1612中由第二更正电路执行软比特模式译码程序,并且在步骤S1613中判断是否生成有效码字。若步骤S1613生成了有效码字,则进行步骤S1606,输出有效码字。
若步骤S1613没有生成有效码字,或者是步骤S1610中判断校验总和不小于第三校验临界值,进行步骤S1614,判断读取次数是否大于读取临界值。若读取次数大于读取临界值,则表示译码失败(步骤S1615)。若读取次数不小于读取临界值,则在步骤S1616中更新读取次数,重新设定第一读取电压,并且回到步骤S1601。
在此范例实施例中,第一校验临界值小于第二校验临界值,而第二校验临界值小于第三校验临界值。然而,本发明并不限制第一校验临界值、第二校验临界值与第三校验临界值为多少。
[第八范例实施例]
在第八范例实施例中,所使用的是类循环低密度奇偶校验码(Quasi-CyclicLow-Density Parity-Check Codes,QC-LDPC)。具体来说,奇偶校验矩阵包括多个排列矩阵与多个零矩阵,可以用以下公式(19)来表示。
A11~ACT为排列矩阵或是零矩阵,其中C、T为正整数。每一个排列矩阵或是零矩阵的维度是b-乘-b,其中b为正整数。但本发明并不限制正整数C、T、与b的数值。每一个排列矩阵是由单位矩阵(identity matrix)经过往右、往左、往上、或是往下的移位(shift)所生成,因此可以用索引来表示排列矩阵。例如,若某一个排列矩阵是将单位矩阵往右移位两行所生成,则对应的索引可设定为2。此外,零矩阵所对应的索引可设定为一特定数值,例如为-1。因此,奇偶校验矩阵可以用多个索引来表示,如以下公式(20)所示。
其中a11~aCT为实数,表示上述的索引。在此范例实施例中,这些索引会组成奇偶校验矩阵信息并且会经过一个错误更正码(例如,博斯-乔赫里-霍克文黑姆(BCH,Bose Chaudhuri&Hocquenghem)码)来编码以生成第一数据,第一数据会被存储在可复写式非易失性存储器模块106当中。这些奇偶校验矩阵信息可用来重建出奇偶校验矩阵。在此范例实施例中,存储器管理电路202是在开机时从可复写式非易失性存储器模块106读取奇偶校验矩阵信息,藉此改变目前的奇偶校验矩阵。然而,存储器管理电路202也可以在任意的时间读取奇偶校验矩阵信息,本发明并不在此限。
图17是根据第八范例实施例示出读取奇偶校验矩阵信息的流程图。图18是根据第八范例实施例示出错误校验与校正电路的方块图。
请参照图17与图18,除了图15所示出的元件以外,在第八范例实施例中,错误校验与校正电路208还包括存储器1820、1830与译码器1810。在步骤S1701中,存储器管理电路202读取可复写式非易失性存储器模块106中所存储的第一数据。所读取的第一数据会被送给译码器1810。译码器1810会对第一数据执行BCH译码程序,并且判断BCH译码程序是否成功(步骤S1702)。若步骤S1702没有译码成功,在步骤S1704中,存储器管理电路202会判断读取次数是否大于一个读取临界值。若读取次数大于读取临界值,表示载入奇偶校验矩阵信息失败。若读取次数不大于读取临界值,在步骤S1705中,存储器管理电路202会更新读取次数,改变读取电压,并且回到步骤S1701。
另一方面,若步骤S1702中成功译码,则译码器1810会取得奇偶校验矩阵信息并将奇偶校验矩阵信息载入存储器1820与1830(步骤S1703)。第一更正电路1530会根据存储器1820中的奇偶校验矩阵信息来设定第一更正电路1530的至少一参数(也称第一参数),其是用来执行第一硬比特模式译码程序。第二更正电路1540会根据存储器1830中的奇偶校验矩阵信息来设定第二更正电路1540的至少一参数(也称第二参数),其是用来执行第二硬比特模式译码程序。
图19是根据第八范例实施例示出更正电路的方块图。
请参照图19,第一更正电路1530包括缓冲存储器1910(1)~1910(C)、移位器1920(1)~1920(C)、数据节点单元1930、奇偶校验节点单元1940(1)~1940(C)。其中数据节点单元1930是用以实作上述更新可靠度信息Lj→i的步骤,奇偶校验节点单元1940(1)~1940(C)是用以实作了上述更新可靠度信息Li→j的步骤。奇偶校验节点单元1940(1)~1940(C)所计算出的可靠度信息会再回传给缓冲存储器1910(1)~1910(C)。奇偶校验矩阵信息是用以设定移位器1920(1)~1920(C)中的参数。特别的是,根据不同的奇偶校验矩阵信息,移位器1920(1)~1920(C)中会设定不同的参数,藉此实作不同的奇偶校验矩阵。第一更正电路1530的架构也被称为洗排程(shuffle schedule)或是洗网络(shuffle network)。在此范例实施例中,第一更正电路1530所采用的是并行(parallel)的架构,然而在其他范例实施例中也可以采用串行(serial),或者两者的混合,本发明并不在此限。此外,第二更正电路1540的架构也类似于第一更正电路1530,但两者可以都采用相同,或是不相同(例如,一为平行,另一为串行)的架构,本发明并不在此限。
综上所述,本发明范例实施例所提出的译码方法、存储器存储装置、存储器控制电路单元,可以通过两个不同精准度的更正电路来译码,藉此可以增加译码的速度。并且,在一范例实施例中,奇偶校验矩阵可以动态地被改变,因此不需要重新设计电路。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (24)

1.一种译码方法,用于一可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块包括多个第一存储单元,其特征在于,该译码方法包括:
根据一第一读取电压读取该些第一存储单元以取得多个第一校验比特;
由一第一更正电路根据该些第一校验比特执行一第一硬比特模式译码程序,并判断该第一硬比特模式译码程序是否生成一第一有效码字;
若该第一硬比特模式译码程序生成该第一有效码字,输出该第一有效码字;
若该第一硬比特模式译码程序没有生成该第一有效码字,由一第二更正电路根据该些第一校验比特执行一第二硬比特模式译码程序,并判断该第二硬比特模式译码程序是否生成一第二有效码字,其中该第一更正电路的一精准度小于该第二更正电路的一精准度;以及
若该第二硬比特模式译码程序生成该第二有效码字,输出该第二有效码字。
2.根据权利要求1所述的译码方法,其特征在于,还包括:
若该第二硬比特模式译码程序没有生成该第二有效码字,根据多个第二读取电压读取该些第一存储单元以取得多个第二校验比特,并由该第二更正电路根据该些第二校验比特执行一软比特模式译码程序,其中该些第二读取电压的个数大于该第一读取电压的个数;
判断该软比特模式译码程序是否生成一第三有效码字;以及
若该软比特模式译码程序生成该第三有效码字,输出该第三有效码字。
3.根据权利要求2所述的译码方法,其特征在于,还包括:
若该软比特模式译码程序没有生成该第三有效码字,判断一读取次数是否大于一读取临界值;
若该读取次数大于该读取临界值,判断译码失败;以及
若该读取次数不大于该读取临界值,重新设定该第一读取电压,根据重新设定的该第一读取电压来读取该些第一存储单元以重新取得该些第一校验比特,以及通过该第一更正电路根据重新取得的该些第一校验比特执行该第一硬比特模式译码程序。
4.根据权利要求2所述的译码方法,其特征在于,还包括:
根据该些第一校验比特生成多个数据比特;以及
对该些数据比特执行一奇偶校验程序以生成多个校验子,
其中根据该些第一校验比特执行该第一硬比特模式译码程序的步骤包括:
在一低密度奇偶校验码的一叠代译码中,根据该些校验子取得每一该些数据比特的一可靠度信息,并且根据该些可靠度信息决定该些数据比特中一错误比特的一索引,
其中判断该第一硬比特模式译码程序是否生成有效的码字的步骤包括:
判断该错误比特的该索引与该些校验子是否符合一奇偶校验条件;以及
若该错误比特的该索引与该些校验子符合该奇偶校验条件,判断该第一硬比特模式译码程序生成有效的码字,
其中输出该有效的码字的步骤包括:
根据该错误比特的该索引来更正该些数据比特,并输出更正后的该些数据比特。
5.根据权利要求4所述的译码方法,其特征在于,还包括:
根据该些校验子计算一校验总和;
判断该校验总和是否小于一第一校验临界值;
若该校验总和小于该第一校验临界值,由该第一更正电路执行该第一硬比特模式译码程序;
若该校验总和大于等于该第一校验临界值,判断该校验总和是否小于一第二校验临界值;
若该校验总和小于该第二校验临界值,由该第二更正电路执行该第二硬比特模式译码程序;
若该校验总和大于等于该第二校验临界值,判断该校验总和是否小于一第三校验临界值;以及
若该校验总和小于该第三校验临界值,由该第二更正电路执行该软比特模式译码程序。
6.根据权利要求1所述的译码方法,其特征在于,在根据该第一读取电压读取该些第一存储单元的步骤之前,该译码方法还包括:
从该可复写式非易失性存储器模块中读取一奇偶校验矩阵信息;
根据该奇偶校验矩阵信息来设定该第一更正电路的一第一参数,其中该第一硬比特模式译码程序是根据该第一参数所执行;以及
根据该奇偶校验矩阵信息来设定该第二更正电路的一第二参数,其中第二硬比特模式译码程序是根据该第二参数所执行。
7.根据权利要求6所述的译码方法,其特征在于,读取该奇偶校验矩阵信息的步骤包括:
从该可复写式非易失性存储器模块中读取一第一数据;以及
对该第一数据执行一博斯-乔赫里-霍克文黑姆BCH译码程序以取得该奇偶校验矩阵信息。
8.根据权利要求6所述的译码方法,其特征在于,该第一硬比特模式译码程序与该第二硬比特模式译码程序是对应于一类循环低密度奇偶校验码,该类循环低密度奇偶校验码具有一奇偶校验矩阵,该奇偶校验矩阵包括多个排列矩阵,并且该奇偶校验矩阵信息包括每一该些排列矩阵的一索引。
9.一种存储器存储装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,包括多个第一存储单元;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,包括:
一存储器管理电路,用以根据一第一读取电压读取该些第一存储单元以取得多个第一校验比特:
一第一更正电路,用以根据该些第一校验比特执行一第一硬比特模式译码程序,并判断该第一硬比特模式译码程序是否生成一第一有效码字:以及
一第二更正电路,其中该第一更正电路的一精准度小于该第二更正电路的一精准度,
其中,若该第一硬比特模式译码程序生成该第一有效码字,该第一更正电路用以输出该第一有效码字,
若该第一硬比特模式译码程序没有生成该第一有效码字,该第二更正电路用以根据该些第一校验比特执行一第二硬比特模式译码程序,并判断该第二硬比特模式译码程序是否生成一第二有效码字,
若该第二硬比特模式译码程序生成该第二有效码字,该第二更正电路用以输出该第二有效码字。
10.根据权利要求9所述的存储器存储装置,其特征在于,若该第二硬比特模式译码程序没有生成该第二有效码字,该存储器管理电路用以根据多个第二读取电压读取该些第一存储单元以取得多个第二校验比特,并且该第二更正电路用以根据该些第二校验比特执行一软比特模式译码程序,其中该些第二读取电压的个数大于该第一读取电压的个数,
该第二更正电路用以判断该软比特模式译码程序是否生成一第三有效码字,
若该软比特模式译码程序生成该第三有效码字,该第二更正电路用以输出该第三有效码字。
11.根据权利要求10所述的存储器存储装置,其特征在于,若该软比特模式译码程序没有生成该第三有效码字,该存储器管理电路用以判断一读取次数是否大于一读取临界值,
若该读取次数大于该读取临界值,该存储器管理电路用以判断译码失败,
若该读取次数不大于该读取临界值,该存储器管理电路用以重新设定该第一读取电压,根据重新设定的该第一读取电压来读取该些第一存储单元以重新取得该些第一校验比特,
该第一更正电路用以根据重新取得的该些第一校验比特执行该第一硬比特模式译码程序。
12.根据权利要求10所述的存储器存储装置,其特征在于,该些第一校验比特是用以生成多个数据比特,并且该存储器控制电路单元还包括:
一校验电路,用以对该些数据比特执行一奇偶校验程序以生成多个校验子;以及
一存储器,电性连接至该校验电路、该第一更正电路与该第二更正电路,用以存储该些校验子,
其中该第一更正电路根据该些第一校验比特执行该第一硬比特模式译码程序的操作包括:
在一低密度奇偶校验码的一叠代译码中,该第一更正电路根据该些校验子取得每一该些数据比特的一可靠度信息,并且根据该些可靠度信息决定该些数据比特中一错误比特的一索引,
其中该第一更正电路判断该第一硬比特模式译码程序是否生成有效的码字的操作包括:
该第一更正电路判断该错误比特的该索引与该些校验子是否符合一奇偶校验条件;以及
若该错误比特的该索引与该些校验子符合该奇偶校验条件,该第一更正电路判断该第一硬比特模式译码程序生成有效的码字,
其中该第一更正电路输出该有效的码字的操作包括:
该第一更正电路根据该错误比特的该索引来更正该些数据比特,并输出更正后的该些数据比特。
13.根据权利要求12所述的存储器存储装置,其特征在于,该存储器管理电路还用以根据该些校验子计算一校验总和,并判断该校验总和是否小于一第一校验临界值,
若该校验总和小于该第一校验临界值,该第一更正电路执行该第一硬比特模式译码程序,
若该校验总和大于等于该第一校验临界值,该存储器管理电路还用以判断该校验总和是否小于一第二校验临界值,
若该校验总和小于该第二校验临界值,该第二更正电路执行该第二硬比特模式译码程序,
若该校验总和大于等于该第二校验临界值,该存储器管理电路还用以判断该校验总和是否小于一第三校验临界值,
若该校验总和小于该第三校验临界值,该第二更正电路执行该软比特模式译码程序。
14.根据权利要求9所述的存储器存储装置,其特征在于,该存储器管理电路还用以从该可复写式非易失性存储器模块中读取一奇偶校验矩阵信息,
该第一更正电路还用以根据该奇偶校验矩阵信息来设定该第一更正电路的一第一参数,其中该第一硬比特模式译码程序是根据该第一参数所执行,
该第二更正电路还用以根据该奇偶校验矩阵信息来设定该第二更正电路的一第二参数,其中第二硬比特模式译码程序是根据该第二参数所执行。
15.根据权利要求14所述的存储器存储装置,其特征在于,该存储器控制电路单元还包括一译码器,并且该存储器管理电路读取该奇偶校验矩阵信息的操作包括:
该存储器管理电路从该可复写式非易失性存储器模块中读取一第一数据;以及
该译码器对该第一数据执行一博斯-乔赫里-霍克文黑姆BCH译码程序以取得该奇偶校验矩阵信息。
16.根据权利要求14所述的存储器存储装置,其特征在于,该第一硬比特模式译码程序与该第二硬比特模式译码程序是对应于一类循环低密度奇偶校验码,该类循环低密度奇偶校验码具有一奇偶校验矩阵,该奇偶校验矩阵包括多个排列矩阵,并且该奇偶校验矩阵信息包括每一该些排列矩阵的一索引。
17.一种存储器控制电路单元,用于控制一可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块包括多个第一存储单元,其特征在于,该存储器控制电路单元包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块;
一存储器管理电路,电性连接至该主机接口与该存储器接口,用以根据一第一读取电压读取该些第一存储单元以取得多个第一校验比特;
一错误校验与校正电路,包括一第一更正电路与一第二更正电路,其中该第一更正电路的一精准度小于该第二更正电路的一精准度,
其中,该第一更正电路用以根据该些第一校验比特执行一第一硬比特模式译码程序,并判断该第一硬比特模式译码程序是否生成一第一有效码字,
其中,若该第一硬比特模式译码程序生成该第一有效码字,该第一更正电路用以输出该第一有效码字,
其中,若该第一硬比特模式译码程序没有生成该第一有效码字,该第二更正电路用以根据该些第一校验比特执行一第二硬比特模式译码程序,并判断该第二硬比特模式译码程序是否生成一第二有效码字,
其中,若该第二硬比特模式译码程序生成该第二有效码字,该第二更正电路用以输出该第二有效码字。
18.根据权利要求17所述的存储器控制电路单元,其特征在于,若该第二硬比特模式译码程序没有生成该第二有效码字,该存储器管理电路用以根据多个第二读取电压读取该些第一存储单元以取得多个第二校验比特,并且该第二更正电路用以根据该些第二校验比特执行一软比特模式译码程序,其中该些第二读取电压的个数大于该第一读取电压的个数,
该第二更正电路用以判断该软比特模式译码程序是否生成一第三有效码字,
若该软比特模式译码程序生成该第三有效码字,该第二更正电路用以输出该第三有效码字。
19.根据权利要求18所述的存储器控制电路单元,其特征在于,若该软比特模式译码程序没有生成该第三有效码字,该存储器管理电路用以判断一读取次数是否大于一读取临界值,
若该读取次数大于该读取临界值,该存储器管理电路用以判断译码失败,
若该读取次数不大于该读取临界值,该存储器管理电路用以重新设定该第一读取电压,根据重新设定的该第一读取电压来读取该些第一存储单元以重新取得该些第一校验比特,
该第一更正电路用以根据重新取得的该些第一校验比特执行该第一硬比特模式译码程序。
20.根据权利要求18所述的存储器控制电路单元,其特征在于,该些第一校验比特是用以生成多个数据比特,并且该错误校验与校正电路还包括:
一校验电路,用以对该些数据比特执行一奇偶校验程序以生成多个校验子;以及
一存储器,电性连接至该校验电路、该第一更正电路与该第二更正电路,用以存储该些校验子,
其中该第一更正电路根据该些第一校验比特执行该第一硬比特模式译码程序的操作包括:
在一低密度奇偶校验码的一叠代译码中,该第一更正电路根据该些校验子取得每一该些数据比特的一可靠度信息,并且根据该些可靠度信息决定该些数据比特中一错误比特的一索引,
其中该第一更正电路判断该第一硬比特模式译码程序是否生成有效的码字的操作包括:
该第一更正电路判断该错误比特的该索引与该些校验子是否符合一奇偶校验条件;以及
若该错误比特的该索引与该些校验子符合该奇偶校验条件,该第一更正电路判断该第一硬比特模式译码程序生成有效的码字,
其中该第一更正电路输出该有效的码字的操作包括:
该第一更正电路根据该错误比特的该索引来更正该些数据比特,并输出更正后的该些数据比特。
21.根据权利要求20所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以根据该些校验子计算一校验总和,并判断该校验总和是否小于一第一校验临界值,
若该校验总和小于该第一校验临界值,该第一更正电路执行该第一硬比特模式译码程序,
若该校验总和大于等于该第一校验临界值,该存储器管理电路还用以判断该校验总和是否小于一第二校验临界值,
若该校验总和小于该第二校验临界值,该第二更正电路执行该第二硬比特模式译码程序,
若该校验总和大于等于该第二校验临界值,该存储器管理电路还用以判断该校验总和是否小于一第三校验临界值,
若该校验总和小于该第三校验临界值,该第二更正电路执行该软比特模式译码程序。
22.根据权利要求17所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以从该可复写式非易失性存储器模块中读取一奇偶校验矩阵信息,
该第一更正电路还用以根据该奇偶校验矩阵信息来设定该第一更正电路的一第一参数,其中该第一硬比特模式译码程序是根据该第一参数所执行,
该第二更正电路还用以根据该奇偶校验矩阵信息来设定该第二更正电路的一第二参数,其中第二硬比特模式译码程序是根据该第二参数所执行。
23.根据权利要求22所述的存储器控制电路单元,其特征在于,该存储器控制电路单元还包括一译码器,并且该存储器管理电路读取该奇偶校验矩阵信息的操作包括:
该存储器管理电路从该可复写式非易失性存储器模块中读取一第一数据;以及
该译码器对该第一数据执行一博斯-乔赫里-霍克文黑姆BCH译码程序以取得该奇偶校验矩阵信息。
24.根据权利要求22所述的存储器控制电路单元,其特征在于,该第一硬比特模式译码程序与该第二硬比特模式译码程序是对应于一类循环低密度奇偶校验码,该类循环低密度奇偶校验码具有一奇偶校验矩阵,该奇偶校验矩阵包括多个排列矩阵,并且该奇偶校验矩阵信息包括每一该些排列矩阵的一索引。
CN201310719392.2A 2013-12-24 2013-12-24 译码方法、存储器存储装置、存储器控制电路单元 Active CN104733044B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310719392.2A CN104733044B (zh) 2013-12-24 2013-12-24 译码方法、存储器存储装置、存储器控制电路单元

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310719392.2A CN104733044B (zh) 2013-12-24 2013-12-24 译码方法、存储器存储装置、存储器控制电路单元

Publications (2)

Publication Number Publication Date
CN104733044A true CN104733044A (zh) 2015-06-24
CN104733044B CN104733044B (zh) 2018-04-24

Family

ID=53456871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310719392.2A Active CN104733044B (zh) 2013-12-24 2013-12-24 译码方法、存储器存储装置、存储器控制电路单元

Country Status (1)

Country Link
CN (1) CN104733044B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107146638A (zh) * 2016-03-01 2017-09-08 群联电子股份有限公司 译码方法、内存储存装置及内存控制电路单元
CN107424651A (zh) * 2016-04-20 2017-12-01 英飞凌科技股份有限公司 使用存储装置的方法、存储装置和存储装置组件
CN107608817A (zh) * 2016-07-12 2018-01-19 大心电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
CN108140407A (zh) * 2015-08-11 2018-06-08 桑迪士克科技有限责任公司 用于读取数据存储设备的软比特技术
CN111427713A (zh) * 2019-01-10 2020-07-17 深圳衡宇芯片科技有限公司 训练人工智能估测存储装置的使用寿命的方法
CN113485866A (zh) * 2021-07-02 2021-10-08 海光信息技术股份有限公司 译码方法及相关装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199149A1 (en) * 2007-12-05 2010-08-05 Hanan Weingarten Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of "first below" cells
US20130135927A1 (en) * 2011-11-30 2013-05-30 Sandisk Technologies Inc. Systems and methods of decoding data using soft bits at a non-binary decoder that uses probabilistic decoding
CN103137213A (zh) * 2011-12-01 2013-06-05 慧荣科技股份有限公司 具有低密度奇偶校验码译码能力的存储器控制装置及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199149A1 (en) * 2007-12-05 2010-08-05 Hanan Weingarten Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of "first below" cells
US20130135927A1 (en) * 2011-11-30 2013-05-30 Sandisk Technologies Inc. Systems and methods of decoding data using soft bits at a non-binary decoder that uses probabilistic decoding
CN103137213A (zh) * 2011-12-01 2013-06-05 慧荣科技股份有限公司 具有低密度奇偶校验码译码能力的存储器控制装置及方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108140407A (zh) * 2015-08-11 2018-06-08 桑迪士克科技有限责任公司 用于读取数据存储设备的软比特技术
CN107146638A (zh) * 2016-03-01 2017-09-08 群联电子股份有限公司 译码方法、内存储存装置及内存控制电路单元
CN107146638B (zh) * 2016-03-01 2020-08-11 群联电子股份有限公司 译码方法、存储器储存装置及存储器控制电路单元
CN107424651A (zh) * 2016-04-20 2017-12-01 英飞凌科技股份有限公司 使用存储装置的方法、存储装置和存储装置组件
CN107424651B (zh) * 2016-04-20 2020-10-16 英飞凌科技股份有限公司 使用存储装置的方法、存储装置和存储装置组件
CN107608817A (zh) * 2016-07-12 2018-01-19 大心电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
CN111427713A (zh) * 2019-01-10 2020-07-17 深圳衡宇芯片科技有限公司 训练人工智能估测存储装置的使用寿命的方法
CN111427713B (zh) * 2019-01-10 2023-08-22 深圳衡宇芯片科技有限公司 训练人工智能估测存储装置的使用寿命的方法
CN113485866A (zh) * 2021-07-02 2021-10-08 海光信息技术股份有限公司 译码方法及相关装置、电子设备和存储介质
CN113485866B (zh) * 2021-07-02 2023-05-09 海光信息技术股份有限公司 译码方法及相关装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN104733044B (zh) 2018-04-24

Similar Documents

Publication Publication Date Title
TWI540586B (zh) 解碼方法、記憶體儲存裝置、記憶體控制電路單元
US10700706B2 (en) Memory system with decoders and method of operating such memory system and decoders
US9471421B2 (en) Data accessing method, memory storage device and memory controlling circuit unit
US10484008B2 (en) Memory system with on-the-fly error detection and termination and operating method thereof
US10693496B2 (en) Memory system with LDPC decoder and method of operating such memory system and LDPC decoder
US10103748B2 (en) Decoding method, memory control circuit unit and memory storage device
US9477612B2 (en) Memory system for reliable predicted sequential read operation
TWI523018B (zh) 解碼方法、記憶體儲存裝置、記憶體控制電路單元
CN104601178A (zh) 解码方法、解码电路、存储器存储装置与控制电路单元
CN104733044A (zh) 译码方法、存储器存储装置、存储器控制电路单元
CN105468292A (zh) 数据存取方法、存储器储存装置及存储器控制电路单元
CN105022674B (zh) 解码方法、存储器存储装置、存储器控制电路单元
US9553608B2 (en) Data storage device decoder and method of operation
CN104572334A (zh) 解码方法、存储器存储装置与存储器控制电路单元
US10193569B2 (en) Decoding method, memory storage device and memory control circuit unit
CN105653199A (zh) 数据读取方法、存储器存储装置及存储器控制电路单元
CN104851458A (zh) 解码方法、存储器存储装置与存储器控制电路单元
CN104733051A (zh) 奇偶校验码的解码方法、存储器储存装置及控制电路单元
CN104424045A (zh) 解码方法、存储器储存装置与非易失性存储器模块
CN105304142A (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN104182293A (zh) 数据写入方法、存储器存储装置与存储器控制器
CN104778975A (zh) 译码方法、存储器存储装置、存储器控制电路单元
US11036579B2 (en) Decoder for memory system and method thereof
CN105304143A (zh) 解码方法、存储器控制电路单元及存储器存储装置
US10884858B2 (en) LDPC decoding device, memory system including the same and method thereof

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