CN113724774B - 解码方法、存储器存储装置及存储器控制电路单元 - Google Patents
解码方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN113724774B CN113724774B CN202111073942.9A CN202111073942A CN113724774B CN 113724774 B CN113724774 B CN 113724774B CN 202111073942 A CN202111073942 A CN 202111073942A CN 113724774 B CN113724774 B CN 113724774B
- Authority
- CN
- China
- Prior art keywords
- error
- data
- decoding
- information
- memory
- 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.)
- Active
Links
Classifications
-
- 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/14—Implementation of control logic, e.g. test mode decoders
-
- 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/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- 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
-
- 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/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C2029/1802—Address decoder
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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是根据本发明的范例实施例所示出的获得错误评估信息的示意图;
图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会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压准位或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路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可以编码欲保护的数据来产生相对应的错误更正码和/或错误检查码。尔后,经由编码产生的错误更正码和/或错误检查码可用来更正欲保护的数据中的错误。为了说明方便,以下将经由编码产生的错误更正码和/或错误检查码统称为奇偶数据。
在一范例实施例中,存储器控制电路单元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 Enable,CE)区域中的实体单元。
在一范例实施例中,错误检查与校正电路54可对存储至某一实体单元集合的多个帧执行多帧编码,以通过所述多帧编码所产生的奇偶数据来保护此些帧中的数据。在一范例实施例中,错误检查与校正电路54可对从某一实体单元集合读取出来的多个帧执行多帧解码,以通过所述多帧编码所产生的奇偶数据来更正此些帧中的错误。在一范例实施例中,错误检查与校正电路54可对存储至某一实体单元的单一个帧执行单帧编码,以通过所述单帧编码所产生的奇偶数据来保护此单一帧中的数据。在一范例实施例中,错误检查与校正电路54可对从某一实体单元读取出来的单一个帧执行单帧解码,以通过所述单帧编码所产生的奇偶数据来更正此单一帧中的错误。
图7是根据本发明的范例实施例所示出的多帧编码的示意图。请参照图7,帧710(1)~710(n)包含存储至某一实体单元集合(亦称为第一实体单元集合)中的数据。例如,第一实体单元集合可包含图6中的实体单元(亦称为第一实体单元)610(1)~610(n)。其中,帧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可发送读取指令序列至可复写式非易失性存储器模块43。此读取指令序列可指示可复写式非易失性存储器模块43从特定实体单元中读取数据。可复写式非易失性存储器模块43可根据此读取指令序列将从特定实体单元中读取的数据回传给存储器管理电路51。错误检查与校正电路54可对包含所述数据的帧执行单帧解码。例如,若此帧中的数据是基于LDPC码来进行单帧编码,则错误检查与校正电路54可基于LDPC码来对此帧进行单帧解码。若解码成功(表示此帧中的数据是正确的和/或错误已被更正),则错误检查与校正电路54可输出解码成功的数据。然而,若解码失败(表示此帧为单帧解码所无法更正的帧),则错误检查与校正电路54可启动多帧解码程序来对包含此帧的多个帧执行多帧解码。例如,若此帧原先是基于RS(或XOR)码来进行多帧编码,则错误检查与校正电路54可同样基于RS(或XOR)码来对此帧进行多帧解码。在一范例实施例中,单帧解码所无法更正的帧亦称为UECC帧。
须注意的是,在基于RS码的多帧解码中,待解码的帧中最多只能同时存在两个UECC帧。若待解码的帧中同时包含三个或更多UECC帧,则基于RS码的多帧解码将无法更正此些帧中的错误。类似的,在基于XOR码的多帧解码中,待解码的帧中最多只能同时存在一个UECC帧。若待解码的帧中同时包含两个或更多UECC帧,则基于XOR码的多帧解码将无法更正此些帧中的错误。因此,在进入多帧解码程序后,通过减少待解码的帧中UECC帧的总数,将可有效提高多帧解码的解码成功率。
在一范例实施例中,在进入所述多帧解码程序(例如对于某一帧的单帧解码失败)后,存储器管理电路51可指示错误检查与校正电路54对从第一实体单元集合读取的多个帧(亦称为第一数据帧)分别执行单帧解码。例如,每一个第一数据帧是从第一实体单元集合中的某一个实体单元(即第一实体单元)中读取出来。然后,存储器管理电路51可判断所述多个第一数据帧的整体解码结果是否符合特定条件(亦称为第一条件)。
在一范例实施例中,所述第一条件包括所述多个第一数据帧中在单帧解码中解码失败的帧(即UECC帧)的总数大于临界值。例如,所述临界值可为1或2。例如,在一范例实施例中,若多帧编/解码是基于XOR码执行,则所述所述临界值可为1。或者,在一范例实施例中,若多帧编/解码是基于RS码执行,则所述所述临界值可为2。在一范例实施例中,响应于所述多个第一数据帧中UECC帧的总数大于临界值,存储器管理电路51可判定所述多个第一数据帧的整体解码结果符合第一条件。反之,响应于所述多个第一数据帧中UECC帧的总数不大于临界值,存储器管理电路51可判定所述多个第一数据帧的整体解码结果不符合第一条件。
在一范例实施例中,响应于所述多个第一数据帧的整体解码结果符合第一条件,存储器管理电路51可尝试更新于单帧解码中使用的可靠度信息。然后,错误检查与校正电路54可根据经更新的可靠度信息对从所述多个第一实体单元的其中之一读取的帧(亦称为第二数据帧)执行单帧解码。通过更新所述可靠度信息,可尝试提高对第二数据帧的执行单帧解码的解码成功率。若第二数据帧被成功解码,则所述多个第一数据帧中UECC帧的总数可被对应减少(例如减1)。若所述多个第一数据帧中UECC帧的总数被减少至不大于所述临界值,则存储器管理电路51可判定所述多个第一数据帧的整体解码结果不符合第一条件。
在一范例实施例中,响应于所述多个第一数据帧的整体解码结果不符合第一条件,存储器管理电路51可指示错误检查与校正电路54对所述多个第一数据帧执行多帧解码。在此多帧解码中,所述多个第一数据帧中的数据可被执行跨帧的逻辑运算,以尝试更正此些数据中的错误。特别是,在所述多个第一数据帧的整体解码结果不符合第一条件的状况下(即所述多个第一数据帧中UECC帧的总数不大于临界值),此多帧解码有很高的机率(甚至可确保)可以完全更正所述多个第一数据帧中的所有错误。藉此,在进入多帧解码程序后,通过逐渐减少或收敛待解码的帧中UECC帧的总数,将可有效提高多帧解码的解码成功率。
在一范例实施例中,响应于所述多个第一数据帧的整体解码结果符合第一条件,存储器管理电路51可获得与第一实体单元集合有关的错误评估信息。此错误评估信息可反映第一实体单元集合的比特错误状态。例如,此错误评估信息可概略反映从第一实体单元集合读取出来的数据(即所述多个第一数据帧)所包含的错误比特的总数是多还是少。存储器管理电路51可根据此错误评估信息获得可靠度信息。例如,此可靠度信息可包括可于单帧解码中使用的对数相似性比值(Log Likelihood Ratio,LLR)。错误检查与校正电路54可根据此可靠度信息对所述第二数据帧执行单帧解码。
在一范例实施例中,存储器管理电路51可根据此错误评估信息将所述可靠度信息(例如LLR)中的至少部分信息从某一信息(亦称为第一信息)调整为另一信息(亦称为第二信息)。第一信息可不同于第二信息。根据不同的错误评估信息,存储器管理电路51可对所述可靠度信息(例如LLR)作不同程度的调整。尔后,错误检查与校正电路54可基于调整后的可靠度信息来对第二数据帧执行单帧解码,从而提高对第二数据帧的解码成功率。在对第二数据帧的单帧解码的解码成功率提高的前提下,待解码的帧中单帧解码所无法更正的帧的总数将可被减少,进而提高所述多帧解码的解码成功率。
在一范例实施例中,所述错误评估信息包括一个计数值。此计数值可正相关于第一实体单元集合整体的比特错误率。例如,第一实体单元集合整体的比特错误率越高,表示从第一实体单元集合读取的数据中UECC帧的总数及/错误比特的总数也会越多,则所述计数值将会越大。或者,从另一角度而言,所述计数值也可正相关于从第一实体单元集合读取的数据中UECC帧的总数和/或错误比特的总数。
在一范例实施例中,存储器管理电路51可根据所述多个第一数据帧的整体解码结果获得所述错误评估信息。例如,存储器管理电路51可根据所述多个第一数据帧的整体解码结果统计所述第一数据帧中解码失败的帧的总数(即UECC帧的总数)。存储器管理电路51可根据此总数获得所述错误评估信息。
图8是根据本发明的范例实施例所示出的获得错误评估信息的示意图。请参照图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的帧总数。尔后,计数值N可被包含于所述错误评估信息中并且被用于调整所述可靠度信息。
在一范例实施例中,错误检查与校正电路54可对所述多个第一数据帧执行整合逻辑操作。存储器管理电路51可根据所述整合逻辑操作的执行结果获得所述错误评估信息。在一范例实施例中,所述整合逻辑操作可包括对所述多个第一数据帧执行包含XOR操作的逻辑操作。因此,所述整合逻辑操作的执行结果可概略反映所述多个第一数据帧中的错误比特的总数。例如,在执行所述整合逻辑操作后,存储器管理电路51可获得一个数据序列,其反映所述整合逻辑操作的执行结果。存储器管理电路51可统计此数据序列中的特定比特(例如比特“1”或“0”)的总数。存储器管理电路51可根据此总数获得所述错误评估信息。
图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执行结果,如图9所示。存储器管理电路51可统计数据序列920中的比特“1”的总数并根据此总数来获得计数值N。例如,计数值N可等于或反映数据序列920中的比特“1”的总数。此外,计数值N可概略反映帧910(1)~910(p)中错误比特的总数。例如,帧910(1)~910(p)中错误比特的总数越多,则数据序列920中的比特“1”的总数有很大的机率也会越多。尔后,计数值N可被包含于所述错误评估信息中并且被用于调整所述可靠度信息。
图10是根据本发明的范例实施例所示出的存储单元的临界电压分布的示意图。请参照图10,假设所述多个第一实体单元中的存储单元的临界电压分布包括状态1010与1020。状态1010可用以表示此些存储单元中用以存储第一比特(或第一比特组合)的存储单元的临界电压的分布状态。状态1020可用以表示此些存储单元中用以存储第二比特(或第二比特组合)的存储单元的临界电压的分布状态。例如,第一比特可为比特“0”(或第一比特组合可为比特“000”等),且第二比特可为比特“1”(或第二比特组合可为比特“101”等)。此外,本发明不限制状态1010与1020所各别对应的比特或比特组合。
在一范例实施例中,存储器管理电路51可发送读取指令序列至可复写式非易失性存储器模块43,以指示使用读取电压准位1001~1005来读取此些存储单元。读取电压准位1001~1005的总数可以更多或更少。根据读取电压准位1001~1005对此些存储单元的读取结果,存储器管理电路51可将此些存储单元中的每一个存储单元的临界电压识别为属于电压范围A~F的其中之一。尔后,假设某一个存储单元的临界电压属于电压范围A,则对应于电压范围A的可靠度信息(例如LLR)可被用于单帧解码中,以解码从此存储单元读取的数据比特。或者,假设某一个存储单元的临界电压属于电压范围C,则对应于电压范围C的可靠度信息(例如LLR)可被用于单帧解码中,以解码从此存储单元读取的数据比特,依此类推。
图11是根据本发明的范例实施例所示出的可靠度信息表格的示意图。请参照图11,假设表格数据1101中记载了不同的错误评估信息所可对应采用的可靠度信息。在一范例实施例中,若所获得的错误评估信息中的计数值N=N(1),则根据表格数据1101,可靠度信息LLR(0)中对应于电压范围A~F的参数值(例如LLR值)可被用于启动多帧解码程序后的单帧解码中,以对从某一实体单元读取的数据进行解码(即单帧解码)。同理,若所获得的错误评估信息中的计数值N=N(2)或N(3),则根据表格数据1101,可靠度信息LLR(1)或LLR(2)中对应于电压范围A~F的参数值(例如LLR值)可被用于启动多帧解码程序后的单帧解码中。
在一范例实施例中,假设先前单帧解码所使用的可靠度信息为LLR(0)。在获得最新的计数值N=N(2)后,单帧解码所使用的可靠度信息可从LLR(0)被调整为LLR(1)。尔后,从第一实体单元读取的至少一个帧(即第二数据帧)可基于可靠度信息LLR(1)来执行单帧解码。在对应于计数值N=N(2)的比特错误状态下,相较于可靠度信息LLR(0),基于可靠度信息LLR(1)来执行单帧解码可提高单帧解码的解码成功率。因此,在启动多帧解码程序后,通过采用更符合当前第一实体单元集合的比特错误状态的可靠度信息来执行单帧解码,可减少原先被判定为无法更正(即UECC)的帧的总数,进而提高多帧解码的解码成功率。
图12是根据本发明的范例实施例所示出的解码方法的流程图。请参照图12,在步骤S1201中,对从一实体单元集合读取的多个第一数据帧分别执行单帧解码,其中所述实体单元集合包含多个第一实体单元。在步骤S1202中,判断所述多个第一数据帧的整体解码结果是否符合第一条件。若是,则响应于所述多个第一数据帧的整体解码结果符合第一条件,在步骤S1203中,获得与所述实体单元集合有关的错误评估信息,其中所述错误评估信息反映所述实体单元集合的比特错误状态。在步骤S1204中,根据所述错误评估信息获得可靠度信息。在步骤S1205中,根据所述可靠度信息对从所述多个第一实体单元的其中之一读取的第二数据帧执行所述单帧解码。另一方面,若步骤S1202判断为否,则响应于所述多个第一数据帧的整体解码结果不符合第一条件,在步骤S1206中,对所述多个第一数据帧执行多帧解码。
图13与图14是根据本发明的范例实施例所示出的解码方法的流程图。请参照图13,在步骤S1301中,启动对特定实体单元集合的多帧解码程序。在步骤S1302中,对从所述实体单元集合中的多个第一实体单元读取的多个数据帧分别执行单帧解码。在步骤S1303中,判断所述多个数据帧的整体解码结果是否符合第一条件(例如判断UECC帧的总数是否大于临界值)。若所述数据帧的整体解码结果不符合第一条件(例如UECC帧的总数不大于临界值),在步骤S1304中,对所述多个数据帧执行多帧解码。另一方面,若所述多个数据帧的整体解码结果符合第一条件(例如UECC帧的总数大于临界值),进入图14的步骤S1401。
请参照图14,在步骤S1401中,获得与所述实体单元集合有关的错误评估信息。在步骤S1402中,根据所述错误评估信息调整可靠度信息。在步骤S1403中,根据经调整的可靠度信息对所述多个数据帧的其中之一执行单帧解码。在步骤S1404中,判断所述单帧解码是否解码成功。若未解码成功(即解码失败),在步骤S1405中,判断是否所有可靠度信息表格皆已使用。例如,此些可靠度信息表格皆预先存储于可复写式非易失性存储器模块中。在单帧解码中,此些可靠度信息表格可被依序使用以提供可用的可靠度信息。
以图11为例,不同的可靠度信息表格可记载不同的表格数据1101。在启动多帧解码程序后,计数值N(或错误评估信息)可被用以查询此些可靠度信息表格的其中之一以获得相应的可靠度信息。若所有可靠度信息表格未使用完毕,则可回到步骤S1402,使用计数值N(或错误评估信息)来查询另一个可靠度信息表格以调整可靠度信息并接续执行步骤S1403。另一方面,若在步骤S1404中判定解码成功(表示UECC帧的数量减一)或在步骤S1405中判定所有可靠度信息表格皆已被使用,则进入图13的步骤S1305。
回到图13,在步骤S1305中,再次判断所述多个数据帧的整体解码结果是否符合第一条件。若所述多个数据帧的整体解码结果不符合第一条件(例如UECC帧的总数不大于临界值),在步骤S1304中,对所述多个数据帧执行多帧解码。然而,若所述多个数据帧的整体解码结果符合第一条件(例如UECC帧的总数大于临界值),在步骤S1306中,判断是否已对属于所述实体单元集合的所有数据帧进行图14的处理流程。若尚有未经过图14的处理流程处理的数据帧,则回到图14的步骤S1401对此数据帧进行处理。然而,若步骤S1306中判定所有的数据帧皆已被处理,则在步骤S1307中判定解码失败并执行错误处理程序(例如回报主机系统发生存取错误)。
然而,图12至图14中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图12至图14中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图12至图14的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明所提出的范例实施例可在启动多帧解码程序之后,根据特定实体单元集合的错误评估信息来获得合适的可靠度信息并根据所述可靠度信息对从所述特定实体单元集合读取的数据帧执行单帧解码。特别是,在启动多帧解码程序之后,若所述实体单元集合中的UECC帧的总数仍高于临界值,则用于单帧解码的可靠度信息可被更新或调整,且单帧解码可基于此新的可靠度信息来重新执行。藉此,可有效降低所述实体单元集合中的UECC帧的总数并同步提升对于此实体单元集合中的数据帧的解码能力。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (26)
1.一种解码方法,其特征在于,用于存储器存储装置,其中所述存储器存储装置包括可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个实体单元,且所述解码方法包括:
对从实体单元集合读取的多个第一数据帧分别执行单帧解码,其中所述实体单元集合包含所述多个实体单元中的多个第一实体单元;
响应于所述多个第一数据帧的整体解码结果符合第一条件,获得与所述实体单元集合有关的错误评估信息,其中所述错误评估信息反映所述实体单元集合的比特错误状态;
根据所述错误评估信息获得可靠度信息;
从所述多个第一实体单元的其中之一读取第二数据帧;以及
根据所述可靠度信息对从所述多个第一实体单元的所述其中之一读取的所述第二数据帧执行所述单帧解码。
2.根据权利要求1所述解码方法,其中所述错误评估信息包括计数值,且所述计数值正相关于所述实体单元集合的比特错误率。
3.根据权利要求1所述解码方法,其中获得与所述实体单元集合有关的所述错误评估信息的步骤包括:
根据所述多个第一数据帧的所述整体解码结果统计所述多个第一数据帧中解码失败的帧的总数;以及
根据所述总数获得所述错误评估信息。
4.根据权利要求1所述解码方法,其中获得与所述实体单元集合有关的所述错误评估信息的步骤包括:
对所述多个第一数据帧执行整合逻辑操作;以及
根据所述整合逻辑操作的执行结果获得所述错误评估信息。
5.根据权利要求4所述解码方法,其中根据所述整合逻辑操作的所述执行结果获得所述错误评估信息的步骤包括:
获得数据序列,其反映所述整合逻辑操作的所述执行结果;
统计所述数据序列中的至少一特定比特的总数;以及
根据所述总数获得所述错误评估信息。
6.根据权利要求1所述解码方法,其中根据所述错误评估信息获得所述可靠度信息的步骤包括:
根据所述错误评估信息将所述可靠度信息中的至少部分信息从第一信息调整为第二信息,其中所述第一信息不同于所述第二信息。
7.根据权利要求1所述解码方法,还包括:
响应于所述多个第一数据帧的所述整体解码结果不符合所述第一条件,对所述多个第一数据帧执行多帧解码。
8.根据权利要求1所述解码方法,其中所述第一条件包括所述多个第一数据帧中解码失败的帧的总数大于临界值。
9.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块,其包括多个实体单元;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以对从实体单元集合读取的多个第一数据帧分别执行单帧解码,所述实体单元集合包含所述多个实体单元中的多个第一实体单元,
响应于所述多个第一数据帧的整体解码结果符合第一条件,所述存储器控制电路单元还用以获得与所述实体单元集合有关的错误评估信息,其中所述错误评估信息反映所述实体单元集合的比特错误状态,
所述存储器控制电路单元还用以根据所述错误评估信息获得可靠度信息,并且
所述存储器控制电路单元还用以根据所述可靠度信息对从所述多个第一实体单元的其中之一读取的第二数据帧执行所述单帧解码。
10.根据权利要求9所述存储器存储装置,其中所述错误评估信息包括计数值,且所述计数值正相关于所述实体单元集合的比特错误率。
11.根据权利要求9所述存储器存储装置,其中获得与所述实体单元集合有关的所述错误评估信息的操作包括:
根据所述多个第一数据帧的所述整体解码结果统计所述多个第一数据帧中解码失败的帧的总数;以及
根据所述总数获得所述错误评估信息。
12.根据权利要求9所述存储器存储装置,其中获得与所述实体单元集合有关的所述错误评估信息的操作包括:
对所述多个第一数据帧执行整合逻辑操作;以及
根据所述整合逻辑操作的执行结果获得所述错误评估信息。
13.根据权利要求12所述存储器存储装置,其中根据所述整合逻辑操作的所述执行结果获得所述错误评估信息的操作包括:
获得数据序列,其反映所述整合逻辑操作的所述执行结果;
统计所述数据序列中的至少一特定比特的总数;以及
根据所述总数获得所述错误评估信息。
14.根据权利要求9所述存储器存储装置,其中根据所述错误评估信息获得所述可靠度信息的操作包括:
根据所述错误评估信息将所述可靠度信息中的至少部分信息从第一信息调整为第二信息,其中所述第一信息不同于所述第二信息。
15.根据权利要求9所述存储器存储装置,其中所述存储器控制电路单元还用以:
响应于所述多个第一数据帧的所述整体解码结果不符合所述第一条件,对所述多个第一数据帧执行多帧解码。
16.根据权利要求9所述存储器存储装置,其中所述第一条件包括所述多个第一数据帧中解码失败的帧的总数大于临界值。
17.一种存储器控制电路单元,其特征在于,用以控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,且所述存储器控制电路单元包括:
主机接口,用以连接至主机系统;
存储器接口,用以连接至所述可复写式非易失性存储器模块;
错误检查与校正电路,以及
存储器管理电路,连接至所述主机接口、所述存储器接口及所述错误检查与校正电路,
其中所述错误检查与校正电路用以对从实体单元集合读取的多个第一数据帧分别执行单帧解码,所述实体单元集合包含所述多个实体单元中的多个第一实体单元,
响应于所述多个第一数据帧的整体解码结果符合第一条件,所述存储器管理电路还用以获得与所述实体单元集合有关的错误评估信息,其中所述错误评估信息反映所述实体单元集合的比特错误状态,
所述存储器管理电路还用以根据所述错误评估信息获得可靠度信息,并且
所述错误检查与校正电路还用以根据所述可靠度信息对从所述多个第一实体单元的其中之一读取的第二数据帧执行所述单帧解码。
18.根据权利要求17所述存储器控制电路单元,其中所述错误评估信息包括计数值,且所述计数值正相关于所述实体单元集合的比特错误率。
19.根据权利要求17所述存储器控制电路单元,其中获得与所述实体单元集合有关的所述错误评估信息的操作包括:
根据所述多个第一数据帧的所述整体解码结果统计所述多个第一数据帧中解码失败的帧的总数;以及
根据所述总数获得所述错误评估信息。
20.根据权利要求17所述存储器控制电路单元,其中获得与所述实体单元集合有关的所述错误评估信息的操作包括:
对所述多个第一数据帧执行整合逻辑操作;以及
根据所述整合逻辑操作的执行结果获得所述错误评估信息。
21.根据权利要求20所述存储器控制电路单元,其中根据所述整合逻辑操作的所述执行结果获得所述错误评估信息的操作包括:
获得数据序列,其反映所述整合逻辑操作的所述执行结果;
统计所述数据序列中的至少一特定比特的总数;以及
根据所述总数获得所述错误评估信息。
22.根据权利要求17所述存储器控制电路单元,其中根据所述错误评估信息获得所述可靠度信息的操作包括:
根据所述错误评估信息将所述可靠度信息中的至少部分信息从第一信息调整为第二信息,其中所述第一信息不同于所述第二信息。
23.根据权利要求17所述存储器控制电路单元,其中所述错误检查与校正电路还用以:
响应于所述多个第一数据帧的所述整体解码结果不符合所述第一条件,对所述多个第一数据帧执行多帧解码。
24.根据权利要求17所述存储器控制电路单元,其中所述第一条件包括所述多个第一数据帧中解码失败的帧的总数大于临界值。
25.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块,其包括多个实体单元;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以对从实体单元集合读取的多个第一数据帧分别执行单帧解码,所述实体单元集合包含所述多个实体单元中的多个第一实体单元,
响应于所述多个第一数据帧的整体解码结果符合第一条件,所述存储器控制电路单元更新可靠度信息并根据经更新的所述可靠度信息对从所述多个第一实体单元的其中之一读取的第二数据帧执行所述单帧解码,并且
响应于所述多个第一数据帧的所述整体解码结果不符合所述第一条件,所述存储器控制电路单元还用以对所述多个第一数据帧执行多帧解码。
26.根据权利要求25所述存储器存储装置,其中所述第一条件包括所述多个第一数据帧中解码失败的帧的总数大于临界值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111073942.9A CN113724774B (zh) | 2021-09-14 | 2021-09-14 | 解码方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111073942.9A CN113724774B (zh) | 2021-09-14 | 2021-09-14 | 解码方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113724774A CN113724774A (zh) | 2021-11-30 |
CN113724774B true CN113724774B (zh) | 2023-08-29 |
Family
ID=78683720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111073942.9A Active CN113724774B (zh) | 2021-09-14 | 2021-09-14 | 解码方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113724774B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661233A (zh) * | 2022-03-18 | 2022-06-24 | 合肥兆芯电子有限公司 | 表格排序方法、存储器存储装置及存储器控制电路单元 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI516914B (zh) * | 2013-05-24 | 2016-01-11 | 愛思開海力士有限公司 | 用於使用位元可靠度之錯誤校正碼的錯誤校正偵測之系統及方法 |
TWI595498B (zh) * | 2016-01-20 | 2017-08-11 | 大心電子(英屬維京群島)股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
CN109491828A (zh) * | 2017-09-13 | 2019-03-19 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN109697134A (zh) * | 2017-10-20 | 2019-04-30 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
TW202022861A (zh) * | 2018-12-05 | 2020-06-16 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
TW202044039A (zh) * | 2019-05-30 | 2020-12-01 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9292377B2 (en) * | 2011-01-04 | 2016-03-22 | Seagate Technology Llc | Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values |
US10063258B2 (en) * | 2016-03-04 | 2018-08-28 | Sandisk Technologies Llc | Method and data storage device to estimate a number of errors using convolutional low-density parity-check coding |
TWI594255B (zh) * | 2016-07-01 | 2017-08-01 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元及記憶體儲存裝置 |
-
2021
- 2021-09-14 CN CN202111073942.9A patent/CN113724774B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI516914B (zh) * | 2013-05-24 | 2016-01-11 | 愛思開海力士有限公司 | 用於使用位元可靠度之錯誤校正碼的錯誤校正偵測之系統及方法 |
TWI595498B (zh) * | 2016-01-20 | 2017-08-11 | 大心電子(英屬維京群島)股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
CN109491828A (zh) * | 2017-09-13 | 2019-03-19 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN109697134A (zh) * | 2017-10-20 | 2019-04-30 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
TW202022861A (zh) * | 2018-12-05 | 2020-06-16 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
TW202044039A (zh) * | 2019-05-30 | 2020-12-01 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
Also Published As
Publication number | Publication date |
---|---|
CN113724774A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10977116B2 (en) | Data access method, memory control circuit unit and memory storage device | |
CN113140253B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TWI672698B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TW201913382A (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI628543B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111580741B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
TWI751620B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN113724774B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TWI709850B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN109697134B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN112799874B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN106897023B (zh) | 数据读取方法、存储器控制电路单元及存储器储存装置 | |
CN110874282B (zh) | 数据存取方法、存储器控制电路单元与存储器存储装置 | |
TWI808483B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111326186A (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI777519B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
US11817172B2 (en) | Table management method, memory storage device and memory control circuit unit | |
CN113360429B (zh) | 数据重建方法、存储器存储装置及存储器控制电路单元 | |
CN113724773B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN111258791B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN109509499B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN117079691A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN117912522A (zh) | 解码参数更新方法、存储装置及存储器控制电路 | |
CN117785545A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN118838553A (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 |