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

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

Info

Publication number
CN117079691A
CN117079691A CN202311089433.4A CN202311089433A CN117079691A CN 117079691 A CN117079691 A CN 117079691A CN 202311089433 A CN202311089433 A CN 202311089433A CN 117079691 A CN117079691 A CN 117079691A
Authority
CN
China
Prior art keywords
unit
decoding
entity
read
single frame
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
Application number
CN202311089433.4A
Other languages
English (en)
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 CN202311089433.4A priority Critical patent/CN117079691A/zh
Publication of CN117079691A publication Critical patent/CN117079691A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/08Address circuits; Decoders; Word-line control circuits
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种解码方法、存储器存储装置及存储器控制电路单元。所述包括:发送读取指令序列,其指示读取第一实体单元,且第一实体单元属于一实体单元群组;对从第一实体单元读取的第一数据帧执行第一单帧解码;在第一单帧解码失败且预设条件未被满足的情况下,获得对应于所述实体单元群组的第一错误评估信息,其中所述预设条件用以触发对所述实体单元群组的多帧解码;以及根据第一错误评估信息对第一数据帧执行第二单帧解码,从而提升解码效率。

Description

解码方法、存储器存储装置及存储器控制电路单元
技术领域
本发明涉及一种解码技术,尤其涉及一种解码方法、存储器存储装置及存储器控制电路单元。
背景技术
移动电话与笔记本计算机等可携式电子装置在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatile memory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式电子装置中。
部分类型的存储器存储装置支援针对单一数据帧的单帧解码与针对多个数据帧的多帧解码。例如,在一般情况下,可通过单帧解码来更正单一数据帧中的错误。在某一数据帧中的错误比特较多使得单帧解码失败时,则可进一步通过多帧解码来搭配同一个编码群组中的其他的数据帧对目标数据帧中的错误进行更正。但是,一旦同一个编码群组中无法通过单帧解码来更正的数据帧过多,则针对该编码群组的多帧解码也无法保证可完全更正目标数据帧中的错误,从而导致解码效率降低。
发明内容
本发明提供一种解码方法、存储器存储装置及存储器控制电路单元,可提升解码效率。
本发明的范例实施例提供一种解码方法,其用于可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个实体单元。所述解码方法包括:发送读取指令序列,其中所述读取指令序列指示读取所述多个实体单元中的第一实体单元,且所述第一实体单元属于一实体单元群组;对从所述第一实体单元读取的第一数据帧执行第一单帧解码;在所述第一单帧解码失败且预设条件未被满足的情况下,获得对应于所述实体单元群组的第一错误评估信息,其中所述预设条件用以触发对所述实体单元群组的多帧解码,且所述第一错误评估信息与所述实体单元群组的比特错误率有关;以及根据所述第一错误评估信息对所述第一数据帧执行第二单帧解码。
在本发明的范例实施例中,所述的解码方法还包括:响应于所述第二单帧解码失败,根据所述第一错误评估信息对从所述多个实体单元中的第二实体单元读取的第二数据帧执行第三单帧解码,其中所述第二实体单元属于所述实体单元群组;响应于所述第三单帧解码成功,根据所述第三单帧解码的解码结果更新所述第一错误评估信息;以及根据更新后的所述第一错误评估信息,对所述第一数据帧执行第四单帧解码。
在本发明的范例实施例中,所述读取指令序列非指示读取所述第二实体单元。
在本发明的范例实施例中,所述的解码方法还包括:获得对应于所述实体单元群组中的至少一候选实体单元的第二错误评估信息,其中所述至少一候选实体单元不包括所述第一实体单元;以及根据所述第二错误评估信息从所述至少一候选实体单元中决定所述第二实体单元。
在本发明的范例实施例中,所述的解码方法还包括:响应于所述第二单帧解码成功,根据所述第二单帧解码的解码结果更新所述第一错误评估信息;以及根据更新后的所述第一错误评估信息,对从所述多个实体单元中的第三实体单元读取的第三数据帧执行第五单帧解码,其中所述第三实体单元属于所述实体单元群组。
在本发明的范例实施例中,所述读取指令序列非指示读取所述第三实体单元。
在本发明的范例实施例中,所述的解码方法更包括:响应于所述第五单帧解码成功,将更正后的所述第三数据帧存储至所述多个实体单元中的第四实体单元;将所述第四实体单元加入至所述实体单元群组中;以及将所述第三实体单元从所述实体单元群组移除。
在本发明的范例实施例中,所述的解码方法还包括:响应于从所述实体单元群组中的任一实体单元读取的数据帧被成功解码,更新一计数值;响应于所述计数值达到临界值,判定所述预设条件被满足;以及响应于所述预设条件被满足,执行所述多帧解码。
本发明的范例实施例另提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以连接至主机系统。所述可复写式非易失性存储器模块包括多个实体单元。所述存储器控制电路单元连接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以:发送读取指令序列,其中所述读取指令序列指示读取所述多个实体单元中的第一实体单元,且所述第一实体单元属于一实体单元群组;对从所述第一实体单元读取的第一数据帧执行第一单帧解码;在所述第一单帧解码失败且预设条件未被满足的情况下,获得对应于所述实体单元群组的第一错误评估信息,其中所述预设条件用以触发对所述实体单元群组的多帧解码,且所述第一错误评估信息与所述实体单元群组的比特错误率有关;以及根据所述第一错误评估信息对所述第一数据帧执行第二单帧解码。
在本发明的范例实施例中,所述存储器控制电路单元更用以:响应于所述第二单帧解码失败,根据所述第一错误评估信息对从所述多个实体单元中的第二实体单元读取的第二数据帧执行第三单帧解码,其中所述第二实体单元属于所述实体单元群组;响应于所述第三单帧解码成功,根据所述第三单帧解码的解码结果更新所述第一错误评估信息;以及根据更新后的所述第一错误评估信息,对所述第一数据帧执行第四单帧解码。
在本发明的范例实施例中,所述存储器控制电路单元更用以:获得对应于所述实体单元群组中的至少一候选实体单元的第二错误评估信息,其中所述至少一候选实体单元不包括所述第一实体单元;以及根据所述第二错误评估信息从所述至少一候选实体单元中决定所述第二实体单元。
在本发明的范例实施例中,所述存储器控制电路单元更用以:响应于所述第二单帧解码成功,根据所述第二单帧解码的解码结果更新所述第一错误评估信息;以及根据更新后的所述第一错误评估信息,对从所述多个实体单元中的第三实体单元读取的第三数据帧执行第五单帧解码,其中所述第三实体单元属于所述实体单元群组。
在本发明的范例实施例中,所述存储器控制电路单元更用以:响应于所述第五单帧解码成功,指示将更正后的所述第三数据帧存储至所述多个实体单元中的第四实体单元;将所述第四实体单元加入至所述实体单元群组中;以及将所述第三实体单元从所述实体单元群组移除。
在本发明的范例实施例中,所述存储器控制电路单元更用以:响应于从所述实体单元群组中的任一实体单元读取的数据帧被成功解码,更新一计数值;以及响应于所述计数值达到临界值,判定所述预设条件被满足;以及响应于所述预设条件被满足,执行所述多帧解码。
本发明的范例实施例另提供一种存储器控制电路单元,其用以控制可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个实体单元。所述存储器控制电路单元包括主机接口、存储器接口、解码电路及存储器管理电路。所述主机接口用以连接至主机系统。所述存储器接口用以连接至所述可复写式非易失性存储器模块。所述存储器管理电路连接至所述主机接口、所述存储器接口及所述解码电路。所述存储器管理电路用以发送读取指令序列,其中所述读取指令序列指示读取所述多个实体单元中的第一实体单元,且所述第一实体单元属于一实体单元群组。所述解码电路用以对从所述第一实体单元读取的第一数据帧执行第一单帧解码。所述存储器管理电路更用以在所述第一单帧解码失败且预设条件未被满足的情况下,获得对应于所述实体单元群组的第一错误评估信息,其中所述预设条件用以触发对所述实体单元群组的多帧解码,且所述第一错误评估信息与所述实体单元群组的比特错误率有关。所述解码电路更用以根据所述第一错误评估信息对所述第一数据帧执行第二单帧解码。
在本发明的范例实施例中,所述解码电路更用以响应于所述第二单帧解码失败,根据所述第一错误评估信息对从所述多个实体单元中的第二实体单元读取的第二数据帧执行第三单帧解码,所述第二实体单元属于所述实体单元群组。所述存储器管理电路更用以响应于所述第三单帧解码成功,根据所述第三单帧解码的解码结果更新所述第一错误评估信息。所述解码电路更用以根据更新后的所述第一错误评估信息,对所述第一数据帧执行第四单帧解码。
在本发明的范例实施例中,所述存储器管理电路更用以:获得对应于所述实体单元群组中的至少一候选实体单元的第二错误评估信息,其中所述至少一候选实体单元不包括所述第一实体单元;以及根据所述第二错误评估信息从所述至少一候选实体单元中决定所述第二实体单元。
在本发明的范例实施例中,所述存储器管理电路更用以响应于所述第二单帧解码成功,根据所述第二单帧解码的解码结果更新所述第一错误评估信息。所述解码电路更用以根据更新后的所述第一错误评估信息,对从所述多个实体单元中的第三实体单元读取的第三数据帧执行第五单帧解码,其中所述第三实体单元属于所述实体单元群组。
在本发明的范例实施例中,所述存储器管理电路更用以:响应于所述第五单帧解码成功,指示将更正后的所述第三数据帧存储至所述多个实体单元中的第四实体单元;将所述第四实体单元加入至所述实体单元群组中;以及将所述第三实体单元从所述实体单元群组移除。
在本发明的范例实施例中,所述存储器管理电路更用以:响应于从所述实体单元群组中的任一实体单元读取的数据帧被成功解码,更新一计数值;以及响应于所述计数值达到临界值,判定所述预设条件被满足;以及响应于所述预设条件被满足,指示所述解码电路执行所述多帧解码。
基于上述,在发送指示读取一实体单元群组中的第一实体单元的读取指令序列后,可对从第一实体单元读取的第一数据帧执行第一单帧解码。接着,在第一单帧解码失败且预设条件未被满足的情况下,对应于所述实体单元群组的第一错误评估信息可被获得。所述预设条件用以触发对所述实体单元群组的多帧解码,且所述第一错误评估信息与所述实体单元群组的比特错误率有关。然后,可根据第一错误评估信息对第一数据帧执行第二单帧解码。藉此,可有效提升解码效率。
附图说明
图1是根据本发明的范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的范例实施例所示出的存储器存储装置的示意图;
图5是根据本发明的范例实施例所示出的存储器控制电路单元的示意图;
图6是根据本发明的范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图7是根据本发明的范例实施例所示出的多帧编码的示意图;
图8是根据本发明的范例实施例所示出的获得用来表示第一实体单元群组中的UECC帧的总数的计数值的示意图;
图9是根据本发明的范例实施例所示出的获得第一错误评估信息的示意图;
图10是根据本发明的范例实施例所示出的存储单元的临界电压分布的示意图;
图11是根据本发明的范例实施例所示出的可靠度信息表格的示意图;
图12是根据本发明的范例实施例所示出的解码方法的流程图;
图13与图14是根据本发明的范例实施例所示出的解码方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(亦称,控制电路)。存储器存储装置可与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
请参照图1与图2,主机系统11可包括处理器111、随机存取存储器(random accessmemory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114可连接至系统总线(systembus)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 Field Communication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110连接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、萤幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,主机系统11为计算机系统。在一范例实施例中,主机系统11可为可实质地与存储器存储装置配合以存储数据的任意系统。在一范例实施例中,存储器存储装置10与主机系统11可分别包括图3的存储器存储装置30与主机系统31。
图3是根据本发明的范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,存储器存储装置30可与主机系统31搭配使用以存储数据。例如,主机系统31可以是数码相机、摄像机、通信装置、音频播放器、视频播放器或平板计算机等系统。例如,存储器存储装置30可为主机系统31所使用的安全数位(Secure Digital,SD)卡32、小型快闪(Compact Flash,CF)卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded Multi Media Card,eMMC)341和/或嵌入式多芯片封装(embedded Multi Chip Package,eMCP)存储装置342等各类型将存储器模块直接连接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的范例实施例所示出的存储器存储装置的示意图。请参照图4,存储器存储装置10包括连接接口单元41、存储器控制电路单元42及可复写式非易失性存储器模块43。
连接接口单元41用以将存储器存储装置10连接主机系统11。存储器存储装置10可经由连接接口单元41与主机系统11通信。在一范例实施例中,连接接口单元41是相容于快速外设部件互连(Peripheral Component Interconnect Express,PCI Express)标准。然而,必须了解的是,本发明不限于此,连接接口单元41亦可以是符合串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准、并行高级技术附件(ParallelAdvanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute ofElectrical and Electronic Engineers,IEEE)1394标准、通用串行总线(UniversalSerial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、MCP接口标准、MMC接口标准、eMMC接口标准、通用快闪存储器(Universal FlashStorage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(IntegratedDevice Electronics,IDE)标准或其他适合的标准。连接接口单元41可与存储器控制电路单元42封装在一个芯片中,或者连接接口单元41是布设于一包含存储器控制电路单元42的芯片外。
存储器控制电路单元42连接至连接接口单元41与可复写式非易失性存储器模块43。存储器控制电路单元42用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块43中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块43用以存储主机系统11所写入的数据。可复写式非易失性存储器模块43可包括单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、二阶存储单元(Multi LevelCell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、四阶存储单元(Quad Level Cell,QLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块43中的每一个存储单元是以电压(以下亦称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制门(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制门,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块43中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个比特。
在一范例实施例中,可复写式非易失性存储器模块43的存储单元可构成多个实体程序化单元,并且此些实体程序化单元可构成多个实体抹除单元。具体来说,同一条字线上的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字线上的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效比特(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效比特(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
在一范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元可为实体页(page)或是实体扇(sector)。若实体程序化单元为实体页,则此些实体程序化单元可包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储用户数据,而冗余比特区用以存储系统数据(例如,错误更正码等管理数据)。在一范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。例如,实体抹除单元为实体区块(block)。
图5是根据本发明的范例实施例所示出的存储器控制电路单元的示意图。请参照图5,存储器控制电路单元42包括存储器管理电路51、主机接口52、存储器接口53及错误检查与校正电路54。
存储器管理电路51用以控制存储器控制电路单元42的整体运作。具体来说,存储器管理电路51具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路51的操作时,等同于说明存储器控制电路单元42的操作。
在一范例实施例中,存储器管理电路51的控制指令是以固件型式来实作。例如,存储器管理电路51具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在一范例实施例中,存储器管理电路51的控制指令亦可以程序码型式存储于可复写式非易失性存储器模块43的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路51具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元42被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块43中的控制指令载入至存储器管理电路51的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
在一范例实施例中,存储器管理电路51的控制指令亦可以一硬件型式来实作。例如,存储器管理电路51包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块43的存储单元或存储单元群组。存储器写入电路用以对可复写式非易失性存储器模块43下达写入指令序列以将数据写入至可复写式非易失性存储器模块43中。存储器读取电路用以对可复写式非易失性存储器模块43下达读取指令序列以从可复写式非易失性存储器模块43中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块43下达抹除指令序列以将数据从可复写式非易失性存储器模块43中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块43的数据以及从可复写式非易失性存储器模块43中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性存储器模块43执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路51还可以下达其他类型的指令序列给可复写式非易失性存储器模块43以指示执行相对应的操作。
主机接口52是连接至存储器管理电路51。存储器管理电路51可通过主机接口52与主机系统11通信。主机接口52可用以接收与识别主机系统11所传送的指令与数据。例如,主机系统11所传送的指令与数据可通过主机接口52来传送至存储器管理电路51。此外,存储器管理电路51可通过主机接口52将数据传送至主机系统11。在本范例实施例中,主机接口52是相容于PCI Express标准。然而,必须了解的是本发明不限于此,主机接口52亦可以是相容于SATA标准、PATA标准、IEEE 1394标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口53是连接至存储器管理电路51并且用以存取可复写式非易失性存储器模块43。例如,存储器管理电路51可通过存储器接口53存取可复写式非易失性存储器模块43。也就是说,欲写入至可复写式非易失性存储器模块43的数据会经由存储器接口53转换为可复写式非易失性存储器模块43所能接受的格式。具体来说,若存储器管理电路51要存取可复写式非易失性存储器模块43,存储器接口53会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收(Garbage Collection,GC)操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路51产生并且通过存储器接口53传送至可复写式非易失性存储器模块43。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
错误检查与校正电路54是连接至存储器管理电路51并且用以执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器管理电路51从主机系统11中接收到写入指令时,错误检查与校正电路54会为对应此写入指令的数据产生对应的错误更正码(errorcorrecting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路51会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块43中。之后,当存储器管理电路51从可复写式非易失性存储器模块43中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路54会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。例如,错误检查与校正电路54可支援低密度奇偶检查码(Low Density Parity Checkcode,LDPC code)、BCH码、里德-所罗门码(Reed-solomon code,RS code)、互斥或(Exclusive OR,XOR)码等各式编/解码演算法。
错误检查与校正电路54执行编/解码的基本单位是一个帧(frame)(亦称为数据帧)。一个帧可包括多个数据比特。在一范例实施例中,一个帧包括256个比特。然而,在另一范例实施例中,一个帧也可以包括更多(例如4K bytes)或更少的比特。
错误检查与校正电路54可对单一帧中的数据进行单帧(single-frame)编码与解码,且错误检查与校正电路54也可以针对多个帧中的数据进行多帧(multi-frame)编码与解码。在一范例实施例中,错误检查与校正电路54是基于LDPC码来执行单帧编码与解码,且本发明不限于此。在一范例实施例中,错误检查与校正电路54是基于BCH码、RS码和/或XOR码来执行多帧编码与解码,且本发明不限于此。根据所采用的编/解码演算法,错误检查与校正电路54可以编码欲保护的数据来产生相对应的错误更正码和/或错误检查码。尔后,经由编码产生的错误更正码和/或错误检查码可用来更正欲保护的数据中的错误。为了说明方便,以下将经由编码产生的错误更正码和/或错误检查码统称为奇偶(parity)数据。
在一范例实施例中,存储器控制电路单元42还包括缓冲存储器55与电源管理电路56。缓冲存储器55是连接至存储器管理电路51并且用以暂存数据。电源管理电路56是连接至存储器管理电路51并且用以控制存储器存储装置10的电源。
在一范例实施例中,图4的可复写式非易失性存储器模块43可包括快闪存储器模块。在一范例实施例中,图4的存储器控制电路单元42可包括快闪存储器控制器。在一范例实施例中,图5的存储器管理电路51可包括快闪存储器管理电路。
图6是根据本发明的范例实施例所示出的管理可复写式非易失性存储器模块的示意图。请参照图6,存储器管理电路51可将可复写式非易失性存储器模块43中的实体单元610(0)~610(B)逻辑地分组至存储区601与闲置(spare)区602。
在一范例实施例中,一个实体单元是指一个实体地址或一个实体程序化单元。在一范例实施例中,一个实体单元亦可以是由多个连续或不连续的实体地址组成。在一范例实施例中,一个实体单元亦可以是指一个虚拟区块(VB)。一个虚拟区块可包括多个实体地址或多个实体程序化单元。在一范例实施例中,一个虚拟区块亦可包括一或多个实体抹除单元。
存储区601中的实体单元610(0)~610(A)用以存储用户数据(例如来自图1的主机系统11的用户数据)。例如,存储区601中的实体单元610(0)~610(A)可存储有效(valid)数据与无效(invalid)数据。闲置区602中的实体单元610(A+1)~610(B)未存储数据(例如有效数据)。例如,若某一个实体单元未存储有效数据,则此实体单元可被关联(或加入)至闲置区602。此外,闲置区602中的实体单元(或未存储有效数据的实体单元)可被抹除。在写入新数据时,一或多个实体单元可被从闲置区602中提取以存储此新数据。在一范例实施例中,闲置区602亦称为闲置池(free pool)。
存储器管理电路51可配置逻辑单元612(0)~612(C)以映射存储区601中的实体单元610(0)~610(A)。在一范例实施例中,每一个逻辑单元对应一个逻辑地址。例如,一个逻辑地址可包括一或多个逻辑区块地址(Logical Block Address,LBA)或其他的逻辑管理单元。在一范例实施例中,一个逻辑单元也可对应一个逻辑程序化单元或者由多个连续或不连续的逻辑地址组成。
须注意的是,一个逻辑单元可被映射至一或多个实体单元。若某一实体单元当前有被某一逻辑单元映射,则表示此实体单元当前存储的数据包括有效数据。反之,若某一实体单元当前未被任一逻辑单元映射,则表示此实体单元当前存储的数据为无效数据。
存储器管理电路51可将描述逻辑单元与实体单元之间的映射关系的管理数据(亦称为逻辑至实体映射信息)记录于至少一逻辑至实体映射表。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路51可根据此逻辑至实体映射表中的信息来存取可复写式非易失性存储器模块43。
在一范例实施例中,存储器管理电路51可使用实体单元群组来管理实体单元610(0)~610(A)。一个实体单元群组可包含多个实体单元。一个实体单元群组可用以存储多个帧。一个实体单元可用以存储一或多个帧。单一个实体单元群组可包含相同(或不同)存储器平面、相同(或不同)存储器晶粒和/或相同(或不同)芯片致能(Chip Enabled,CE)区域中的实体单元。
在一范例实施例中,错误检查与校正电路54可对存储至某一实体单元群组的多个帧执行多帧编码,以通过所述多帧编码所产生的奇偶数据来保护此些帧中的数据。此外,错误检查与校正电路54可对从某一实体单元群组读取出来的多个帧执行多帧解码,以通过所述多帧编码所产生的奇偶数据来更正此些帧中的错误。
在一范例实施例中,错误检查与校正电路54可对存储至某一实体单元的单一个帧执行单帧编码,以通过所述单帧编码所产生的奇偶数据来保护此单一帧中的数据。此外,错误检查与校正电路54可对从某一实体单元读取出来的单一个帧执行单帧解码,以通过所述单帧编码所产生的奇偶数据来更正此单一帧中的错误。
图7是根据本发明的范例实施例所示出的多帧编码的示意图。请参照图7,帧710(1)~710(n)包含存储至某一实体单元群组中的数据。例如,此实体单元群组可包含图6中的多个实体单元。例如,帧710(k)包含欲存储至实体单元610(k)的数据,且k为介于1至n之间的整数。帧710(1)~710(n)中的数据可包含主机系统10所发送的写入指令所指示存储的数据。或者,帧710(1)~710(n)中的数据亦可包含从可复写式非易失性存储器模块43中读取并等待回存至可复写式非易失性存储器模块43的数据。
在一范例实施例中,错误检查与校正电路54可对帧710(1)~710(n)执行多帧编码,以产生帧710(p)。帧710(p)中的数据包含用以保护帧710(1)~710(n)的奇偶数据。例如,当对帧710(1)~710(n)执行多帧解码时,帧710(p)中的奇偶数据可用以检测和/或更正帧710(1)~710(n)中的错误。
在一范例实施例中,在多帧编码中,是以每一个比特(或字节)所在的位置为依据来对帧710(1)~710(n)中的数据进行编码。例如,位于位置701(1)的比特b(11)、b(21)、…、b(n1)可被编码以获得帧710(p)中的比特b(p1);位于位置701(2)的比特b(12)、b(22)、…、b(n2)可被编码以获得帧710(p)中的比特b(p2);以此类推,位于位置701(m)的比特b(1m)、b(2m)、…、b(nm)可被编码以获得帧710(p)中的比特b(pm)。尔后,在多帧解码中,帧710(p)中的比特(亦称为奇偶比特)可用以检测和/或更正帧710(1)~710(n)中的错误比特。例如,帧710(p)中的比特b(p2)可用以检测或更正位置701(2)中的一或多个错误比特。
须注意的是,在一范例实施例中,位置701(1)~701(m)的任一者所涵盖的多个比特的排列方式可能与图7所示的排列方式不同,本发明不加以限制。此外,在一范例实施例中,包含奇偶数据的帧710(p)的数目也可以是2个或更多,以提供不同或更佳的多帧解码能力,本发明不加以限制。
在一范例实施例中,错误检查与校正电路54可对帧710(1)~710(n)及710(p)中的帧710(j)执行单帧编码,以产生用以保护帧710(j)的奇偶数据,其中j为介于1至n之间的整数或j可为p。尔后,在单帧解码中,经由对帧710(j)执行单帧编码所产生的奇偶数据可用以检测和/或更正帧710(j)中的错误比特。
在一范例实施例中,帧710(p)中经由执行多帧编码而产生的奇偶数据亦称为容错式磁碟阵列(Redundant Array of Independent Disks,RAID)错误更正码。在一范例实施例中,帧710(1)~710(n)及710(p)亦可合并视为是一个区块码。帧710(1)~710(n)及710(p)可被存储至属于同一个实体单元群组的多个实体单元中。
在一范例实施例中,存储器管理电路51可发送读取指令序列。此读取指令序列可指示读取某一实体单元群组(亦称为第一实体单元群组)中的某一个实体单元(亦称为第一实体单元)。例如,存储器管理电路51可发送此读取指令序列至可复写式非易失性存储器模块43。可复写式非易失性存储器模块43可根据此读取指令序列将从第一实体单元中读取的数据回传给存储器管理电路51。错误检查与校正电路54中的解码电路可对包含所述数据的帧执行单帧解码。例如,若此帧中的数据是基于LDPC码来进行单帧编码,则解码电路可基于LDPC码来对此帧进行单帧解码。若此单帧解码成功(表示此帧中的数据是正确的和/或错误已被更正),则错误检查与校正电路54可输出解码成功的数据。
在一范例实施例中,存储器管理电路51可从主机系统11接收读取指令。此读取指令可指示读取属于特定逻辑单元(亦称为第一逻辑单元)的数据,且第一逻辑单元映射至第一实体单元。根据此读取指令,存储器管理电路51可发送所述读取指令序列至可复写式非易失性存储器模块43,以从第一实体单元中读取所述数据。
在一范例实施例中,在未从主机系统11接收读取指令的情况下,存储器管理电路51也可主动发送所述读取指令序列至可复写式非易失性存储器模块43,以从第一实体单元中读取所述数据。例如,在执行数据整并操作(例如垃圾回收操作)、执行损耗平衡(WearLeveling,WL)操作、处理读取干扰(read disturb)和/或处理数据维持(data retention)的期间,存储器管理电路51可主动从第一实体单元中读取所述数据。
在一范例实施例中,若前述单帧解码失败(表示此帧为单帧解码所无法更正的帧),则错误检查与校正电路54中的解码电路可在满足预设条件的情况下,对包含此帧的多个帧执行多帧解码。例如,在满足预设条件的情况下,若此帧原先是基于RS(或XOR)码来进行多帧编码,则错误检查与校正电路54可同样基于RS(或XOR)码来对此帧进行多帧解码。在一范例实施例中,单帧解码所无法更正的帧亦称为UECC帧。
须注意的是,在基于RS码的多帧解码中,待解码的多个帧中最多只能同时存在两个UECC帧。若待解码的多个帧中同时包含三个或更多UECC帧,则基于RS码的多帧解码将无法更正此些帧中的错误。类似的,在基于XOR码的多帧解码中,待解码的多个帧中最多只能同时存在一个UECC帧。若待解码的多个帧中同时包含两个或更多UECC帧,则基于XOR码的多帧解码将无法更正此些帧中的错误。
在一范例实施例中,在执行多帧解码之前,存储器管理电路51可判断一个预设条件是否被满足。此预设条件是用以触发对第一实体单元群组的多帧解码。在一范例实施例中,响应于此预设条件已被满足,存储器管理电路51可指示错误检查与校正电路54执行对第一实体单元群组的多帧解码。此外,若此预设条件未被满足,则存储器管理电路51可不允许执行所述多帧解码。藉此,可确保所执行的多帧解码的解码结果的正确性。
在一范例实施例中,存储器管理电路51可通过一个计数值来表示第一实体单元群组中的UECC帧的总数。例如,此计数值可等于第一实体单元群组中的UECC帧的总数。在一范例实施例中,响应于此计数值达到(例如小于或等于)一个临界值,存储器管理电路51可判定所述预设条件已被满足。此外,若此计数值未达到(例如大于)此临界值,则存储器管理电路51可判定所述预设条件未被满足。
图8是根据本发明的范例实施例所示出的获得用来表示第一实体单元群组中的UECC帧的总数的计数值的示意图。请参照图8,以帧810(1)~810(p)来表示从第一实体单元群组读取的多个帧。在对帧810(1)~810(p)各别执行单帧解码后,帧810(1)~810(p)中的UECC帧(例如帧810(i))可被记录,如图8所示。存储器管理电路51可统计帧810(1)~810(p)中UECC帧的总数并根据此总数来获得计数值N。亦即,计数值N可等于或反映帧810(1)~810(p)中的UECC帧的总数。
在一范例实施例中,假设错误检查与校正电路54是基于RS码来进行多帧编码与解码,则此临界值可设为“2”。因此,若计数值N小于或等于“2”,存储器管理电路51可判定所述预设条件已被满足。或者,在一范例实施例中,假设错误检查与校正电路54是基于XOR码来进行多帧编码与解码,则此临界值可设为“1”。因此,若计数值N等于“1”,存储器管理电路51可判定所述预设条件已被满足。
在一范例实施例中,错误检查与校正电路54中的解码电路可对从第一实体单元读取的帧(亦称为第一数据帧)执行单帧解码(亦称为第一单帧解码),以更正第一数据帧中的错误。在一范例实施例中,若第一单帧解码成功,存储器管理电路51可输出解码成功的数据。例如,存储器管理电路51可将解码成功的数据传送给主机系统11,以回应所述读取指令。或者,在数据整并操作(例如垃圾回收操作)、执行损耗平衡操作、处理读取干扰和/或处理数据维持的期间,存储器管理电路51可将解码成功的数据存储至特定的实体单元和/或对解码成功的数据执行相对应的操作。在一范例实施例中,若第一单帧解码失败,但所述预设条件已被满足,则解码电路可对第一数据帧执行多帧解码,以更正第一数据帧中的错误。
在一范例实施例中,在第一单帧解码失败且所述预设条件未被满足的情况下,存储器管理电路51可获得对应于第一实体单元群组的错误评估信息(亦称为第一错误评估信息)。第一错误评估信息与第一实体单元群组的比特错误率有关。例如,第一错误评估信息可概略反映从第一实体单元群组读取出来的数据所包含的错误比特的总数。然后,所述解码电路可根据第一错误评估信息对第一数据帧再次执行单帧解码(亦称为第二单帧解码),以尝试基于第一错误评估信息来更正第一数据帧中的错误。
在一范例实施例中,存储器管理电路51可根据第一错误评估信息获得或更新可靠度信息。例如,此可靠度信息可包括可于单帧解码中使用的对数相似性比值(LogLikelihood Ratio,LLR)。所述解码电路可根据此可靠度信息对第一数据帧执行第二单帧解码。需注意的是,在第二单帧解码中使用的可靠度信息是根据第一错误评估信息而动态获得或更新的,因此,相较于第一单帧解码,第二单帧解码可具有较高的解码成功率。亦即,相较于第一单帧解码,第二单帧解码有较高的机率可完全更正第一数据帧中的错误。
在一范例实施例中,第一错误评估信息包括一个评估值。此评估值可正相关于第一实体单元群组整体的比特错误率。例如,第一实体单元群组整体的比特错误率越高,表示从第一实体单元群组读取的数据中的错误比特的总数也会越多,故所述评估值将会越大。或者,从另一角度而言,所述评估值可正相关于从第一实体单元群组读取的数据中的错误比特的总数。
在一范例实施例中,存储器管理电路51可对从第一实体单元群组读取的多个帧(包括第一数据帧)执行一个逻辑操作,以获得第一错误评估信息。例如,此逻辑操作可包括XOR操作。例如,在执行此逻辑操作后,存储器管理电路51可获得一个数据序列,其反映此逻辑操作的执行结果。存储器管理电路51可统计此数据序列中的特定比特(例如比特“1”或“0”)的总数并根据此总数获得第一错误评估信息。
图9是根据本发明的范例实施例所示出的获得第一错误评估信息的示意图。请参照图9,以帧910(1)~910(p)来表示从第一实体单元群组读取的多个帧。在对帧910(1)~910(p)执行包含XOR操作的逻辑操作后,数据序列920可被获得。例如,数据序列920可包括比特b(r1)~b(rm)。例如,比特b(r1)反映比特b(11)、b(21)…至b(p1)的XOR执行结果;比特b(r2)反映比特b(12)、b(22)…至b(p2)的XOR执行结果;比特b(rm)反映比特b(1m)、b(2m)…至b(pm)的XOR执行结果,依此类推。存储器管理电路51可统计数据序列920中的比特“1”的总数并根据此总数来获得评估直M。例如,评估值M可等于或反映数据序列920中的比特“1”的总数。此外,评估值M可正相关于第一实体单元群组整体的比特错误率。亦即,若帧910(1)~910(p)中的错误比特越多,则评估值M会愈大。或者,若帧910(1)~910(p)中没有错误比特,则评估值M可为零。
图10是根据本发明的范例实施例所示出的存储单元的临界电压分布的示意图。请参照图10,假设第一实体单元群组中的存储单元的临界电压分布包括状态1010与1020。状态1010可用以表示此些存储单元中用以存储第一比特(或第一比特组合)的存储单元的临界电压的分布状态。状态1020可用以表示此些存储单元中用以存储第二比特(或第二比特组合)的存储单元的临界电压的分布状态。例如,第一比特可为比特“0”(或第一比特组合可为比特“000”等),且第二比特可为比特“1”(或第二比特组合可为比特“101”等)。此外,本发明不限制状态1010与1020所各别对应的比特或比特组合。
在一范例实施例中,存储器管理电路51可发送读取指令序列至可复写式非易失性存储器模块43,以指示可复写式非易失性存储器模块43使用读取电压电平1001~1005来读取此些存储单元。读取电压电平1001~1005的总数可以是更多或更少。根据读取电压电平1001~1005对此些存储单元的读取结果,存储器管理电路51可将此些存储单元中的每一个存储单元的临界电压识别为属于电压范围A~F的其中之一。尔后,假设某一个存储单元的临界电压属于电压范围A,则对应于电压范围A的可靠度信息(例如LLR)可被用于单帧解码中,以解码从此存储单元读取的数据比特。或者,假设某一个存储单元的临界电压属于电压范围C,则对应于电压范围C的可靠度信息(例如LLR)可被用于单帧解码中,以解码从此存储单元读取的数据比特,依此类推。
图11是根据本发明的范例实施例所示出的可靠度信息表格的示意图。请参照图11,假设表格数据1101中记载了不同的第一错误评估信息所对应的可靠度信息。在一范例实施例中,若第一错误评估信息中的评估值M=M(1),则根据表格数据1101,可靠度信息LLR(0)中对应于电压范围A~F的参数值(例如LLR值)可被用于第二单帧解码中,以解码从第一实体单元读取的数据(即第一数据帧)。同理,若第一错误评估信息中的评估值M=M(2)或M(3),则根据表格数据1101,可靠度信息LLR(1)或LLR(2)中对应于电压范围A~F的参数值(例如LLR值)可被用于第二单帧解码中,以解码从第一实体单元读取的数据(即第一数据帧)。
在一范例实施例中,假设第一单帧解码所使用的可靠度信息为LLR(0)。在获得最新的评估值M=M(2)后,第二单帧解码所使用的可靠度信息可从LLR(0)被调整为LLR(1)。尔后,在第二单帧解码中,解码电路可基于可靠度信息LLR(1)来解码第一数据帧。在对应于评估值M=M(2)的比特错误状态下,相较于可靠度信息LLR(0),基于可靠度信息LLR(1)来执行单帧解码可提高单帧解码的解码成功率。藉此,即便第一单帧解码失败,第一数据帧仍有很高的机率可以在第二单帧解码中被成功解码(即更正第一数据帧中的所有错误)。须注意的是,即便第二单帧解码的解码成功率高于第一单帧解码的解码成功率,但第二单帧解码仍有可能失败(即无法更正第一数据帧中的所有错误)。
在一范例实施例中,响应于第二单帧解码失败,存储器管理电路51可发送另一读取指令序列,以指示可复写式非易失性存储器模块43从第一实体单元群组中的另一实体单元(亦称为第二实体单元)中读取数据。此数据可包含于一个帧(亦称为第二数据帧)中,且第二数据帧亦为UECC帧。
在一范例实施例中,假设存储器管理电路51是根据来自主机系统11的读取指令而从第一实体单元中读取数据,则所述读取指令非用以读取存储于第二实体单元中的数据。例如,所述读取指令所指示读取的第一逻辑单元并未映射至第二实体单元。
在一范例实施例中,解码电路可根据第一错误评估信息对第二数据帧执行单帧解码(亦称为第三单帧解码),以更正第二数据帧中的错误。在一范例实施例中,从第二实体单元中读取数据(即第二数据帧)并对第二数据帧执行第三单帧解码,是为了协助对第一数据帧进行解码。
在一范例实施例中,响应于第三单帧解码成功(即第二数据帧中的所有错误皆被更正),存储器管理电路51可根据第三单帧解码的解码结果更新第一错误评估信息。例如,在更正第二数据帧中的所有错误后,存储器管理电路51可根据从第一实体单元群组读取的多个帧(包含第一数据帧与更正后的第二数据帧)重新获得第一错误评估信息(例如重新计算评估值M)。更新后的第一错误评估信息可概略反映第一实体单元群组中的多个实体单元最新的比特错误率。然后,解码电路可根据更新后的第一错误评估信息再次对第一数据帧执行单帧解码(亦称为第四单帧解码),以尝试基于更新后的第一错误评估信息来更正第一数据帧中的错误。例如,存储器管理电路51可根据重新计算的评估值M来再次更新可靠度信息。特别是,相较于更新前的评估值M,更新后的评估值M可用来选取更合适的可靠度信息。然后,解码电路可根据更新后的可靠度信息来执行第四单帧解码。因此,相较于第二单帧解码,第四单帧解码可具有更高的解码成功率。
在一范例实施例中,存储器管理电路51可获得第一实体单元群组中的至少一候选实体单元所对应的错误评估信息(亦称为第二错误评估信息)。例如,所述候选实体单元是指第一实体单元群组中存储有UECC帧的实体单元,且所述候选实体单元不包括第一实体单元。对应于某一个候选实体单元的第二错误评估信息可概略反映此候选实体单元的比特错误率。例如,存储器管理电路51可根据对每一个候选实体单元执行的单帧解码操作中所获得的信息来获得第二错误评估信息。例如,类似于第一错误评估信息,第二错误评估信息也可包括一个评估值。此评估值可正相关于相对应的候选实体单元的比特错误率。
在一范例实施例中,存储器管理电路51可根据某一个候选实体单元中的多个存储单元的临界电压分布和/或对应于此候选实体单元的校验子总合(syndrome sum)来获得第二错误评估信息。例如,若某一个候选实体单元中的多个存储单元的临界电压分布反映出多个状态彼此间的重叠区域越大,表示此候选实体单元的比特错误率可能越高。或者,若在对从某一个候选实体单元读取的数据进行单帧解码时,所获得的校验子总合越大,表示此候选实体单元的比特错误率可能也越高。然而,根据存储单元的临界电压分布和/或所述校验子总合来评估一个实体单元的比特错误率的操作属现有技术,故在此不多加赘述。
在一范例实施例中,存储器管理电路51可根据第二错误评估信息来从所述候选实体单元中决定(例如选择)一个实体单元作为第二实体单元。例如,根据第二错误评估信息,存储器管理电路51可优先选择候选实体单元中比特错误率最低或相对较低的实体单元作为第二实体单元,以提高对第二数据帧(或第三单帧解码)的解码成功率。在一范例实施例中,若第二错误评估信息反映出某一候选实体单元的比特错误率太高(例如高于错误率临界值),存储器管理电路51可跳过此候选实体单元且不选择此候选实体单元作为第二实体单元。
在一范例实施例中,存储器管理电路51可将所有(或至少部分)的候选实体单元依序设定为第二实体单元并对其执行所述第三单帧解码。若针对某一个候选实体单元(即第二实体单元)执行的第三单帧解码成功,存储器管理电路51可对应更新第一错误评估信息并指示解码电路基于更新后的第一错误评估信息来对第一数据帧执行第四单帧解码,直到第四单帧解码成功、待处理的候选实体单元皆被处理过或满足所述预设条件为止。
在一范例实施例中,响应于从第一实体单元群组中的任一实体单元读取的帧被成功解码,存储器管理电路51可更新所述计数值(例如图8的计数值N)。更新后的计数值可反映第一实体单元群组中最新的UECC帧的总数。在一范例实施例中,若更新后的计数值达到所述临界值,存储器管理电路51可判定预设条件被满足并可执行多帧解码。此外,若更新后的计数值仍未达到所述临界值,存储器管理电路51可不允许执行所述多帧解码。
在一范例实施例中,响应于所述第二单帧解码成功(即第一数据帧中的所有错误皆被更正),存储器管理电路51可持续根据第二单帧解码的解码结果来更新第一错误评估信息。更新后的第一错误评估信息可概略反映第一实体单元群组中的多个实体单元最新的比特错误率。然后,存储器管理电路51可根据更新后的第一错误评估信息对从第一实体单元群组中的至少一实体单元(亦称为第三实体单元)读取的数据帧(亦称为第三数据帧)执行单帧解码(亦称为第五单帧解码)。例如,类似于第二实体单元,第三实体单元可从所述候选实体单元中决定。例如,存储器管理电路51可优先选择候选实体单元中比特错误率最低或相对较低的实体单元作为第三实体单元,以提高对第三数据帧(或第五单帧解码)的解码成功率。此外,若某一候选实体单元的比特错误率太高(例如高于错误率临界值),存储器管理电路51可跳过此候选实体单元且不选择此候选实体单元作为第三实体单元。藉此,可逐步减少第一实体单元群组中的UECC帧的总数。
在一范例实施例中,响应于第五单帧解码成功(即第三数据帧中的所有错误皆被更正),存储器管理电路51可发送写入指令序列至可复写式非易失性存储器模块43。此写入指令序列可指示可复写式非易失性存储器模块43将更正后的第三数据帧回存至至少一实体单元(亦称为第四实体单元)。在将更正后的第三数据帧存储至第四实体单元后,第四实体单元可被加入至第一实体单元群组中以取代原先存储第三数据帧的第三实体单元,且第三实体单元可被从第一实体单元群组移除。类似的,在一范例实施例中,更正后的第二数据帧亦可被存储至至少一实体单元(亦称为第五实体单元)中。在将更正后的第二数据帧存储至第五实体单元后,第五实体单元可被加入至第一实体单元群组中以取代原先存储第二数据帧的第二实体单元,且第二实体单元可被从第一实体单元群组移除。
在一范例实施例中,在预设条件未满足的情况下,通过持续更新第一错误评估信息并根据更新后的第一错误评估信息来对从第一实体单元群组中的至少一实体单元读取的帧(即UECC帧)执行单帧解码,可持续提高单帧解码的解码成功率并减少第一实体单元群组中的UECC帧的总数。一旦第一实体单元群组中的UECC帧的总数达到临界值,对第一实体单元群组的多帧解码可被启动,以确保第一实体单元群组中剩余的UECC帧可以被成功解码。
在一范例实施例中,第一实体单元亦称为目标实体单元。在一范例实施例中,第一实体单元群组中为了协助对第一数据帧进行解码而读取的实体单元(即第二实体单元)和/或为了减少第一实体单元群组中的UECC帧的总数而读取的实体单元(即第三实体单元)亦称为非目标(non-target)实体单元。在一范例实施例中,从目标实体单元读取的帧亦称为目标数据帧,和/或从非目标实体单元读取的帧亦称为非目标数据帧。
在一范例实施例中,无论目标数据帧是否被成功解码,单帧解码可持续针对存储于第一实体单元群组中属于UECC帧的非目标数据帧执行,直到目标数据帧被成功解码、第一实体单元群组中所有的UECC帧皆被成功解码、预设条件被满足或达到解码次数上限(例如达到最大迭代次数)为止。此外,更正后的帧可用以替换原先存储于第一实体单元群组中的帧,以提高往后对该帧的解码成功率。
图12是根据本发明的范例实施例所示出的解码方法的流程图。请参照图12,在步骤S1201中,发送读取指令序列,其中所述读取指令序列指示读取第一实体单元,且第一实体单元属于一实体单元群组。在步骤S1202中,对从所述第一实体单元读取的第一数据帧执行第一单帧解码。在步骤S1203中,在所述第一单帧解码失败且预设条件未被满足的情况下,获得对应于所述实体单元群组的第一错误评估信息,其中所述预设条件用以触发对所述实体单元群组的多帧解码,且所述第一错误评估信息与所述实体单元群组的比特错误率有关。在步骤S1204中,根据所述第一错误评估信息对所述第一数据帧执行第二单帧解码。
图13与图14是根据本发明的范例实施例所示出的解码方法的流程图。请参照图13,在步骤S1301中,对从目标实体单元读取的数据帧执行单帧解码。例如,目标实体单元属于一个实体单元群组。在步骤S1302中,判断此单帧解码是否成功。若此单帧解码成功,在步骤S1303中,输出解码成功的数据。若此单帧解码失败,在步骤S1304中,判断预设条件是否被满足。若预设条件已被满足(例如目标实体单元所属的实体单元群组中的UECC帧的总数小于或等于临界值),在步骤S1305中,对目标实体单元所属的实体单元群组执行多帧解码。
另一方面,若预设条件未被满足(例如目标实体单元所属的实体单元群组中的UECC帧的总数大于临界值),在步骤S1306中,获得与所述实体单元群组有关的第一错误评估信息。在步骤S1307中,根据第一错误评估信息对从目标实体单元读取的数据帧执行单帧解码。在步骤S1308中,判断此单帧解码是否成功。若此单帧解码成功,在步骤S1309中,根据此单帧解码的解码结果更新第一错误评估信息并可输出解码成功的数据。接着,在步骤S1310中,再次判断预设条件是否已满足。若预设条件已满足,在步骤S1305中,对目标实体单元所属的实体单元群组执行多帧解码。须注意的是,在一范例实施例中,即便目标实体单元所存储的UECC帧已被更正,此多帧解码可进一步用以更正同一实体单元群组中的非目标实体单元中的UECC帧,从而完成对整个实体单元群组中的所有UECC帧的更正。
另一方面,若步骤S1308的判断结果为否(即此单帧解码失败),则可略过步骤S1309而执行步骤S1310。此外,若步骤S1310的判断结果为否(即预设条件未满足),可进入图14的步骤S1401。
请参照图14,在步骤S1401中,根据第一错误评估信息对从非目标实体单元读取的数据帧执行单帧解码。在步骤S1402中,判断此单帧解码是否成功。若此单帧解码成功,在步骤S1403中,根据此单帧解码的解码结果更新第一错误评估信息。在步骤S1404中,再次判断预设条件是否已满足。若预设条件已满足,可回到图13的步骤1305,对目标实体单元所属的实体单元群组执行多帧解码。此外,若步骤S1402的判断结果为否,则步骤S1403可被跳过。
另一方面,若步骤S1404的判断结果为否(即预设条件未满足),在步骤S1405中,判断目标实体单元所属的实体单元群组中存储有UECC帧的非目标实体单元是否皆已被解码。若仍有存储有UECC帧的非目标实体单元尚未被解码,可回到步骤S1401中,根据第一错误评估信息对从此非目标实体单元读取的数据帧执行单帧解码。若存储有UECC帧的非目标实体单元皆已被解码,在步骤S1406中,判断已执行的解码操作是否达到最大迭代次数。若否(即已执行的解码操作未达最大迭代次数),可回到图13的步骤S1307,根据第一错误评估信息对从目标实体单元读取的数据帧执行单帧解码。此外,若已执行的解码操作已达最大迭代次数,在步骤S1407中,结束对此实体单元群组(或目标实体单元)的解码程序。
然而,图12至图14中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图12至图14中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图12至图14的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明的范例实施例所提出的解码方法、存储器存储装置及存储器控制电路单元,可通过持续更新对应于特定实体单元群组的第一错误评估信息来提高对此实体单元群组中的目标数据帧和/或非目标数据帧的解码成功率。此外,通过交替地对同一实体单元群组中的目标数据帧与非目标数据帧执行单帧解码并根据解码结果来更新第一错误评估信息,亦可提高后续执行的单帧解码的解码成功率。再者,通过优先选择比特错误率较低的非目标数据帧来搭配目标数据帧进行解码,亦可提高实体单元群组整体的解码效率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (24)

1.一种解码方法,其特征在于,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,且所述解码方法包括:
发送读取指令序列,其中所述读取指令序列指示读取所述多个实体单元中的第一实体单元,且所述第一实体单元属于一实体单元群组;
对从所述第一实体单元读取的第一数据帧执行第一单帧解码;
在所述第一单帧解码失败且预设条件未被满足的情况下,获得对应于所述实体单元群组的第一错误评估信息,其中所述预设条件用以触发对所述实体单元群组的多帧解码,且所述第一错误评估信息与所述实体单元群组的比特错误率有关;以及
根据所述第一错误评估信息对所述第一数据帧执行第二单帧解码。
2.根据权利要求1所述的解码方法,还包括:
响应于所述第二单帧解码失败,根据所述第一错误评估信息对从所述多个实体单元中的第二实体单元读取的第二数据帧执行第三单帧解码,其中所述第二实体单元属于所述实体单元群组;
响应于所述第三单帧解码成功,根据所述第三单帧解码的解码结果更新所述第一错误评估信息;以及
根据更新后的所述第一错误评估信息,对所述第一数据帧执行第四单帧解码。
3.根据权利要求2所述的解码方法,其中所述读取指令序列非指示读取所述第二实体单元。
4.根据权利要求2所述的解码方法,还包括:
获得对应于所述实体单元群组中的至少一候选实体单元的第二错误评估信息,其中所述至少一候选实体单元不包括所述第一实体单元;以及
根据所述第二错误评估信息从所述至少一候选实体单元中决定所述第二实体单元。
5.根据权利要求1所述的解码方法,还包括:
响应于所述第二单帧解码成功,根据所述第二单帧解码的解码结果更新所述第一错误评估信息;以及
根据更新后的所述第一错误评估信息,对从所述多个实体单元中的第三实体单元读取的第三数据帧执行第五单帧解码,其中所述第三实体单元属于所述实体单元群组。
6.根据权利要求5所述的解码方法,其中所述读取指令序列非指示读取所述第三实体单元。
7.根据权利要求5所述的解码方法,还包括:
响应于所述第五单帧解码成功,将更正后的所述第三数据帧存储至所述多个实体单元中的第四实体单元;
将所述第四实体单元加入至所述实体单元群组中;以及
将所述第三实体单元从所述实体单元群组移除。
8.根据权利要求1所述的解码方法,还包括:
响应于从所述实体单元群组中的任一实体单元读取的数据帧被成功解码,更新一计数值;
响应于所述计数值达到临界值,判定所述预设条件被满足;以及
响应于所述预设条件被满足,执行所述多帧解码。
9.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以:
发送读取指令序列,其中所述读取指令序列指示读取所述多个实体单元中的第一实体单元,且所述第一实体单元属于一实体单元群组;
对从所述第一实体单元读取的第一数据帧执行第一单帧解码;
在所述第一单帧解码失败且预设条件未被满足的情况下,获得对应于所述实体单元群组的第一错误评估信息,其中所述预设条件用以触发对所述实体单元群组的多帧解码,且所述第一错误评估信息与所述实体单元群组的比特错误率有关;以及
根据所述第一错误评估信息对所述第一数据帧执行第二单帧解码。
10.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元更用以:
响应于所述第二单帧解码失败,根据所述第一错误评估信息对从所述多个实体单元中的第二实体单元读取的第二数据帧执行第三单帧解码,其中所述第二实体单元属于所述实体单元群组;
响应于所述第三单帧解码成功,根据所述第三单帧解码的解码结果更新所述第一错误评估信息;以及
根据更新后的所述第一错误评估信息,对所述第一数据帧执行第四单帧解码。
11.根据权利要求10所述的存储器存储装置,其中所述读取指令序列非指示读取所述第二实体单元。
12.根据权利要求10所述的存储器存储装置,其中所述存储器控制电路单元更用以:
获得对应于所述实体单元群组中的至少一候选实体单元的第二错误评估信息,其中所述至少一候选实体单元不包括所述第一实体单元;以及
根据所述第二错误评估信息从所述至少一候选实体单元中决定所述第二实体单元。
13.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元更用以:
响应于所述第二单帧解码成功,根据所述第二单帧解码的解码结果更新所述第一错误评估信息;以及
根据更新后的所述第一错误评估信息,对从所述多个实体单元中的第三实体单元读取的第三数据帧执行第五单帧解码,其中所述第三实体单元属于所述实体单元群组。
14.根据权利要求13所述的存储器存储装置,其中所述读取指令序列非指示读取所述第三实体单元。
15.根据权利要求13所述的存储器存储装置,其中所述存储器控制电路单元更用以:
响应于所述第五单帧解码成功,指示将更正后的所述第三数据帧存储至所述多个实体单元中的第四实体单元;
将所述第四实体单元加入至所述实体单元群组中;以及
将所述第三实体单元从所述实体单元群组移除。
16.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元更用以:
响应于从所述实体单元群组中的任一实体单元读取的数据帧被成功解码,更新一计数值;以及
响应于所述计数值达到临界值,判定所述预设条件被满足;以及
响应于所述预设条件被满足,执行所述多帧解码。
17.一种存储器控制电路单元,其特征在于,用以控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,且所述存储器控制电路单元包括:
主机接口,用以连接至主机系统;
存储器接口,用以连接至所述可复写式非易失性存储器模块;
解码电路;以及
存储器管理电路,连接至所述主机接口、所述存储器接口及所述解码电路,
其中所述存储器管理电路用以发送读取指令序列,其中所述读取指令序列指示读取所述多个实体单元中的第一实体单元,且所述第一实体单元属于一实体单元群组,
所述解码电路用以对从所述第一实体单元读取的第一数据帧执行第一单帧解码,
所述存储器管理电路更用以在所述第一单帧解码失败且预设条件未被满足的情况下,获得对应于所述实体单元群组的第一错误评估信息,其中所述预设条件用以触发对所述实体单元群组的多帧解码,且所述第一错误评估信息与所述实体单元群组的比特错误率有关,并且
所述解码电路更用以根据所述第一错误评估信息对所述第一数据帧执行第二单帧解码。
18.根据权利要求17所述的存储器控制电路单元,其中所述解码电路更用以响应于所述第二单帧解码失败,根据所述第一错误评估信息对从所述多个实体单元中的第二实体单元读取的第二数据帧执行第三单帧解码,所述第二实体单元属于所述实体单元群组,
所述存储器管理电路更用以响应于所述第三单帧解码成功,根据所述第三单帧解码的解码结果更新所述第一错误评估信息,并且
所述解码电路更用以根据更新后的所述第一错误评估信息,对所述第一数据帧执行第四单帧解码。
19.根据权利要求18所述的存储器控制电路单元,其中所述读取指令序列非指示读取所述第二实体单元。
20.根据权利要求18所述的存储器控制电路单元,其中所述存储器管理电路更用以:
获得对应于所述实体单元群组中的至少一候选实体单元的第二错误评估信息,其中所述至少一候选实体单元不包括所述第一实体单元;以及
根据所述第二错误评估信息从所述至少一候选实体单元中决定所述第二实体单元。
21.根据权利要求17所述的存储器控制电路单元,其中所述存储器管理电路更用以响应于所述第二单帧解码成功,根据所述第二单帧解码的解码结果更新所述第一错误评估信息,并且
所述解码电路更用以根据更新后的所述第一错误评估信息,对从所述多个实体单元中的第三实体单元读取的第三数据帧执行第五单帧解码,其中所述第三实体单元属于所述实体单元群组。
22.根据权利要求21所述的存储器控制电路单元,其中所述读取指令序列非指示读取所述第三实体单元。
23.根据权利要求21所述的存储器控制电路单元,其中所述存储器管理电路更用以:
响应于所述第五单帧解码成功,指示将更正后的所述第三数据帧存储至所述多个实体单元中的第四实体单元;
将所述第四实体单元加入至所述实体单元群组中;以及
将所述第三实体单元从所述实体单元群组移除。
24.根据权利要求17所述的存储器控制电路单元,其中所述存储器管理电路更用以:
响应于从所述实体单元群组中的任一实体单元读取的数据帧被成功解码,更新一计数值;以及
响应于所述计数值达到临界值,判定所述预设条件被满足;以及
响应于所述预设条件被满足,指示所述解码电路执行所述多帧解码。
CN202311089433.4A 2023-08-28 2023-08-28 解码方法、存储器存储装置及存储器控制电路单元 Pending CN117079691A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311089433.4A CN117079691A (zh) 2023-08-28 2023-08-28 解码方法、存储器存储装置及存储器控制电路单元

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311089433.4A CN117079691A (zh) 2023-08-28 2023-08-28 解码方法、存储器存储装置及存储器控制电路单元

Publications (1)

Publication Number Publication Date
CN117079691A true CN117079691A (zh) 2023-11-17

Family

ID=88717923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311089433.4A Pending CN117079691A (zh) 2023-08-28 2023-08-28 解码方法、存储器存储装置及存储器控制电路单元

Country Status (1)

Country Link
CN (1) CN117079691A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118656030A (zh) * 2024-08-06 2024-09-17 深圳宏芯宇电子股份有限公司 数据保护方法与存储装置
CN118656030B (zh) * 2024-08-06 2024-11-08 深圳宏芯宇电子股份有限公司 数据保护方法与存储装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118656030A (zh) * 2024-08-06 2024-09-17 深圳宏芯宇电子股份有限公司 数据保护方法与存储装置
CN118656030B (zh) * 2024-08-06 2024-11-08 深圳宏芯宇电子股份有限公司 数据保护方法与存储装置

Similar Documents

Publication Publication Date Title
US10977116B2 (en) Data access method, memory control circuit unit and memory storage device
TWI640865B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN113140253B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
US10447314B2 (en) Decoding method, memory storage device and memory control circuit unit
CN109491828B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN111580741B (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
TWI709850B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN113724774B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN109697134B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN112799874B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN111326186B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN110874282B (zh) 数据存取方法、存储器控制电路单元与存储器存储装置
CN117079691A (zh) 解码方法、存储器存储装置及存储器控制电路单元
TWI808483B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
TWI763310B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
US11817172B2 (en) Table management method, memory storage device and memory control circuit unit
CN113360429B (zh) 数据重建方法、存储器存储装置及存储器控制电路单元
TWI777519B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN109509499B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN111258791B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN117785545A (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN117912522A (zh) 解码参数更新方法、存储装置及存储器控制电路
CN118796532A (zh) 数据检查方法、存储器存储装置及存储器控制电路单元
CN118838553A (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN117912523A (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