Nothing Special   »   [go: up one dir, main page]

CN113496752A - 解码方法、存储器存储装置及存储器控制电路单元 - Google Patents

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

Info

Publication number
CN113496752A
CN113496752A CN202010264881.3A CN202010264881A CN113496752A CN 113496752 A CN113496752 A CN 113496752A CN 202010264881 A CN202010264881 A CN 202010264881A CN 113496752 A CN113496752 A CN 113496752A
Authority
CN
China
Prior art keywords
decoding
memory
bits
count value
value
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
CN202010264881.3A
Other languages
English (en)
Other versions
CN113496752B (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 CN202010264881.3A priority Critical patent/CN113496752B/zh
Publication of CN113496752A publication Critical patent/CN113496752A/zh
Application granted granted Critical
Publication of CN113496752B publication Critical patent/CN113496752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种解码方法、存储器存储装置及存储器控制电路单元。所述方法包括:接收读取指令序列,其中读取指令序列用以从多个存储单元中读取多个比特;计算多个比特中第一值的第一计数值及第二值的第二计数值;以及根据第一计数值及第二计数值将对应于多个比特的解码参数调整为特定解码参数,并根据特定解码参数执行解码操作,其中所调整的解码参数影响多个比特在解码操作中被视为错误比特的概率。

Description

解码方法、存储器存储装置及存储器控制电路单元
技术领域
本发明涉及一种解码技术,尤其涉及一种解码方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,为了确保可复写式非易失性存储器模块所存储的数据的正确性,在将某一数据存储至可复写式非易失性存储器模块之前,此数据会先被编码。编码后的数据(包含原始数据与错误更正码)会被存储至可复写式非易失性存储器模块中。往后,编码后的数据可从可复写式非易失性存储器模块中被读取并且解码以更正其中可能存在的错误。错误更正码例如可使用代数解码算法,如(BCH code),或概概率解码算法,如低密度奇偶检查码(low density parity code,LDPC)。低密度奇偶检查码是使用一个稀疏矩阵(sparsematrix)来编码与解码。一般来说,LDPC解码器会在叠代解码操作中,经由未满足检查节点(unsatisfied check node)信息或是对数似然比(log-likelihood ratio,LLR)来进行解码。因此,如何获得适当的LLR值以提升LDPC解码的效能,为此领域技术人员所关心的议题。
发明内容
本发明提供一种解码方法、存储器存储装置及存储器控制电路单元,可以计算第一值及第二值的分布并根据分布的平均程度调整解码参数,进而提升解码的更正能力及提高解码成功的概率,以降低解码延迟。
本发明提出一种解码方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储单元所述解码方法包括:接收读取指令序列,其中所述读取指令序列用以从所述多个存储单元中读取多个比特;计算所述多个比特中第一值的第一计数值及第二值的第二计数值;以及根据所述第一计数值及所述第二计数值将对应于所述多个比特的解码参数调整为特定解码参数,并根据所述特定解码参数执行解码操作,其中所调整的所述解码参数影响所述多个比特在所述解码操作中被视为错误比特的概率。
在本发明的一实施例中,其中所述解码参数与所述特定解码参数为对数似然比(Log Likelihood Ratio,LLR)。
在本发明的一实施例中,其中用于调整所述解码参数为所述特定解码参数的调整值为±1~3。
在本发明的一实施例中,其中用于调整所述解码参数为所述特定解码参数的调整值为解码参数的±10~20%。
在本发明的一实施例中,其中所述解码参数包括一或多个正解码参数及一或多个负解码参数,并且根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的步骤中,所述一或多个正解码参数的调整值不同于所述一或多个负解码参数的调整值。
在本发明的一实施例中,其中所述解码参数包括一或多个正解码参数及一或多个负解码参数,并且根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的步骤中,所述一或多个正解码参数的调整值相同于所述一或多个负解码参数的调整值。
在本发明的一实施例中,其中在根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的步骤之前,所述解码方法还包括:根据所述第一计数值及所述第二计数值将用以从所述多个存储单元中读取所述多个比特的一电压电平调整为一第二电压电平。
在本发明的一实施例中,其中所述解码操作为硬比特解码操作及软比特解码操作至少其中之一。
本发明提供一种存储器存储装置,包括:连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。所述连接接口单元用以耦接至主机系统。所述可复写式非易失性存储器模块包括多个存储单元。所述存储器控制电路单元耦接至所述连接接口单元与所述可复写式非易失性存储器模块,其中所述存储器控制电路单元用以接收读取指令序列,其中所述读取指令序列用以从所述多个存储单元中读取多个比特。所述存储器控制电路单元更用以通过计数器计算所述多个比特中第一值的第一计数值及第二值的第二计数值,并且所述存储器控制电路单元更用以根据所述第一计数值及所述第二计数值将对应于所述多个比特的解码参数调整为特定解码参数,并根据所述特定解码参数执行解码操作,其中所调整的所述解码参数影响所述多个比特在所述解码操作中被视为错误比特的概率。
在本发明的一实施例中,其中所述解码参数与所述特定解码参数为对数似然比。
在本发明的一实施例中,其中用于调整所述解码参数为所述特定解码参数的调整值为±1~3。
在本发明的一实施例中,其中用于调整所述解码参数为所述特定解码参数的调整值为解码参数的±10~20%。
在本发明的一实施例中,其中所述解码参数包括一或多个正解码参数及一或多个负解码参数,并且所述存储器控制电路单元根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的运作中,所述一或多个正解码参数的调整值不同于所述一或多个负解码参数的调整值。
在本发明的一实施例中,其中所述解码参数包括一或多个正解码参数及一或多个负解码参数,并且所述存储器控制电路单元根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的运作中,所述一或多个正解码参数的调整值相同于所述一或多个负解码参数的调整值。
在本发明的一实施例中,其中在根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的运作之前,所述存储器控制电路单元更用以根据所述第一计数值及所述第二计数值将用以从所述多个存储单元中读取所述多个比特的电压电平调整为第二电压电平。
在本发明的一实施例中,其中所述解码操作为硬比特解码操作及软比特解码操作至少其中之一。
本发明提供一种存储器控制电路单元,用于控制包括可复写式非易失性存储器模块的存储器存储装置,且所述存储器控制电路单元包括:主机接口、存储器接口以及存储器管理电路。所述主机接口用以耦接至主机系统。所述存储器接口用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储单元。所述存储器管理电路耦接至所述主机接口与所述存储器接口,其中所述存储器控制电路单元用以接收读取指令序列,其中所述读取指令序列用以从所述多个存储单元中读取多个比特。所述存储器控制电路单元更用以通过计数器计算所述多个比特中第一值的第一计数值及第二值的第二计数值,并且所述存储器控制电路单元更用以根据所述第一计数值及所述第二计数值将对应于所述多个比特的解码参数调整为特定解码参数,并根据所述特定解码参数执行解码操作,其中所调整的所述解码参数影响所述多个比特在所述解码操作中被视为错误比特的概率。
在本发明的一实施例中,其中所述解码参数与所述特定解码参数为对数似然比。
在本发明的一实施例中,其中用于调整所述解码参数为所述特定解码参数的调整值为±1~3。
在本发明的一实施例中,其中用于调整所述解码参数为所述特定解码参数的调整值为解码参数的±10~20%。
在本发明的一实施例中,其中所述解码参数包括一或多个正解码参数及一或多个负解码参数,并且所述存储器控制电路单元根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的运作中,所述一或多个正解码参数的调整值不同于所述一或多个负解码参数的调整值。
在本发明的一实施例中,其中所述解码参数包括一或多个正解码参数及一或多个负解码参数,并且所述存储器控制电路单元根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的运作中,所述一或多个正解码参数的调整值相同于所述一或多个负解码参数的调整值。
在本发明的一实施例中,其中在根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的运作之前,所述存储器控制电路单元更用以根据所述第一计数值及所述第二计数值将用以从所述多个存储单元中读取所述多个比特的电压电平调整为第二电压电平。
在本发明的一实施例中,其中所述解码操作为硬比特解码操作及软比特解码操作至少其中之一。
基于上述,本发明提供的解码方法、存储器存储装置及存储器控制电路单元可以计算第一值及第二值的分布并判断分布是否平均。而根据分布的平均程度,存储器控制电路单元可以将比特所对应的解码参数调整为特定解码参数,并根据比特的数值以及特定解码参数再次执行解码操作以尝试获得成功解码后的码字。通过上述方式,能够提升解码的更正能力及提高解码成功的概率,以降低解码延迟。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;
图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图;
图6是根据一范例实施例所示出的存储单元阵列的示意图;
图7是根据一范例实施例所示出存储于存储单元阵列中的写入数据所对应的栅极电压的统计分配图;
图8是根据一范例实施例所示出的程序化存储单元的示意图;
图9是根据一范例实施例所示出的从存储单元中读取数据的示意图;
图10是根据另一范例实施例所示出的从存储单元中读取数据的示意图;
图11是根据本范例实施例所示出的存储单元存储架构与实体抹除单元的范例示意图;
图12是根据本发明范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图13是根据一范例实施例所示出的存储器控制电路单元的概要方块图;
图14是根据一范例实施例示出硬比特模式解码的示意图;
图15是根据一范例实施例示出软比特模式解码的示意图;
图16是根据一范例实施例示出解码初始值的范例;
图17是根据一范例实施例示出解码方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆耦接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10耦接。例如,主机系统11可经由数据传输接口114将数据存储至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12耦接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以经由有线或无线方式耦接至存储器存储装置10。存储器存储装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(Near FieldCommunication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110耦接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi ChipPackage,eMCP)342等各类型将存储器模块直接耦接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于串行高级技术附件(SerialAdvanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合并行高级技术附件(Parallel Advanced TechnologyAttachment,PATA)标准、电气和电子工程师协会(Institute of Electrical andElectronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral ComponentInterconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi MediaCard,MMC)接口标准、崁入式多媒体存储卡(Embedded Multimedia Card,eMMC)接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、嵌入式多芯片封装(embeddedMulti Chip Package,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是耦接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、复数阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的存储单元是以阵列的方式设置。以下以二维阵列来对存储单元阵列进行说明。但是,在此须注意的是,以下范例实施例只是存储单元阵列的一种范例,在其他的范例实施例中,存储单元阵列的配置方式可以被调整以符合实务上的需求。
图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。图6是根据一范例实施例所示出的存储单元阵列的示意图。
请同时参照图5与图6,可复写式非易失性存储器模块406包括存储单元阵列2202、字线控制电路2204、位线控制电路2206、行解码器(column decoder)2208、数据输入/输出缓冲器2210与控制电路2212。
在本范例实施例中,存储单元阵列2202可包括用以存储数据的多个存储单元502、多个选择栅漏极(select gate drain,SGD)晶体管512与多个选择栅源极(select gatesource,SGS)晶体管514、以及连接此些存储单元的多条位线504、多条字线506、与共用源极线508(如图6所示)。存储单元502是以阵列方式(或立体堆叠的方式)配置在位线504与字线506的交叉点上。当从存储器控制电路单元404接收到写入指令或读取指令时,控制电路2212会控制字线控制电路2204、位线控制电路2206、行解码器2208、数据输入/输出缓冲器2210来写入数据至存储单元阵列2202或从存储单元阵列2202中读取数据,其中字线控制电路2204用以控制施予至字线506的电压,位线控制电路2206用以控制施予至位线504的电压,行解码器2208依据指令中的列地址以选择对应的位线,并且数据输入/输出缓冲器2210用以暂存数据。
可复写式非易失性存储器模块406中的存储单元是以临界电压的改变来存储多比特(bits)。具体来说,每一个存储单元的控制栅极(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的程序也称为“把数据写入至存储单元”或“程序化存储单元”。随着临界电压的改变,存储单元阵列2202的每一存储单元具有多个存储状态。并且通过读取电压可以判断存储单元是属于哪一个存储状态,藉此取得存储单元所存储的比特。
图7是根据一范例实施例所示出存储于存储单元阵列中的写入数据所对应的栅极电压的统计分配图。
请参照图7,以MLC NAND型快闪存储器为例,随着不同的临界电压,每一存储单元具有4种存储状态,并且此些存储状态分别地代表“11”、“10”、“00”与“01”等比特。换言之,每一个存储状态包括最低有效比特(Least Significant Bit,LSB)以及最高有效比特(MostSignificant Bit,MSB)。在本范例实施例中,存储状态(即,“11”、“10”、“00”与“01”)中从左侧算起的第1个比特为LSB,而从左侧算起的第2个比特为MSB。因此,在此范例实施例中,每一存储单元可存储2个比特。必须了解的是,图8所示出的临界电压及其存储状态的对应仅为一个范例。在本发明另一范例实施例中,临界电压与存储状态的对应亦可是随着临界电压越大而以“11”、“10”、“00”与“01”排列,或是其他排列。此外,在另一范例时实例中,亦可定义从左侧算起的第1个比特为MSB,而从左侧算起的第2个比特为LSB。
图8是根据一范例实施例所示出的程序化存储单元的示意图。
请参照图8,在本范例实施例中,存储单元的程序化是通过脉冲写入/验证临界电压方法来完成。具体来说,欲将数据写入至存储单元时,存储器控制电路单元404会设定初始写入电压以及写入脉冲时间,并且指示可复写式非易失性存储器模块406的控制电路2212使用所设定的初始写入电压以及写入脉冲时间来程序化存储单元,以进行数据的写入。之后,存储器控制电路单元404会施加验证电压至控制栅极来判断存储单元是否导通,进而判断存储单元是否已处于正确的存储状态(具有正确的临界电压)。倘若存储单元未被程序化至正确的存储状态时,存储器控制电路单元404指示控制电路2212以目前施予的写入电压加上一增量阶跃脉冲程序(Incremental-step-pulse programming,ISPP)调整值作为新的写入电压并且依据新的写入电压与写入脉冲时间再次来程序化存储单元。反之,倘若存储单元已被程序化至正确的存储状态时,则表示数据已被正确地写入至存储单元。例如,初始写入电压会被设定为16伏特(Voltage,V),写入脉冲时间会被设定为18微秒(microseconds,μs)并且增量阶跃脉冲程序调整值被设定为0.6V,但本发明不限于此。
图9是根据一范例实施例所示出的从存储单元中读取数据的示意图,其是以MLCNAND型快闪存储器为例。
请参照图9,存储单元阵列2202的存储单元的读取运作是通过施予读取电压于控制栅极,通过存储单元的导通状态,来识别存储单元存储的数据。验证比特(VA)是用以指示施予读取电压VA时存储单元是否为导通;验证比特(VC)是用以指示施予读取电压VC时存储单元是否为导通;验证比特(VB)是用以指示施予读取电压VB时存储单元是否为导通。在此假设验证比特是“1”时表示对应的存储单元导通,而验证比特是“0”时表示对应的存储单元没有导通。如图9所示,通过验证比特(VA)~(VC)可以判断存储单元是处于哪一个存储状态,进而取得所存储的比特。
图10是根据另一范例实施例所示出的从存储单元中读取数据的示意图。
请参照图10,以TLC NAND型快闪存储器为例,每一个存储状态包括左侧算起的第1个比特的最低有效比特LSB、从左侧算起的第2个比特的中间有效比特(CenterSignificant Bit,CSB)以及从左侧算起的第3个比特的最高有效比特MSB。在此范例中,依照不同的临界电压,存储单元具有8种存储状态(即,“111”、“110”、“100”、“101”、“001”、“000”、“010”与“011”)。通过施加读取电压VA~VG于控制栅极,可以识别存储单元所存储的比特。
在此需说明的是,以MLC NAND型快闪存储器为例,排列在同一条字线上的数个存储单元可组成2个实体程序化单元,其中由此些存储单元的LSB所组成的实体程序化单元称为下实体程序化单元,并且由此些存储单元的MSB所组成的实体程序化单元称为上实体程序化单元。以TLC NAND型快闪存储器为例,排列在同一条字线上的数个存储单元可组成3个实体程序化单元,其中由此些存储单元的LSB所组成的实体程序化单元称为下实体程序化单元,由此些存储单元的CSB所组成的实体程序化单元称为中实体程序化单元,并且由此些存储单元的MSB所组成的实体程序化单元称为上实体程序化单元。
图11是根据本范例实施例所示出的存储单元存储架构与实体抹除单元的范例示意图。
请参照图11,以TLC NAND型快闪存储器为例,一个实体抹除单元是由多个实体程序化单元组所组成,其中每个实体程序化单元组包括由排列在同一条字线上的数个存储单元所组成的下实体程序化单元、中实体程序化单元与上实体程序化单元。例如,在实体抹除单元中,属于下实体程序化单元的第0个实体程序化单元、属于中实体程序化单元的第1个实体程序化单元和属于上实体程序化单元的第2个实体程序化单元会被视为一个实体程序化单元组。类似地,第3、4、5个实体程序化单元会被视为一个实体程序化单元组,并且以此类推其他实体程序化单元亦是依据此方式被区分为多个实体程序化单元组。也就是说,在图11的范例实施例中,实体抹除单元总共有258个实体程序化单元,且由于排列在同一条字线上的数个存储单元所组成的下实体程序化单元、中实体程序化单元与上实体程序化单元会组成一个实体程序化单元组,故图11的实体抹除单元总共可以分成86个实体程序化单元组。然而需注意的是,本发明并不用于限定实体抹除单元中的实体程序化单元或实体程序化单元组的个数。
图12是根据本发明范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
请参照图12,可复写式非易失性存储器模块406的存储单元502会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元400(0)~400(N)。具体来说,同一个字线上的存储单元会组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一个字线上的实体程序化单元可被分类为下实体程序化单元与上实体程序化单元。例如,每一存储单元的LSB是属于下实体程序化单元,并且每一存储单元的MSB是属于上实体程序化单元。在此范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面或是实体扇(sector)。若实体程序化单元为实体页面,则每一个实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体扇,用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,错误更正码)。在本范例实施例中,每一个数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,本发明并不限制实体扇的大小以及个数。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。例如,实体抹除单元为实体区块。
图13是根据一范例实施例所示出的存储器控制电路单元的概要方块图。必须了解的是,图13所示的存储器控制电路单元的结构仅为一范例,本发明不以此为限。
请参照图13,存储器控制电路单元404包括存储器管理电路702、主机接口704、存储器接口706及错误检查与校正电路708。
存储器管理电路702用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路702具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路702或任何包含于存储器控制电路单元404中的电路元件的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路702的控制指令是以固件型式来实作。例如,存储器管理电路702具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路702的控制指令亦可以代码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路702具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路702的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路702的控制指令亦可以一硬件型式来实作。例如,存储器管理电路702包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是耦接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或其群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个代码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路702还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口704是耦接至存储器管理电路702并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口704来传送至存储器管理电路702。在本范例实施例中,主机接口704是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口704亦可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口706是耦接至存储器管理电路702并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口706转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路702要存取可复写式非易失性存储器模块406,存储器接口706会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路702产生并且通过存储器接口706传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或代码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
错误检查与校正电路708是耦接至存储器管理电路702并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路702从主机系统11中接收到写入指令时,错误检查与校正电路708会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC code)或错误检查码(error detecting code,EDC),并且存储器管理电路702会将对应此写入指令的数据与对应的错误更正码或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路702从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码或错误检查码,并且错误检查与校正电路708会依据此错误更正码或错误检查码对所读取的数据执行错误检查与校正程序。
在本发明一范例实施例中,存储器控制电路单元404还包括缓冲存储器710与电源管理电路712。缓冲存储器710是耦接至存储器管理电路702并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路712是耦接至存储器管理电路702并且用以控制存储器存储装置10的电源。
在本发明一范例实施例中,存储器控制电路单元404还包括计数器714。计数器714是耦接至存储器管理电路702并且用以从可复写式非易失性存储器模块406中读取数据时计数读取数据的相关信息。
图14是根据一范例实施例示出硬比特模式解码的示意图。
请参照图14,在此以SLC快闪存储器为例,分布1410与分布1420是用来表示多个存储单元的存储状态,而分布1410与1420分别代表着不同的存储状态。这些存储单元可以属于同样的实体程序化单元或是不同的实体程序化单元,本发明并不在此限。在此假设当一个存储单元属于分布1410时,此存储单元所存储的是比特“1”;当存储单元属于分布1420时,此存储单元存储的是比特“0”。当存储器管理电路702以读取电压1440来读取存储单元时,存储器管理电路702会取得验证比特,其是用来指示此存储单元是否为导通。在此假设存储单元导通时验证比特是“1”,反之则是“0”,但本发明并不在此限。若此验证比特为“1”,则存储器管理电路702会判断此存储单元属于分布1410,反之则是分布1420。然而,分布1410与分布1420在区域1430中是重叠的。也就是说,有若干个存储单元应该是属于分布1410但被识别为分布1420,并且有若干个存储单元应该是属于分布1420但被识别为分布1410。
在此范例实施例中,当要读取上述的存储单元时,存储器管理电路702会先选择一读取电压(例如,读取电压1441)来读取这些存储单元以取得存储单元的验证比特。错误检查与校正电路708会根据存储单元的验证比特来执行包含一概率解码算法的解码操作,以产生多个解码比特,而此些解码比特可以组成一个码字。
在本范例实施例中,概率解码算法是把一个符号(symbol)可能的解码结果当做一个候选人(candidate),并且在解码过程中输入的信息或者中间运算过程的数值是以这些候选人的概率值或是候选人之间概率的比例来表示,进而决定最有可能的候选人是哪一个。举例而言,如果一个符号有两个候选人(比特0与1),概率解码算法是各自依照0或者1发生的概率去计算最有可能的候选人,或者是以0与1之间概率的比例去计算最有可能的候选人。假如是N个候选人,例如在有限场(Finite Field)下可能的数值为0~N-1(N为正整数,每一个候选人是代表多个比特),则概率解码算法是各自计算N个候选人的概率来决定最有可能的候选人,或者是以其中一个数值的概率作为分母去计算相对的概率比例来决定最有可能的候选人。在一范例实施例中,上述概率的比例也可以用对数的形式来表示。
在本范例实施例中,概率解码算法可以是回旋码(convolutional code)、涡轮码(turbo code)、低密度奇偶检查码(low-density parity-check code)或其他具有概率解码特征的算法。举例来说,在回旋码与涡轮码中,可以用有限状态机(finite statemachine)来编码与解码,并且在本范例实施例中会根据验证比特来计算最有可能的多个状态,进而产生解码比特。以下将以低密度奇偶检查码为例进行说明。
若使用的是低密度奇偶检查码,在根据验证比特来执行解码操作时,存储器管理电路702还会根据每一个验证比特来取得每一个存储单元的解码初始值。例如,若验证比特是“1”,存储器管理电路702会设定对应的存储单元的解码初始值为n;若验证比特是“0”,则解码初始值为-n。其中n为正数,但本发明并不限制正整数n的值为多少。在一实施例中,n例如是8。
接下来,错误检查与校正电路708会根据这些解码初始值来执行低密度奇偶检查算法的叠代解码以产生包含多个解码比特的码字。在叠代解码中,这些解码初始值会不断地被更新以代表一个概率值,而这个概率值亦被称为可靠度(reliability)或信心度(belief)。被更新的解码初始值会被转换成多个解码比特,错误检查与校正电路708会把这些解码比特当作一个向量,并将此向量与低密度奇偶检查算法的奇偶检查矩阵(parity-check matrix)做模2(module 2)的矩阵相乘,以取得多个校验子(syndrome)。这些校验子可以用来判断解码比特所组成的码字是否为有效的码字。若解码比特所组成的码字是有效的码字,则叠代解码会停止,并且错误检查与校正电路708会输出这些解码比特所组成的码字。若解码比特组成无效的码字,则会继续更新解码初始值并且产生新的解码比特以进行下一次叠代。当叠代次数到达预设叠代次数时,叠代解码会停止。错误检查与校正电路708会利用最后一次叠代所产生的解码比特来判断是否解码成功。例如,若根据校验子判断最后一次叠代所产生的解码比特组成有效的码字,则是解码成功;若第一解码比特组成无效的码字,则表示解码失败。
在另一范例实施例中解码操作所包括的概率解码算法是回旋码与涡轮码,并且解码操作中还会包括其他的错误校正码。例如,回旋码与涡轮码可以搭配任意算法的奇偶码一起使用。在解码操作中回旋码或涡轮码的解码部分执行完毕以后,奇偶码可以用来判断所产生的解码比特所组成的码字是否为有效的码字,进而判断是否解码成功。
不论使用何种错误校正码,若解码失败,表示这些存储单元存储有不可更正的错误比特。若解码失败,存储器管理电路702会重新取得另一读取电压,并用此另一读取电压(例如读取电压1442)来读取这些存储单元,以重新取得存储单元的验证比特。存储器管理电路702会根据重新取得的验证比特来执行上述的解码操作以取得由多个解码比特组成的另一码字。在一范例实施例中,错误检查与校正电路708会根据该另一码字所对应的校验子判断所述另一码字是否为有效的码字。若所述另一码字非为有效的码字时,存储器管理电路702会判断解码失败。若重新取得读取电压的次数没有超过预设次数,则存储器管理电路702会再重新取得其他取得电压(例如,读取电压1443),并且根据重新取得的读取电压1443读取存储单元,以重新取得验证比特并执行解码操作。
换句话说,当有不可更正的错误比特时,通过重新取得读取电压,一些存储单元的验证比特会被改变,进而改变概率解码算法中若干个概率值,进而有机会改变了解码操作的解码结果。逻辑上来说,上述重新取得读取电压的动作是要翻转(flip)一个码字中的若干比特,并对新的码字重新解码。在一些情况下,在翻转前无法解码的码字(有不可更正的错误比特),有可能在翻转后可以解码。并且,在一范例实施例中存储器管理电路702会尝试解码数次,直到尝试的次数超过预设次数为止。然而,本发明并不限制预设次数为多少。
值得注意的是,在图14中所举的是SLC快闪存储器的例子,但重新取得读取电压的步骤也可以适用于MLC或是TLC快闪存储器。如图9所示,改变读取电压VA会翻转一个存储单元的LSB,而改变读取电压VB或VC则可以翻转一个存储单元的MSB。因此,改变读取电压VA、VB或VC都可以将一个码字改变为另一个码字。改变码字的结果也适用于图10的TLC快闪存储器。本发明并不限制所使用的是SLC、MLC或是TLC快闪存储器。
在图14的范例实施例中,存储单元的解码初始值是根据一个验证比特而被分为两个数值(例如,n与-n)。根据两种数值来执行的叠代解码亦被称为硬比特模式(hard bitmode)的叠代解码(也称为,硬比特解码操作)。然而,上述改变读取电压的步骤也可以应用在软比特模式(soft bit mode)的叠代解码(也称为,软比特解码操作),其中每一个存储单元的解码初始值是根据多个验证比特所决定。值得注意的是,不论是硬比特模式或是软比特模式,在叠代解码中都会计算比特的概率值,因此都属于概率解码算法。
图15是根据一范例实施例示出软比特模式解码的示意图。
如上所述,当施加读取电压于存储单元的控制栅极以后,随着存储单元是否导通,存储器管理电路702所取得的验证比特会是“0”或是“1”。在此假设若存储单元没有导通时则对应的验证比特是“0”,反之则是“1”。在图15中,存储器管理电路702会施加读取电压V1~V5至存储单元以取得5个验证比特。具体来说,读取电压V1是对应到验证比特b1;读取电压V2是对应到验证比特b2;读取电压V3是对应到验证比特b3;读取电压V4是对应到验证比特b4;读取电压V5是对应到验证比特b5。若一个存储单元的临界电压是在区间1501,则从验证比特b1至验证比特b5,存储器管理电路702所取得的验证比特会是“11111”;若存储单元的临界电压是在区间1502,则验证比特会是“01111”;若存储单元的临界电压是在区间1503,则验证比特会是“00111”;若存储单元的临界电压是在区间1504,则验证比特会是“00011”;若存储单元的临界电压是在区间1505,则验证比特会是“00001”;若存储单元的临界电压是在区间1506,则验证比特会是“00000”。
在此范例实施例中,读取电压V1~V5的其中之一会被设定为正负号(sign)读取电压。此正负号读取电压是用来决定解码初始值的正负号。例如,若读取电压V3为正负号读取电压,则区间1501~1503所对应的解码初始值会小于0,并且区间1504~1506所对应的解码初始值会大于0。此外,在每一个区间中,可以事先计算出存储单元属于分布1510的概率与属于分布1520的概率。根据这两个概率可以计算出对数似然比(Log Likelihood Ratio,LLR),而此对数似然比可用来决定解码初始值的绝对值的大小。因此,存储器管理电路702是根据正负号读取电压与验证比特b1~b5取得存储单元在软比特模式下的解码初始值。举例来说,区间1501~1503所对应的解码初始值会可以分别为-8、-4与-3,区间1504~1506所对应的解码初始值会可以分别为3、4与8。在一范例实施例中,各个区间所对应的解码初始值可以事先被计算出来并且存储在一个查找表中。存储器管理电路702可以将验证比特b1~b5输入此查找表中,藉此取得对应的解码初始值。换言之,实作上存储器管理电路702也可以根据验证比特b1~b5,而不参照正负号读取电压,便取得存储单元在软比特模式下的解码初始值。此外,若设定不同的正负号读取电压,存储器管理电路702可以使用不同的查找表。
在存储器管理电路702取得解码初始值以后,错误检查与校正电路708会对解码初始值执行叠代解码以取得由多个解码比特组成的码字,并利用这些由多个解码比特组成的码字来判断是否解码成功。若解码失败,存储器管理电路702可以重新取得另一读取电压。
在重新取得另一读取电压以后,每一个区间所对应的对数似然比也会改变,因此存储器管理电路702会使用不同的查找表以取得解码初始值。逻辑上来说,改变读取电压是为了翻转一个码字中若干个比特,并且给予不同的解码初始值(改变数值大小或是正负号),使得改变前无法解码的码字(有不可更正的错误比特),有可能在改变后可以解码。
在图15的范例实施例中,一个软比特模式解码(也称为,软比特解码操作)的解码初始值是由5个验证比特(读取电压)所决定。然而,在其他范例实施例中,一个软比特模式解码的解码初始值也可以由数目更多或更少的验证比特来决定,本发明并不在此限。
一般来说,NAND型快闪存储器运作时,会通过数据随机化(randomizer)电路(未示出)扰乱(convert)欲写入至可复写式非易失性存储器模块406的数据和还原(或称反扰乱)从可复写式非易失性存储器模块406中读取的数据,以使0与1的分布平均。具体来说,为了使程序化至可复写式非易失性存储器模块406的数据呈现不规则的散乱状态,数据会先经过数据随机化处理(例如编辑、演算或重新排列)再被写入,以致于实际程序化至实体程序化单元的数据够乱,而避免因为分布不平均、读取电压偏移或比特线电阻不均匀等因素而造成数据的识别错误,其中,经过随机化处理的新数据与原数据不同,但新数据中0与1的比例可与原数据相同或不同。同样地,由于实际程序化至实体程序化单元的数据是已被扰乱过,因此,从可复写式非易失性存储器模块406中读出的数据亦会先经过数据随机化电路的还原处理,以还原成原始的数据。
在一范例实施例中,欲存储的数据可先经由错误检查与校正电路708执行编码处理而产生编码数据,再经由数据随机化电路对编码数据执行扰乱处理。然而,在另一范例实施例中,欲存储的数据也可先经由数据随机化电路执行扰乱处理而产生已扰乱数据,再由错误检查与校正电路708对已扰乱数据执行编码处理。此外,数据随机化电路可以实作为独立在错误检查与校正电路708之外,或者也可以实作在错误检查与校正电路708中。
然而,可复写式非易失性存储器模块406会随着时间及写入/抹除次数(Program/Erase Cycle,P/E Cycle)、数据维持(data retention)、温度、读取次数(read count)或读取电压(read level)等使用状态而改变存储器状态,例如会造成原本分布平均的0与1变的不平均。因此,本发明提出的解码方法可以在从可复写式非易失性存储器模块406中读出数据之后,找出数据中0与1分布的状态,并且依据0与1分布的状态将对应该数据的对数似然比(也称为,解码参数)调整为一特定数值并根据调整后的对数似然比所对应的解码初始值对读出的数据进行解码。特别是,将对应该数据的对数似然比调整为特定数值可以获得对应目前存储器状态的对数似然比,进而能够提高解码成功的概率。
需先说明的是,以下说明存储器控制电路单元404的操作时,可视为说明存储器管理电路702的操作。
在本范例实施例中,存储器控制电路单元404所接收的读取指令序列用以从存储单元中读取比特。具体而言,存储器控制电路单元404在接收读取指令序列后,会先从存储单元中读取比特。读取到的比特可被识别为第一值或第二值。在此,比特为“1”或“0”,在本范例实施例中,“1”被称为第一值,并且“0”被称为第二值,但本发明不限于此。在另一范例实施例中,“1”亦可被称为第二值,并且“0”亦可被称为第一值。
接着,存储器控制电路单元404计算所读取的比特中第一值的第一计数值及第二值的第二计数值。具体而言,存储器控制电路单元404通过计数器714计算所读取的比特中属于第一值的比特的数目(即,第一计数值)与属于第二值的比特的数目(即,第二计数值)。
最后,存储器控制电路单元404可根据第一计数值及第二计数值将对应于比特的解码参数调整为特定解码参数,并根据特定解码参数执行解码操作。其中所调整的解码参数影响各比特在解码操作中被视为错误比特的概率。一般来说,读取出的待解码数据中0与1的分布越不平均,表示存储器的状态越不可靠。因此在本范例实施例中,存储器控制电路单元404可通过计算第一计数值与第二计数值的差值以调整对应于比特的解码参数。
具体而言,如果第一计数值与第二计数值的差值大于0,表示所读取的比特中属于第一值的比特的数目大于属于第二值的比特的数目。此情形表示所读取的比特中0错成1的数目比1错成0的数目多,第一计数值可能含有较多的错误比特而较不具可靠性,而第二计数值可能含有较少的错误比特而具可靠性。因此存储器控制电路单元404降低第一数值对应的解码参数,和/或提高第二数值对应的解码参数。另一方面,如果第一计数值与第二计数值的差值小于0,表示所读取的比特中属于第一值的比特的数目小于属于第二值的比特的数目。此情形表示所读取的比特中1错成0的数目比0错成1的数目多,第一计数值可能含有较少的错误比特而具可靠性,而第二计数值可能含有较多的错误比特而较不具可靠性。因此存储器控制电路单元404提高第一数值对应的解码参数,和/或降低第二数值对应的解码参数。于此,存储器控制电路单元404可只调整第一数值及第二数值至少其中之一对应的解码参数,也可同时调整第一数值及第二数值分别对应的解码参数,本发明不在此限制。
本范例实施例还可利用预设阀值来判断调整第一数值或第二数值对应的解码参数的大小。在本范例实施例中,存储器控制电路单元404计算第一计数值及第二计数值的差值的绝对值,若此差值的绝对值大于第一阀值,则存储器控制电路单元404依据第一调整值将对应于比特的解码参数调整为特定解码参数。用于判断调整对数似然比的预设阀值可以是一或多个,本发明不在此限制。在另一实施例中,若第一计数值及第二计数值的差值的绝对值大于第二阀值,则存储器控制电路单元404依据第二调整值将对应于比特的解码参数调整为特定解码参数。在本范例实施例中,第二阀值大于第一阀值,并且第二调整值大于第一调整值。
在本范例实施例中,用于调整解码参数为特定解码参数的调整值例如为±1~3。在另一范例实施例中,用于调整解码参数为特定解码参数的调整值例如为解码参数的±10~20%。本发明不在此限制调整值。上述解码参数、预设阀值及调整值可经事先经实验获得,并存储于可复写式非易失性存储器模块406的特定区域中,本发明不在此限制。
在本范例实施例中,解码参数可包括一或多个正解码参数及一或多个负解码参数,并且用于调整正解码参数的调整值及用于调整负解码参数的调整值可以相同或不同。
在本范例实施例中,解码操作可以是硬比特解码操作或软比特解码操作。以下分别以硬比特解码操作及软比特解码操作中调整对数似然比的实施例进行说明。
图16是根据一范例实施例示出解码初始值的范例。硬比特解码操作中对数似然比可用来决定解码初始值的绝对值的大小,并且存储单元对应的解码初始值是根据一个验证比特(例如,“1”或“0”)而被分为两个数值(例如,n与-n),解码初始值是事先被计算出来且存在一个查找表中。参照图16,假设对数似然比为10,则解码初始值LLR_H1对应验证比特“1”的解码初始值为-10,并且对应验证比特“0”的解码初始值为+10。
首先,存储器控制电路单元404在接收读取指令序列后,会先从存储单元中读取比特,读取到的比特可被识别为0或1。接着,存储器控制电路单元404通过计数器714计算所读取的比特中属于0的比特的数目(即,第一计数值)及属于1的比特的数目(即,第二计数值),并且判断第一计数值与第二计数值的差值的绝对值是否大于第一阀值。在本范例实施例中,第一计数值与第二计数值的差值的绝对值大于第一阀值(例如,100),因此存储器控制电路单元404依据第一调整值(例如,±1)调整对数似然比。
请参照图16,存储器控制电路单元404将比特对应的解码初始值LLR_H1调整为解码初始值LLR_H2。在本实施例中,第一计数值与第二计数值的差值大于0,代表第一计数值可能含有较多的错误比特而较不具可靠性,而第二计数值可能含有较少的错误比特而具可靠性。因此存储器控制电路单元404将对应验证比特“1”的对数似然比10减1以调整解码初始值为-9,并且将对应验证比特“0”的对数似然比10加1以调整为解码初始值为+11,如图16所示。在存储器控制电路单元404取得调整后的对数似然比并据以取得对应的解码初始值以后,错误检查与校正电路708依据解码初始值执行叠代解码以取得由多个解码比特组成的码字,并利用这些由多个解码比特组成的码字来判断是否解码成功。须注意的是,本领域技术人员应当知晓如何依据对数似然比执行叠代解码,故在此便不赘述。
在软比特解码操作中,假设事先计算出的区间1601、1606所对应的对数似然比为7,区间1602、1605所对应的对数似然比为4,区间1603、1604所对应的对数似然比为1。则存储器控制电路单元404根据正负号读取电压V3与验证比特取得存储单元在软比特模式下的解码初始值解码初始值LLR_S1中,区间1601~1603所对应的解码初始值分别为-7、-4与-1,区间1604~1606所对应的解码初始值分别为+1、+4与+7。
首先,存储器控制电路单元404在接收读取指令序列后,会先从存储单元中读取比特,读取到的比特可被识别为0或1。接着,存储器控制电路单元404通过计数器714计算所读取的比特中属于0的比特的数目(即,第一计数值)及属于1的比特的数目(即,第二计数值),并且判断第一计数值与第二计数值的差值的绝对值是否大于第一阀值或第二阀值。若该差值的绝对值大于第一阀值但小于第二阀值,则存储器控制电路单元404依据第一调整值调整对数似然比。若该差值的绝对值大于第二阀值,则存储器控制电路单元404依据第二调整值调整对数似然比。
在本范例实施例中,第一计数值与第二计数值的差值大于第二阀值(例如,300),因此存储器控制电路单元404依据第二调整值(例如,±2)调整对数似然比。请参照图16,存储器控制电路单元404将比特对应的解码初始值LLR_S1调整为解码初始值LLR_S2。在本实施例中,第一计数值与第二计数值的差值大于0,代表第一计数值可能含有较多的错误比特而较不具可靠性,而第二计数值可能含有较少的错误比特而具可靠性。因此存储器控制电路单元404将对应区间1601的对数似然比7减2以调整为解码初始值为-5,对应区间1602的对数似然比4减2以调整为解码初始值为-6,对应区间1603的对数似然比1减2,解码初始值可保持-1或调整为+1,对应区间1604的对数似然比1加2以调整为解码初始值为+3,对应区间1605的对数似然比4加2以调整为解码初始值为+6,对应区间1606的对数似然比4加2以调整为解码初始值为+9。在本实施例中,区间1601~1603的解码初始值调整为正值时最高调整至+1,区间1604~1606的解码初始值调整为负值时最低调整至-1,本发明不在此限制。在存储器控制电路单元404取得调整后的对数似然比并据以取得对应的解码初始值以后,错误检查与校正电路708依据解码初始值执行叠代解码以取得由多个解码比特组成的码字,并利用这些由多个解码比特组成的码字来判断是否解码成功。须注意的是,本领域技术人员应当知晓如何依据对数似然比执行叠代解码,故在此便不赘述。
基于上述,存储器控制电路单元404可在每次依据读取指令序列读取数据(例如,接收新的读取指令序列、重新取得另一读取电压)后,依据所读取的比特调整该次解码使用的对数似然比以取得对应的解码初始值,以提高解码成功的概率。
在另一范例实施例中,存储器控制电路单元404还可根据第一计数值及第二计数值将用以从存储单元中读取比特的电压电平调整为第二电压电平。并在调整为第二电压电平后,执行本发明提供的解码操作。具体而言,存储器控制电路单元404在接收读取指令序列后,会先从存储单元中读取比特。读取到的比特可被识别为第一值或第二值。接着,存储器控制电路单元404计算所读取的比特中第一值的第一计数值及第二值的第二计数值,并可通过计算第一计数值与第二计数值的差值将用以从存储单元中读取比特的电压电平调整为第二电压电平。
举例来说,如果施加读取电压V3于存储单元的控制栅极以后,读取出来的比特包括的第一计数值与第二计数值的差值大于0,表示所读取的比特中属于第一值的比特的数目大于属于第二值的比特的数目。此情形表示所读取的比特中0错成1的数目比1错成0的数目多,第一计数值可能含有较多的错误比特而较不具可靠性,而第二计数值可能含有较少的错误比特而具可靠性。因此存储器控制电路单元404调低读取电压。另一方面,如果第一计数值与第二计数值的差值小于0,表示所读取的比特中属于第一值的比特的数目小于属于第二值的比特的数目。此情形表示所读取的比特中1错成0的数目比0错成1的数目多,第一计数值可能含有较少的错误比特而具可靠性,而第二计数值可能含有较多的错误比特而较不具可靠性。因此存储器控制电路单元404调高读取电压。用于调整读取电压的调整值可经事先经实验获得,并存储于可复写式非易失性存储器模块406的特定区域中,本发明不在此限制。
图17是根据一范例实施例示出解码方法的流程图。在步骤S1702,接收读取指令序列,其中所述读取指令序列用以从所述多个存储单元中读取多个比特。在步骤S1704,计算所述多个比特中第一值的第一计数值及第二值的第二计数值。在步骤S1706,根据所述第一计数值及所述第二计数值将对应于所述多个比特的解码参数调整为特定解码参数,并根据所述特定解码参数执行解码操作。
值得注意的是,图17中各步骤可以实作为多个代码或电路,本发明不加以限制。此外,图17的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明提供的解码方法、存储器存储装置及存储器控制电路单元可以计算第一值及第二值的分布并判断分布是否平均。而根据分布的平均程度,存储器控制电路单元可以将比特所对应的解码参数调整为特定解码参数,并根据比特的数值以及特定解码参数再次执行解码操作以尝试获得成功解码后的码字。通过上述方式,能够提升解码的更正能力及提高解码成功的概率,以降低解码延迟。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (24)

1.一种解码方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储单元,所述解码方法包括:
接收读取指令序列,其中所述读取指令序列用以从所述多个存储单元中读取多个比特;
计算所述多个比特中第一值的第一计数值及第二值的第二计数值;以及
根据所述第一计数值及所述第二计数值将对应于所述多个比特的解码参数调整为特定解码参数,并根据所述特定解码参数执行解码操作,其中所调整的所述解码参数影响所述多个比特在所述解码操作中被视为错误比特的概率。
2.根据权利要求1所述的解码方法,其中所述解码参数与所述特定解码参数为对数似然比。
3.根据权利要求1所述的解码方法,其中用于调整所述解码参数为所述特定解码参数的调整值为±1~3。
4.根据权利要求1所述的解码方法,其中用于调整所述解码参数为所述特定解码参数的调整值为解码参数的±10~20%。
5.根据权利要求1所述的解码方法,其中所述解码参数包括一或多个正解码参数及一或多个负解码参数,并且根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的步骤中,所述一或多个正解码参数的调整值不同于所述一或多个负解码参数的调整值。
6.根据权利要求1所述的解码方法,其中所述解码参数包括一或多个正解码参数及一或多个负解码参数,并且根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的步骤中,所述一或多个正解码参数的调整值相同于所述一或多个负解码参数的调整值。
7.根据权利要求1所述的解码方法,其中在根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的步骤之前,所述解码方法还包括:
根据所述第一计数值及所述第二计数值将用以从所述多个存储单元中读取所述多个比特的电压电平调整为第二电压电平。
8.根据权利要求1所述的解码方法,其中所述解码操作为硬比特解码操作及软比特解码操作至少其中之一。
9.一种存储器存储装置,包括:
连接接口单元,用以耦接至主机系统;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储单元;以及
存储器控制电路单元,耦接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以接收读取指令序列,其中所述读取指令序列用以从所述多个存储单元中读取多个比特,
所述存储器控制电路单元还用以通过计数器计算所述多个比特中第一值的第一计数值及第二值的第二计数值,并且
所述存储器控制电路单元还用以根据所述第一计数值及所述第二计数值将对应于所述多个比特的解码参数调整为特定解码参数,并根据所述特定解码参数执行解码操作,其中所调整的所述解码参数影响所述多个比特在所述解码操作中被视为错误比特的概率。
10.根据权利要求9所述的存储器存储装置,其中所述解码参数与所述特定解码参数为对数似然比。
11.根据权利要求9所述的存储器存储装置,其中用于调整所述解码参数为所述特定解码参数的调整值为±1~3。
12.根据权利要求9所述的存储器存储装置,其中用于调整所述解码参数为所述特定解码参数的调整值为解码参数的±10~20%。
13.根据权利要求9所述的存储器存储装置,其中所述解码参数包括一或多个正解码参数及一或多个负解码参数,并且
所述存储器控制电路单元根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的运作中,所述一或多个正解码参数的调整值不同于所述一或多个负解码参数的调整值。
14.根据权利要求9所述的存储器存储装置,其中所述解码参数包括一或多个正解码参数及一或多个负解码参数,并且
所述存储器控制电路单元根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的运作中,所述一或多个正解码参数的调整值相同于所述一或多个负解码参数的调整值。
15.根据权利要求9所述的存储器存储装置,其中在根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的运作之前,所述存储器控制电路单元还用以根据所述第一计数值及所述第二计数值将用以从所述多个存储单元中读取所述多个比特的电压电平调整为第二电压电平。
16.根据权利要求9所述的存储器存储装置,其中所述解码操作为硬比特解码操作及软比特解码操作至少其中之一。
17.一种存储器控制电路单元,用于控制包括可复写式非易失性存储器模块的存储器存储装置,且所述存储器控制电路单元包括:
主机接口,用以耦接至主机系统;
存储器接口,用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储单元;以及
存储器管理电路,耦接至所述主机接口与所述存储器接口,
其中所述存储器控制电路单元用以接收读取指令序列,其中所述读取指令序列用以从所述多个存储单元中读取多个比特,
所述存储器控制电路单元还用以通过计数器计算所述多个比特中第一值的第一计数值及第二值的第二计数值,并且
所述存储器控制电路单元还用以根据所述第一计数值及所述第二计数值将对应于所述多个比特的解码参数调整为特定解码参数,并根据所述特定解码参数执行解码操作,其中所调整的所述解码参数影响所述多个比特在所述解码操作中被视为错误比特的概率。
18.根据权利要求17所述的存储器控制电路单元,其中所述解码参数与所述特定解码参数为对数似然比。
19.根据权利要求17所述的存储器控制电路单元,其中用于调整所述解码参数为所述特定解码参数的调整值为±1~3。
20.根据权利要求17所述的存储器控制电路单元,其中用于调整所述解码参数为所述特定解码参数的调整值为解码参数的±10~20%。
21.根据权利要求17所述的存储器控制电路单元,其中所述解码参数包括一或多个正解码参数及一或多个负解码参数,并且
所述存储器控制电路单元根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的运作中,所述一或多个正解码参数的调整值不同于所述一或多个负解码参数的调整值。
22.根据权利要求17所述的存储器控制电路单元,其中所述解码参数包括一或多个正解码参数及一或多个负解码参数,并且
所述存储器控制电路单元根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的运作中,所述一或多个正解码参数的调整值相同于所述一或多个负解码参数的调整值。
23.根据权利要求17所述的存储器控制电路单元,其中在根据所述第一计数值及所述第二计数值将对应于所述多个比特的所述解码参数调整为所述特定解码参数的运作之前,所述存储器控制电路单元还用以根据所述第一计数值及所述第二计数值将用以从所述多个存储单元中读取所述多个比特的电压电平调整为第二电压电平。
24.根据权利要求17所述的存储器控制电路单元,其中所述解码操作为硬比特解码操作及软比特解码操作至少其中之一。
CN202010264881.3A 2020-04-07 2020-04-07 解码方法、存储器存储装置及存储器控制电路单元 Active CN113496752B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010264881.3A CN113496752B (zh) 2020-04-07 2020-04-07 解码方法、存储器存储装置及存储器控制电路单元

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010264881.3A CN113496752B (zh) 2020-04-07 2020-04-07 解码方法、存储器存储装置及存储器控制电路单元

Publications (2)

Publication Number Publication Date
CN113496752A true CN113496752A (zh) 2021-10-12
CN113496752B CN113496752B (zh) 2023-08-29

Family

ID=77994664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010264881.3A Active CN113496752B (zh) 2020-04-07 2020-04-07 解码方法、存储器存储装置及存储器控制电路单元

Country Status (1)

Country Link
CN (1) CN113496752B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9086982B1 (en) * 2012-08-15 2015-07-21 Marvell International Ltd. Adjusting bit reliability information input for decoding stored data
US20170206130A1 (en) * 2016-01-20 2017-07-20 EpoStar Electronics Corp. Decoding method, memory storage device and memory control circuit unit
CN108153608A (zh) * 2016-12-06 2018-06-12 桑迪士克科技有限责任公司 基于动态存储器错误模型估计的纠错码和读取调整
CN109901945A (zh) * 2017-12-07 2019-06-18 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
CN110797074A (zh) * 2018-08-02 2020-02-14 爱思开海力士有限公司 用于nand闪速存储装置的动态邻区和位线辅助校正

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9086982B1 (en) * 2012-08-15 2015-07-21 Marvell International Ltd. Adjusting bit reliability information input for decoding stored data
US20170206130A1 (en) * 2016-01-20 2017-07-20 EpoStar Electronics Corp. Decoding method, memory storage device and memory control circuit unit
CN108153608A (zh) * 2016-12-06 2018-06-12 桑迪士克科技有限责任公司 基于动态存储器错误模型估计的纠错码和读取调整
CN109901945A (zh) * 2017-12-07 2019-06-18 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
CN110797074A (zh) * 2018-08-02 2020-02-14 爱思开海力士有限公司 用于nand闪速存储装置的动态邻区和位线辅助校正

Also Published As

Publication number Publication date
CN113496752B (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
TWI508082B (zh) 解碼方法、記憶體儲存裝置與記憶體控制電路單元
US20190252035A1 (en) Decoding method, memory storage device and memory control 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
US9471421B2 (en) Data accessing method, memory storage device and memory controlling circuit unit
US10108490B1 (en) Decoding method, memory storage device and memory control circuit unit
US20160306693A1 (en) Read voltage level estimating method, memory storage device and memory control circuit unit
CN104572334B (zh) 解码方法、存储器存储装置与存储器控制电路单元
US10193569B2 (en) Decoding method, memory storage device and memory control circuit unit
CN111415692A (zh) 解码方法、存储器控制电路单元以及存储器存储装置
US11190217B2 (en) Data writing method, memory controlling circuit unit and memory storage device
US10324787B2 (en) Decoding method, memory storage device and memory control circuit unit
US10872667B2 (en) Decoding method, memory controlling circuit unit and memory storage device
US11146295B1 (en) Decoding method, memory storage device, and memory controlling circuit unit
CN113496752B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN110795268B (zh) 比特判断方法、存储器控制电路单元以及存储器存储装置
TWI742509B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
US10978163B2 (en) Voltage identifying method, memory controlling circuit unit and memory storage device
CN113138947B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
CN111508546B (zh) 解码方法、存储器控制电路单元与存储器存储装置
US10628259B2 (en) Bit determining method, memory control circuit unit and memory storage device
CN111435604B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
CN109960603B (zh) 比特标记方法、存储器控制电路单元以及存储器存储装置
CN111324478A (zh) 解码方法、存储器控制电路单元以及存储器存储装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant