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

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

Info

Publication number
CN111508546B
CN111508546B CN201910098176.8A CN201910098176A CN111508546B CN 111508546 B CN111508546 B CN 111508546B CN 201910098176 A CN201910098176 A CN 201910098176A CN 111508546 B CN111508546 B CN 111508546B
Authority
CN
China
Prior art keywords
read voltage
read
decoding
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
Application number
CN201910098176.8A
Other languages
English (en)
Other versions
CN111508546A (zh
Inventor
林玉祥
严绍维
杨政哲
赖国欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN201910098176.8A priority Critical patent/CN111508546B/zh
Publication of CN111508546A publication Critical patent/CN111508546A/zh
Application granted granted Critical
Publication of CN111508546B publication Critical patent/CN111508546B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

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

Abstract

本发明提供一种解码方法、存储器控制电路单元与存储器存储装置。所述方法包括:配置多个读取电压类别,其中所述多个读取电压类别分别具有多个代表读取电压组;根据所述多个代表读取电压组读取第一物理程序化单元并执行解码操作以获得多个解码信息;根据所述多个解码信息选择第一读取电压类别;以及根据第一读取电压类别中的多个第一读取电压组读取所述第一物理程序化单元并执行所述解码操作。

Description

解码方法、存储器控制电路单元与存储器存储装置
技术领域
本发明涉及一种解码方法、存储器控制电路单元与存储器存储装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,在使用一读取电压从可复写式非易失性存储器模块中读取数据时,存储器管理电路可以对所读取出的数据进行解码以取得所欲读取的数据。然而,当解码失败时,存储器管理电路会执行重新读取(Retry-Read)机制以重新取得另一读取电压组,并用此另一读取电压组来进行读取以重新取得读取出的数据并进行解码。存储器管理电路会根据重新取得的验证比特来执行上述的解码操作以取得由多个解码字节成的另一解码后的数据。而上述重新取得读取电压组来进行重新读取的机制可以反复地被执行直到次数超过预设次数为止。当重新读取机制被执行到次数超过预设次数时,存储器管理电路例如可以改用其他非重新读取机制的方式来执行解码操作。
特别是,随着可复写式非易失性存储器模块的制程上的进步,用于重新读取机制的读取电压组的数量越来越庞大。因此当重新读取机制被执行到次数超过预设次数时,早已经耗费了大量的时间。因此,如何减少解码的执行时间,是本领域技术人员所欲解决的问题之一。
发明内容
本发明提供一种解码方法、存储器控制电路单元与存储器存储装置,可以避免使用全部的读取电压组来执行重新读取机制所造成的时间的浪费。
本发明提出一种解码方法,用于一可复写式非易失性存储器模块,所述可复写式非易失性存储器模块具有多个物理抹除单元,所述多个物理抹除单元之中的每一个物理抹除单元具有多个物理程序化单元,所述解码方法包括:配置多个读取电压类别,其中所述多个读取电压类别中的每一个读取电压类别包含多个读取电压组,且所述多个读取电压类别中的每一个读取电压类别具有一代表读取电压组;根据所述多个代表读取电压组读取一第一物理程序化单元并执行一解码操作以获得多个解码信息;根据所述多个解码信息选择所述多个读取电压类别中的一第一读取电压类别;以及根据所述第一读取电压类别中的多个读取电压组读取所述第一物理程序化单元并执行所述解码操作。
在本发明的一实施例中,所述多个读取电压类别中所述第一读取电压类别以外的其他读取电压类别不会被用来执行读取所述第一物理程序化单元并执行所述解码操作的运作。
在本发明的一实施例中,所述多个读取电压组是根据所述可复写式非易失性存储器模块的一磨损程度值、一数据存储在所述可复写式非易失性存储器模块的时间长度、所述可复写式非易失性存储器模块的一写入温度与一读取温度的一温度差以及所述可复写式非易失性存储器模块发生读取干扰时的一读取次数的至少其中之一被分类。
在本发明的一实施例中,所述多个解码信息中的每一个解码信息包括一校验子和(syndrome sum)或一所读取出的数据中一第一比特数值的个数。
在本发明的一实施例中,所述多个解码信息中的第一解码信息的校验子和小于一第一门槛值,且所述多个解码信息中所述第一解码信息以外的其他解码信息的校验子和非小于所述第一门槛值,所述第一解码信息用以选择所述第一读取电压类别。
在本发明的一实施例中,所述多个解码信息中的第一解码信息的所述第一比特数值的个数与一预设数值的差小于一第二门槛值,且所述多个解码信息中所述第一解码信息以外的其他解码信息的所述第一比特数值的个数与所述预设数值的差非小于所述第二门槛值,所述第一解码信息用以选择所述第一读取电压类别。
在本发明的一实施例中,所述预设数值为所述第一物理程序化单元中所存储的一数据的比特个数的一半。
在本发明的一实施例中,所述多个读取电压组分布于一电压分布图中,所述多个读取电压类别分别对应于所述电压分布图中的多个电压分布范围,所述多个代表读取电压组中的每一个代表读取电压组与其所属的电压分布范围中其他的读取电压组的距离的总和为最短。
本发明提出一种存储器控制电路单元,用于一可复写式非易失性存储器模块,所述可复写式非易失性存储器模块具有多个物理抹除单元,所述多个物理抹除单元之中的每一个物理抹除单元具有多个物理程序化单元,所述存储器控制电路单元包括:主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至所述可复写式非易失性存储器模块。存储器管理电路电性连接至所述主机接口以及所述存储器接口。存储器管理电路用以执行下述运作:配置多个读取电压类别,其中所述多个读取电压类别中的每一个读取电压类别包含多个读取电压组,且所述多个读取电压类别中的每一个读取电压类别具有一代表读取电压组;根据所述多个代表读取电压组读取一第一物理程序化单元并执行一解码操作以获得多个解码信息;根据所述多个解码信息选择所述多个读取电压类别中的一第一读取电压类别;以及根据所述第一读取电压类别中的多个读取电压组读取所述第一物理程序化单元并执行所述解码操作。
在本发明的一实施例中,所述多个读取电压类别中所述第一读取电压类别以外的其他读取电压类别不会被用来执行读取所述第一物理程序化单元并执行所述解码操作的运作。
在本发明的一实施例中,所述多个读取电压组是根据所述可复写式非易失性存储器模块的一磨损程度值、一数据存储在所述可复写式非易失性存储器模块的时间长度、所述可复写式非易失性存储器模块的一写入温度与一读取温度的一温度差以及所述可复写式非易失性存储器模块发生读取干扰时的一读取次数的至少其中之一被分类。
在本发明的一实施例中,所述多个解码信息中的每一个解码信息包括一校验子和(syndrome sum)或一所读取出的数据中一第一比特数值的个数。
在本发明的一实施例中,所述多个解码信息中的第一解码信息的校验子和小于一第一门槛值,且所述多个解码信息中所述第一解码信息以外的其他解码信息的校验子和非小于所述第一门槛值,所述第一解码信息用以选择所述第一读取电压类别。
在本发明的一实施例中,所述多个解码信息中的第一解码信息的所述第一比特数值的个数与一预设数值的差小于一第二门槛值,且所述多个解码信息中所述第一解码信息以外的其他解码信息的所述第一比特数值的个数与所述预设数值的差非小于所述第二门槛值,所述第一解码信息用以选择所述第一读取电压类别。
在本发明的一实施例中,所述预设数值为所述第一物理程序化单元中所存储的一数据的比特个数的一半。
在本发明的一实施例中,所述多个读取电压组分布于一电压分布图中,所述多个读取电压类别分别对应于所述电压分布图中的多个电压分布范围,所述多个代表读取电压组中的每一个代表读取电压组与其所属的电压分布范围中其他的读取电压组的距离的总和为最短。
本发明提出一种存储器存储装置,包括:连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元用以电性连接至一主机系统。可复写式非易失性存储器模块具有多个物理抹除单元,所述多个物理抹除单元之中的每一个物理抹除单元具有多个物理程序化单元。存储器控制电路单元电性连接至所述连接接口单元与所述可复写式非易失性存储器模块。存储器控制电路单元用以执行下述运作:配置多个读取电压类别,其中所述多个读取电压类别中的每一个读取电压类别包含多个读取电压组,且所述多个读取电压类别中的每一个读取电压类别具有一代表读取电压组;根据所述多个代表读取电压组读取一第一物理程序化单元并执行一解码操作以获得多个解码信息;根据所述多个解码信息选择所述多个读取电压类别中的一第一读取电压类别;以及根据所述第一读取电压类别中的多个读取电压组读取所述第一物理程序化单元并执行所述解码操作。
在本发明的一实施例中,所述多个读取电压类别中所述第一读取电压类别以外的其他读取电压类别不会被用来执行读取所述第一物理程序化单元并执行所述解码操作的运作。
在本发明的一实施例中,所述多个读取电压组是根据所述可复写式非易失性存储器模块的一磨损程度值、一数据存储在所述可复写式非易失性存储器模块的时间长度、所述可复写式非易失性存储器模块的一写入温度与一读取温度的一温度差以及所述可复写式非易失性存储器模块发生读取干扰时的一读取次数的至少其中之一被分类。
在本发明的一实施例中,所述多个解码信息中的每一个解码信息包括一校验子和(syndrome sum)或一所读取出的数据中一第一比特数值的个数。
在本发明的一实施例中,所述多个解码信息中的第一解码信息的校验子和小于一第一门槛值,且所述多个解码信息中所述第一解码信息以外的其他解码信息的校验子和非小于所述第一门槛值,所述第一解码信息用以选择所述第一读取电压类别。
在本发明的一实施例中,所述多个解码信息中的第一解码信息的所述第一比特数值的个数与一预设数值的差小于一第二门槛值,且所述多个解码信息中所述第一解码信息以外的其他解码信息的所述第一比特数值的个数与所述预设数值的差非小于所述第二门槛值,所述第一解码信息用以选择所述第一读取电压类别。
在本发明的一实施例中,所述预设数值为所述第一物理程序化单元中所存储的一数据的比特个数的一半。
在本发明的一实施例中,所述多个读取电压组分布于一电压分布图中,所述多个读取电压类别分别对应于所述电压分布图中的多个电压分布范围,所述多个代表读取电压组中的每一个代表读取电压组与其所属的电压分布范围中其他的读取电压组的距离的总和为最短。
基于上述,本发明的解码方法、存储器控制电路单元与存储器存储装置可以将用于重新读取机制的读取电压组进行分类以获得多个读取电压类别,并且从此些读取电压类别中挑选适当的读取电压类别来执行重新读取机制,藉此避免使用全部的读取电压组来执行重新读取机制所造成的时间的浪费。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;
图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图;
图6是根据一范例实施例所示出的存储单元阵列的示意图;
图7是根据一范例实施例所示出存储于存储单元阵列中的写入数据所对应的栅极电压的统计分配图;
图8是根据一范例实施例所示出的从存储单元中读取数据的示意图;
图9是根据另一范例实施例所示出的从存储单元中读取数据的示意图;
图10是根据本范例实施例所示出的物理抹除单元的范例示意图;
图11是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图12是根据本发明的一范例实施例所示出的多框架编码的示意图;
图13是根据一范例实施例示出重新读取机制的示意图;
图14是根据一范例实施例示出的对读取电压组进行分类的示意图;
图15是根据一范例实施例示出的电压分布图的示意图;
图16是根据一范例实施例示出的解码方法的流程图。
附图标记说明
10:存储器存储装置
11:主机系统
110:系统总线
111:处理器
112:随机存取存储器
113:只读存储器
114:数据传输接口
12:输入/输出(I/O)装置
20:主机板
201:U盘
202:存储卡
203:固态硬盘
204:无线存储器存储装置
205:全球定位系统模块
206:网络接口卡
207:无线传输装置
208:键盘
209:屏幕
210:喇叭
32:SD卡
33:CF卡
34:嵌入式存储装置
341:嵌入式多媒体卡
342:嵌入式多芯片封装存储装置
402:连接接口单元
404:存储器控制电路单元
406:可复写式非易失性存储器模块
2202:存储单元阵列
2204:字线控制电路
2206:位线控制电路
2208:行解码器
2210:数据输入/输出缓冲器
2212:控制电路
502、C1~C8:存储单元
504:位线
506:字线
508:共用源极线
512:选择栅漏极晶体管
514:选择栅源极晶体管
LSB:最低有效比特
CSB:中间有效比特
MSB:最高有效比特
VA、VA1、VB、VC、VD、VE、VF、VG、1440~1444:读取电压
1301、1303、1305、1307、1309:物理程序化单元组
702:存储器管理电路
704:主机接口
706:存储器接口
708:错误检查与校正电路
710:缓冲存储器
712:电源管理电路
801(1)~801(r):位置
820:编码数据
810(0)~810(E):物理程序化单元
1410、1420:分布
1430:区域
V_1、V_2:电压
TP0:原始读取电压类别
TP1~TP3:读取电压类别
G0~G14:读取电压组
V0~V14N:读取电压
EIF1~EIF3:解码信息
R1~R3:分布范围
S1601:对多个读取电压组进行分类以配置多个读取电压类别,且此些读取电压类别中的每一个读取电压类别具有代表读取电压组的步骤
S1603:根据所述多个代表读取电压组读取第一物理程序化单元并执行解码操作以获得多个解码信息的步骤
S1605:根据所述多个解码信息选择所述多个读取电压类别中的第一读取电压类别的步骤
S1607:根据第一读取电压类别中的多个读取电压组读取所述第一物理程序化单元并执行所述解码操作的步骤
具体实施方式
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(亦称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机系统11可经由数据传输接口114将数据存储至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12电性连接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以经由有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(Near FieldCommunication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110电性连接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi ChipPackage,eMCP)342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于串行高级技术附件(SerialAdvanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合并行高级技术附件(Parallel Advanced TechnologyAttachment,PATA)标准、电气和电子工程师协会(Institute of Electrical andElectronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral ComponentInterconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi MediaCard,MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,eMMC)接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、嵌入式多芯片封装(embeddedMulti Chip Package,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、复数阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的存储单元是以阵列的方式设置。以下以二维阵列来对存储单元阵列进行说明。但是,在此须注意的是,以下范例实施例只是存储单元阵列的一种范例,在其他的范例实施例中,存储单元阵列的配置方式可以被调整以符合实务上的需求。
图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。图6是根据一范例实施例所示出的存储单元阵列的示意图。
请同时参照图5与图6,可复写式非易失性存储器模块406包括存储单元阵列2202、字线控制电路2204、位线控制电路2206、行解码器(column decoder)2208、数据输入/输出缓冲器2210与控制电路2212。
在本范例实施例中,存储单元阵列2202可包括用以存储数据的多个存储单元502、多个选择栅漏极(select gate drain,SGD)晶体管512与多个选择栅源极(select gatesource,SGS)晶体管514、以及连接此些存储单元的多条位线504、多条字线506、与共用源极线508(如图6所示)。存储单元502是以阵列方式(或立体堆叠的方式)配置在位线504与字线506的交叉点上。当从存储器控制电路单元404接收到写入指令或读取指令时,控制电路2212会控制字线控制电路2204、位线控制电路2206、行解码器2208、数据输入/输出缓冲器2210来写入数据至存储单元阵列2202或从存储单元阵列2202中读取数据,其中字线控制电路2204用以控制施予至字线506的电压,位线控制电路2206用以控制施予至位线504的电压,行解码器2208依据指令中的列地址以选择对应的位线,并且数据输入/输出缓冲器2210用以暂存数据。
可复写式非易失性存储器模块406中的存储单元是以临界电压的改变来存储多比特(bits)。具体来说,每一个存储单元的控制栅极(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的程序亦称为“把数据写入至存储单元”或“程序化存储单元”。随着临界电压的改变,存储单元阵列2202的每一存储单元具有多个存储状态。并且通过读取电压可以判断存储单元是属于哪一个存储状态,藉此取得存储单元所存储的比特。
图7是根据一范例实施例所示出存储于存储单元阵列中的写入数据所对应的栅极电压的统计分配图。
请参照图7,以MLC NAND型快闪存储器为例,随着不同的临界电压,每一存储单元具有4种存储状态,并且此些存储状态分别地代表"11"、"10"、"00"与"01"等比特。换言之,每一个存储状态包括最低有效比特(Least Significant Bit,LSB)以及最高有效比特(Most Significant Bit,MSB)。在本范例实施例中,存储状态(即,"11"、"10"、"00"与"01")中从左侧算起的第1个比特为LSB,而从左侧算起的第2个比特为MSB。因此,在此范例实施例中,每一存储单元可存储2个比特。必须了解的是,图7所示出的临界电压及其存储状态的对应仅为一个范例。在本发明另一范例实施例中,临界电压与存储状态的对应亦可是随着临界电压越大而以"11"、"10"、"01"与"00"排列,或是其他排列。此外,在另一范例实施例中,亦可定义从左侧算起的第1个比特为MSB,而从左侧算起的第2个比特为LSB。
在一个存储单元可以存储多个比特(例如,MLC或TLC NAND快闪存储器模块)的范例实施例中,属于同一条字线的物理程序化单元至少可被分类为下物理程序化单元与上物理程序化单元。例如,在MLC NAND快闪存储器模块中,一存储单元的最低有效比特(LeastSignificant Bit,LSB)是属于下物理程序化单元,并且此存储单元的最高有效比特(MostSignificant Bit,MSB)是属于上物理程序化单元。在一范例实施例中,下物理程序化单元亦称为快页(fast page),而上物理程序化单元亦称为慢页(slow page)。此外,在TLC NAND快闪存储器模块中,一存储单元的最低有效比特(Least Significant Bit,LSB)是属于下物理程序化单元,此存储单元的中间有效比特(Center Significant Bit,CSB)是属于中物理程序化单元,并且此存储单元的最高有效比特(Most Significant Bit,MSB)是属于上物理程序化单元。
图8是根据一范例实施例所示出的从存储单元中读取数据的示意图,其是以MLCNAND型快闪存储器为例。
请参照图8,存储单元阵列2202的存储单元的读取运作是通过施予读取电压VA~VC于控制栅极,通过存储单元通道的导通状态,来识别存储单元存储的数据。验证比特(VA)是用以指示施予读取电压VA时存储单元通道是否为导通;验证比特(VC)是用以指示施予读取电压VC时,存储单元通道是否为导通;验证比特(VB)是用以指示施予读取电压VB时,存储单元通道是否为导通。在此假设验证比特是“1”时表示对应的存储单元通道导通,而验证比特是“0”时表示对应的存储单元通道没有导通。如图8所示,通过验证比特(VA)~(VC)可以判断存储单元是处于哪一个存储状态,进而取得所存储的比特。
图9是根据另一范例实施例所示出的从存储单元中读取数据的示意图。
请参照图9,以一TLC NAND型快闪存储器为例,每一个存储状态包括左侧算起的第1个比特的最低有效比特LSB、从左侧算起的第2个比特的中间有效比特(CenterSignificant Bit,CSB)以及从左侧算起的第3个比特的最高有效比特MSB。在此范例中,依照不同的临界电压,存储单元具有8种存储状态(即,"111"、"110"、"100"、"101"、"001"、"000"、"010"与"011")。通过施加读取电压VA~VG于控制栅极,可以识别存储单元所存储的比特。
其中,值得说明的是,图9的8种存储状态的排列顺序,可依制造商的设计而订,非以本范例的排列方式为限。
此外,可复写式非易失性存储器模块406的存储单元会构成多个物理程序化单元,并且此些物理程序化单元会构成多个物理抹除单元。具体而言,图6中同一条字线上的存储单元会组成一或多个物理程序化单元。例如,若可复写式非易失性存储器模块406为MLCNAND型快闪存储器模块,则同一条字线与多条位线的交错处上的存储单元会构成2个物理程序化单元,亦即上物理程序化单元与下物理程序化单元。而一个上物理程序化单元与一个下物理程序化单元可以统称为一物理程序化单元组。特别是,倘若欲读取的数据位在一物理程序化单元组的一下物理程序化单元时,可以采用如图8中的读取电压VA来识别此下物理程序化单元中每一比特的值。倘若欲读取的数据位在一物理程序化单元组的一上物理程序化单元时,可以采用如图8中读取电压VB与读取电压VC来识别此上物理程序化单元中每一比特的值。
或者,若可复写式非易失性存储器模块406为TLC NAND型快闪存储器模块,则同一条字线与多条位线的交错处上的存储单元会构成3个物理程序化单元,亦即上物理程序化单元、中物理程序化单元与下物理程序化单元。而一个上物理程序化单元、一个中物理程序化单元与一个下物理程序化单元可以统称为一物理程序化单元组。特别是,倘若欲读取的数据位在一物理程序化单元组的一下物理程序化单元时,可以采用如图9中的读取电压VA来识别此下物理程序化单元中每一比特的值。倘若欲读取的数据位在一物理程序化单元组的一中物理程序化单元时,可以采用如图9中的读取电压VB与读取电压VC来识别此中物理程序化单元中每一比特的值。倘若欲读取的数据位在一物理程序化单元组的一上物理程序化单元时,可以采用如图9中的读取电压VD、读取电压VE、读取电压VF与读取电压VG来识别此上物理程序化单元中每一比特的值。
在本范例实施例中,物理程序化单元为程序化的最小单元。即,物理程序化单元为写入数据的最小单元。例如,物理程序化单元为物理页面(page)或是实体扇(sector)。若物理程序化单元为物理页面,则此些物理程序化单元通常包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储系统数据(例如,错误更正码)。在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,物理抹除单元为抹除的最小单位。亦即,每一物理抹除单元含有最小数目之一并被抹除的存储单元。例如,物理抹除单元为物理区块(block)。
图10是根据本范例实施例所示出的物理抹除单元的范例示意图。
请参照图10,在本范例实施例中,假设一个物理抹除单元是由多个物理程序化单元组所组成,其中每个物理程序化单元组包括由排列在同一条字线上的数个存储单元所组成的下物理程序化单元、中物理程序化单元与上物理程序化单元。例如,在物理抹除单元中,属于下物理程序化单元的第0个物理程序化单元、属于中物理程序化单元的第1个物理程序化单元和属于上物理程序化单元的第2个物理程序化单元会被视为一个物理程序化单元组。类似地,第3、4、5个物理程序化单元会被视为一个物理程序化单元组,并且以此类推其他物理程序化单元亦是依据此方式被区分为多个物理程序化单元组。
图11是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图11,存储器控制电路单元404包括存储器管理电路702、主机接口704、存储器接口706及错误检查与校正电路708。
存储器管理电路702用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路702具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路702或任何包含于存储器控制电路单元404中的电路元件的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路702的控制指令是以固件型式来实作。例如,存储器管理电路702具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路702的控制指令亦可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路702具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路702的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路702的控制指令亦可以一硬件型式来实作。例如,存储器管理电路702包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或其群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路702还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口704是电性连接至存储器管理电路702并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口704来传送至存储器管理电路702。在本范例实施例中,主机接口704是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口704亦可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口706是电性连接至存储器管理电路702并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口706转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路702要存取可复写式非易失性存储器模块406,存储器接口706会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路702产生并且通过存储器接口706传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
错误检查与校正电路708是电性连接至存储器管理电路702并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路702从主机系统11中接收到写入指令时,错误检查与校正电路708会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路702会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路702从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路708会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正程序。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器710与电源管理电路712。
缓冲存储器710是电性连接至存储器管理电路702并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路712是电性连接至存储器管理电路702并且用以控制存储器存储装置10的电源。
在本范例实施例中,错误检查与校正电路708可以针对存储于同一个物理程序化单元中的数据进行单框架(single-frame)编码,也可以针对存储于多个物理程序化单元中的数据进行多框架(multi-frame)编码。单框架编码与多框架编码可以分别采用低密度奇偶检查校正码(low density parity code,LDPC)、BCH码、回旋码(convolutional code)或涡轮码(turbo code)等编码算法的至少其中之一。或者,在一范例实施例中,多框架编码还可以采用里德-所罗门码(Reed-solomon codes,RS codes)算法或互斥或(XOR)算法。此外,在另一范例实施例中,更多未列于上的编码算法也可以被采用,在此便不赘述。根据所采用的编码算法,错误检查与校正电路708可以编码欲保护的数据来产生相对应的错误更正码和/或错误检查码。为了说明方便,以下将经由编码产生的错误更正码和/或错误检查码统称为编码数据。图12是根据本发明的一范例实施例所示出的多框架编码的示意图。
请参照图12,以编码物理程序化单元810(0)~810(E)所存储的数据来产生相对应的编码数据820为例,物理程序化单元810(0)~810(E)中的每一者所存储的至少部分数据可视为一个框架。在多框架编码中,是以每一个比特(或,字节)所在的位置为依据来对物理程序化单元810(0)~810(E)中的数据进行编码。例如,位于位置801(1)的比特b11、b21、…、bp1会被编码为编码数据820中的比特bo1,位于位置801(2)的比特b12、b22、…、bp2会被编码为编码数据820中的比特bo2;以此类推,位于位置801(r)的比特b1r、b2r、…、bpr会被编码为编码数据820中的比特bor。尔后,根据编码数据820即可对从物理程序化单元810(0)~810(E)中读取的数据进行解码,以尝试更正所读取的数据中可能存在的错误。
此外,在图12的另一范例实施例中,用于产生编码数据820的数据也可能包括物理程序化单元810(0)~810(E)所存储的数据中的数据比特(data bits)所对应的冗余比特(redundancy bits)。以物理程序化单元810(0)所存储的数据为例,其中的冗余比特例如是对存储于物理程序化单元810(0)中的数据比特进行单框架编码而产生的。在本范例实施例中,假设在读取物理程序化单元810(0)中的数据时,从物理程序化单元810(0)中读取出的数据可以先使用物理程序化单元810(0)中的冗余比特(例如,单框架编码的编码数据)来解码以进行错误侦测与更正。然而,当使用物理程序化单元810(0)中的冗余比特进行解码发生失败(例如,解码后物理程序化单元810(0)中所存储的数据的错误比特数大于一门槛值)时,可以使用重新读取(Retry-Read)机制尝试从物理程序化单元810(0)中读取出正确的数据。关于重新读取机制的细节请容后详述。而当无法通过重新读取(Retry-Read)机制从物理程序化单元810(0)中读取出正确的数据时,可以读取编码数据820以及物理程序化单元810(1)~810(E)的数据,并根据编码数据820以及物理程序化单元810(1)~810(E)的数据进行解码,以尝试更正物理程序化单元810(0)中所存储的数据中存在的错误。也就是说,在本范例实施例中,当使用单框架编码产生的编码数据进行解码发生失败以及使用重新读取(Retry-Read)机制进行读取发生失败时,会改用多框架编码产生的编码数据进行解码。
特别是,图13是根据一范例实施例示出重新读取机制的示意图。
请参照图13,在此以SLC快闪存储器为例,分布1410与分布1420是用来表示多个第一存储单元的存储状态,而分布1410与1420分别代表着不同的存储状态。这些第一存储单元可以属于同样的物理程序化单元或是不同的物理程序化单元,本发明并不在此限。在此假设当一个存储单元属于分布1410时,此存储单元所存储的是比特“1”;当存储单元属于分布1420时,此存储单元存储的是比特“0”。当存储器管理电路702以读取电压1440来读取存储单元时,存储器管理电路702会取得验证比特,其是用来指示此存储单元是否为导通。在此假设存储单元导通时验证比特是“1”,反之则是“0”,但本发明并不在此限。若此验证比特为“1”,则存储器管理电路702会判断此存储单元属于分布1410,反之则是分布1420。然而,分布1410与分布1420在区域1430中是重叠的。也就是说,有若干个存储单元应该是属于分布1410但被识别为分布1420,并且有若干个存储单元应该是属于分布1420但被识别为分布1410。
在此范例实施例中,当要读取这些存储单元时,存储器管理电路702会先选择一预设的读取电压(例如,读取电压1441)来读取这些存储单元以取得这些存储单元的验证比特。错误检查与校正电路708会根据这些存储单元的验证比特来执行解码操作,以产生多个解码比特,而此些解码比特可以组成一个解码后的数据(亦称为,码字)。
若解码失败,表示这些存储单元存储有不可更正的错误比特。若解码失败,在重新读取机制中,存储器管理电路702会重新取得另一读取电压,并用此另一读取电压(例如读取电压1442)来读取这些第一存储单元,以重新取得存储单元的验证比特。存储器管理电路702会根据重新取得的验证比特来执行上述的解码操作以取得由多个解码字节成的另一解码后的数据。在一范例实施例中,错误检查与校正电路708会根据该另一解码后的数据所对应的校验子判断所述另一解码后的数据是否为有效的码字。若所述另一解码后的数据非为有效的码字时,存储器管理电路702会判断解码失败。若重新取得读取电压的次数没有超过预设次数,则存储器管理电路702会再重新取得其他取得电压(例如,读取电压1443),并且根据重新取得的读取电压1443读取存储单元,以重新取得验证比特并执行第一解码操作。
换句话说,当有不可更正的错误比特时,通过重新取得读取电压,一些存储单元的验证比特会被改变,进而有机会改变解码操作的解码结果。逻辑上来说,上述重新取得读取电压的动作是要翻转(flip)一个码字中的若干比特,并对新的码字重新解码。在一些情况下,在翻转前无法解码的码字(有不可更正的错误比特),有可能在翻转后可以解码。并且,在一范例实施例中存储器管理电路702会尝试解码数次,直到尝试的次数超过预设次数为止。然而,本发明并不限制预设次数为多少。
需说明的是,使用单框架编码所产生的编码数据所执行的解码操作可以分成硬比特(hard bit mode)模式解码与软比特模式(soft bit mode)解码。在硬比特模式解码与软比特模式解码的过程中,均需根据存储单元的“解码初始值”来进行解码。在硬比特模式解码的过程中,存储单元的解码初始值是根据一个验证比特而被分为两个数值(例如,n与-n)。例如,若验证比特是”1”,存储器管理电路702会设定对应的存储单元的解码初始值为-n;若验证比特是”0”,则解码初始值为n。其中n为正数,但本发明并不限制正整数n的值为多少。也就是说,根据两种数值来执行的叠代解码亦被称为硬比特模式(hard bit mode)解码。然而,上述改变读取电压的步骤也可以应用在软比特模式(soft bit mode)解码,其中每一个存储单元的解码初始值是根据多个验证比特所决定。值得注意的是,不论是硬比特模式或是软比特模式,在叠代解码中都会计算比特的机率值,因此都属于机率解码算法。而硬比特模式解码与软比特模式解码的详细执行过程可以由现有技术而得知,在此不再赘述。
值得注意的是,在图13中所举的是SLC快闪存储器的例子,但重新取得读取电压的步骤也可以适用于MLC或是TLC快闪存储器。如图8所示,改变读取电压VA会翻转一个存储单元的LSB,而改变读取电压VB或VC则可以翻转一个存储单元的MSB。因此,改变读取电压VA、VB或VC都可以将一个码字改变为另一个码字。改变码字的结果也适用于图9的TLC快闪存储器。本发明并不限制所使用的是SLC、MLC或是TLC快闪存储器。需说明的是,读取电压VA~VC可以统称为一个读取电压组。而存储器管理电路702例如可以从多个读取电压组中挑选出某一组读取电压组来读取存储单元。
在此需说明的是,在本实施例中,当欲读取可复写式非易失性存储器模块406中的一物理程序化单元时,存储器管理电路702会先使用一预设电压组来读取该物理程序化单元并根据使用此预设电压组读取出的数据执行硬比特模式解码。当解码发生失败时,会执行前述的重新读取机制以再次地执行硬比特模式解码。当重新读取(Retry-Read)机制进行读取发生失败时,存储器管理电路702会执行软比特模式解码。当软比特模式解码发生失败时,存储器管理电路702会改用多框架编码产生的编码数据进行解码。
特别是,随着可复写式非易失性存储器模块406的制程上的进步,用于重新读取机制的读取电压组的数量越来越庞大。因此当重新读取机制被执行到次数超过预设次数时,早已经耗费了大量的时间。因此,如何减少解码的执行时间,是本领域技术人员所欲解决的问题之一。
因此,本发明提出一种解码方法,可以将用于重新读取机制的读取电压组进行分类以获得多个读取电压类别,并且从此些读取电压类别中挑选适当的读取电压类别来执行重新读取机制,藉此避免使用全部的读取电压组来执行重新读取机制所造成的时间的浪费。
更详细来说,图14是根据一范例实施例示出的对读取电压组进行分类的示意图。
请参照图14,假设可复写式非易失性存储器模块406的供应商提供用于执行重新读取机制的原始读取电压组表TP0。原始读取电压组表TP0中例如包括读取电压组G0~G14。读取电压组G0包括读取电压V0~V0N,读取电压组G1包括读取电压V1~V1N,以此类推。在本实施例中,在存储器存储装置10出厂前,存储器存储装置10的制造商例如可以通过存储器管理电路702对原始读取电压组表TP0中的读取电压组G0~G14进行分类以获得例如读取电压类别TP1~TP3,并通过存储器管理电路702将读取电压类别TP1~TP3配置在存储器存储装置10中。其中,读取电压类别TP1可以包括读取电压组G0、G1、G4、G8与G10。读取电压类别TP2可以包括读取电压组G2、G6、G7、G9与G11。读取电压类别TP3可以包括读取电压组G3、G5、G12、G13与G14。需注意的是,在其他实施例中,同一个读取电压组可以同时分属于不同的读取电压类别中。此外,每一个读取电压类别中可以包括一个代表读取电压组。例如,读取电压类别TP1中可以包括一个代表读取电压组G4(即,读取电压V4~V4N),读取电压类别TP2中可以包括一个代表读取电压组G7(即,读取电压V7~V7N),读取电压类别TP3中可以包括一个代表读取电压组G12(即,读取电压V12~V12N)。
图15是根据一范例实施例示出的电压分布图的示意图。
请参照图15,假设图15的电压分布图中横坐标的电压V_1与纵坐标的电压V_2是用于读取一物理程序化单元(例如,下物理程序化单元)的读取电压。假设将前述的读取电压组G0~G14以“X”标示并分布于图15的电压分布图中,则前述读取电压类别TP1~TP3会分别对应于图15的电压分布图中的电压分布范围R1~R3,而前述的代表读取电压组G4、代表读取电压组G7与代表读取电压组G12是分别位于电压分布范围R1~R3的正中心。换句话说,每一个代表读取电压组与其所属的电压分布范围中其他的读取电压组的距离的总和为最短。例如,代表读取电压组G4与其所属的电压分布范围R1中其他的读取电压组的距离的总和为最短。代表读取电压组G7与其所属的电压分布范围R2中其他的读取电压组的距离的总和为最短。代表读取电压组G12与其所属的电压分布范围R3中其他的读取电压组的距离的总和为最短。
需说明的是,读取电压组G0~G14例如是根据可复写式非易失性存储器模块406的磨损程度值(例如,写入次数与抹除次数的总和)、一数据可以存储在可复写式非易失性存储器模块406的时间长度、可复写式非易失性存储器模块406的写入温度与读取温度的温度差以及可复写式非易失性存储器模块406发生读取干扰(read-disturb)时的读取次数的至少其中之一被分类。而被分类到同一类(即,同一个读取电压类别)的多个读取电压组在被用来读取并执行解码后,所获得的解码后的数据中的错误比特数会很接近。在此需说明的是,在对同一个物理区块所存储的数据进行多次读取时,例如十万至百万次间的读取次数,很有可能会发生所读取的数据是错误的状况,甚至此被多次读取区块内所存储的数据会发生异常或遗失。而此类现象以本发明领域技术人员惯称为“读取干扰”(read-disturb)。
请返回参照图14,当存储器管理电路702要读取一物理程序化单元(亦称为,第一物理程序化单元)时,可以先分别使用读取电压类别TP1~TP3的代表读取电压组G4、G7与G12读取前述的第一物理程序化单元并执行一解码操作(例如,硬比特模式解码)以获得解码信息EIF1、解码信息EIF2与解码信息EIF3。在一实施例中,解码信息EIF1~EIF3例如是使用LDPC解码所获得的校验子和(syndrome sum)。而如何使用LDPC解码获得校验子和可以通过现有技术而得知,在此不再赘述。
需说明的是,校验子和的大小与一笔数据中错误比特的数目相关。例如,当校验子和越大时,一笔数据中错误比特的数目越大;当校验子和越小时,一笔数据中错误比特的数目越小。因此,当解码信息EIF1~EIF3是校验子和(syndrome sum)时,假设解码信息EIF1与解码信息EIF2(统称为,第一解码信息)的校验子和是小于一第一门槛值,且解码信息EIF3的校验子和非小于所述第一门槛值。此时,存储器管理电路702可以判断用以获得解码信息EIF1~EIF2的代表读取电压组G4与代表读取电压组G7(统称为,第一代表读取电压组)所属的读取电压类别TP1~TP2(亦称为,第一代表读取电压类别)用于重新读取机制可以有较高的解码成功机率,而用以获得解码信息EIF3的代表读取电压组G12所属的读取电压类别TP3用于重新读取机制则具有较低的解码成功机率。因此,存储器管理电路702可以根据读取电压类别TP1~TP2中的多个读取电压(亦称为,第一读取电压)读取前述的第一物理程序化单元并执行重新读取机制的解码操作。此外,由于读取电压类别TP3用于重新读取机制会具有较低的解码成功机率,因此在本实施例中,读取电压类别TP3不会被用来执行读取第一物理程序化单元并执行重新读取机制的解码操作。需注意的是,本发明并不用于限定前述的第一门槛值。
然而,在其他实施例中,解码信息EIF1~EIF3例如是所读取出的数据中,比特数值为“1”(亦称为,第一比特数值)的个数。需说明的是,一般在将数据写入至一物理程序化单元时,会先经过扰乱器(randomizer)来扰乱数据以使得写入至该物理程序化单元中的数据的比特数值为“0”的个数与比特数值为“1”的个数相等,藉此延长可复写式非易失性存储器模块406中存储单元的使用寿命。因此,存储器管理电路702可以设定一个物理程序化单元中所存储的比特个数的一半作为一个预设数值。当所读取出的数据中比特数值为“1”的个数与该预设数值的差值大于一第二门槛值时,可以判断该笔数据解码成功的机率较低。相对地,当所读取出的数据中比特数值为“1”的个数与该预设数值的差值非大于第二门槛值时,可以判断该笔数据解码成功的机率较高。需注意的是,在其他实施例中,第一比特数值也可以是代表比特数值为“0”的个数。
在本实施例中,解码信息EIF1~EIF3是所读取出的数据中,比特数值为“1”的个数。假设解码信息EIF1中所记录的比特数值为“1”的个数与该预设数值的差值非大于第二门槛值且解码信息EIF2中所记录的比特数值为“1”的个数与该预设数值的差值非大于第二门槛值时。此时,存储器管理电路702可以判断用以获得解码信息EIF1~EIF2的代表读取电压组G4与代表读取电压组G7所属的读取电压类别TP1~TP2用于重新读取机制可以有较高的解码成功机率。此外,假设解码信息EIF3中所记录的比特数值为“1”的个数与该预设数值的差值大于第二门槛值时,用以获得解码信息EIF3的代表读取电压组G12所属的读取电压类别TP3用于重新读取机制则具有较低的解码成功机率。因此,存储器管理电路702可以根据读取电压类别TP1~TP2中的多个读取电压读取前述的第一物理程序化单元并执行重新读取机制的解码操作。此外,由于读取电压类别TP3用于重新读取机制会具有较低的解码成功机率,因此在本实施例中,读取电压类别TP3不会被用来执行读取第一物理程序化单元并执行重新读取机制的解码操作。需注意的是,本发明并不用于限定前述的第二门槛值。
图16是根据一范例实施例示出的解码方法的流程图。
请参照图16,在步骤S1601中,存储器管理电路702对多个读取电压组进行分类以配置多个读取电压类别,且此些读取电压类别中的每一个读取电压类别具有代表读取电压组。在步骤S1603中,存储器管理电路702根据所述多个代表读取电压组读取第一物理程序化单元并执行解码操作以获得多个解码信息。在步骤S1605中,存储器管理电路702根据所述多个解码信息选择所述多个读取电压类别中的第一读取电压类别。在步骤S1607中,存储器管理电路702根据第一读取电压类别中的多个读取电压组读取所述第一物理程序化单元并执行所述解码操作。
综上所述,本发明的解码方法、存储器控制电路单元与存储器存储装置可以将用于重新读取机制的读取电压组进行分类以获得多个读取电压类别,并且从此些读取电压类别中挑选适当的读取电压类别来执行重新读取机制,藉此避免使用全部的读取电压组来执行重新读取机制所造成的时间的浪费。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。

Claims (24)

1.一种解码方法,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块具有多个物理抹除单元,所述多个物理抹除单元之中的每一个物理抹除单元具有多个物理程序化单元,所述解码方法包括:
配置多个读取电压类别,其中所述多个读取电压类别中的每一个读取电压类别包含多个读取电压组,且所述多个读取电压类别中的每一个读取电压类别具有代表读取电压组,其中所述代表读取电压组用以代表所述每一个读取电压类别所包含的所述多个读取电压组来执行解码操作;
根据所述多个代表读取电压组读取第一物理程序化单元并执行所述解码操作以获得多个解码信息;
根据所述多个解码信息选择所述多个读取电压类别中的第一读取电压类别;以及
根据所述第一读取电压类别中的多个读取电压组读取所述第一物理程序化单元并执行所述解码操作。
2.根据权利要求1所述的解码方法,其中所述多个读取电压类别中所述第一读取电压类别以外的其他读取电压类别不会被用来执行读取所述第一物理程序化单元并执行所述解码操作的运作。
3.根据权利要求1所述的解码方法,其中所述多个读取电压组是根据所述可复写式非易失性存储器模块的磨损程度值、数据存储在所述可复写式非易失性存储器模块的时间长度、所述可复写式非易失性存储器模块的写入温度与读取温度的温度差以及所述可复写式非易失性存储器模块发生读取干扰时的读取次数的至少其中之一被分类。
4.根据权利要求1所述的解码方法,其中所述多个解码信息中的每一个解码信息包括校验子和或所读取出的数据中第一比特数值的个数。
5.根据权利要求4所述的解码方法,其中所述多个解码信息中的第一解码信息的校验子和小于一第一门槛值,且所述多个解码信息中所述第一解码信息以外的其他解码信息的校验子和非小于所述第一门槛值,所述第一解码信息用以选择所述第一读取电压类别。
6.根据权利要求4所述的解码方法,其中所述多个解码信息中的第一解码信息的所述第一比特数值的个数与预设数值的差小于第二门槛值,且所述多个解码信息中所述第一解码信息以外的其他解码信息的所述第一比特数值的个数与所述预设数值的差非小于所述第二门槛值,所述第一解码信息用以选择所述第一读取电压类别。
7.根据权利要求6所述的解码方法,其中所述预设数值为所述第一物理程序化单元中所存储的数据的比特个数的一半。
8.根据权利要求1所述的解码方法,其中所述多个读取电压组分布于电压分布图中,所述多个读取电压类别分别对应于所述电压分布图中的多个电压分布范围,所述多个代表读取电压组中的每一个代表读取电压组与其所属的电压分布范围中其他的读取电压组的距离的总和为最短。
9.一种存储器控制电路单元,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块具有多个物理抹除单元,所述多个物理抹除单元之中的每一个物理抹除单元具有多个物理程序化单元,所述存储器控制电路单元包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至所述可复写式非易失性存储器模块;以及
存储器管理电路,电性连接至所述主机接口以及所述存储器接口,
其中所述存储器管理电路用以配置多个读取电压类别,其中所述多个读取电压类别中的每一个读取电压类别包含多个读取电压组,且所述多个读取电压类别中的每一个读取电压类别具有代表读取电压组,其中所述代表读取电压组用以代表所述每一个读取电压类别所包含的所述多个读取电压组来执行解码操作,
其中所述存储器管理电路还用以根据所述多个代表读取电压组读取第一物理程序化单元并执行所述解码操作以获得多个解码信息,
其中所述存储器管理电路还用以根据所述多个解码信息选择所述多个读取电压类别中的第一读取电压类别,
其中所述存储器管理电路还用以根据所述第一读取电压类别中的多个读取电压组读取所述第一物理程序化单元并执行所述解码操作。
10.根据权利要求9所述的存储器控制电路单元,其中所述多个读取电压类别中所述第一读取电压类别以外的其他读取电压类别不会被用来执行读取所述第一物理程序化单元并执行所述解码操作的运作。
11.根据权利要求9所述的存储器控制电路单元,其中所述多个读取电压组是根据所述可复写式非易失性存储器模块的磨损程度值、数据存储在所述可复写式非易失性存储器模块的时间长度、所述可复写式非易失性存储器模块的写入温度与读取温度的温度差以及所述可复写式非易失性存储器模块发生读取干扰时的读取次数的至少其中之一被分类。
12.根据权利要求9所述的存储器控制电路单元,其中所述多个解码信息中的每一个解码信息包括校验子和或所读取出的数据中第一比特数值的个数。
13.根据权利要求12所述的存储器控制电路单元,其中所述多个解码信息中的第一解码信息的校验子和小于第一门槛值,且所述多个解码信息中所述第一解码信息以外的其他解码信息的校验子和非小于所述第一门槛值,所述第一解码信息用以选择所述第一读取电压类别。
14.根据权利要求12所述的存储器控制电路单元,其中所述多个解码信息中的第一解码信息的所述第一比特数值的个数与预设数值的差小于第二门槛值,且所述多个解码信息中所述第一解码信息以外的其他解码信息的所述第一比特数值的个数与所述预设数值的差非小于所述第二门槛值,所述第一解码信息用以选择所述第一读取电压类别。
15.根据权利要求14所述的存储器控制电路单元,其中所述预设数值为所述第一物理程序化单元中所存储的数据的比特个数的一半。
16.根据权利要求9所述的存储器控制电路单元,其中所述多个读取电压组分布于电压分布图中,所述多个读取电压类别分别对应于所述电压分布图中的多个电压分布范围,所述多个代表读取电压组中的每一个代表读取电压组与其所属的电压分布范围中其他的读取电压组的距离的总和为最短。
17.一种存储器存储装置,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,所述可复写式非易失性存储器模块具有多个物理抹除单元,所述多个物理抹除单元之中的每一个物理抹除单元具有多个物理程序化单元;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以配置多个读取电压类别,其中所述多个读取电压类别中的每一个读取电压类别包含多个读取电压组,且所述多个读取电压类别中的每一个读取电压类别具有代表读取电压组,其中所述代表读取电压组用以代表所述每一个读取电压类别所包含的所述多个读取电压组来执行解码操作,
其中所述存储器控制电路单元还用以根据所述多个代表读取电压组读取第一物理程序化单元并执行所述解码操作以获得多个解码信息,
其中所述存储器控制电路单元还用以根据所述多个解码信息选择所述多个读取电压类别中的第一读取电压类别,
其中所述存储器控制电路单元还用以根据所述第一读取电压类别中的多个读取电压组读取所述第一物理程序化单元并执行所述解码操作。
18.根据权利要求17所述的存储器存储装置,其中所述多个读取电压类别中所述第一读取电压类别以外的其他读取电压类别不会被用来执行读取所述第一物理程序化单元并执行所述解码操作的运作。
19.根据权利要求17所述的存储器存储装置,其中所述多个读取电压组是根据所述可复写式非易失性存储器模块的磨损程度值、数据存储在所述可复写式非易失性存储器模块的时间长度、所述可复写式非易失性存储器模块的写入温度与读取温度的温度差以及所述可复写式非易失性存储器模块发生读取干扰时的读取次数的至少其中之一被分类。
20.根据权利要求17所述的存储器存储装置,其中所述多个解码信息中的每一个解码信息包括校验子和或所读取出的数据中第一比特数值的个数。
21.根据权利要求20所述的存储器存储装置,其中所述多个解码信息中的第一解码信息的校验子和小于第一门槛值,且所述多个解码信息中所述第一解码信息以外的其他解码信息的校验子和非小于所述第一门槛值,所述第一解码信息用以选择所述第一读取电压类别。
22.根据权利要求20所述的存储器存储装置,其中所述多个解码信息中的第一解码信息的所述第一比特数值的个数与预设数值的差小于第二门槛值,且所述多个解码信息中所述第一解码信息以外的其他解码信息的所述第一比特数值的个数与所述预设数值的差非小于所述第二门槛值,所述第一解码信息用以选择所述第一读取电压类别。
23.根据权利要求22所述的存储器存储装置,其中所述预设数值为所述第一物理程序化单元中所存储的数据的比特个数的一半。
24.根据权利要求17所述的存储器存储装置,其中所述多个读取电压组分布于电压分布图中,所述多个读取电压类别分别对应于所述电压分布图中的多个电压分布范围,所述多个代表读取电压组中的每一个代表读取电压组与其所属的电压分布范围中其他的读取电压组的距离的总和为最短。
CN201910098176.8A 2019-01-31 2019-01-31 解码方法、存储器控制电路单元与存储器存储装置 Active CN111508546B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910098176.8A CN111508546B (zh) 2019-01-31 2019-01-31 解码方法、存储器控制电路单元与存储器存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910098176.8A CN111508546B (zh) 2019-01-31 2019-01-31 解码方法、存储器控制电路单元与存储器存储装置

Publications (2)

Publication Number Publication Date
CN111508546A CN111508546A (zh) 2020-08-07
CN111508546B true CN111508546B (zh) 2023-06-27

Family

ID=71868859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910098176.8A Active CN111508546B (zh) 2019-01-31 2019-01-31 解码方法、存储器控制电路单元与存储器存储装置

Country Status (1)

Country Link
CN (1) CN111508546B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6313341A (ja) * 1986-07-03 1988-01-20 Nec Corp 半導体集積回路とその試験方法
JPH0917191A (ja) * 1995-06-29 1997-01-17 Nec Corp 不揮発性半導体記憶装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4426361B2 (ja) * 2004-03-31 2010-03-03 パナソニック株式会社 不揮発性半導体記憶装置
JP2006048749A (ja) * 2004-07-30 2006-02-16 Seiko Epson Corp 不揮発性記憶装置及び不揮発性記憶装置のデータ書き込み方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6313341A (ja) * 1986-07-03 1988-01-20 Nec Corp 半導体集積回路とその試験方法
JPH0917191A (ja) * 1995-06-29 1997-01-17 Nec Corp 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
CN111508546A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
US20190252035A1 (en) Decoding method, memory storage device and memory control circuit unit
US10424391B2 (en) Decoding method, memory controlling circuit unit and memory storage device
TWI668695B (zh) 電壓調整方法、記憶體控制電路單元以及記憶體儲存裝置
US10522234B2 (en) Bit tagging method, memory control circuit unit and memory storage device
CN106297883B (zh) 解码方法、存储器存储装置及存储器控制电路单元
US10685711B1 (en) Decoding method, memory controlling circuit unit and memory storage device
CN111415692B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
TWI691962B (zh) 解碼方法、記憶體控制電路單元與記憶體儲存裝置
TWI681396B (zh) 解碼方法、記憶體控制電路單元以及記憶體儲存裝置
CN109901784B (zh) 数据存取方法、存储器控制电路单元以及存储器储存装置
US11190217B2 (en) Data writing method, memory controlling circuit unit and memory storage device
TWI662553B (zh) 記憶體測試方法與記憶體測試系統
CN109559774B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
CN110797069B (zh) 电压调整方法、存储器控制电路单元以及存储器存储装置
CN110875081B (zh) 存储器测试方法与存储器测试系统
CN111508546B (zh) 解码方法、存储器控制电路单元与存储器存储装置
US11145372B2 (en) Decoding method, memory controlling circuit unit, and memory storage device
CN111435604B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
CN111324478B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
CN112634972B (zh) 电压识别方法、存储器控制电路单元以及存储器储存装置
CN113138947B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
CN113496752B (zh) 解码方法、存储器存储装置及存储器控制电路单元
TWI742509B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
US10628259B2 (en) Bit determining method, memory control circuit unit and memory storage device
CN110795268B (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