CN111796961A - 数据读取方法、存储控制器与存储装置 - Google Patents
数据读取方法、存储控制器与存储装置 Download PDFInfo
- Publication number
- CN111796961A CN111796961A CN201910281488.2A CN201910281488A CN111796961A CN 111796961 A CN111796961 A CN 111796961A CN 201910281488 A CN201910281488 A CN 201910281488A CN 111796961 A CN111796961 A CN 111796961A
- Authority
- CN
- China
- Prior art keywords
- bit
- codeword
- target
- syndrome
- read
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 title claims abstract description 52
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 132
- 238000012937 correction Methods 0.000 claims abstract description 32
- 230000015654 memory Effects 0.000 claims description 307
- 239000000872 buffer Substances 0.000 claims description 55
- 230000004044 response Effects 0.000 claims description 26
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 210000004027 cell Anatomy 0.000 description 111
- 238000007726 management method Methods 0.000 description 33
- 238000009826 distribution Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 11
- 238000013523 data management Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 230000005055 memory storage Effects 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000013290 Sagittaria latifolia Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 235000015246 common arrowhead Nutrition 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种数据读取方法、存储控制器与存储装置。所述方法包括:使用预设读取电压、对应所述预设读取电压的左预设读取电压组与右预设读取电压组对目标码字分别执行读取操作,以获得硬比特码字、左比特码字、右比特码字;对所述硬比特码字、所述左比特码字、所述右比特码字分别执行迭代解码操作,以识别所述硬比特码字、所述左比特码字、所述右比特码字中具有最小的校验子的信任码字;使用硬比特码字、所述左比特码字、所述右比特码字与所述信任码字来对所述迭代解码操作的对数似然比表执行校正操作,以将所述对数似然比表更新为校正后对数似然比表。
Description
技术领域
本发明涉及一种数据读取方法,尤其涉及一种适用于配置有可复写式非易失性存储器模块的存储装置及其存储控制器的数据读取方法。
背景技术
一般来说,当对从可复写式非易失性存储器模块的实体面所读取的码字所执行迭代解码操作(如,低密度奇偶检查码解码操作)失败时,存储装置的存储控制器会根据验证数据(如,预先存入至可复写式非易失性存储器模块的已知数据)来尝试校正对应所述迭代解码操作的对数似然比表,以利用校正后的对数似然比表来重新对所读取的码字执行迭代解码操作。
然而,由于传统方法需要额外准备已知的验证数据(即,将所述已知的验证数据存储至可复写式非易失性存储器模块的多个字线中),传统方法会使用可复写式非易失性存储器模块的闲置空间来存储所述验证数据,而减少了可复写式非易失性存储器模块的剩余可用空间,进而导致了存储装置的运作效率会因减少的剩余可用空间而降低(因为存储装置的许多管理运作会需要使用剩余可用空间)。
因此,如何在不需要准备验证数据的情况下,有效率地校正对应所述迭代解码操作的对数似然比表,以改善传统作法的缺陷,提升解码操作的性能且增进可复写式非易失性存储器模块的数据读取效率,是本领域人员研究的课题之一。
发明内容
本发明提供一种数据读取方法、存储控制器及存储装置,可在不需要准备已验证数据的情况下,利用对应特定实体页面所存储的码字的软信息与对应最小的校验子的信任码字来校正迭代解码操作的对数似然比表,以强化对于特定实体页面所存储的码字的解码操作的正确率,进而增进了对应所述码字的读取操作的效率,其中所述码字非预设数据或已知的验证数据。
本发明的一实施例提供适用于配置有一可复写式非易失性存储器模块的一存储装置的一种数据读取方法。所述可复写式非易失性存储器模块具有多个字线,其中所述多个字线的每一个字线耦接至多个存储单元,其中所述多个存储单元中的每一个存储单元包括多个实体页面,并且所述多个实体页面中的每一个实体页面用以被程序化为一比特值。所述方法包括:使用预设读取电压对目标字线的目标实体页面所存储的目标码字执行读取操作,以获得硬比特码字,其中所述硬比特码字被存储至硬比特缓冲区,其中所述目标实体页面的多个目标存储单元用以分别存储所述目标码字的多个目标比特值;对所述硬比特码字执行迭代解码操作,以获得对应所述硬比特码字的已解码硬比特码字与对应所述已解码硬比特码字的硬比特校验子,其中反应于判定所述硬比特校验子为最小的校验子,所述已解码硬比特码字与所述硬比特校验子被存储至信任缓冲区以成为信任码字与信任校验子;反应于所述信任校验子的多个比特值不皆为零,执行下列步骤:分别使用对应所述预设读取电压的左预设读取电压组与右预设读取电压组读取所述目标码字,以获得左比特码字、右比特码字与对应所述左比特码字与所述右比特码字的软比特码字,其中所述软比特码字被存储至软比特缓冲区;分别对所述左比特码字与所述右比特码字执行迭代解码操作,以获得对应所述左比特码字的已解码左比特码字与对应所述已解码左比特码字的左比特校验子以及对应所述右比特码字的已解码右比特码字与对应所述已解码右比特码字的左比特校验子,使用所述硬比特码字与所述软比特码字来组成对应所述目标码字的软信息,并且使用所述软信息与所述信任码字来对所述迭代解码操作的对数似然比表执行校正操作,以将所述对数似然比表更新为校正后对数似然比表;以及根据所述校正后对数似然比表来对所述软信息执行所述迭代解码操作,以获得对应所述读取操作的最终已解码码字,进而完成所述读取操作,其中所述最终已解码码字的多个比特值用以代表所存储的所述目标码字的所述多个目标比特值。
本发明的一实施例提供用于控制配置有可复写式非易失性存储器模块的存储装置的一种存储控制器。所述存储控制器包括:连接接口电路、存储器接口控制电路、读取辅助电路单元、错误检查与校正电路以及处理器。连接接口电路用以耦接至主机***。存储器接口控制电路用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个字线,其中所述多个字线的每一个字线耦接至多个存储单元,其中所述多个存储单元中的每一个存储单元包括多个实体页面,并且所述多个实体页面中的每一个实体页面用以被程序化为一比特值。处理器耦接至所述连接接口电路、所述存储器接口控制电路、所述读取辅助电路单元及所述错误检查与校正电路。所述处理器用以选择所述可复写式非易失性存储器模块的所述多个字线中的一目标字线,并且选择所述目标字线中的目标实体页面。所述读取辅助电路单元用以使用预设读取电压对目标实体页面所存储的目标码字执行读取操作,以获得硬比特码字,其中所述硬比特码字被存储至硬比特缓冲区,其中所述目标实体页面的多个目标存储单元用以分别存储所述目标码字的多个目标比特值。所述错误检查与校正电路用以对所述硬比特码字执行迭代解码操作,以获得对应所述硬比特码字的已解码硬比特码字与对应所述已解码硬比特码字的硬比特校验子,其中反应于判定所述硬比特校验子为最小的校验子,所述已解码硬比特码字与所述硬比特校验子被所述错误检查与校正电路存储至所述读取辅助电路单元的信任缓冲区以成为信任码字与信任校验子。此外,反应于所述信任校验子的多个比特值不皆为零,所述读取操作还包括下列运作:所述读取辅助电路单元用以分别使用对应所述预设读取电压的左预设读取电压组与右预设读取电压组读取所述目标码字,以获得左比特码字、右比特码字与对应所述左比特码字与所述右比特码字的软比特码字,其中所述软比特码字被存储至所述读取辅助电路单元的软比特缓冲区;所述错误检查与校正电路用以分别对所述左比特码字与所述右比特码字执行迭代解码操作,以获得对应所述左比特码字的已解码左比特码字与对应所述已解码左比特码字的左比特校验子以及对应所述右比特码字的已解码右比特码字与对应所述已解码右比特码字的左比特校验子;所述读取辅助电路单元用以使用所述硬比特码字与所述软比特码字来组成对应所述目标码字的软信息,并且使用所述软信息与所述信任码字来对所述迭代解码操作的对数似然比表执行校正操作,以将所述对数似然比表更新为校正后对数似然比表;以及所述错误检查与校正电路还用以根据所述校正后对数似然比表来对所述软信息执行所述迭代解码操作,以获得对应所述读取操作的最终已解码码字,进而完成所述读取操作,其中所述最终已解码码字的多个比特值用以代表所存储的所述目标码字的所述多个目标比特值。
本发明的一实施例提供一种存储装置。所述存储装置包括可复写式非易失性存储器模块、存储器接口控制电路及处理器。可复写式非易失性存储器模块具有多个字线,其中所述多个字线的每一个字线耦接至多个存储单元,其中所述多个存储单元中的每一个存储单元包括多个实体页面,并且所述多个实体页面中的每一个实体页面用以被程序化为一比特值。存储器接口控制电路用以耦接至该可复写式非易失性存储器模块。处理器耦接至该存储器接口控制电路,其中该处理器载入且执行读取辅助程序码模块,以实现数据读取方法。所述数据读取方法包括:使用预设读取电压对目标字线的目标实体页面所存储的目标码字执行读取操作,以获得硬比特码字,其中所述硬比特码字被存储至硬比特缓冲区,其中所述目标实体页面的多个目标存储单元用以分别存储所述目标码字的多个目标比特值,其中所述目标字线从所述可复写式非易失性存储器模块的所述多个字线中被选择;对所述硬比特码字执行迭代解码操作,以获得对应所述硬比特码字的已解码硬比特码字与对应所述已解码硬比特码字的硬比特校验子,其中反应于判定所述硬比特校验子为最小的校验子,所述已解码硬比特码字与所述硬比特校验子被存储至信任缓冲区以成为信任码字与信任校验子;反应于所述信任校验子的多个比特值不皆为零,执行下列步骤:分别使用对应所述预设读取电压的左预设读取电压组与右预设读取电压组读取所述目标码字,以获得左比特码字、右比特码字与对应所述左比特码字与所述右比特码字的软比特码字,其中所述软比特码字被存储至软比特缓冲区;分别对所述左比特码字与所述右比特码字执行迭代解码操作,以获得对应所述左比特码字的已解码左比特码字与对应所述已解码左比特码字的左比特校验子以及对应所述右比特码字的已解码右比特码字与对应所述已解码右比特码字的左比特校验子,使用所述硬比特码字与所述软比特码字来组成对应所述目标码字的软信息,并且使用所述软信息与所述信任码字来对所述迭代解码操作的对数似然比表执行校正操作,以将所述对数似然比表更新为校正后对数似然比表;以及根据所述校正后对数似然比表来对所述软信息执行所述迭代解码操作,以获得对应所述读取操作的最终已解码码字,进而完成所述读取操作,其中所述最终已解码码字的多个比特值用以代表所存储的所述目标码字的所述多个目标比特值。
基于上述,本发明实施例所提供的数据读取方法、存储控制器及存储装置,可在不需要准备已验证数据的情况下,对任何已程序化的目标字线执行对应所述目标字线的目标实体页面的读取辅助操作。在所述读取辅助操作中,可在不需要准备已验证数据的情况下,利用对应特定实体页面所存储的码字(所述码字非预设数据或已知的验证数据)的软信息与对应所述码字的具有最小的校验子的信任码字来校正迭代解码操作的对数似然比表,以强化对于特定实体页面所存储的码字的解码操作的正确率。如此一来,可增进从所述目标字线所读取数据的正确性与可靠度,以降低对所读取数据所执行的解码操作的负荷,进而增进了数据读取操作整体的效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据本发明的一实施例所示出的主机***及存储装置的方块示意图;
图1B是根据本发明的一实施例所示出的软信息管理电路的方块示意图;
图2是根据本发明的一实施例所示出的数据读取方法的流程图;
图3A为根据本发明的一实施例所示出的经由读取电压组所读取的对应P个葛雷码的多个存储单元的临界电压分布及对应的实体页面的存储状态的示意图;
图3B为根据本发明的一实施例所示出的第二读取电压态样(2/3/2)的示意图;
图3C为根据本发明的一实施例所示出的产生下实体页面的存储状态的软信息的示意图;
图4是根据本发明的另一实施例所示出的数据读取方法的流程图;
图5为根据本发明的另一实施例所示出的产生下实体页面的存储状态的软信息的示意图;
图6为根据本发明的一实施例所示出的根据信任码字来计算校正后对数似然比表的多个对数似然比值的示意图。
附图标记说明
10:主机***
20:存储装置
110、211:处理器
120:主机存储器
130:数据传输接口电路
210:存储控制器
212:数据管理电路
213:存储器接口控制电路
214:错误检查与校正电路
215:读取辅助电路单元
2151:软信息管理电路
2152:LLR表校正电路
218:缓冲存储器
219:电源管理电路
220:可复写式非易失性存储器模块
230:连接接口电路
S31、S32、S33、S34、S35:数据读取方法的流程步骤
S41、S42、S43、S44、S45、S46、S47、S48、S50、S51:区分码态样设定方法的流程步骤
V(1)1~V(i)7:读取电压
L:下实体页面的比特值
M:中实体页面的比特值
U:上实体页面的比特值
G1~G8:葛雷码
SL1、SL2:下实体页面的存储状态
SM1、SM2、SM3:中实体页面的存储状态
SU1、SU2、SU3、SU4、SU5:上实体页面的存储状态
Voffset:测试电压偏差值
A51、A61、A62、A71、A72、A73、A81、A82、A12-1~A12-6、A13-1~A13-8、A14-1~A14-8、A15-1~A15-8:箭头
具体实施方式
在本实施例中,存储装置包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与存储装置控制器(亦称,存储控制器或存储控制电路)。此外,存储装置是与主机***一起使用,以使主机***可将数据写入至存储装置或从存储装置中读取数据。
图1A是根据本发明的一实施例所示出的主机***及存储装置的方块示意图。
请参照图1A,主机***(Host System)10包括处理器(Processor)110、主机存储器(Host Memory)120及数据传输接口电路(Data Transfer Interface Circuit)130。在本实施例中,数据传输接口电路130耦接(亦称,电性连接)至处理器110与主机存储器120。在另一实施例中,处理器110、主机存储器120与数据传输接口电路130之间利用***总线(System Bus)彼此耦接。
存储装置20包括存储控制器(Storage Controller)210、可复写式非易失性存储器模块(Rewritable Non-Volatile Memory Module)220及连接接口电路(ConnectionInterface Circuit)230。其中,存储控制器210包括处理器211、数据管理电路(DataManagement Circuit)212与存储器接口控制电路(Memory Interface Control Circuit)213。
在本实施例中,主机***10是通过数据传输接口电路130与存储装置20的连接接口电路230耦接至存储装置20来进行数据的存取操作。例如,主机***10可经由数据传输接口电路130将数据存储至存储装置20或从存储装置20中读取数据。
在本实施例中,处理器110、主机存储器120及数据传输接口电路130可设置在主机***10的主机板上。数据传输接口电路130的数目可以是一或多个。通过数据传输接口电路130,主机板可以经由有线或无线方式耦接至存储装置20。存储装置20可例如是U盘、存储卡、固态硬盘(Solid State Drive,SSD)或无线存储器存储装置。无线存储器存储装置可例如是近距离无线通讯(Near Field Communication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板也可以通过***总线耦接至全球定位***(Global Positioning System,GPS)模块、网络接口卡、无线传输装置、键盘、屏幕、喇叭等各式I/O装置。
在本实施例中,数据传输接口电路130与连接接口电路230是相容于高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准的接口电路。并且,数据传输接口电路130与连接接口电路230之间是利用快速非易失性存储器接口标准(Non-Volatile Memory express,NVMe)通讯协定来进行数据的传输。
然而,必须了解的是,本发明不限于此,数据传输接口电路130与连接接口电路230亦可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准、通用串行总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(UltraHigh Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、eMMC接口标准、通用快闪存储器(UniversalFlash Storage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。此外,在另一实施例中,连接接口电路230可与存储控制器210封装在一个芯片中,或者连接接口电路230是布设于一包含存储控制器210的芯片外。
在本实施例中,主机存储器120用以暂存处理器110所执行的指令或数据。例如,在本范例实施例中,主机存储器120可以是动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)等。然而,必须了解的是,本发明不限于此,主机存储器120也可以是其他适合的存储器。
存储控制器210用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机***10的指令在可复写式非易失性存储器模块220中进行数据的写入、读取与抹除等运作。
更详细来说,存储控制器210中的处理器211为具备运算能力的硬件,其用以控制存储控制器210的整体运作。具体来说,处理器211具有多个控制指令,并且在存储装置20运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
值得一提的是,在本实施例中,处理器110与处理器211例如是中央处理单元(Central Processing Unit,CPU)、微处理器(micro-processor)、或是其他可程序化的处理单元(Microprocessor)、数字信号处理器(Digital Signal Processor,DSP)、可程序化控制器、特殊应用集成电路(Application Specific Integrated Circuits,ASIC)、可程序化逻辑装置(Programmable Logic Device,PLD)或其他类似电路元件,本发明并不限于此。
在一实施例中,存储控制器210还具有只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储控制器210被致能时,处理器211会先执行此开机码来将存储于可复写式非易失性存储器模块220中的控制指令载入至存储控制器210的随机存取存储器中。之后,处理器211会运转此些控制指令以进行数据的写入、读取与抹除等运作。在另一实施例中,处理器211的控制指令亦可以程序码型式存储于可复写式非易失性存储器模块220的特定区域,例如,可复写式非易失性存储器模块220中专用于存放***数据的实体存储单元中。
在本实施例中,如上所述,存储控制器210还包括数据管理电路212与存储器接口控制电路213。应注意的是,存储控制器210各部件所执行的操作亦可视为存储控制器210所执行的操作。
其中,数据管理电路212耦接至处理器211、存储器接口控制电路213与连接接口电路230。数据管理电路212用以接受处理器211的指示来进行数据的传输。例如,经由连接接口电路230从主机***10(如,主机存储器120)读取数据,并且将所读取的数据经由存储器接口控制电路213写入至可复写式非易失性存储器模块220中(如,根据来自主机***10的写入指令来进行写入操作)。又例如,经由存储器接口控制电路213从可复写式非易失性存储器模块220的一或多个实体单元中读取数据(数据可读取自一或多个实体单元中的一或多个存储单元),并且将所读取的数据经由连接接口电路230写入至主机***10(如,主机存储器120)中(如,根据来自主机***10的读取指令来进行读取操作)。在另一实施例中,数据管理电路212亦可整合至处理器211中。
存储器接口控制电路213用以接受处理器211的指示,配合数据管理电路212来进行对于可复写式非易失性存储器模块220的写入(亦称,程序化,Programming)操作、读取操作或抹除操作。
举例来说,处理器211可执行写入指令序列,以指示存储器接口控制电路213将数据写入至可复写式非易失性存储器模块220中;处理器211可执行读取指令序列,以指示存储器接口控制电路213从可复写式非易失性存储器模块220的对应读取指令的一或多个实体单元(亦称,目标实体单元)中读取数据;处理器211可执行抹除指令序列,以指示存储器接口控制电路213对可复写式非易失性存储器模块220进行抹除操作。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示对可复写式非易失性存储器模块220执行相对应的写入、读取及抹除等操作。在一实施例中,处理器211还可以下达其他类型的指令序列给存储器接口控制电路213,以对可复写式非易失性存储器模块220执行相对应的操作。
此外,欲写入至可复写式非易失性存储器模块220的数据会经由存储器接口控制电路213转换为可复写式非易失性存储器模块220所能接受的格式。具体来说,若处理器211要存取可复写式非易失性存储器模块220,处理器211会传送对应的指令序列给存储器接口控制电路213以指示存储器接口控制电路213执行对应的操作。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变预设读取电压组的多个预设读取电压值以进行读取操作或读取辅助操作,或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
可复写式非易失性存储器模块220是耦接至存储控制器210(存储器接口控制电路213)并且用以存储主机***10所写入的数据。可复写式非易失性存储器模块220可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、三阶存储单元(Triple LevelCell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、四阶存储单元(Quadruple Level Cell,QLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)、三维NAND型快闪存储器模块(3D NAND flashmemory module)或垂直NAND型快闪存储器模块(Vertical NAND flash memory module)等其他快闪存储器模块或其他具有相同特性的存储器模块。可复写式非易失性存储器模块220中的存储单元是以阵列的方式设置。
在本实施例中,可复写式非易失性存储器模块220具有多个字线,其中所述多个字线的每一个字线耦接至多个存储单元。同一条字线上的多个存储单元会组成一或多个实体程序化单元。此外,多个实体程序化单元可组成一个实体单元(实体区块或实体抹除单元)。在本实施例中,以三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块做例子来说明,即,在下述的实施例中,会将一个可存储3个比特值的存储单元作为一个实体程序化单元(即,在每次程序化操作中,会对一个实体程序化单元接着一个实体程序化单元来施加程序化电压以程序化数据),其中每一个存储单元可区分为各自可存储一个比特值的下实体页面(Lower Physical Page)、中实体页面(Middle Physical Page)与上实体页面(Upper Physical Page)。
在本实施例中,是以存储单元作为写入(程序化)数据的最小单位。实体单元为抹除的最小单位,即,每一实体单元含有最小数目的一并被抹除的存储单元。
以下的实施例是以三阶存储单元型快闪存储器模块为例,针对三阶存储单元型快闪存储器模块中的特定字线的特定实体页面(如,下实体页面、中实体页面与上实体页面的其中之一)来进行页面等级(Page-Level)的读取辅助操作(对特定实体页面所具有的多个存储单元来执行读取辅助操作)。所述读取辅助操作所使用的数据读取方法亦会说明如下。然,本发明的实施例所提供的页面等级的读取辅助操作与数据读取方法亦可应用至其他类型的快闪存储器模块。
存储控制器210会配置多个逻辑单元给可复写式非易失性存储器模块220。主机***10是通过所配置的逻辑单元来存取存储在多个实体单元中的使用者数据。在此,每一个逻辑单元可以是由一或多个逻辑地址组成。例如,逻辑单元可以是逻辑区块(LogicalBlock)、逻辑页面(Logical Page)或是逻辑扇区(Logical Sector)。一个逻辑单元可以是映射至一或多个实体单元,其中实体单元可以是一或多个实体地址、一或多个实体扇、一或多个实体程序化单元或者一或多个实体抹除单元。在本实施例中,逻辑单元为逻辑区块,并且逻辑子单元为逻辑页面。每一逻辑单元具有多个逻辑子单元。
此外,存储控制器210会建立逻辑转实体地址映射表(Logical To Physicaladdress mapping table)与实体转逻辑地址映射表(Physical To Logical addressmapping table),以记录配置给可复写式非易失性存储器模块220的逻辑单元(如,逻辑区块、逻辑页面或逻辑扇区)与实体单元(如,实体抹除单元、实体程序化单元、实体扇区)之间的地址映射关系。换言之,存储控制器210可通过逻辑转实体地址映射表来查找一逻辑单元所映射的实体单元,并且存储控制器210可通过实体转逻辑地址映射表来查找一实体单元所映射的逻辑单元。然而,上述有关逻辑单元与实体单元映射的技术概念为本领域技术人员的惯用技术手段且非本发明所欲阐述的技术方案,不再赘述于此。
在本实施例中,错误检查与校正电路214是耦接至处理器211并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当处理器211从主机***10中接收到写入指令时,错误检查与校正电路214会为对应此写入指令的数据产生对应的错误更正码(errorcorrecting code,ECC)和/或错误检查码(error detecting code,EDC),并且处理器211会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块220中。之后,当处理器211从可复写式非易失性存储器模块220中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路214会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正程序。此外,在错误检查与校正程序后,若成功解码所读取的数据,错误检查与校正电路214可回传错误比特数给处理器211。
在本实施例中,错误检查与校正电路214所执行的是使用低密度奇偶检查码(lowdensity parity code,LDPC)算法的迭代解码操作。具体来说,在接收到欲解码的所述码字(亦称,目标码字或原始码字)之后,错误检查与校正电路214会开始对所接收的所述码字进行迭代解码操作,识别所接收码字的多个数据比特,根据所述多个数据比特来查询对应的对数似然比(Log Likelihood Ratio,LLR)表(亦称,LLR表)以获得对应多个数据比特的多个对数似然比值,并且经由所述对数似然比值来对所述码字执行一轮的迭代解码操作。
在本实施例中,每当错误检查与校正电路214完成对一笔所述码字所执行的一轮迭代解码操作,错误检查与校正电路214可获得对应所述码字的已解码码字与对应所述已解码码字的校验子。错误检查与校正电路214可根据校验子来判断当下所执行的所述迭代解码操作是解码成功或解码失败。
若解码失败,错误检查与校正电路214可根据所统计的对所述码字所执行的迭代解码操作的总次数与预设迭代次数门槛值来判断是否需再次执行后续的一或多次的迭代操作。若所述总次数大于所述预设迭代次数门槛值,错误检查与校正电路214会判定所述码字的整体解码操作(整体解码操作可包括一或多个迭代解码操作)是失败的,并且输出最后所获得的已解码码字与对应的校验子;若所述总次数不大于所述预设迭代次数门槛值,错误检查与校正电路214会利用所获得的已解码码字与对应的校验子来再次执行新一轮的迭代解码操作。厂商可根据需求自行设定预设迭代次数门槛值,本发明不限于此。
在每一次(每一轮)的迭代解码操作的最后,错误检查与校正电路214会计算对应当前最新获得的已解码码字的校验子,以判断此次的迭代解码操作是否成功。若解码成功(解码后所产生的码字为正确,即,有效码字),则结束本次的迭代操作并且也结束对此码字的整体解码操作;若解码失败(解码后所产生的码字为错误,即,无效码字),则在所述总次数不大于所述预设迭代次数门槛值的情况下,结束本次的迭代操作并且重新开始新的一次(下一轮)的迭代操作。
更详细来说,在每次迭代解码操作中,错误检查与校正电路214会判断对应所述已解码码字的校验子的多个比特值是否皆为零。若所述校验子的多个比特值皆为零(即,“0”),错误检查与校正电路214判定所述已解码码字为正确的,完成本次的迭代解码操作,并且完成对应所述码字的整体解码操作。反之,若所述校验子的所述多个比特值不皆为零(即,具有一或多个“1”),错误检查与校正电路214判定所述已解码码字为错误的,完成本次的迭代解码操作,完成所述码字的整体解码操作,并且输出所述已解码码字。应注意的是,上述的说明仅用于解释原始码字、已解码码字与对应的校验子的对应关系,其他关于低密度奇偶检查码算法的迭代解码操作、原始码字、校验子、已解码码字的细节并非本发明的技术方案,不赘述于此。
在一实施例中,存储控制器210还包括缓冲存储器218与电源管理电路219。缓冲存储器是耦接至处理器211并且用以暂存来自于主机***10的数据与指令、来自于可复写式非易失性存储器模块220的数据或其他用以管理存储装置20的***数据(如,对数似然比表),以让处理器211可快速地从缓冲存储器218中存取所述数据、指令或***数据。电源管理电路219是耦接至处理器211并且用以控制存储装置20的电源。
在本实施例中,读取辅助电路单元215包括软信息管理电路2151与LLR表校正电路。所述读取辅助电路单元215用以对多个字线的特定实体页面来执行读取辅助操作。更具体来说,处理器211可在特定的时间点来选择可复写式非易失性存储器模块220的属于多个实体单元的多个字线的其中之一个字线(亦称,目标字线)及所述目标字线的特定实体页面(亦称,目标实体页面),并且指示读取辅助电路单元215来对此目标字线的目标实体页面进行读取辅助操作。
举例来说,所述特定的时间点包括但不限于:(1)解码操作失败时;(2)对物理状态较差的字线(例如,抹除次数较多、读取次数较多、久存时间(retention time)较长或错误比特数较多的字线)的实体页面进行读取操作时;或(3)从一字线所读取的数据的错误比特数超过一错误比特数门槛值时。
具体来说,当从对应至一字线的一实体页面所读取的数据的错误比特数超过一错误比特数门槛值时,其中所述字线被选择为所述目标字线,并且所述实体页面被选择为目标实体页面。应注意的是,被选择的目标字线已存储数据,即,已被程序化数据。在本实施例中,所述已存储数据并非厂商或是***预先设定的已知数据或验证数据,例如,所述已存储数据为使用者数据。
在本实施例中,软信息管理电路2151可对特定的实体页面执行软信息操作(如,目标实体页面),以获得软信息。在说明软信息操作之前,需先说明存储状态的概念。在本实施例中,如上所述,目标字线的存储有数据。具体来说,每个字线的多个存储单元用以被程序化以存储对应不同的多个葛雷码(Gray Code)的其中之一的比特值,并且所述葛雷码的总数为P。P为大于2的一第一预定正整数,并且P的数值会依据所述可复写式非易失性存储器模块220的类型而被预先设定。例如,若可复写式非易失性存储器模块220为MLC,则P=4;若可复写式非易失性存储器模块220为SLC,则P=2;若可复写式非易失性存储器模块220为QLC,则P=16。
为了统一说明,本实施例是以三阶存储单元型快闪存储器模块为例,并且目标字线的多个存储单元可存储有分别对应8个葛雷码(P=8)的比特值。以下先配合图3A来说明所述多个葛雷码的细节。
图3A为根据本发明的一实施例所示出的经由读取电压组所读取的对应P个葛雷码的多个存储单元的临界电压分布及对应的实体页面的存储状态的示意图。由于本实施例是以为三阶存储单元NAND型快闪存储器模块的可复写式非易失性存储器模块220做例子来说明,其中P等于8(即,23)。三阶存储单元NAND型快闪存储器模块的每一存储单元具有三个实体页面来分别存储比特数据,所述每一存储单元包括各自可存储一个比特值的下实体页面(Lower Physical Page,L)、中实体页面(Middle Physical Page,M)与上实体页面(UpperPhysical Page,U)。假设处理器211经由读取电压组V(i)的多个读取电压V(i)1~V(i)7读取三阶存储单元NAND型快闪存储器模块的目标字线的多个存储单元(多个目标存储单元),并且藉此识别出所述多个存储单元所存储的不同比特值(分别对应不同葛雷码的比特值)。每一存储单元中的闸极电压可依据读取电压组V(i)(例如,对应i等于1的预设读取电压组)中的预设读取电压V(i)1~V(i)7而区分为8种葛雷码,如“L:1M:1U:1”、“L:1M:1U:0”、“L:1M:0U:0”、“L:1M:0U:1”、“L:0M:0U:1”、“L:0M:0U:0”、“L:0M:1U:0”与“L:0M:1U:1”的8种葛雷码(“L:”表示下实体页面的比特值;“M:”表示中实体页面的比特值;“U:”表示上实体页面的比特值)。所述8种葛雷码亦可表示为“111”、“110”、“100”、“101”、“001”、“000”、“010”与“011”,8种比特值组合,其中每个比特值组合中的比特值的先后排序是依据下、中、上实体页面的顺序。也就是说,经由分别施加读取电压组V(i)的不同电压值的读取电压V(i)1~V(i)7至目标字线的一个存储单元上,处理器211可根据判断所述存储单元的通道是否导通而分别判定出所述存储单元所存储的比特值(亦称,比特数据或读取比特值)对应不同的多个葛雷码(“111”、“110”、“100”、“101”、“001”、“000”、“010”与“011”)的其中之一(即,经由使用第一读取电压组V(i)来从目标字线的一个存储单元读取出读取比特值)。应注意的是,于可复写式非易失性存储器模块220的存储单元可具有的多个葛雷码的数目(在此例子中,为8),每个读取电压组的所述多个读取电压的数目为所述多个葛雷码的数目减一(在此例子,为7,即,N-1=8-1=7)。
更详细来说,一个存储单元所存储的葛雷码可经由所述存储单元的下实体页面的存储状态(SL)、下实体页面的存储状态(SM)与上实体页面的存储状态(SU)来依序组合而成(如,图1A的多个箭头所示)。
在本实施例中,预设读取电压V(i)4用以区分下实体页面的存储状态SL1(“1”)与SL2(“0”);预设读取电压V(i)2与V(i)6用以区分中实体页面的存储状态SM1(“1”)、SM2(“0”)与SM3(“1”);预设读取电压V(i)1、V(i)3、V(i)5、V(i)7用以区分上实体页面的存储状态SU1(“1”)、SU2(“0”)、SU3(“1”)、SU4(“0”)与SU5(“1”)。
处理器211(或读取辅助电路单元215)可使用预设读取电压组中对应下实体页面、中实体页面与上实体页面的预设读取电压来依序读取字线,以获得所述字线的多个存储单元的下实体页面、中实体页面与上实体页面的存储状态,进而获得所述多个存储单元的葛雷码。举例来说,假设处理器211(或读取辅助电路单元215)使用预设读取电压组V(i)来读取字线以获得所述字线的多个存储单元的多个葛雷码。处理器211(或读取辅助电路单元215)先经由使用预设读取电压V(i)4来识别出所有存储单元的下实体页面的存储状态是存储状态SL1或存储状态SL2;接着,处理器211(或读取辅助电路单元215)再经由使用预设读取电压V(i)2、V(i)6来识别出此些存储单元的中实体页面的存储状态是存储状态SM1、存储状态SM3或存储状态SM3;接着,处理器211(或读取辅助电路单元215)再经由使用预设读取电压V(i)1、V(i)3、V(i)5、V(i)7来识别出此些存储单元的上实体页面的存储状态是存储状态SU1、存储状态SU2、存储状态SU3、存储状态SU4或存储状态SM5。如此一来,处理器211(或读取辅助电路单元215)可识别出所有存储单元的下实体页面、中实体页面及上实体页面的存储状态,进而识别出所有存储单元所存储的葛雷码。
此外,具有上述多个实体页面与对应的预设读取电压数目的特性的可复写式非易失性存储器模块220亦可被视为具有第一读取电压态样(1/2/4)的可复写式非易失性存储器模块220(三阶存储单元NAND型快闪存储器模块)。所述“1/2/4”分别对应至“下实体页面/中实体页面/上实体页面”所具有的预设读取电压的总数目。
为了方便说明本发明所提供的技术方案,在以下的实施例中,大多是以具有第一读取电压态样(1/2/4)的可复写式非易失性存储器模块220(三阶存储单元NAND型快闪存储器模块)为例子来进行说明。但,本发明所提供的数据读取方法与存储控制器亦可适用于具有其他读取电压态样的可复写式非易失性存储器模块220。
图3B为根据本发明的一实施例所示出的第二读取电压态样(2/3/2)的示意图。请参照图3B,针对为第二读取电压态样(2/3/2)的可复写式非易失性存储器模块220(三阶存储单元NAND型快闪存储器模块),读取电压V(i)1与V(i)5用以区分下实体页面的存储状态SL1(“1”)、SL2(“0”)与SL3(“1”);读取电压V(i)2、V(i)4与V(i)6用以区分中实体页面的存储状态SM1(“1”)、SM2(“0”)、SM3(“1”)与SM4(“0”);读取电压V(i)3与V(i)7用以区分上实体页面的存储状态SU1(“1”)、SU2(“0”)与SU3(“1”)。
在本实施例中,字线的多个存储单元的实体页面的临界电压分布相较于预设的临界电压分布可能会发生偏移的现象。由于临界电压分布的偏移,原本对应于多个实体页面的预设的临界电压的预设的预设读取电压已经不再适合用以区分对应的实体页面的存储状态。换言之,在此情况下,原本所读取且识别的实体页面的多个存储单元所存储的读取比特值(亦称,硬比特值)会失真。此时,便需要执行软信息操作来获得对应所述多个存储单元的软信息,以辅助处理器211或错误检查与校正电路214来进一步识别多个存储单元所存储的读取比特值或相应的可靠度(可利用相应所述多个存储单元的对数似然比值来表示相应所述多个存储单元的所述可靠度)。
图1B是根据本发明的一实施例所示出的软信息管理电路的方块示意图。在本实施例中,软信息管理电路2151包括软信息计算电路216与缓冲存储器217。其中,缓冲存储器217包括多个缓冲区,例如,信任缓冲区2171、硬比特缓冲区2172及软比特缓冲区2173(1)~2173(N)。N为大于或等于1的正整数。所述缓冲存储器217例如为静态随机存取存储器,并且用以暂存数据。软信息计算电路216用以根据暂存在所述多个缓冲区的数据来计算软信息。以下利用图2来说明本发明所提供的数据读取方法(亦称,读取辅助方法)的细节及读取辅助电路单元215的功能。应注意的是,读取辅助电路单元215的各元件的运作可被视为读取辅助电路单元215整体的运作。
图2是根据本发明的一实施例所示出的数据读取方法的流程图。请参照图2,在步骤S21中,读取辅助电路单元215(或软信息管理电路2151)使用预设读取电压对目标字线的目标实体页面所存储的目标码字执行读取操作,以获得硬比特码字(亦称,原始码字),其中所述硬比特码字被存储至硬比特缓冲区2172。具体来说,经由使用预设读取电压对目标实体页面的多个目标存储单元所读取到的多个读取比特值会构成所述硬比特码字(亦称,原始码字)。此外,目标字线、目标实体页面的选择方式已经阐述于上,不赘述于此。应注意的是,本发明并不限定上述的选择方式。也就是说,若处理器211欲对特定实体页面执行页面等级的读取辅助操作,则所述特定实体页面可被视为目标实体页面,并且所述特定实体页面所属的字线可被视为目标字线。
在步骤S22中,错误检查与校正电路214对所述硬比特码字执行迭代解码操作,以获得对应所述硬比特码字的已解码硬比特码字与对应所述已解码硬比特码字的硬比特校验子,其中反应于判定所述硬比特校验子为最小的校验子,所述已解码硬比特码字与所述硬比特校验子被存储至信任缓冲区以成为信任码字与信任校验子。具体来说,所述原始码字(即,硬比特码字)会经由错误检查与校正电路214来执行迭代解码操作(亦称,LDPC解码操作)。如上述,在完成一轮的迭代解码操作后,错误检查与校正电路214会获得对应原始码字的已解码码字及对应所述已解码码字(亦称,已解码硬比特码字)的校验子(亦称,硬比特校验子)。此外,在信任缓冲区2171存储有信任校验子及对应的信任码字的情况下,错误检查与校正电路214会进一步识别所述硬比特校验子与存储于信任缓冲区2171的信任校验子的多个比特值中第一比特值(即,“1”)的个数,并且判定所述硬比特校验子与所述信任校验子中具有较少第一比特值的校验子为最小的校验子。其中,反应于所述硬比特校验子被判定为最小的校验子,错误检查与校正电路214可将所述硬比特校验子与对应的已解码硬比特码字存储至信任缓冲区2171中,以取代原有的信任码字与信任校验子,而成为信任缓冲区2171中的新的信任码字与信任校验子。
另一方面,在信任缓冲区2171没有存储任何信任校验子及对应的信任码字的情况下,错误检查与校正电路214(或软信息管理电路2151)可直接将所述已解码硬比特码字视为信任码字,将所述硬比特校验子视为对应的信任校验子,并且将所述硬比特校验子与对应的已解码硬比特码字存储至信任缓冲区2171中。
在本实施例中,相似于上述判断迭代解码操作成功或失败的方式,错误检查与校正电路214会判断所述信任校验子中的多个比特值是否皆为零。反应于判定所述信任校验子的所述多个比特值不皆为零,接续至步骤S23;反应于判定所述信任校验子的所述多个比特值皆为零,接续至步骤S27。在步骤S27中,读取辅助电路单元215(或错误检查与校正电路214)将所述信任码字作为对应所述读取操作的所述最终已解码码字,以完成所述读取操作。具体来说,若所述信任码字的所述多个比特值皆为零,则读取辅助电路单元215(或错误检查与校正电路214)会判定所述信任码字为有效码字,迭代解码操作是成功的,并且对应地输出所述有效码字(即,最终已解码码字),以完成所述读取操作。
在步骤S23中,读取辅助电路单元215分别使用对应所述预设读取电压的左预设读取电压组与右预设读取电压组读取所述目标码字,以获得左比特码字、右比特码字与对应所述左比特码字与所述右比特码字的软比特码字,其中所述软比特码字被存储至软比特缓冲区。以下利用图3C来说明,但应注意的是,以下的实施例是针对下实体页面作为目标实体页面为例子来说明,但本发明不限于此。本领域人员当可经由针对下实体页面的例子来应用本发明的数据读取方法至中实体页面或上实体页面等其他型态的目标实体页面。
图3C为根据本发明的一实施例所示出的产生下实体页面的存储状态的软信息的示意图。请参照图3C,假设临界电压分布可根据软信息索引值“1”~“4”被区分为区域R1~R4。此外,在本实施例中,针对下实体页面的多个存储单元的存储状态及硬比特值,读取辅助电路单元215可使用预设取电压V(i)4、对应预设读取电压V(i)4的左预设读取电压VL(i)4、右预设读取电压VR(i)4来读取下实体页面,以分别获得对应所述下实体页面的多个存储单元的硬比特码字。例如,图3C所表示的对应软信息索引值的多个软信息区域的硬比特值“1 1 0 0”(临界电压在预设读取电压V(i)4左方的目标存储单元的比特值被识别为1;临界电压在预设读取电压V(i)4右方的目标存储单元的比特值被识别为0);对应左预设读取电压VL(i)4的左比特值“1 00 0”(临界电压在左预设读取电压VL(i)4左方的目标存储单元的比特值被识别为1、临界电压在左预设读取电压VL(i)4右方的目标存储单元的比特值被识别为0);以及对应右预设读取电压VR(i)4的右比特值“1 1 1 0”(临界电压在右预设读取电压VR(i)4左方的目标存储单元的比特值被识别为1、临界电压在右预设读取电压VR(i)4右方的目标存储单元的比特值被识别为0)。所述多个软信息区域包括在左预设读取电压VL(i)4左方的对应软信息索引“1”的临界电压分布的区域R1;在预设读取电压V(i)4与左预设读取电压VL(i)4之间的对应软信息索引“2”的临界电压分布的区域R2;在预设读取电压V(i)4与右预设读取电压VR(i)4之间的对应软信息索引“3”的临界电压分布的区域R3;在右预设读取电压VR(i)4右方的对应软信息索引“4”的临界电压分布的区域R4。
在本实施例中,所述多个目标存储单元的多个硬比特值可组成所述硬比特码字,所述多个目标存储单元的多个左比特值可组成所述左比特码字,并且所述多个目标存储单元的多个右比特值可组成所述右比特码字。
在本实施例中,读取辅助电路单元215可根据预设读取电压V(i)4的来产生对应预设读取电压V(i)4的左预设读取电压VL(i)4与右预设读取电压VR(i)4。举例来说,所述对应预设读取电压V(i)4的左预设读取电压VL(i)4例如是小于预设读取电压V(i)4第一预设电压偏离值的电压;所述对应预设读取电压V(i)4的右预设读取电压VR(i)4例如是大于预设读取电压V(i)4第二预设电压偏离值的电压。所述第一预设电压偏离值与所述第二预设电压偏离值可相等。
在本实施例中,如箭头A31所示,读取辅助电路单元215(或软信息管理电路2151)可将所述硬比特码字存储至硬比特缓冲区2172中。
如箭头A32所示,读取辅助电路单元215(或软信息管理电路2151)可将所获得所述多个目标存储单元的左比特值与右比特值经过互斥或运算(XOR运算)或反互斥或运算(XNOR运算),以获得运算结果,并且将运算结果作为对应所述多个目标存储单元的软比特值。例如,左比特值“1 0 0 0”(代表对应软信息索引“1”、“2”、“3”、“4”的多个区域R1~R4的多个目标存储单元各自的左比特值)与右比特值“1 1 1 0”(代表对应软信息索引“1”、“2”、“3”、“4”的多个区域R1~R4的多个目标存储单元各自的右比特值)的XOR运算的结果为“0 11 0”,其为对应的软比特值“0 1 1 0”(代表对应软信息索引“1”、“2”、“3”、“4”的多个区域R1~R4的多个目标存储单元各自的软比特值)。多个目标存储单元的多个软比特值可组成所述软比特码字。
接着,如箭头A33所示,读取辅助电路单元215(或软信息管理电路2151)可将所述软比特码字存储至软比特缓冲区2173(1)中。
请再参照图2,在步骤S24中,错误检查与校正电路214分别对所述左比特码字与所述右比特码字执行迭代解码操作,以获得对应所述左比特码字的已解码左比特码字与对应所述已解码左比特码字的左比特校验子以及对应所述右比特码字的已解码右比特码字与对应所述已解码右比特码字的右比特校验子。此步骤类似于步骤S22,细节不再赘述于此。
但应注意的是,一般传统方法并不会额外对所述左比特码字与所述右比特码字分别执行迭代解码操作,以获得对应的已解码左比特码字、所述左比特校验子、所述右比特码字与所述右比特校验子。因为,在传统方法中,所述左比特码字与所述右比特码字仅用以构成软比特码字。
在本实施例中,由于额外对所述左比特码字与所述右比特码字分别执行迭代解码操作,错误检查与校正电路214可进一步判断所述左比特校验子或所述右比特校验子是否为最小的校验子。相似地,错误检查与校正电路214可将所述左比特校验子或所述右比特校验子与存在于信任缓冲区2171中的信任校验子进行比较,以找出所述左比特校验子、所述右比特校验子与所述信任校验子中具有最少第一比特值的最小的校验子。
反应于判定所述左比特校验子为最小的校验子,软信息管理电路2151将所述已解码左比特码字与所述左比特校验子存储至所述信任缓冲区2171以更新所述信任码字与所述信任校验子;反应于判定所述右比特校验子为最小的校验子,软信息管理电路2151将所述已解码右比特码字与所述右比特校验子存储至所述信任缓冲区2171以更新所述信任码字与所述信任校验子。
接着,在步骤S25中,软信息管理电路2151使用所述硬比特码字与所述软比特码字来组成对应所述目标码字的软信息,并且LLR表校正电路2152使用所述软信息与所述信任码字来对所述迭代解码操作的对数似然比表执行校正操作,以将所述对数似然比表更新为校正后对数似然比表。
请再回到图3C,软信息管理电路2151可将所获得软比特值“0 1 1 0”结合硬比特值“1 1 0 0”(代表对应软信息索引“1”、“2”、“3”、“4”的多个区域R1~R4的多个目标存储单元各自的硬比特值)以获得软信息“10 11 01 00”(代表对应软信息索引“1”、“2”、“3”、“4”的多个区域R1~R4的多个目标存储单元各自的软信息)。所述软信息“10 11 01 00”的每一个比特对(pair)(如,“10”)的第一个比特值为硬比特值,并且第二个比特值为软比特值。
如此一来,根据软信息“10 11 01 00”中的比特对“10”,处理器211或错误检查与校正电路214可知道所述比特对“10”所对应的硬比特值“1”较远离存储状态SL1与SL2的临界电压分布的交界处,即,此硬比特值“1”会具有较高的可靠度;根据软信息“10 11 01 00”中的比特对“11”,处理器211或错误检查与校正电路214可知道所述比特对“11”所对应的硬比特值“1”较接近存储状态SL1与SL2的临界电压分布的交界处,即,此硬比特值“1”会具有较低的可靠度;根据软信息“10 11 01 00”中的比特对“01”,处理器211或错误检查与校正电路214可知道所述比特对“01”所对应的硬比特值“1”较接近存储状态SL1与SL2的临界电压分布的交界处,即,此硬比特值“0”会具有较低的可靠度;根据软信息“10 11 01 00”中的比特对“00”,处理器211或错误检查与校正电路214可知道所述比特对“00”所对应的硬比特值“0”较远离存储状态SL1与SL2的临界电压分布的交界处,即,此硬比特值“0”会具有较高的可靠度。
在本实施例中,LLR表校正电路2152会根据对应下实体页面的对数似然比表中分别对应不同软信息索引的对数似然比值来具体地表示不同软信息所对应的可靠度及比特值。具体来说,LLR表校正电路2152会利用下列公式来计算对应不同软信息索引的对数似然比值,以校正原先预设的对数似然比表的多个对数似然比值。
所述“SIi”表示软信息索引,“Pr(X=0|SIi)”表示对应于软信息索引“SIi”的区域R1的存储单元(即,目标存储单元)的比特值为“0”的机率,“Pr(X=1|SIi)”表示对应于软信息索引“SIi”的区域R1的存储单元的比特值为“1”的机率,“CNT(X=0∩SIi)”表示属于软信息索引“SIi”的区域R1的信任码字中比特值为“0”的多个存储单元的总数目,“CNT(X=1∩SIi)”表示属于软信息索引“SIi”的区域R1的信任码字中比特值为“1”的多个存储单元的总数目,“CNT(SIi)”表示属于软信息索引“SIi”的区域R1的多个存储单元的总数目。
图6为根据本发明的一实施例所示出的根据信任码字来计算校正后对数似然比表的多个对数似然比值的示意图。请参照图6,举例来说,如表600所示,LLR表校正电路2152可根据信任码字中比特值为“0”的多个目标存储单元所具有的软信息以及信任码字中比特值为“1”的多个目标存储单元所具有的软信息,统计在对应不同软信息索引值的多个区域R1~R4的比特值为“0”的多个目标存储单元的总数目与比特值为“1”的多个目标存储单元的总数目。
例如,LLR表校正电路2152选择信任码字中的一个为“0”的比特值(其对应一个存储单元),并且识别此存储单元所对应的软信息索引值为SI1。接着,LLR表校正电路2152累计软信息索引SI1的比特值”0”的总数目(即,对原本软信息索引SI1的比特值”0”的总数目加上1)。以此类推,LLR表校正电路2152选择信任码字中下一个比特值,并且去根据所选择的为“0”或“1”的比特值与对应的软信息索引值来累计对应的总数目。统计结果例如表600所示。
在获得统计结果后,LLR表校正电路2152根据上述公式来计算对应不同软信息索引的对数似然比值(即,执行校正操作),以获得校正后对数似然比表。例如,针对SI1,LLR(SI1)=ln(5/17497)=-8.1603468042105194090619179701932。LLR表校正电路2152再将“-8.1603468042105194090619179701932”四舍五入至整数位为“-8”。所获得的校正后对数似然比表可用来更新原本的对数似然比表。应注意的是,在上述的例子中,LLR表校正电路2152是利用“四舍五入”来简化所计算出的对数似然比值,但本发明不限于此。例如,在其他实施例中,LLR表校正电路2152可利用“无条件进位至整数位”或“无条件舍弃小数点”的方式来简化所计算出的对数似然比值。或是,利用其他适合的方法将所计算出的对数似然比值化简为特定型态的数值。
在本实施例中,若一个软信息索引所对应的对数似然比值为负数,表示所对应的存储单元所存储的比特值应为“1”,并且越小的对数似然比值表示所对应的存储单元所存储的比特值为“1”的机率越高;若一个软信息索引所对应的对数似然比值为正数,表示所对应的存储单元所存储的比特值应为“0”,并且越大的对数似然比值表示所对应的存储单元所存储的比特值为“0”的机率越高。
接着,在步骤S26中,错误检查与校正电路214根据所述校正后对数似然比表来对所述软信息执行所述迭代解码操作,以获得对应所述读取操作的最终已解码码字,进而完成所述读取操作。具体来说,在获得更为准确的对应所述目标实体页面的校正后对数似然比表后,错误检查与校正电路214可根据所述校正后对数似然比表来对所述软信息来执行一或多次的迭代解码操作,以获得解码成功后的有效码字(亦称,最终已解码码字)。如上述,所述有效码字所对应的校验子的多个比特值皆为零。
在获得最终已解码码字后,错误检查与校正电路214判定,对应所述目标实体页面所存储的目标码字的读取操作完成。所述最终已解码码字的多个比特值用以代表从所存储的所述目标码字的所读取出的所述多个目标比特值。
在一实施例中,在获得所述最终已解码码字(或有效码字)后,LLR表校正电路2152可使用对应所述目标码字的所述软信息与所述最终已解码码字来对所述迭代解码操作的对数似然比表再次执行所述校正操作,以再次更新所述迭代解码操作的所述校正后对数似然比表。相似于上述,LLR表校正电路2152可从最终已解码码字中选择对应一存储单元的比特值,并且更根据所述存储单元/比特值所对应的软信息,去累计对应的软信息索引值的所述比特值的总数目。在完成最终已解码码字的所有比特值的相应的软信息索引的统计后,再计算对应不同软信息索引值的对数似然比值,以获得校正后对数似然比表。
此外,在一实施例中,在将所述迭代解码操作中对应所述目标实体页面的对数似然比表更新为校正后对数似然比表后,错误检查与校正电路214根据所述校正后对数似然比表再执行一次所述对所述软信息执行所述迭代解码操作,以获得对应所述硬比特码字的所述已解码硬比特码字与对应所述已解码硬比特码字的所述硬比特校验子的步骤。具体来说,由于所述迭代解码操作的对数似然比表已经被校正,经由所述校正后的对数似然比表可获得更准确的已解码码字。基此,错误检查与校正电路214可再次对所述软信息执行所述迭代解码操作,以期望获得更正确的有效码字。
值得一提的是,在上述的实施例中,对应所述预设读取电压的左预设读取电压的数目为1,并且对应所述预设读取电压的右预设读取电压的数目为1,但本发明不限于此。例如,在另一实施例中,对应所述预设读取电压的左预设读取电压的数目为N,并且对应所述预设读取电压的右预设读取电压的数目为N。对应N个左预设读取电压与N个右预设读取电压,缓冲存储器217可具有N个软比特缓冲区2173(1)~2173(N)。以下利用图4来说明。
图4是根据本发明的另一实施例所示出的数据读取方法的流程图。请参照图4,此另一实施例所提供的数据读取方法的步骤S41、S42、S44、S47、S48、S49相同于图2中的数据读取方法的步骤S21、S22、S23、S25、S26、S27,细节不再赘述。以下仅说明不同之处。
在步骤S43中,读取辅助电路单元215(或软信息管理电路2151)分别使用对应所述预设读取电压的N个左预设读取电压中的第i个左预设读取电压与N个右预设读取电压中的第i个右预设读取电压来读取所述目标码字,以获得左比特码字、右比特码字与对应所述左比特码字与所述右比特码字的软比特码字,其中所述软比特码字被存储至N个软比特缓冲区中的第i个软比特缓冲区,其中i为正整数且初始值为1,并且i的最大值为N,其中N为正整数。所述i用以表示当前被选择以产生软比特的左预设读取电压/右预设读取电压的排列顺序。以下利用图5来说明。
图5为根据本发明的另一实施例所示出的产生下实体页面的存储状态的软信息的示意图。请参照图5,假设临界电压分布可根据软信息索引值“1”~“6”被区分为区域R1~R6,并且N为2。对应所述预设读取电压V(i)4的左预设读取电压有2个,分别为左预设读取电压VL(i)4与左预设读取电压VL(i)4’;对应所述预设读取电压V(i)4的右预设读取电压有2个,分别为右预设读取电压VR(i)4与右预设读取电压VR(i)4’。其中,左预设读取电压VL(i)4与左预设读取电压VL(i)4’之间的电压差为第一预设电压偏离值;右预设读取电压VR(i)4’与右预设读取电压VR(i)4之间的电压差为第二预设电压偏离值。
相似于图3C,软信息管理电路2151可利用所述预设读取电压V(i)4、左预设读取电压VL(i)4(2个左预设读取电压中的第1个左预设读取电压)与右预设读取电压VR(i)4’(2个右预设读取电压中的第1个右预设读取电压)来获得硬比特码字“1 1 1 0 0 0”(分别对应区域R1~R6的多个存储单元的硬比特值)与软比特码字“0 0 1 1 0 0”(分别对应区域R1~R6的多个存储单元的软比特值),将硬比特码字“1 1 1 0 0 0”(箭头A31)存储至硬比特缓冲区2172,并且将软比特码字“0 0 1 1 0 0”(箭头A32)存储至硬比特缓冲区2173(1)。接着,错误检查与校正电路214执行步骤S44。应注意的是,在此时间点,N等于2,i等于1。
接着,在步骤S45中,软信息管理电路2151判断i是否等于N。反应于判定i等于N,软信息管理电路2151执行步骤S47;反应于判定i不等于N,软信息管理电路2151执行步骤S46。在步骤S46中,软信息管理电路2151对i加1,并且接续至步骤S43。
在此例子中,由于i不等于N,i被加上1而成为2。即,软信息管理电路2151会选择2个左预设读取电压中的第2个左预设读取电压,与2个右预设读取电压中的第2个右预设读取电压来执行步骤S43。请参照图5,软信息管理电路2151更利用左预设读取电压VL(i)4’来获得左比特码字“1 0 0 0 0 0”(分别对应区域R1~R6的多个存储单元的左比特值),并且利用右预设读取电压VR(i)4’来获得右比特码字“1 1 1 1 1 0”(分别对应区域R1~R6的多个存储单元的右比特值)。接着,如箭头A50所示,软信息管理电路2151可根据左比特码字“10 0 0 0 0”与右比特码字“1 1 1 1 1 0”经由XOR运算来计算出软比特码字“0 1 1 1 1 0”(分别对应区域R1~R6的多个存储单元的软比特值),并且将软比特码字“0 1 1 1 1 0”存储至另一软比特缓冲区2173(2)(如箭头A51所示)。流程接续至步骤S44与步骤S45。
此时,在步骤S45中,软信息管理电路2151会判定i等于N(因i等于2),并且接续执行步骤S47。例如,软信息管理电路2151根据硬比特码字“1 1 1 0 0 0”、软比特码字“0 0 11 0 0”与软比特码字“0 1 1 1 1 0”来组成软信息“100 101 111 011 001 000”(分别对应区域R1~R6的多个存储单元的软信息)(步骤S47)。例如,属于对应软信息索引“2”的区域R2的存储单元的软信息为“101”。
在此另一实施例中,每个存储单元的软信息的比特值总数为“3”,其等于N+1,但本发明不限于此。厂商可根据需求来自行设定每个存储单元的软信息的比特值总数,并且对应地设定N的值。
值得一提的是,在上述的多个实施例中,上述读取辅助电路单元215是以硬件电路的方式来实施,但本发明不限于此。例如,在一实施例中,读取辅助电路单元215可以软体的方式实施为具有读取辅助电路单元215的功能的读取辅助程序码模块。读取辅助程序码模块可包括软信息管理程序码模块与LLR表校正程序码模块。所述软信息管理程序码模块为具有软信息管理电路2151的功能的程序码模块;所述LLR表校正程序码模块为具有LLR表校正电路的功能的程序码模块。所述处理器211可存取且执行读取辅助程序码模块(或软信息管理程序码模块与LLR表校正程序码模块)来实施本发明所提供的数据读取方法(或读取辅助方法)。
综上所述,本发明实施例所提供的数据读取方法、存储控制器及存储装置,可在不需要准备已验证数据的情况下,对任何已程序化的目标字线执行对应所述目标字线的目标实体页面的读取辅助操作。在所述读取辅助操作中,可在不需要准备已验证数据的情况下,利用对应特定实体页面所存储的码字(所述码字非预设数据或已知的验证数据)的软信息与对应所述码字的具有最小的校验子的信任码字来校正迭代解码操作的对数似然比表,以强化对于特定实体页面所存储的码字的解码操作的正确率。如此一来,可增进从所述目标字线所读取数据的正确性与可靠度,以降低对所读取数据所执行的解码操作的负荷,进而增进了数据读取操作整体的效率。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。
Claims (17)
1.一种数据读取方法,适用于配置有可复写式非易失性存储器模块的存储装置,其中所述可复写式非易失性存储器模块具有多个字线,其中所述多个字线的每一个字线耦接至多个存储单元,其中所述多个存储单元中的每一个存储单元包括多个实体页面,并且所述多个实体页面中的每一个实体页面用以被程序化为比特值,所述方法包括:
使用预设读取电压对目标字线的目标实体页面所存储的目标码字执行读取操作,以获得硬比特码字,其中所述硬比特码字被存储至硬比特缓冲区,其中所述目标实体页面的多个目标存储单元用以分别存储所述目标码字的多个目标比特值;
对所述硬比特码字执行迭代解码操作,以获得对应所述硬比特码字的已解码硬比特码字与对应所述已解码硬比特码字的硬比特校验子,其中反应于判定所述硬比特校验子为最小的校验子,所述已解码硬比特码字与所述硬比特校验子被存储至信任缓冲区以成为信任码字与信任校验子;
反应于所述信任校验子的多个比特值不皆为零,执行下列步骤:
分别使用对应所述预设读取电压的左预设读取电压组与右预设读取电压组读取所述目标码字,以获得左比特码字、右比特码字与对应所述左比特码字与所述右比特码字的软比特码字,其中所述软比特码字被存储至软比特缓冲区;
分别对所述左比特码字与所述右比特码字执行迭代解码操作,以获得对应所述左比特码字的已解码左比特码字与对应所述已解码左比特码字的左比特校验子以及对应所述右比特码字的已解码右比特码字与对应所述已解码右比特码字的左比特校验子,
使用所述硬比特码字与所述软比特码字来组成对应所述目标码字的软信息,并且使用所述软信息与所述信任码字来对所述迭代解码操作的对数似然比表执行校正操作,以将所述对数似然比表更新为校正后对数似然比表;以及
根据所述校正后对数似然比表来对所述软信息执行所述迭代解码操作,以获得对应所述读取操作的最终已解码码字,进而完成所述读取操作,其中所述最终已解码码字的多个比特值用以代表所存储的所述目标码字的所述多个目标比特值。
2.根据权利要求1所述的数据读取方法,所述方法还包括:
反应于判定所述左比特校验子为最小的校验子,所述已解码左比特码字与所述左比特校验子被存储至所述信任缓冲区以更新所述信任码字与所述信任校验子,
其中反应于判定所述右比特校验子为最小的校验子,所述已解码右比特码字与所述右比特校验子被存储至所述信任缓冲区以更新所述信任码字与所述信任校验子。
3.根据权利要求2所述的数据读取方法,其中反应于所述信任校验子的多个比特值皆为零,所述方法还包括:
将所述信任码字作为对应所述读取操作的所述最终已解码码字,以完成所述读取操作。
4.根据权利要求1所述的数据读取方法,其中在获得所述最终已解码码字后,所述方法还包括:
使用所述软信息与所述最终已解码码字来对所述迭代解码操作的对数似然比表再次执行所述校正操作,以再次更新所述迭代解码操作的所述校正后对数似然比表。
5.根据权利要求1所述的数据读取方法,其中在更新所述校正后对数似然比表后,所述方法还包括:
根据所述校正后对数似然比表再执行一次所述对所述软信息执行所述迭代解码操作,以获得对应所述硬比特码字的所述已解码硬比特码字与对应所述已解码硬比特码字的所述硬比特校验子的步骤。
6.根据权利要求1所述的数据读取方法,其中
对应所述预设读取电压的所述左预设读取电压的电压值为所述预设读取电压的电压值减去第一预设电压偏离值,
其中对应所述预设读取电压的所述右预设读取电压的电压值为所述预设读取电压的所述电压值加上第二预设电压偏离值。
7.根据权利要求6所述的数据读取方法,其中所述第一预设电压偏离值等于所述第二预设电压偏离值。
8.根据权利要求7所述的数据读取方法,其中所述分别使用对应所述预设读取电压的所述左预设读取电压组与所述右预设读取电压组读取所述目标码字,以获得所述左比特码字、所述右比特码字与对应所述左比特码字与所述右比特码字的所述软比特码字的步骤包括:
使用左辅助读取电压来读取所述目标实体页面所存储的所述目标码字,以获得所述多个目标存储单元各自的左比特值,其中所述多个目标存储单元的多个左比特值构成了所述左比特码字;
使用右辅助读取电压来读取所述目标实体页面所存储的,以获得所述多个目标存储单元各自的右比特值,其中所述多个目标存储单元的多个右比特值构成了所述右比特码字;以及
对所述多个目标存储单元各自的所述左比特值与所述右比特值执行XOR运算或XNOR运算,并且将所获得的对应所述XOR运算的第一运算结果或对应所述XNOR运算的第二运算结果作为所述多个目标存储单元各自的软比特值,其中所述多个目标存储单元的多个软比特值构成了所述软比特码字。
9.一种存储控制器,用于控制配置有可复写式非易失性存储器模块的存储装置,所述存储控制器包括:
连接接口电路,用以耦接至主机***;
存储器接口控制电路,用以耦接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个字线,其中所述多个字线的每一个字线耦接至多个存储单元,其中所述多个存储单元中的每一个存储单元包括多个实体页面,并且所述多个实体页面中的每一个实体页面用以被程序化为比特值;
读取辅助电路单元;
错误检查与校正电路;以及
处理器,耦接至所述连接接口电路、所述存储器接口控制电路、所述读取辅助电路单元及所述错误检查与校正电路,
其中所述处理器用以选择所述可复写式非易失性存储器模块的所述多个字线中的目标字线,并且选择所述目标字线中的目标实体页面,
其中所述读取辅助电路单元用以使用预设读取电压对目标实体页面所存储的目标码字执行读取操作,以获得硬比特码字,其中所述硬比特码字被存储至硬比特缓冲区,其中所述目标实体页面的多个目标存储单元用以分别存储所述目标码字的多个目标比特值,
其中所述错误检查与校正电路还用以对所述硬比特码字执行迭代解码操作,以获得对应所述硬比特码字的已解码硬比特码字与对应所述已解码硬比特码字的硬比特校验子,其中反应于判定所述硬比特校验子为最小的校验子,所述已解码硬比特码字与所述硬比特校验子被所述错误检查与校正电路存储至所述读取辅助电路单元的信任缓冲区以成为信任码字与信任校验子,
其中反应于所述信任校验子的多个比特值不皆为零,所述读取操作还包括下列运作:
所述读取辅助电路单元用以分别使用对应所述预设读取电压的左预设读取电压组与右预设读取电压组读取所述目标码字,以获得左比特码字、右比特码字与对应所述左比特码字与所述右比特码字的软比特码字,其中所述软比特码字被存储至所述读取辅助电路单元的软比特缓冲区,
其中所述错误检查与校正电路用以分别对所述左比特码字与所述右比特码字执行迭代解码操作,以获得对应所述左比特码字的已解码左比特码字与对应所述已解码左比特码字的左比特校验子以及对应所述右比特码字的已解码右比特码字与对应所述已解码右比特码字的左比特校验子,
其中所述读取辅助电路单元用以使用所述硬比特码字与所述软比特码字来组成对应所述目标码字的软信息,并且使用所述软信息与所述信任码字来对所述迭代解码操作的对数似然比表执行校正操作,以将所述对数似然比表更新为校正后对数似然比表,
其中所述错误检查与校正电路还用以根据所述校正后对数似然比表来对所述软信息执行所述迭代解码操作,以获得对应所述读取操作的最终已解码码字,进而完成所述读取操作,其中所述最终已解码码字的多个比特值用以代表所存储的所述目标码字的所述多个目标比特值。
10.根据权利要求9所述的存储控制器,其中
反应于判定所述左比特校验子为最小的校验子,所述错误检查与校正电路存储所述已解码左比特码字与所述左比特校验子至所述信任缓冲区以更新所述信任码字与所述信任校验子,
其中反应于判定所述右比特校验子为最小的校验子,所述错误检查与校正电路存储所述已解码右比特码字与所述右比特校验子至所述信任缓冲区以更新所述信任码字与所述信任校验子。
11.根据权利要求10所述的存储控制器,其中反应于所述信任校验子的多个比特值皆为零,
所述读取辅助电路单元将所述信任码字作为对应所述读取操作的所述最终已解码码字,以完成所述读取操作。
12.根据权利要求9所述的存储控制器,其中在获得所述最终已解码码字后,
所述读取辅助电路单元使用所述软信息与所述最终已解码码字来对所述迭代解码操作的对数似然比表再次执行所述校正操作,以再次更新所述迭代解码操作的所述校正后对数似然比表。
13.根据权利要求9所述的存储控制器,其中在更新所述校正后对数似然比表后,
所述错误检查与校正电路根据所述校正后对数似然比表再执行一次所述对所述软信息执行所述迭代解码操作,以获得对应所述硬比特码字的所述已解码硬比特码字与对应所述已解码硬比特码字的所述硬比特校验子的运作。
14.根据权利要求9所述的存储控制器,其中
对应所述预设读取电压的所述左预设读取电压的电压值为所述预设读取电压的电压值减去第一预设电压偏离值,
其中对应所述预设读取电压的所述右预设读取电压的电压值为所述预设读取电压的所述电压值加上第二预设电压偏离值。
15.根据权利要求14所述的存储控制器,其中所述第一预设电压偏离值等于所述第二预设电压偏离值。
16.根据权利要求15所述的存储控制器,其中在所述读取辅助电路单元用以分别使用对应所述预设读取电压的所述左预设读取电压组与所述右预设读取电压组读取所述目标码字,以获得所述左比特码字、所述右比特码字与对应所述左比特码字与所述右比特码字的所述软比特码字的运作中,
所述读取辅助电路单元使用左辅助读取电压来读取所述目标实体页面所存储的所述目标码字,以获得所述多个目标存储单元各自的左比特值,其中所述多个目标存储单元的多个左比特值构成了所述左比特码字,
其中所述读取辅助电路单元使用右辅助读取电压来读取所述目标实体页面所存储的,以获得所述多个目标存储单元各自的右比特值,其中所述多个目标存储单元的多个右比特值构成了所述右比特码字,
其中所述读取辅助电路单元对所述多个目标存储单元各自的所述左比特值与所述右比特值执行XOR运算或XNOR运算,并且将所获得的对应所述XOR运算的第一运算结果或对应所述XNOR运算的第二运算结果作为所述多个目标存储单元各自的软比特值,其中所述多个目标存储单元的多个软比特值构成了所述软比特码字。
17.一种存储装置,所述存储装置包括:
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个字线,其中每一所述多个字线耦接至多个存储单元,其中所述多个存储单元中的每一个存储单元包括多个实体页面,并且所述多个实体页面中的每一个实体页面用以被程序化为比特值;
存储器接口控制电路,用以耦接至所述可复写式非易失性存储器模块;以及
处理器,耦接至所述存储器接口控制电路,其中所述处理器载入且执行读取辅助程序码模块,以实现数据读取方法,所述数据读取方法包括下列步骤:
使用预设读取电压对目标字线的目标实体页面所存储的目标码字执行读取操作,以获得硬比特码字,其中所述硬比特码字被存储至硬比特缓冲区,其中所述目标实体页面的多个目标存储单元用以分别存储所述目标码字的多个目标比特值,其中所述目标字线从所述可复写式非易失性存储器模块的所述多个字线中被选择;
对所述硬比特码字执行迭代解码操作,以获得对应所述硬比特码字的已解码硬比特码字与对应所述已解码硬比特码字的硬比特校验子,其中反应于判定所述硬比特校验子为最小的校验子,所述已解码硬比特码字与所述硬比特校验子被存储至信任缓冲区以成为信任码字与信任校验子;
反应于所述信任校验子的多个比特值不皆为零,执行下列步骤:
分别使用对应所述预设读取电压的左预设读取电压组与右预设读取电压组读取所述目标码字,以获得左比特码字、右比特码字与对应所述左比特码字与所述右比特码字的软比特码字,其中所述软比特码字被存储至软比特缓冲区;
分别对所述左比特码字与所述右比特码字执行迭代解码操作,以获得对应所述左比特码字的已解码左比特码字与对应所述已解码左比特码字的左比特校验子以及对应所述右比特码字的已解码右比特码字与对应所述已解码右比特码字的左比特校验子,
使用所述硬比特码字与所述软比特码字来组成对应所述目标码字的软信息,并且使用所述软信息与所述信任码字来对所述迭代解码操作的对数似然比表执行校正操作,以将所述对数似然比表更新为校正后对数似然比表;以及
根据所述校正后对数似然比表来对所述软信息执行所述迭代解码操作,以获得对应所述读取操作的最终已解码码字,进而完成所述读取操作,其中所述最终已解码码字的多个比特值用以代表所存储的所述目标码字的所述多个目标比特值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910281488.2A CN111796961A (zh) | 2019-04-09 | 2019-04-09 | 数据读取方法、存储控制器与存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910281488.2A CN111796961A (zh) | 2019-04-09 | 2019-04-09 | 数据读取方法、存储控制器与存储装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111796961A true CN111796961A (zh) | 2020-10-20 |
Family
ID=72805723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910281488.2A Pending CN111796961A (zh) | 2019-04-09 | 2019-04-09 | 数据读取方法、存储控制器与存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111796961A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070079223A1 (en) * | 2005-03-22 | 2007-04-05 | Fondazione Torino Wireless | Method and system for information processing |
US20090086855A1 (en) * | 2007-09-28 | 2009-04-02 | Cisco Technology, Inc. | Link adaptation based on generic cinr measurement according to log-likelihood ratio distribution |
CN102314949A (zh) * | 2010-07-05 | 2012-01-11 | 群联电子股份有限公司 | 数据读取方法、控制电路与存储器控制器 |
CN104040504A (zh) * | 2011-11-07 | 2014-09-10 | 桑迪士克企业知识产权有限责任公司 | 用于存储器***的软信息生成 |
-
2019
- 2019-04-09 CN CN201910281488.2A patent/CN111796961A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070079223A1 (en) * | 2005-03-22 | 2007-04-05 | Fondazione Torino Wireless | Method and system for information processing |
US20090086855A1 (en) * | 2007-09-28 | 2009-04-02 | Cisco Technology, Inc. | Link adaptation based on generic cinr measurement according to log-likelihood ratio distribution |
CN102314949A (zh) * | 2010-07-05 | 2012-01-11 | 群联电子股份有限公司 | 数据读取方法、控制电路与存储器控制器 |
CN104040504A (zh) * | 2011-11-07 | 2014-09-10 | 桑迪士克企业知识产权有限责任公司 | 用于存储器***的软信息生成 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11386952B2 (en) | Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell | |
US10768855B1 (en) | Data reading method, storage controller and storage device | |
TWI686804B (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
US9934087B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
US10977116B2 (en) | Data access method, memory control circuit unit and memory storage device | |
US10522234B2 (en) | Bit tagging method, memory control circuit unit and memory storage device | |
US10803973B2 (en) | Memory management method and storage controller | |
TW202029188A (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
TW202042242A (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
TWI691963B (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
US11190217B2 (en) | Data writing method, memory controlling circuit unit and memory storage device | |
TWI717171B (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
CN111796961A (zh) | 数据读取方法、存储控制器与存储装置 | |
CN111913829B (zh) | 数据读取方法、存储控制器与存储装置 | |
CN110874281B (zh) | 存储器管理方法以及存储控制器 | |
CN113138947B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN111798889A (zh) | 数据读取方法、存储控制器与存储装置 | |
TWI836877B (zh) | 讀取電壓校正方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110391815B (zh) | 解码方法及储存控制器 | |
US11145372B2 (en) | Decoding method, memory controlling circuit unit, and memory storage device | |
CN113496752B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN111258791B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN112634972B (zh) | 电压识别方法、存储器控制电路单元以及存储器储存装置 | |
CN110795268B (zh) | 比特判断方法、存储器控制电路单元以及存储器存储装置 | |
CN111459704B (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 |