CN104424045A - 解码方法、存储器储存装置与非易失性存储器模块 - Google Patents
解码方法、存储器储存装置与非易失性存储器模块 Download PDFInfo
- Publication number
- CN104424045A CN104424045A CN201310406492.XA CN201310406492A CN104424045A CN 104424045 A CN104424045 A CN 104424045A CN 201310406492 A CN201310406492 A CN 201310406492A CN 104424045 A CN104424045 A CN 104424045A
- Authority
- CN
- China
- Prior art keywords
- those
- bit
- control circuit
- bits
- memorizer
- 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)
- Read Only Memory (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明提供一种解码方法、存储器储存装置与非易失性存储器模块。此方法包括;根据一读取电压从可复写式非易失性存储器模块中读取多个比特;对比特执行低密度奇偶校验算法的奇偶校验以取得校验子,其中每一个比特是对应至至少一个校验子;根据校验子判断比特是否具有错误;若比特具有错误,根据每一个比特所对应的校验子来取得每一个比特的校验权重;根据每一个比特的校验权重来取得每一个比特的初始值;以及,根据初始值对这些比特执行低密度奇偶校验算法的第一迭代解码。藉此,可以增加解码的速度。
Description
技术领域
本发明是有关于一种解码方法,且特别是有关于低密度奇偶校验码的解码方法、存储器储存装置与非易失性存储器模块。
背景技术
数码相机、手机与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,写入至可复写式非易失性存储器模块的数据会经过一个通道编码。藉此,当从可复写式非易失性存储器模块中读取数据时,有机会回复这些数据中的错误。若此通道编码所使用的是低密度奇偶校验码,则从可复写式非易失性存储器模块所读取的数据会经过一个迭代解码。此迭代解码是用以更新一个比特的可靠度。当数据中的错误越多时,则迭代解码所需要的迭代次数就会越多。然而,迭代次数越多则表示解码的速度越慢。因此,如何增加解码的速度,为此领域技术人员所关心的议题。
发明内容
本发明提供一种解码方法、存储器储存装置与非易失性存储器模块,可以增加解码的速度。
本发明一范例实施例提出一种解码方法,用于一可复写式非易失性存储器模块。此解码方法包括:根据第一读取电压从可复写式非易失性存储器模块中读取多个比特;对这些比特执行低密度奇偶校验算法的一奇偶校验以取得多个校验子,其中每一个比特是对应至至少一个校验子;根据校验子判断这些比特是否具有至少一个第一错误;若比特具有第一错误,根据每一个比特所对应的校验子来取得每一个比特的校验权重;根据每一个比特的校验权重来取得每一个比特的第一初始值;以及,根据第一初始值对这些比特执行低密度奇偶校验算法的第一迭代解码。
在一范例实施例中,上述根据每一个比特所对应的校验子来取得每一个比特的校验权重的步骤包括:将每一个比特所对应的校验子相加以取得每一个比特的校验权重。
在一范例实施例中,上述根据每一个比特的校验权重来取得每一个比特的第一初始值的步骤包括:执行第一程序。此第一程序包括:设定多个第一区间,并且设定每一个第一区间是对应至第一错误级别;判断每一个比特的校验权重是在哪一个第一区间以取得对应的第一错误级别;以及将每一个比特的值乘上对应的第一错误级别以取得每一个比特的第一初始值。
在一范例实施例中,上述比特包括第一比特。若第一比特为比特“0”,则第一比特的值大于0。若第一比特为比特“1”,则第一比特的值小于0。
在一范例实施例中,上述设定第一区间与第一错误级别的步骤包括:若第一区间内的数值越大,设定第一区间所对应的第一错误级别越小。
在一范例实施例中,上述根据每一个比特的校验权重来取得每一个比特的第一初始值的步骤还包括:累加校验子以取得一错误个数;判断错误个数是否符合一门槛值;若错误个数符合门槛值,执行第一程序;若错误个数不符合门槛值,执行第二程序。此第二程序包括:设定多个第二区间,并且设定每一个第二区间是对应至第二错误级别,其中第二错误级别不同于第一错误级别;判断每一个比特的校验权重是哪一个第二区间以取得对应的第二错误级别;将每一个比特的值乘上对应的第二错误级别以取得每一个比特的第一初始值。
在一范例实施例中,上述的可复写式非易失性存储器模块包括多个实体程序化单元,并且上述的比特是从第一实体程序化单元所读取。此解码方法还包括:在执行第一迭代解码后,对第一迭代解码的一解码结果执行奇偶校验以判断解码结果是否存在第二错误。若解码结果存在第二错误,执行下列步骤:根据多个第二读取电压从第一实体程序化单元中读取每一个比特的多个读取信息;根据每一个比特的读取信息取得每一个比特的第二初始值;以及根据第二初始值对上述的比特执行低密度奇偶校验算法的第二迭代解码。
在一范例实施例中,上述的比特中至少三个比特的第一初始值彼此不相同。
本发明一范例实施例提出一种存储器储存装置,包括连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元是用以电性连接至一主机系统。存储器控制电路单元是电性连接至连接接口单元与可复写式非易失性存储器模块,用以根据第一读取电压从可复写式非易失性存储器模块中读取多个比特。存储器控制电路单元也用以对这些比特执行低密度奇偶校验算法的奇偶校验以取得多个校验子,其中每一个比特是对应至至少一个校验子。存储器控制电路单元也用以根据校验子判断这些比特是否具有第一错误。若比特具有第一错误,存储器控制电路单元用以根据每一个比特所对应的校验子来取得每一个比特的一校验权重。存储器控制电路单元也用以根据每一个比特的校验权重来取得每一个比特的第一初始值。存储器控制电路单元还用以根据第一初始值对这些比特执行低密度奇偶校验算法的第一迭代解码。
在一范例实施例中,上述的存储器控制电路单元是将每一个比特所对应的校验子相加以取得每一个比特的校验权重。
在一范例实施例中,上述存储器控制电路单元根据每一个比特的校验权重来取得每一个比特的第一初始值的操作包括:存储器控制电路单元执行上述的第一程序。
在一范例实施例中,上述存储器控制电路单元设定第一区间与第一错误级别的步骤包括:若第一区间内的数值越大,存储器控制电路单元设定第一区间所对应的第一错误级别越小。
在一范例实施例中,上述存储器控制电路单元根据每一个比特的校验权重来取得每一个比特的第一初始值的操作更以下操作。存储器控制电路单元累加校验子以取得一错误个数。存储器控制电路单元判断错误个数是否符合一门槛值。若错误个数符合门槛值,存储器控制电路单元执行上述的第一程序。若错误个数不符合门槛值,存储器控制电路单元执行上述的第二程序。
在一范例实施例中,上述存储器控制电路单元更用以在执行第一迭代解码后,对第一迭代解码的一解码结果执行奇偶校验以判断解码结果是否存在第二错误。若解码结果存在第二错误,存储器控制电路单元更用以执行下列步骤:根据多个第二读取电压从第一实体程序化单元中读取每一个比特的多个读取信息;根据每一个比特的读取信息取得每一个比特的第二初始值;以及根据第二初始值对这些比特执行低密度奇偶校验算法的第二迭代解码。
本发明一范例实施例提出一种可复写式非易失性存储器模块,包括存储单元阵列与控制电路。控制电路电性连接至存储单元阵列,用以根据第一读取电压从存储单元阵列中读取多个比特,并且对这些比特执行低密度奇偶校验算法的奇偶校验以取得多个校验子。其中每一个比特是对应至至少一个校验子。控制电路也用以根据校验子判断这些比特是否具有第一错误。若比特具有第一错误,控制电路用以根据每一个比特所对应的校验子来取得每一个比特的一校验权重,根据每一个比特的校验权重来取得每一个比特的第一初始值,并且根据第一初始值对这些比特执行低密度奇偶校验算法的第一迭代解码。
在一范例实施例中,上述的控制电路也用以将每一个比特所对应的校验子相加以取得每一个比特的校验权重。
在一范例实施例中,上述控制电路根据每一个比特的校验权重来取得每一个比特的第一初始值的操作包括:控制电路用以执行上述的第一程序。
在一范例实施例中,上述控制电路设定第一区间与第一错误级别的操作包括:若第一区间内的数值越大,控制电路设定第一区间所对应的第一错误级别越小。
在一范例实施例中,上述的控制电路也用以累加校验子以取得一错误个数,判断错误个数是否符合一门槛值。若错误个数符合门槛值,控制电路执行第一程序。若错误个数不符合门槛值,控制电路执行上述的第二程序。
在一范例实施例中,上述的存储单元阵列包括多个实体程序化单元,并且上述的比特是从第一实体程序化单元所读取。控制电路更用以在执行第一迭代解码后,对第一迭代解码的一解码结果执行奇偶校验以判断解码结果是否存在第二错误。若解码结果存在第二错误,控制电路更用以根据多个第二读取电压从第一实体程序化单元中读取每一个比特的多个读取信息。控制电路更用以根据每一个比特的读取信息取得每一个比特的第二初始值,并且根据第二初始值对比特执行低密度奇偶校验算法的第二迭代解码。
基于上述,本发明范例实施例提出的解码方法、存储器储存装置与可复写式非易失性存储器模块,可以根据不同的校验权重来取得不同的初始值,使得迭代解码的迭代次数会减少,进而增加解码的速度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图;
图1B是根据一范例实施例所绘示的电脑、输入/输出装置与存储器储存装置的示意图;
图1C是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图;
图2是绘示图1A所示的存储器储存装置的概要方块图;
图3是根据一范例实施例所绘示的存储器控制电路单元的概要方块图;
图4是根据一范例实施例绘示奇偶校验矩阵的示意图;
图5是根据一范例实施例绘示根据一个读取电压来读取可复写式非易失性存储器模块的范例示意图;
图6是根据一范例实施例绘示矩阵相乘的示意图;
图7是根据一范例实施例绘示根据多个读取电压来读取可复写式非易失性存储器模块的范例示意图;
图8是根据一范例实施例绘示解码方法的流程图;
图9A是根据一范例实施例所绘示的可复写式非易失性存储器模块的概要方块图;
图9B是根据一范例实施例所绘示的存储单元阵列的概要电路图。
附图标记说明:
1000:主机系统;
1100:电脑;
1102:微处理器;
1104:随机存取存储器;
1106:输入/输出装置;
1108:系统总线;
1110:数据传输接口;
1202:鼠标;
1204:键盘;
1206:显示器;
1208:打印机;
1212:随身盘;
1214:存储卡;
1216:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:存储棒;
1318:CF卡;
1320:嵌入式储存装置;
100:存储器储存装置;
102:连接接口单元;
104:存储器控制电路单元;
106:可复写式非易失性存储器模块;
304(0)~304(R):实体删除单元;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
252:缓冲存储器;
254:电源管理电路;
256:错误检查与校正电路;
400:奇偶校验矩阵;
510、520:分布;
530、701~705:读取电压;
540:重叠区域;
610:码字;
620:校验向量;
V0~V7:比特;
S0~S2:校验子;
S801~S807:步骤;
902:存储单元阵列;
904:字线控制电路;
906:位线控制电路;
908:行解码器;
910:数据输入/输出缓冲器;
912:控制电路;
922:存储单元;
924:位线;
926:字线;
928:共用源极线;
930:选择栅漏极晶体管;
932:选择栅源极晶体管。
具体实施方式
一般而言,存储器储存装置(也称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图1B是根据一范例实施例所绘示的电脑、输入/输出装置与存储器储存装置的示意图。
图1C是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
请参照图1A,主机系统1000一般包括电脑1100与输入/输出(input/output,以下简称I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(random access memory,以下简称RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身盘1212、存储卡1214或固态硬盘(Solid State Drive,以下简称SSD)1216等的可复写式非易失性存储器储存装置。
一般而言,主机系统1000为可实质地与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄影机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,以下简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是绘示图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置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 HighSpeed-I,以下简称UHS-I)接口标准、超高速二代(Ultra High Speed-II,以下简称UHS-II)接口标准、存储棒(Memory Stick,以下简称MS)接口标准、多媒体储存卡(Multi Media Card,以下简称MMC)接口标准、嵌入式多媒体储存卡(Embedded Multimedia Card,以下简称eMMC)接口标准、通用快闪存储器(Universal Flash Storage,以下简称UFS)接口标准、小型快闪(Compact Flash,以下简称CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,以下简称IDE)标准或其他适合的标准。连接接口单元102可与存储器控制电路单元104封装在一个芯片中,或者连接接口单元102是布设于一包含存储器控制电路单元104的芯片外。
存储器控制电路单元104用以执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与删除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制电路单元104,并且用以储存主机系统1000所写入的数据。可复写式非易失性存储器模块106具有实体删除单元304(0)~304(R)。例如,实体删除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体删除单元分别具有复数个实体程序化单元,并且属于同一个实体删除单元的实体程序化单元可被独立地写入且被同时地删除。例如,每一实体删除单元是由128个实体程序化单元所组成。然而,必须了解的是,本发明不限于此,每一实体删除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更具体来说,每一个实体删除单元包括多条字线与多条位线,每一条字线与每一位线交叉处配置有一个存储单元。每一个存储单元可储存一或多个比特。在同一个实体删除单元中,所有的存储单元会一起被删除。在此范例实施例中,实体删除单元为删除的最小单位。也即,每一实体删除单元含有最小数目的一并被删除的存储单元。例如,实体删除单元为实体区块。另一方面,同一条字线上的存储单元会组成一或多个实体程序化单元。若每一个存储单元可储存2个以上的比特,则同一条字线上的实体程序化单元可被分类为下实体程序化单元与上实体程序化单元。一般来说,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度。在此范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面或是实体扇(sector)。若实体程序化单元为实体页面,则每一个实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体扇,用以储存使用者的数据,而冗余比特区用以储存系统的数据(例如,错误更正码)。在本范例实施例中,每一个数据比特区包含32个实体扇,且一个实体扇的大小为512比特组(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,本发明并不限制实体扇的大小以及个数。
在本范例实施例中,可复写式非易失性存储器模块106为单阶存储单元(Single Level Cell,以下简称SLC)NAND型快闪存储器模块,即一个存储单元中可储存1个比特。然而,本发明不限于此,可复写式非易失性存储器模块106也可是多阶存储单元(Multi Level Cell,以下简称MLC)NAND型快闪存储器模块、复数阶存储单元(Trinary Level Cell,以下简称TLC)NAND型快闪存储器模块、其他快闪存储器模块或其他具有相同特性的存储器模块。
图3是根据一范例实施例所绘示的存储器控制电路单元的概要方块图。
请参照图3,存储器控制电路单元104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与删除等运作。以下说明存储器管理电路202的操作时,等同于说明存储器控制电路单元104的操作,以下并不再赘述。
在本范例实施例中,存储器管理电路202的控制指令是以固件形式来实作。例如,存储器管理电路202具有微处理器单元(未绘示)与只读存储器(未绘示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与删除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序码形式储存于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元104被致能时,微处理器单元会先执行此开机码来将储存于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与删除等运作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件形式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器删除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器删除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块106的实体删除单元;存储器写入单元用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取单元用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器删除单元用以对可复写式非易失性存储器模块106下达删除指令以将数据从可复写式非易失性存储器模块106中删除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204也可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
在本发明一范例实施例中,存储器控制电路单元104还包括缓冲存储器252、电源管理电路254与错误检查与校正电路256。
缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误更正码(error correcting code,以下简称ECC code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误更正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误更正码,并且错误检查与校正电路256会依据此错误更正码对所读取的数据执行错误检查与校正程序。
在此范例实施例中,错误检查与校正电路256所使用的错误更正码是低密度奇偶校验(Low-density parity-check,以下简称LDPC)码。换言之,错误检查与校正电路256会根据一个低密度奇偶校验算法来编码与解码。错误检查与校正电路256会设定一个奇偶校验矩阵(parity check matrix),其维度是m-乘-n(m-by-n)。m与n为正整数。正整数n代表一个码字(codeword)包含了多少个比特,而正整数m代表一个码字包含了多少个奇偶校验比特,即正整数n减去正整数m的差(n-m)代表一个码字中有多少个信息比特(或称讯息比特)。图4是根据一范例实施例绘示奇偶校验矩阵的示意图。请参照图4,奇偶校验矩阵400的维度是3-乘-8。一般来说正整数m与n会大于3与8,图4只是用来举例说明,本发明并不限制正整数m与n为多少。奇偶校验矩阵400的每一列(row)也代表了一限制(constraint)。以第一列为例,若某一个码字是有效码字(valid codeword),则将此码字中第1、2、5、6、与第8个比特做模2(modulo-2)的加法之后,会得到比特“0”。在此领域有通常知识者应能理解如何用奇偶校验矩阵400来编码,在此便不再赘述。
当存储器管理电路202要将多个比特写入至可复写式非易失性存储器模块106时,错误检查与校正电路256会对每(n-m)个欲被写入的比特都产生对应的m个奇偶校验比特。接下来,存储器管理电路202会把这n个比特写入至可复写式非易失性存储器模块106。可复写式非易失性存储器模块106是通过改变一个存储单元的临界电压来储存一个比特。图5是根据一范例实施例绘示根据一个读取电压来读取可复写式非易失性存储器模块的范例示意图。请参照图5,横轴代表存储单元的临界电压,而纵轴代表存储单元个数。例如,图5是表示某一个实体程序化单元上各个存储单元的临界电压。在此假设当某一个存储单元的临界电压是落在分布510时,此存储单元所储存的是比特“1”;相反地,若某一个存储单元的临界电压是落在分布520时,此存储单元所储存的是比特“0”。在此范例实施例中,临界电压的分布有两种可能。然而,在其他范例实施例中,临界电压的分布可能四种、八种或其他任意个可能,而读取电压530可以在任意两个分布之间。此外,本发明也不限制每一个分布所代表的比特(例如,可以是比特“00”、“01”或其他比特)。
当要从可复写式非易失性存储器模块106读取数据时,存储器管理电路202会先以读取电压530(也称第一读取电压)从对应的实体程序化单元中读取多个比特。若某一个存储单元的临界电压小于读取电压530,则此存储单元会导通,并且存储器管理电路202会读到比特“1”。相反地,若某一个存储单元的临界电压大于读取电压530,则此存储单元不会导通,并且存储器管理电路202会读到比特“0”。值得注意的是,分布510与分布520会包含一个重叠区域540,其表示有一些存储单元中所储存的应该是比特“1”(属于分布510),但其临界电压大于读取电压530;或者,有一些存储单元中所储存的应该是比特“0”(属于分布520),但其临界电压小于读取电压530。换言之,所读取的比特中,有部分的比特会有错误。
在存储器管理电路202根据读取电压530从可复写式非易失性存储器模块106读取多个比特以后,这些比特会被分成长度为n的一或多个码字。错误检查与校正电路256会解码每一个码字。具体来说,错误检查与校正电路256会先对一个码字中的比特执行低密度奇偶校验算法的奇偶校验以取得多个校验子(syndrome)。例如,错误检查与校正电路256会将上述的奇偶校验矩阵与一个码字做模2的矩阵相乘,其可以写为以下方程序(1)。
[H][V]=[S]…(1)
H为上述的奇偶校验矩阵。V为一个码字,其维度是n-乘-1。S为一校验向量,其中包括了上述的多个校验子,并且校验向量的维度是m-乘-1。错误检查与校正电路256会根据这些校验子判断码字V中的比特是否具有错误(也称第一错误)。具体来说,若校验向量S中的每一个校验子都是比特“0”,表示码字V中可能没有错误;若校验向量S中有一个校验子是比特“1”,则表示码字V中至少有一个错误。图6是根据一范例实施例绘示矩阵相乘的示意图。以图6为例,奇偶校验矩阵400与码字610相乘的结果是校验向量620。码字610中的每一个比特是对应到校验向量620中的至少一个校验子。举例来说,码字610中的第一个比特V0(对应至奇偶校验矩阵400中的第一行)是对应到校验子S0;比特V1(对应至矩阵中的第二行)是对应到校验子S0与校验子S1。若比特V0发生了错误,则校验子S0可能会是比特“1”。若比特V1发生了错误,则校验子S0与S1可能会是比特“1”。换言之,若奇偶校验矩阵400中第i列第j行的元素(element)为“1”,则码字610中第j个比特是对应到校验向量620中第i个校验子,其中i与j为正整数。
若码字610中的比特没有错误,则错误检查与校正电路256会输出码字610中的比特。若码字610中的比特有错误,错误检查与校正电路256会执行一个动态信息缩放(dynamic information scaling,以下简称DIS)算法。在此动态信息缩放算法中,错误检查与校正电路256会根据校验子S0~S2来设定比特V0~V7的初始值。这些初始值则可用来执行低密度奇偶校验算法的迭代解码。大致上来说,校验子S0~S2可用来估测每一个比特发生错误的机率,而根据这些机率,比特的初始值会被缩放到不同的数值。以下将详细说明动态信息缩放算法中的各个步骤。
首先,错误检查与校正电路256会根据每一个比特所对应的校验子来取得每一个比特的一校验权重。举例来说,错误检查与校正电路256可以将每一个比特所对应的校验子相加以取得校验权重。如图6所示,比特V0的校验权重等于校验子S0;比特V1的校验权重等于校验子S0与校验子S1的相加,以此类推。值得注意的是,在此对校验子S0~S2所做的加法是一般的加法,而不是模2的加法。然而,在另一范例实施例中,错误检查与校正电路256也可以将每一个校验子乘上一个权重,并且累加校验子与权重相乘的结果以取得校验权重。例如,比特V1的校验权重会等于W0S0+W1S1,其中权重W0与W1为实数。错误检查与校正电路256可以根据校验子对应的比特的个数来决定权重。例如,校验子S0是对应到5个比特,而校验子S1是对应到3个比特。因此,错误检查与校正电路256可以将权重W0设定的比权重W1还要小(或者大)。本发明并不限制如何设定每一个校验子的权重。在另一范例实施例中,错误检查与校正电路256也可以把校验子S0~S2的至少其中之一当作一个函数的输入,并且把此函数的输出当作校验权重。此函数可以是线性函数、多项式函数、指数函数或是其他非线性函数,本发明并不在此限。
取得每一个比特的校验权重以后,错误检查与校正电路256会根据这些校验权重来取得码字610中每一个比特的一初始值(也称第一初始值),并且根据这些初始值对这些比特V0~V7执行低密度奇偶校验算法的第一迭代解码。在此范例实施例中,此第一迭代解码也被称为硬比特模式(hard bit mode)解码。然而,在另一范例实施例中,此第一迭代解码也可以是软比特模式(soft bitmode)解码,即存储器管理电路202是根据多个读取电压来取得码字610与相对应的读取信息。校验权重是用来表示每一个比特可能发生错误的程度。若校验权重越大,则对应的比特发生错误的机率越大。因此,错误检查与校正电路256会根据不同的校验权重来设定不同的初始值。在此范例实施例中,当码字610被读取时,比特V0~V7只会有两种可能(即,比特“0”或是比特“1”)。然而,在根据校验权重来取得初始值以后,比特V0~V7中至少有三个比特的初始值彼此不会相同。换言之,用来执行第一迭代解码的信息更多,使得第一迭代解码的迭代次数会减少。
举例来说,错误检查与校正电路256可设定多个区间(也称第一区间),并且设定每一个第一区间是对应到一个错误级别(error scaling)(也称第一错误级别)。错误检查与校正电路256会判断每一个比特的校验权重是落在哪一个第一区间以取得对应的第一错误级别。在本范例实施例中,校验权重为正整数,因此上述每一个第一区间可以用一个整数来表示。在此假设这些第一区间是0、1、2…等正整数,而上述的第一错误级别分别是1、0.9、0.7...等。在此范例实施例中,错误检查与校正电路256是判断校验权重是等于哪一个正整数来取得对应的第一错误级别。接着,错误检查与校正电路256会将每一个比特的值乘上对应的第一错误级别来取得上述的初始值。根据一个比特是“1”或是“0”,此比特的值会大于0或是小于0。在此范例实施例中,若某一比特是“0”,则此比特的值会大于0(例如,1);若某一比特是“1”,则此比特的值会小于0(例如,-1),然而,本发明并不在此限。
以比特V0为例,在此假设比特V0是比特“0”,并且比特V0的值是1。若比特V0的校验权重是0,其对应的第一错误级别是1,因此比特V0的初始值会是1x1=1。若比特V0的校验权重是1,则比特V0的初始值会是1x0.9=0.9;若比特V0的校验权重是2,则比特V0的初始值会是1x0.7=0.7。相反地,若比特V0是比特“1”,则比特V0的初始值便可能是-1、-0.9、-0.7等。以上设定第一区间与第一错误级别、判断校验权重在哪一个第一区间、并且根据第一错误级别取得第一初始值的步骤也被合称为第一程序。
在另一范例实施例中,所产生的校验权重可是浮点数,而上述的第一区间可以是0~0.5、0.5~2.5、2.5~3.5等。本发明并不限制校验权重是否为整数,第一区间的范围,以及第一错误级别的数值。
若某一第一区间中的数值越大,表示落在此第一区间的校验权重越大,也表示对应的比特发生错误的机率越大。因此,若第一区间中的数值越大,则错误检查与校正电路256会设定对应的第一错误级别越小。若错误级别越小,则计算出的第一初始值的绝对值会越小。在第一迭代解码中是把第一初始值的绝对值当作比特是否正确的可靠度,并且会不断地更新这个可靠度。然而,本领域具有通常知识者应可理解低密度奇偶校验算法的迭代解码,在此并不再赘述。
在一范例实施例中,错误检查与校正电路256会累加校验子S0~S2(依照一般的加法,而非模2的加法)以取得一错误个数。错误检查与校正电路256会根据不同的错误个数来使用不同的区间或错误级别。举例来说,错误检查与校正电路256会判断错误个数是否符合一门槛值(例如,大于等于2)。若错误个数符合门槛值,则错误检查与校正电路256会执行上述的第一程序。若错误个数不符合门槛值,则错误检查与校正电路256会设定多个第二区间,并且设定每一个第二区间是对应至一第二错误级别。这些第二错误级别是不同于上述的第一错误级别。错误检查与校正电路256会判断每一个比特V0~V7的校验权重是在哪一个第二区间以取得对应的第二错误级别。接着,错误检查与校正电路256会将每一个比特V0~V7的值乘上对应的第二错误级别以取得比特V0~V7的第一初始值,并根据这些第一初始值来执行第一迭代解码。举例来说,下列表1纪录了当错误个数为3时所使用的第一错误级别;而表2记录了当错误个数为2时所使用的第二错误级别。换言之,当错误个数越小时,所使用的错误级别会越小。在此,以上设定第二区间与第二错误级别、判断校验权重在哪一个第二区间、并且根据第二错误级别取得第一初始值的步骤也被合称为第二程序。
表1
表2
在一范例实施例中,第一区间与第二区间也可以不相同。举例来说,上述表1的第一区间是1、2、3与4。然而,表2中第二区间可以是0~1、2~3,其中0~1的第二区间是对应到相同的第二错误级别,并且2~3的第二区间是对应到相同的第二错误级别。
在一范例实施例中,第一迭代解码为硬比特模式解码。在执行完第一迭代解码以后,错误检查与校正电路256会对第一迭代解码的解码结果执行奇偶校验来判断此解码结果是否存在错误(也称第二错误)。例如,此解码结果包括多个第二比特,而错误检查与校正电路256会将上述的奇偶解码矩阵与这些第二比特做模2的矩阵相乘来判断第二比特中是否有错误。若此解码结果有错误,则错误检查与校正电路256会再执行软比特模式(soft bit mode)解码。具体来说,请参照图7,图7是根据一范例实施例绘示根据多个读取电压来读取可复写式非易失性存储器模块的范例示意图。在此假设上述图5所绘示的是第一实体程序化单元上存储单元的临界电压,而图7所绘示的也是第一实体程序化单元上存储单元的临界电压。不同的是,在图7中,存储器管理电路202会根据读取电压701~705(也称第二读取电压)来读取第一实体程序化单元。由于读取电压701~705的个数是5,因此每一个比特会有5个读取信息。这些读取信息指示在对应的读取电压701~705下,该比特是被读取为比特“0”或是比特“1”。存储器管理电路202会根据每一个比特的读取信息取得对应的第二初始值。例如,存储器管理电路202会事先设定一个表,这个表中记录了读取信息与对应的第二初始值。在取得读取信息以后,存储器管理电路202会经由查找此表来取得第二初始值。接着,存储器管理电路202会根据这些第二初始值来对比特V0~V7执行低密度奇偶校验算法的第二迭代解码。在一范例实施例中,此第二迭代解码便被称为上述的软比特模式(softbit mode)解码。
图8是根据一范例实施例绘示解码方法的流程图。
请参照图8,在步骤S801中,根据一读取电压从可复写式非易失性存储器模块中读取多个比特。在步骤S802中,对这些比特执行低密度奇偶校验算法的奇偶校验以取得多个校验子。在步骤S803中,根据校验子判断这些比特是否具有错误。若这些比特没有错误,在步骤S804中,输出这些比特。若这些比特有错误,在步骤S805中,根据每一个比特所对应的校验子来取得每一个比特的一校验权重。在步骤S806中,根据每一个比特的校验权重来取得比特的第一初始值。在步骤S807中,根据第一初始值对这些比特执行低密度奇偶校验算法的第一迭代解码。
然而,图8中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图8中各步骤可以实作为多个程序码或是电路,本发明并不在此限。此外,图8的方法可以搭配以上范例实施例使用,也可以单独使用,本发明并不在此限。
在一范例实施例中,图8中部分的步骤也可以由可复写式非易失性存储器模块106来执行。图9A是根据一范例实施例所绘示的可复写式非易失性存储器模块的概要方块图。图9B是根据一范例实施例所绘示的存储单元阵列的概要电路图。
请参照图9A,可复写式非易失性存储器模块106包括存储单元阵列902、字线控制电路904、位线控制电路906、行解码器(column decoder)908、数据输入/输出缓冲器910与控制电路912。
存储单元阵列902包括了上述的实体删除单元。具体来说,存储单元阵列902包括用以储存数据的多个存储单元922、多个选择栅漏极(select gatedrain,SGD)晶体管930与多个选择栅源极(select gate source,SGS)晶体管932、以及连接此些存储单元的多条位线924、多条字线926、与共用源极线928(如图9B所示)。在此范例实施例中,存储单元922是以阵列方式(以二维或是三维的方式)配置在位线924与字线926的交叉点上。当从存储器控制电路单元104接收到写入或读取数据时,控制电路912会控制字线控制电路904、位线控制电路906、行解码器908、数据输入/输出缓冲器910来写入数据至存储单元阵列902或从存储单元阵列902中读取数据,其中字线控制电路904用以控制施予至字线926的电压,位线控制电路906用以控制施予至位线924的电压,行解码器908依据指令中的解码列位址以选择对应的位线,并且数据输入/输出缓冲器910用以暂存数据。
在一范例实施例中,控制电路912也可以用来执行图8中的步骤S802~S807,或者执行上述存储器控制电路单元104的操作。举例来说,在控制电路912根据读取电压从存储单元阵列902中读取多个比特以后,会对这些比特执行低密度奇偶校验算法的奇偶校验以取得多个校验子。若这些比特中有错误,则控制电路912会根据每一个比特所对应的校验子来取得每一个比特的一校验权重,根据每一个比特的校验权重来取得比特的第一初始值,并且根据第一初始值对这些比特执行低密度奇偶校验算法的第一迭代解码。然而,这些步骤已详细说明如上,在此并不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种解码方法,用于一可复写式非易失性存储器模块,其特征在于,包括:
根据一第一读取电压从该可复写式非易失性存储器模块中读取多个比特;
对该些比特执行一低密度奇偶校验算法的一奇偶校验以取得多个校验子,其中每一该些比特是对应至该些校验子中的至少其中之一;
根据该些校验子判断该些比特是否具有至少一第一错误;
若该些比特具有该至少一第一错误,根据每一该些比特所对应的该些校验子来取得每一该些比特的一校验权重;
根据每一该些比特的该校验权重来取得每一该些比特的一第一初始值;以及
根据该些第一初始值对该些比特执行该低密度奇偶校验算法的一第一迭代解码。
2.根据权利要求1所述的解码方法,其特征在于,根据每一该些比特所对应的该些校验子来取得每一该些比特的该校验权重的步骤包括:
将每一该些比特所对应的该些校验子相加以取得每一该些比特的该校验权重。
3.根据权利要求1所述的解码方法,其特征在于,根据每一该些比特的该校验权重来取得每一该些比特的该第一初始值的步骤包括:
执行一第一程序,其中该第一程序包括:
设定多个第一区间,并且设定每一该些第一区间是对应至一第一错误级别;
判断每一该些比特的该校验权重是在该些第一区间中的哪一个第一区间以取得对应的该第一错误级别;以及
将每一该些比特的一值乘上对应的该第一错误级别以取得每一该些比特的该第一初始值。
4.根据权利要求3所述的解码方法,其特征在于,该些比特包括一第一比特,
其中,若该第一比特为比特“0”,则该第一比特的该值大于0,
其中,若该第一比特为比特“1”,则该第一比特的该值小于0。
5.根据权利要求3所述的解码方法,其特征在于,设定该些第一区间与该些第一错误级别的步骤包括:
若该些第一区间内的数值越大,设定该些第一区间所对应的该些第一错误级别越小。
6.根据权利要求3所述的解码方法,其特征在于,根据每一该些比特的该校验权重来取得每一该些比特的该第一初始值的步骤还包括:
累加该些校验子以取得一错误个数;
判断该错误个数是否符合一门槛值;
若该错误个数符合该门槛值,执行该第一程序;
若该错误个数不符合该门槛值,执行一第二程序,其中该第二程序包括:
设定多个第二区间,并且设定每一该些第二区间是对应至一第二错误级别,其中该些第二错误级别不同于该些第一错误级别;
判断每一该些比特的该校验权重是在该些第二区间中的哪一个第二区间以取得对应的该第二错误级别;以及
将每一该些比特的一值乘上对应的该第二错误级别以取得每一该些比特的该第一初始值。
7.根据权利要求1所述的解码方法,其特征在于,该可复写式非易失性存储器模块包括多个实体程序化单元,并且该些比特是从该些实体程序化单元中的一第一实体程序化单元所读取,该解码方法还包括:
在执行该第一迭代解码后,对该第一迭代解码的一解码结果执行该奇偶校验以判断该解码结果是否存在至少一第二错误;
若该解码结果存在该至少一第二错误,执行下列步骤:
根据多个第二读取电压从该第一实体程序化单元中读取每一该些比特的多个读取信息;
根据每一该些比特的该些读取信息取得每一该些比特的一第二初始值;以及
根据该些第二初始值对该些比特执行该低密度奇偶校验算法的一第二迭代解码。
8.根据权利要求1所述的解码方法,其特征在于,该些比特中至少三个比特的第一初始值彼此不相同。
9.一种存储器储存装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非易失性存储器模块;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,用以根据一第一读取电压从该可复写式非易失性存储器模块中读取多个比特,
其中,该存储器控制电路单元用以对该些比特执行一低密度奇偶校验算法的一奇偶校验以取得多个校验子,其中每一该些比特是对应至该些校验子中的至少其中之一,
其中,该存储器控制电路单元用以根据该些校验子判断该些比特是否具有至少一第一错误,
若该些比特具有该至少一第一错误,该存储器控制电路单元用以根据每一该些比特所对应的该些校验子来取得每一该些比特的一校验权重,
其中,该存储器控制电路单元用以根据每一该些比特的该校验权重来取得每一该些比特的一第一初始值,
其中,该存储器控制电路单元用以根据该些第一初始值对该些比特执行该低密度奇偶校验算法的一第一迭代解码。
10.根据权利要求9所述的存储器储存装置,其特征在于,该存储器控制电路单元根据每一该些比特所对应的该些校验子来取得每一该些比特的该校验权重的操作包括:
该存储器控制电路单元将每一该些比特所对应的该些校验子相加以取得每一该些比特的该校验权重。
11.根据权利要求9所述的存储器储存装置,其特征在于,该存储器控制电路单元根据每一该些比特的该校验权重来取得每一该些比特的该第一初始值的操作包括:
该存储器控制电路单元执行一第一程序,其中该第一程序包括:
设定多个第一区间,并且设定每一该些第一区间是对应至一第一错误级别;
判断每一该些比特的该校验权重是在该些第一区间中的哪一个第一区间以取得对应的该第一错误级别;以及
将每一该些比特的一值乘上对应的该第一错误级别以取得每一该些比特的该第一初始值。
12.根据权利要求11所述的存储器储存装置,其特征在于,该些比特包括一第一比特,
其中,若该第一比特为比特“0”,则该第一比特的该值大于0,
其中,若该第一比特为比特“1”,则该第一比特的该值小于0。
13.根据权利要求11所述的存储器储存装置,其特征在于,该存储器控制电路单元设定该些第一区间与该些第一错误级别的步骤包括:
若该些第一区间内的数值越大,该存储器控制电路单元设定该些第一区间所对应的该些第一错误级别越小。
14.根据权利要求11所述的存储器储存装置,其特征在于,该存储器控制电路单元根据每一该些比特的该校验权重来取得每一该些比特的该第一初始值的操作还包括:
该存储器控制电路单元累加该些校验子以取得一错误个数;
该存储器控制电路单元判断该错误个数是否符合一门槛值;
若该错误个数符合该门槛值,该存储器控制电路单元执行该第一程序;
若该错误个数不符合该门槛值,该存储器控制电路单元执行一第二程序,其中该第二程序包括:
设定多个第二区间,并且设定每一该些第二区间是对应至一第二错误级别,其中该些第二错误级别不同于该些第一错误级别;
判断每一该些比特的该校验权重是在该些第二区间中的哪一个第二区间以取得对应的该第二错误级别;以及
将每一该些比特的值乘上对应的该第二错误级别以取得每一该些比特的该第一初始值。
15.根据权利要求9所述的存储器储存装置,其特征在于,该可复写式非易失性存储器模块包括多个实体程序化单元,并且该些比特是从该些实体程序化单元中的一第一实体程序化单元所读取,
其中,该存储器控制电路单元更用以在执行该第一迭代解码后,对该第一迭代解码的一解码结果执行该奇偶校验以判断该解码结果是否存在至少一第二错误,
若该解码结果存在该至少一第二错误,该存储器控制电路单元更用以执行下列步骤:
根据多个第二读取电压从该第一实体程序化单元中读取每一该些比特的多个读取信息;
根据每一该些比特的该些读取信息取得每一该些比特的一第二初始值;以及
根据该些第二初始值对该些比特执行该低密度奇偶校验算法的一第二迭代解码。
16.根据权利要求9所述的存储器储存装置,其特征在于,该些比特中至少三个比特的第一初始值彼此不相同。
17.一种可复写式非易失性存储器模块,其特征在于,包括:
一存储单元阵列;以及
一控制电路,电性连接至该存储单元阵列,用以根据一第一读取电压从该存储单元阵列中读取多个比特,并且对该些比特执行一低密度奇偶校验算法的一奇偶校验以取得多个校验子,其中每一该些比特是对应至该些校验子中的至少其中之一,
其中,该控制电路用以根据该些校验子判断该些比特是否具有至少一第一错误,
若该些比特具有该至少一第一错误,该控制电路用以根据每一该些比特所对应的该些校验子来取得每一该些比特的一校验权重,根据每一该些比特的该校验权重来取得每一该些比特的一第一初始值,并且根据该些第一初始值对该些比特执行该低密度奇偶校验算法的一第一迭代解码。
18.根据权利要求17所述的可复写式非易失性存储器模块,其特征在于,该控制电路根据每一该些比特所对应的该些校验子来取得每一该些比特的该校验权重的操作包括:
该控制电路用以将每一该些比特所对应的该些校验子相加以取得每一该些比特的该校验权重。
19.根据权利要求17所述的可复写式非易失性存储器模块,其特征在于,该控制电路根据每一该些比特的该校验权重来取得每一该些比特的该第一初始值的操作包括:
该控制电路用以执行一第一程序,其中该第一程序包括:
设定多个第一区间,并且设定每一该些第一区间是对应至一第一错误级别;
判断每一该些比特的该校验权重是在该些第一区间中的哪一个第一区间以取得对应的该第一错误级别;以及
将每一该些比特的一值乘上对应的该第一错误级别以取得每一该些比特的该第一初始值。
20.根据权利要求19所述的可复写式非易失性存储器模块,其特征在于,该些比特包括一第一比特,
其中,若该第一比特为比特“0”,则该第一比特的该值大于0,
其中,若该第一比特为比特“1”,则该第一比特的该值小于0。
21.根据权利要求19所述的可复写式非易失性存储器模块,其特征在于,该控制电路设定该些第一区间与该些第一错误级别的操作包括:
若该些第一区间内的数值越大,该控制电路设定该些第一区间所对应的该些第一错误级别越小。
22.根据权利要求19所述的可复写式非易失性存储器模块,其特征在于,该控制电路根据每一该些比特的该校验权重来取得每一该些比特的该第一初始值的操作还包括:
该控制电路累加该些校验子以取得一错误个数;
该控制电路判断该错误个数是否符合一门槛值;
若该错误个数符合该门槛值,该控制电路执行该第一程序;
若该错误个数不符合该门槛值,该控制电路用以执行一第二程序,其中该第二程序包括:
设定多个第二区间,并且设定每一该些第二区间是对应至一第二错误级别,其中该些第二错误级别不同于该些第一错误级别;
判断每一该些比特的该校验权重是在该些第二区间中的哪一个第二区间以取得对应的该第二错误级别;以及
将每一该些比特的值乘上对应的该第二错误级别以取得每一该些比特的该第一初始值。
23.根据权利要求17所述的可复写式非易失性存储器模块,其特征在于,该存储单元阵列包括多个实体程序化单元,并且该些比特是从该些实体程序化单元中的一第一实体程序化单元所读取,
其中,该控制电路更用以在执行该第一迭代解码后,对该第一迭代解码的一解码结果执行该奇偶校验以判断该解码结果是否存在至少一第二错误,
若该解码结果存在该至少一第二错误,该控制电路更用以根据多个第二读取电压从该第一实体程序化单元中读取每一该些比特的多个读取信息,
其中,该控制电路更用以根据每一该些比特的该些读取信息取得每一该些比特的一第二初始值,并且根据该些第二初始值对该些比特执行该低密度奇偶校验算法的一第二迭代解码。
24.根据权利要求17所述的可复写式非易失性存储器模块,其特征在于,该些比特中至少三个比特的第一初始值彼此不相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310406492.XA CN104424045B (zh) | 2013-09-09 | 2013-09-09 | 解码方法、存储器储存装置与非易失性存储器模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310406492.XA CN104424045B (zh) | 2013-09-09 | 2013-09-09 | 解码方法、存储器储存装置与非易失性存储器模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104424045A true CN104424045A (zh) | 2015-03-18 |
CN104424045B CN104424045B (zh) | 2017-07-28 |
Family
ID=52973100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310406492.XA Active CN104424045B (zh) | 2013-09-09 | 2013-09-09 | 解码方法、存储器储存装置与非易失性存储器模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104424045B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608817A (zh) * | 2016-07-12 | 2018-01-19 | 大心电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN109901945A (zh) * | 2017-12-07 | 2019-06-18 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN110391815A (zh) * | 2018-04-18 | 2019-10-29 | 深圳大心电子科技有限公司 | 解码方法及储存控制器 |
CN110795268A (zh) * | 2018-08-01 | 2020-02-14 | 群联电子股份有限公司 | 比特判断方法、存储器控制电路单元以及存储器存储装置 |
CN111462807A (zh) * | 2019-01-18 | 2020-07-28 | 华邦电子股份有限公司 | 错误更正码存储器装置和码字存取方法 |
CN113448498A (zh) * | 2020-03-25 | 2021-09-28 | 桑迪士克科技有限责任公司 | 非易失性存储器接口 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499731A (zh) * | 2002-10-26 | 2004-05-26 | 三星电子株式会社 | 低密度奇偶校验码解码装置和方法 |
CN1698271A (zh) * | 2003-05-13 | 2005-11-16 | 索尼株式会社 | 解码装置、解码方法及程序 |
US20080301518A1 (en) * | 2006-02-09 | 2008-12-04 | Fujitsu Limited | LDPC Check Matrix Generation Method, Check Matrix Generator, and Code Retransmission Method |
US20090201726A1 (en) * | 2006-07-04 | 2009-08-13 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor storage system |
TW200947882A (en) * | 2008-05-13 | 2009-11-16 | Univ Ishou | Decoding method of cyclic code weight decoder |
US20110219284A1 (en) * | 2010-03-02 | 2011-09-08 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory system |
-
2013
- 2013-09-09 CN CN201310406492.XA patent/CN104424045B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499731A (zh) * | 2002-10-26 | 2004-05-26 | 三星电子株式会社 | 低密度奇偶校验码解码装置和方法 |
CN1698271A (zh) * | 2003-05-13 | 2005-11-16 | 索尼株式会社 | 解码装置、解码方法及程序 |
US20080301518A1 (en) * | 2006-02-09 | 2008-12-04 | Fujitsu Limited | LDPC Check Matrix Generation Method, Check Matrix Generator, and Code Retransmission Method |
US20090201726A1 (en) * | 2006-07-04 | 2009-08-13 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor storage system |
TW200947882A (en) * | 2008-05-13 | 2009-11-16 | Univ Ishou | Decoding method of cyclic code weight decoder |
US20110219284A1 (en) * | 2010-03-02 | 2011-09-08 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory system |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608817A (zh) * | 2016-07-12 | 2018-01-19 | 大心电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN109901945A (zh) * | 2017-12-07 | 2019-06-18 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN110391815A (zh) * | 2018-04-18 | 2019-10-29 | 深圳大心电子科技有限公司 | 解码方法及储存控制器 |
CN110391815B (zh) * | 2018-04-18 | 2023-08-18 | 深圳大心电子科技有限公司 | 解码方法及储存控制器 |
CN110795268A (zh) * | 2018-08-01 | 2020-02-14 | 群联电子股份有限公司 | 比特判断方法、存储器控制电路单元以及存储器存储装置 |
CN110795268B (zh) * | 2018-08-01 | 2023-03-14 | 群联电子股份有限公司 | 比特判断方法、存储器控制电路单元以及存储器存储装置 |
CN111462807A (zh) * | 2019-01-18 | 2020-07-28 | 华邦电子股份有限公司 | 错误更正码存储器装置和码字存取方法 |
CN111462807B (zh) * | 2019-01-18 | 2022-06-07 | 华邦电子股份有限公司 | 错误更正码存储器装置和码字存取方法 |
CN113448498A (zh) * | 2020-03-25 | 2021-09-28 | 桑迪士克科技有限责任公司 | 非易失性存储器接口 |
CN113448498B (zh) * | 2020-03-25 | 2024-04-16 | 桑迪士克科技有限责任公司 | 非易失性存储器接口 |
Also Published As
Publication number | Publication date |
---|---|
CN104424045B (zh) | 2017-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190252035A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
US9471421B2 (en) | Data accessing method, memory storage device and memory controlling circuit unit | |
US9543983B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
US9529666B2 (en) | Decoding method, memory storage device and memory controlling circuit unit | |
TWI521529B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI512732B (zh) | 解碼方法、記憶體儲存裝置與非揮發性記憶體模組 | |
US10103748B2 (en) | Decoding method, memory control circuit unit and memory storage device | |
CN104601178A (zh) | 解码方法、解码电路、存储器存储装置与控制电路单元 | |
KR20180010448A (ko) | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 | |
US9507658B2 (en) | Data reading method, memory storage device and memory controlling circuit unit | |
US10522234B2 (en) | Bit tagging method, memory control circuit unit and memory storage device | |
CN105468292A (zh) | 数据存取方法、存储器储存装置及存储器控制电路单元 | |
US10193569B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
CN104424045A (zh) | 解码方法、存储器储存装置与非易失性存储器模块 | |
CN105023613B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN105653199A (zh) | 数据读取方法、存储器存储装置及存储器控制电路单元 | |
CN105022674A (zh) | 解码方法、存储器存储装置、存储器控制电路单元 | |
CN104733051A (zh) | 奇偶校验码的解码方法、存储器储存装置及控制电路单元 | |
KR102606829B1 (ko) | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 | |
CN105304142A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN104733044A (zh) | 译码方法、存储器存储装置、存储器控制电路单元 | |
CN104182293A (zh) | 数据写入方法、存储器存储装置与存储器控制器 | |
CN105304143B (zh) | 解码方法、存储器控制电路单元及存储器存储装置 | |
US11190217B2 (en) | Data writing method, memory controlling circuit unit and memory storage device | |
CN104778975A (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 |