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

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

Info

Publication number
CN111258791A
CN111258791A CN201811465527.6A CN201811465527A CN111258791A CN 111258791 A CN111258791 A CN 111258791A CN 201811465527 A CN201811465527 A CN 201811465527A CN 111258791 A CN111258791 A CN 111258791A
Authority
CN
China
Prior art keywords
data
memory
unit
physical
reliability information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811465527.6A
Other languages
English (en)
Other versions
CN111258791B (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 CN201811465527.6A priority Critical patent/CN111258791B/zh
Publication of CN111258791A publication Critical patent/CN111258791A/zh
Application granted granted Critical
Publication of CN111258791B publication Critical patent/CN111258791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明的范例实施例提供一种存储器控制方法,其用于可复写式非易失性存储器模块。所述方法包括:从可复写式非易失性存储器模块中的第一物理单元读取第一数据;经由解码电路解码所述第一数据;根据经解码的第一数据更新可靠度信息;从可复写式非易失性存储器模块中的第二物理单元读取第二数据;以及经由解码电路根据经更新的可靠度信息解码所述第二数据。藉此,可基于可复写式非易失性存储器模块的存储特性提升解码电路的性能。此外,本发明的范例实施例也提供存储器存储装置与存储器控制电路单元。

Description

存储器控制方法、存储器存储装置及存储器控制电路单元
技术领域
本发明涉及一种存储器控制技术,尤其涉及一种存储器控制方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
基于各种因素,从存储器存储装置中读取的数据可能会包含错误比特。因此,在将数据传送给主机系统之前,读取的数据可被解码以尝试更正数据中的错误比特。一般来说,在成功解码某一读取数据后,解码成功的数据可能会被短暂地存储在缓冲存储器中。在将此数据传送至主机系统后,此数据随即会被从缓冲存储器中删除。换言之,在传统的解码程序中,解码成功的数据并不会被用于进一步的分析以尝试改善往后的解码效率。在使用一段时间后,存储器存储装置可能因为数据解码效率太差而无法继续使用。
发明内容
本发明提供一种存储器控制方法、存储器存储装置及存储器控制电路单元,可改善存储器存储装置的解码效能和/或延长存储器存储装置的使用寿命。
本发明的范例实施例提供一种存储器控制方法,其用于可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个物理单元。所述存储器控制方法包括:从所述物理单元中的第一物理单元读取第一数据;经由解码电路解码所述第一数据;根据经解码的所述第一数据更新可靠度信息;从所述物理单元中的第二物理单元读取第二数据;以及经由所述解码电路根据经更新的所述可靠度信息解码所述第二数据。
在本发明的一范例实施例中,根据经解码的所述第一数据更新所述可靠度信息的步骤包括:根据经解码的所述第一数据中的第一比特值更新对应于第一电压范围的可靠度信息,其中所述第一比特值为0与1的其中之一。
在本发明的一范例实施例中,根据经解码的所述第一数据中的所述第一比特值更新对应于所述第一电压范围的所述可靠度信息的步骤包括:获得经解码的所述第一数据中对应于所述第一电压范围的所述第一比特值的第一数目;以及根据所述第一数目更新对应于所述第一电压范围的所述可靠度信息。
在本发明的一范例实施例中,根据所述第一数目更新对应于所述第一电压范围的所述可靠度信息的步骤包括:获得经解码的所述第一数据中对应于所述第一电压范围的第二比特值的第二数目,其中所述第二比特值为0与1的其中之另一;以及根据所述第一数目与所述第二数目更新对应于所述第一电压范围的所述可靠度信息。
在本发明的一范例实施例中,根据经解码的所述第一数据更新所述可靠度信息的步骤包括:根据经解码的所述第一数据识别所述第一物理单元中的第一存储单元所存储的第一比特的真值,其中所述第一存储单元的电压位于第一电压范围内,且所述第一存储单元存储所述第一数据的部分数据;以及根据所述真值更新对应于所述第一电压范围的可靠度信息。
在本发明的一范例实施例中,根据经解码的所述第一数据更新所述可靠度信息的步骤包括:获得所述第一物理单元中的第一存储单元的总数,其中所述第一存储单元的电压位于第一电压范围内,且所述第一存储单元存储所述第一数据的部分数据;以及根据所述总数更新对应于所述第一电压范围的可靠度信息。
本发明的范例实施例另提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以连接至主机系统。所述可复写式非易失性存储器模块包括多个物理单元。所述存储器控制电路单元连接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以发送第一读取指令序列以指示从所述物理单元中的第一物理单元读取第一数据。所述存储器控制电路单元还用以解码所述第一数据。所述存储器控制电路单元还用以根据经解码的所述第一数据更新可靠度信息。所述存储器控制电路单元还用以发送第二读取指令序列以指示从所述物理单元中的第二物理单元读取第二数据。所述存储器控制电路单元还用以根据经更新的所述可靠度信息解码所述第二数据。
在本发明的一范例实施例中,所述存储器控制电路单元根据经解码的所述第一数据更新所述可靠度信息的操作包括:根据经解码的所述第一数据中的第一比特值更新对应于第一电压范围的可靠度信息,其中所述第一比特值为0与1的其中之一。
在本发明的一范例实施例中,所述存储器控制电路单元根据经解码的所述第一数据中的所述第一比特值更新对应于所述第一电压范围的所述可靠度信息的操作包括:获得经解码的所述第一数据中对应于所述第一电压范围的所述第一比特值的第一数目;以及根据所述第一数目更新对应于所述第一电压范围的所述可靠度信息。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述第一数目更新对应于所述第一电压范围的所述可靠度信息的操作包括:获得经解码的所述第一数据中对应于所述第一电压范围的第二比特值的第二数目,其中所述第二比特值为0与1的其中之另一;以及根据所述第一数目与所述第二数目更新对应于所述第一电压范围的所述可靠度信息。
在本发明的一范例实施例中,所述存储器控制电路单元根据经解码的所述第一数据更新所述可靠度信息的操作包括:根据经解码的所述第一数据识别所述第一物理单元中的第一存储单元所存储的第一比特的真值,其中所述第一存储单元的电压位于第一电压范围内,且所述第一存储单元存储所述第一数据的部分数据;以及根据所述真值更新对应于所述第一电压范围的可靠度信息。
在本发明的一范例实施例中,所述存储器控制电路单元根据经解码的所述第一数据更新所述可靠度信息的操作包括:获得所述第一物理单元中的第一存储单元的总数。所述第一存储单元的电压位于第一电压范围内,且所述第一存储单元存储所述第一数据的部分数据;以及根据所述总数更新对应于所述第一电压范围的可靠度信息。
本发明的范例实施例另提供一种存储器控制电路单元,其用于控制可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个物理单元。所述存储器控制电路单元包括主机接口、存储器接口、解码电路及存储器管理电路。所述主机接口用以连接至主机系统。所述存储器接口用以连接至所述可复写式非易失性存储器模块。所述存储器管理电路连接至所述主机接口、所述存储器接口及所述解码电路。所述存储器管理电路用以发送第一读取指令序列以指示从所述物理单元中的第一物理单元读取第一数据。所述解码电路用以解码所述第一数据。所述存储器管理电路还用以根据经解码的所述第一数据更新可靠度信息。所述存储器管理电路还用以发送第二读取指令序列以指示从所述物理单元中的第二物理单元读取第二数据。所述解码电路还用以根据经更新的所述可靠度信息解码所述第二数据。
在本发明的一范例实施例中,所述存储器管理电路根据经解码的所述第一数据更新所述可靠度信息的操作包括:根据经解码的所述第一数据中的第一比特值更新对应于第一电压范围的可靠度信息,其中所述第一比特值为0与1的其中之一。
在本发明的一范例实施例中,所述存储器管理电路根据经解码的所述第一数据中的所述第一比特值更新对应于所述第一电压范围的所述可靠度信息的操作包括:获得经解码的所述第一数据中对应于所述第一电压范围的所述第一比特值的第一数目;以及根据所述第一数目更新对应于所述第一电压范围的所述可靠度信息。
在本发明的一范例实施例中,所述存储器管理电路根据所述第一数目更新对应于所述第一电压范围的所述可靠度信息的操作包括:获得经解码的所述第一数据中对应于所述第一电压范围的第二比特值的第二数目,其中所述第二比特值为0与1的其中之另一;以及根据所述第一数目与所述第二数目更新对应于所述第一电压范围的所述可靠度信息。
在本发明的一范例实施例中,所述存储器管理电路根据经解码的所述第一数据更新所述可靠度信息的操作包括:根据经解码的所述第一数据识别所述第一物理单元中的第一存储单元所存储的第一比特的真值,其中所述第一存储单元的电压位于第一电压范围内,且所述第一存储单元存储所述第一数据的部分数据;以及根据所述真值更新对应于所述第一电压范围的可靠度信息。
在本发明的一范例实施例中,所述存储器管理电路根据经解码的所述第一数据更新所述可靠度信息的操作包括:获得所述第一物理单元中的第一存储单元的总数,其中所述第一存储单元的电压位于第一电压范围内,且所述第一存储单元存储所述第一数据的部分数据;以及根据所述总数更新对应于所述第一电压范围的可靠度信息。
在本发明的一范例实施例中,所述第一物理单元与所述第二物理单元皆属于所述可复写式非易失性存储器模块中的一第一物理抹除单元。
在本发明的一范例实施例中,所述第一物理单元属于所述可复写式非易失性存储器模块中的一第一物理抹除单元,所述第二物理单元属于所述可复写式非易失性存储器模块中的一第二物理抹除单元,且所述第一物理抹除单元与所述第二物理抹除单元彼此独立。
基于上述,在从第一物理单元读取第一数据后,第一数据可被解码,且可靠度信息可根据经解码的第一数据而被更新。在从第二物理单元读取第二数据后,第二数据可根据经更新的可靠度信息而被解码。藉此,可改善存储器存储装置的解码效能和/或延长存储器存储装置的使用寿命。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图7是根据本发明的一范例实施例所示出的奇偶检查矩阵的示意图;
图8是根据本发明的一范例实施例所示出的读取验证比特的示意图;
图9是根据本发明的一范例实施例所示出的存储器控制方法的流程图。
附图标记说明
10、30:存储器存储装置
11、31:主机系统
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:可复写式非易失性存储器模块
502:存储器管理电路
504:主机接口
506:存储器接口
508:错误检查与校正电路
510:缓冲存储器
512:电源管理电路
600(0)、600(1)、600(9):物理抹除单元
610(0)、610(1)、610(M)、620(0)、620(1)、620(M)、690(0)、690(1)、690(M):物理程序化单元
710:二分图
712(1)~712(k):奇偶节点
714(1)~714(n):信息节点
810、820:状态
801~806:电压范围
S901:步骤(从第一物理单元读取第一数据)
S902:步骤(经由解码电路解码第一数据)
S903:步骤(根据经解码的第一数据更新可靠度信息)
S904:步骤(从第二物理单元读取第二数据)
S905:步骤(经由解码电路根据经更新的可靠度信息解码第二数据)
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块(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可为其所使用的安全数字(SecureDigital,SD)卡32、小型快闪(Compact Flash,CF)卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded Multi MediaCard,eMMC)341和/或嵌入式多芯片封装(embedded Multi Chip Package,eMCP)存储装置342等各类型将存储器模块直接连接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
连接接口单元402用以将存储器存储装置10连接至主机系统11。存储器存储装置10可通过连接接口单元402与主机系统11通讯。在本范例实施例中,连接接口单元402是相容于串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(MemoryStick,MS)接口标准、MCP接口标准、MMC接口标准、eMMC接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、eMCP接口标准、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个比特的快闪存储器模块)、四阶存储单元(Quad Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下也称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制栅极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作也称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个比特。
在本范例实施例中,可复写式非易失性存储器模块406的存储单元可构成多个物理程序化单元,并且此些物理程序化单元可构成多个物理抹除单元。具体来说,同一条字线上的存储单元可组成一或多个物理程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字线上的物理程序化单元可至少可被分类为下物理程序化单元与上物理程序化单元。例如,一存储单元的最低有效比特(Least Significant Bit,LSB)是属于下物理程序化单元,并且一存储单元的最高有效比特(Most Significant Bit,MSB)是属于上物理程序化单元。一般来说,在MLCNAND型快闪存储器中,下物理程序化单元的写入速度会大于上物理程序化单元的写入速度,和/或下物理程序化单元的可靠度是高于上物理程序化单元的可靠度。
在本范例实施例中,物理程序化单元为程序化的最小单元。即,物理程序化单元为写入数据的最小单元。例如,物理程序化单元可为物理页面(page)或是物理扇(sector)。若物理程序化单元为物理页面,则此些物理程序化单元可包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个物理扇,用以存储使用者数据,而冗余比特区用以存储系统数据(例如,错误更正码等管理数据)。在本范例实施例中,数据比特区包含32个物理扇,且一个物理扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的物理扇,并且每一个物理扇的大小也可以是更大或更小。另一方面,物理抹除单元为抹除的最小单位。也即,每一物理抹除单元含有最小数目之一并被抹除的存储单元。例如,物理抹除单元为物理区块(block)。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504、存储器接口506及错误检查与校正电路508。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路502的控制指令也可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中之控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路502的控制指令也可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或存储单元群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口504是连接至存储器管理电路502。存储器管理电路502可通过主机接口504与主机系统11通讯。主机接口504可用以接收与识别主机系统11所传送的指令与数据。例如,主机系统11所传送的指令与数据可通过主机接口504来传送至存储器管理电路502。此外,存储器管理电路502可通过主机接口504将数据传送至主机系统11。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
错误检查与校正电路508是连接至存储器管理电路502并且用以执行错误检查与校正操作以确保数据的正确性。当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(errorcorrecting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器510与电源管理电路512。
缓冲存储器510是连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
在一范例实施例中,图4的可复写式非易失性存储器模块406也称为快闪(flash)存储器模块,存储器控制电路单元404也称为用于控制快闪存储器模块的快闪存储器控制器,和/或图5的存储器管理电路502也称为快闪存储器管理电路。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
请参照图6,在本范例实施例中,是假设可复写式非易失性存储器模块406包括10个物理抹除单元600(0)~600(9),且一个物理抹除单元包括M+1个物理程序化单元(也称为物理单元)。例如,物理抹除单元600(0)包括物理程序化单元610(0)~610(M),物理抹除单元600(1)包括物理程序化单元620(0)~620(M),且物理抹除单元600(9)包括物理程序化单元690(0)~690(M)。然而,在另一范例实施例中,可复写式非易失性存储器模块406可包括更多或更少的物理抹除单元,和/或一个物理抹除单元可包括更多或更少的物理程序化单元。
在一范例实施例中,存储器管理电路502可将可复写式非易失性存储器模块406的物理单元逻辑地分组至存储区与替换区。存储区中的物理单元是用以存储数据,而替换区中的物理单元则是用以替换存储区中损坏的物理单元。例如,若从某一个物理单元中读取的数据所包含的错误过多而无法被更正时,此物理单元会被视为是损坏的物理单元。须注意的是,若替换区中没有可用的物理抹除单元,则存储器管理电路可能会将整个存储器存储装置10宣告为写入保护(write protect)状态,而无法再写入数据。
在一范例实施例中,存储器管理电路502可配置逻辑单元以映射存储区中的物理单元。例如,一个逻辑单元可以是指一个逻辑地址、一个逻辑程序化单元、一个逻辑抹除单元或者由多个连续或不连续的逻辑地址组成。此外,一个逻辑单元可被映射至一或多个物理单元。
在一范例实施例中,存储器管理电路502可将逻辑单元与物理单元之间的映射关系(也称为逻辑-物理地址映射关系)记录于至少一逻辑-物理地址映射表。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑-物理地址映射表来执行对于存储器存储装置10的数据存取操作。
错误检查与校正电路508可包括一或多个解码电路。在本范例实施例中,错误检查与校正电路508所使用的是低密度奇偶检查校正码(low density parity code,LDPC)。然而,在另一范例实施例中,错误检查与校正电路508所使用的也可以是BCH码、回旋码(convolutional code)、涡轮码(turbo code)。
在低密度奇偶检查校正码中,是用一个奇偶检查矩阵来定义有效的码字。以下将奇偶检查矩阵标记为矩阵H,并且将一个码字标记为CW。依照以下方程式(1),若奇偶检查矩阵H与码字CW的相乘是零向量,表示码字CW为有效的码字。其中运算子
Figure BDA0001889710120000106
表示模2(mod 2)的矩阵相乘。换言之,矩阵H的零空间(null space)便包含了所有的有效码字。然而,本发明并不限制码字CW的内容。例如,码字CW也可以包括用任意算法所产生的错误更正码或是错误检查码。
Figure BDA0001889710120000101
在方程式(1)中,矩阵H的维度是k-乘-n(k-by-n),码字CW的维度是1-乘-n。k与n为正整数。码字CW中包括了信息比特与奇偶比特,即码字CW可以表示成[M P]。向量M是由信息比特所组成,且向量P是由奇偶比特所组成。向量M的维度是1-乘-(n-k),而向量P的维度是1-乘-k。以下将信息比特与奇偶比特统称为数据比特。换言之,码字CW具有n个数据比特,其中信息比特的长度为(n-k)比特,并且奇偶比特的长度是k比特。此外,码字CW的码率(coderate)为(n-k)/n。
在编码时,一个产生矩阵(以下标记为G)可被使用,使得对于任意的向量M都可满足以下方程式(2)。产生矩阵G的维度是(n-k)-乘-n。
Figure BDA0001889710120000102
由方程式(2)所产生的码字CW为有效的码字。因此可将方程式(2)代入方程式(1),藉此得到以下方程式(3)。
Figure BDA0001889710120000103
由于向量M可以是任意的向量,因此以下方程式(4)必定会满足。也就是说,在决定奇偶检查矩阵H以后,对应的产生矩阵G也可被决定。
Figure BDA0001889710120000104
在解码一个码字CW时,会先对码字中的数据比特执行一个奇偶检查操作。例如,在奇偶检查操作中,可将奇偶检查矩阵H与码字CW相乘以产生一个向量(以下标记为S,如以下方程式(5)所示)。若向量S是零向量,则可直接输出码字CW。若向量S不是零向量,则表示码字CW不是有效的码字。
Figure BDA0001889710120000105
在方程式(5)中,向量S的维度是k-乘-1。向量S中的每一个元素也称为校验子(syndrome)。若码字CW不是有效的码字,则错误检查与校正电路508会解码码字CW,以尝试更正码字CW中的错误比特。
图7是根据本发明的一范例实施例所示出的奇偶检查矩阵的示意图。
请参照图7,在本范例实施例中,奇偶检查矩阵H可以表示为二分图(bipartitegraph)710。二分图710包括奇偶节点712(1)~712(k)与信息节点714(1)~714(n)。奇偶节点712(1)~712(k)中的每一者对应一个校验子。信息节点714(1)~714(n)的每一者对应一个数据比特。数据比特与校验子之间的对应关系(即,信息节点714(1)~714(n)与奇偶节点712(1)~712(k)之间的连结关系)是根据奇偶检查矩阵所产生。例如,若奇偶检查矩阵中第i列第j行的元素为1,则第i个奇偶节点712(i)便会连接到第j个信息节点714(j)。i与j为正整数。
当存储器管理电路502从可复写式非易失性存储器模块406中读取n个数据比特(形成一个码字)时,当存储器管理电路502可取得对应于每一个数据比特的可靠度信息(也称为通道可靠度信息)。此可靠度信息是用以表示对应的数据比特被解码为比特“1”或是“0”的机率(或称信心度)。在二分图710中,信息节点714(1)~714(n)也可接收到对应的可靠度信息。例如,信息节点714(1)可接收对应于第1个数据比特的可靠度信息L1,而信息节点714(j)可接收对应于第j个数据比特的可靠度信息Lj
错误检查与校正电路508可根据二分图710的结构与通道可靠度信息L1~Ln来执行解码操作。例如,解码操作可包括叠代解码。在叠代解码中,信息节点714(1)~714(n)可计算出可靠度信息给奇偶节点712(1)~712(k),并且奇偶节点712(1)~712(k)也可计算出可靠度信息给信息节点714(1)~714(n)。这些可靠度信息会沿着二分图710中的边(edge)来传送。例如,奇偶节点712(i)传送给信息节点714(j)的是可靠度信息Li->j,而信息节点714(j)传送给奇偶节点712(i)是可靠度信息Lj->i。这些可靠度信息是用来表示一个节点认为某一个数据比特被解码为比特“1”或是“0”的机率(或为信心度)有多少。例如,可靠度信息Lj->i表示信息节点714(j)认为第j个数据比特被解码为比特“1”或是“0”的信心度(可为正或是负),而可靠度信息Li->j表示奇偶节点712(i)认为第j个数据比特被解码为比特“1”或是“0”的信心度。信息节点714(1)~714(n)与奇偶节点712(1)~712(k)可根据输入的可靠度信息来计算输出的可靠度信息,其近似于计算一个数据比特被解码为比特“1”或是“0”的条件机率。因此,上述传送可靠度信息的过程也称为置信传播(belief propagation)。
当采用不同的算法,信息节点714(1)~714(n)和/或奇偶节点712(1)~712(k)可计算出不同的可靠度信息。例如,错误检查与校正电路508可以采用总和-乘积算法(Sum-Product Algorithm)、最小值-总和算法(Min-Sum Algorithm)、或是比特翻转算法(bit-flipping Algorithm),本发明并不限制采用何种算法。
在叠代解码的每一次叠代中,信息节点714(1)~714(n)可传递可靠度信息给奇偶节点712(1)~712(k),并且奇偶节点712(1)~712(k)可传递可靠度信息给信息节点714(1)~714(n)。在每一次叠代过后,信息节点714(1)~714(n)可根据目前的可靠度信息计算出每一个数据比特应该被解码为比特“1”或是“0”。接着,可对计算出的数据比特执行奇偶检查操作。例如,在奇偶检查操作中,可将数据比特所形成的码字与奇偶检查矩阵相乘,藉此判断该码字是否为有效的码字。若所产生的码字为有效的码字,则表示解码成功且叠代解码可被停止。然而,若所产生的码字不是有效的码字,则表示解码失败并可进行下一次的叠代。此外,若叠代解码的叠代次数超过一个预设值,则叠代解码也会停止,表示解码失败。
图8是根据本发明的一范例实施例所示出的读取验证比特的示意图。
请参照图8,假设属于状态810的存储单元存储比特“1”,且属于状态820的存储单元存储比特“0”。状态810与820有部分的重叠。因此,当经由某些读取电压电平来读取存储单元时,部分属于状态810的存储单元会被判别为属于状态820,而部分属于状态820的存储单元会被判别为属于状态810。在本范例实施例中,是假设当某一个存储单元的通道被读取电压电平导通时,对应获得的验证比特是比特”0”,而当某一个存储单元的通道未被读取电压电平导通时,对应获得的验证比特是比特”1”。
存储器管理电路502可发送至少一读取指令序列至可复写式非易失性存储器模块406,以指示经由读取电压电平V1~V5读取某一个物理单元。根据读取电压电平V1~V5读取此物理单元中某一个存储单元的读取结果,存储器管理电路502可获得5个验证比特b1~b5。读取电压电平V1是对应到验证比特b1。读取电压电平V2是对应到验证比特b2。读取电压电平V3是对应到验证比特b3。读取电压电平V4是对应到验证比特b4。读取电压电平V5是对应到验证比特b5
若某一个存储单元的临界电压是位于电压范围801内,则在经由读取电压电平V1~V5读取此存储单元后,存储器管理电路502取得的验证比特可为“11111”。类似地,若某一个存储单元的临界电压是位于电压范围802内,则存储器管理电路502取得的验证比特可为“01111”。若某一个存储单元的临界电压是位于电压范围803内,则存储器管理电路502取得的验证比特可为“00111”。若某一个存储单元的临界电压是位于电压范围804内,则存储器管理电路502取得的验证比特可为“00011”。若某一个存储单元的临界电压是位于电压范围805内,则存储器管理电路502取得的验证比特可为“00001”。若某一个存储单元的临界电压是位于电压范围806内,则存储器管理电路502取得的验证比特可为“00000”。
在一范例实施例中,可复写式非易失性存储器模块406也可以将验证比特b1~b5做逻辑运算以后,把运算后的验证比特传送给存储器管理电路502。例如,验证比特b2与b4可进行互斥或(XOR)运算,且验证比特b1与b5可进行互斥或运算。藉此,针对某一个存储单元的读取结果,存储器管理电路502只会取得3个验证比特,从而减少存储器管理电路502与可复写式非易失性存储器模块406之间的数据传输量。此外,本发明并不限制验证比特的个数与内容。
在一范例实施例中,读取电压电平V1~V5的其中之一可被设定为正负号(sign)读取电压电平。此正负号读取电压电平是用来决定数据比特(也称为硬比特)的比特值。例如,若读取电压电平V3为正负号读取电压电平,则数据比特会相同于验证比特b3。或者,若读取电压电平V2为正负号读取电压电平,则数据比特会相同于验证比特b2,依此类推。
在一范例实施例中,电压范围801~806分别对应一个可靠度信息。根据经由读取某一个存储单元而获得的验证比特b1~b5,存储器管理电路502可决定此存储单元的临界电压位于电压范围801~806中的某一个电压范围内。例如,若所获得的验证比特为“00111”,存储器管理电路502可决定此存储单元的临界电压位于电压范围803内。接着,错误检查与校正电路508可根据对应电压范围803的可靠度信息来解码从此存储单元读取的数据比特(即硬比特)。
在一范例实施例中,可靠度信息包括对数可能性比值(Log Likelihood Ratio,LLR)。根据某一个电压范围中存储单元属于状态810的机率与属于状态820的机率,一个对数可能性比值可被获得并且作为对应于此电压范围的可靠度信息。
在一范例实施例中,各个电压范围所对应的对数可能性比值可以事先被计算出来并且存储在一个对数可能性比值查找表中。存储器管理电路502可以根据验证比特b1~b5产生一索引,并将此索引输入此对数可能性比值查找表以取得对应的对数可能性比值以作为可靠度信息。
须注意的是,在存储器存储装置10使用一段时间后,可复写式非易失性存储器模块406中的存储单元可能会老化和/或损耗。老化和/或损耗的存储单元可能会使得预设的对数可能性比值查找表难以发挥作用。例如,在存储单元严重老化和/或损耗后,使用预设的对数可能性比值查找表中的可靠度信息可能无法成功更正从此些存储单元读取的数据比特。因此,在一范例实施例中,存储器管理电路502可根据经解码的数据(即成功解码的数据)来更新可靠度信息,从而提高往后解码电路的解码效能和/或延长存储器存储装置10的使用寿命。
在一范例实施例中,存储器管理电路502可发送至少一读取指令序列(也称为第一读取指令序列)以指示从某一个物理单元(也称为第一物理单元)读取数据(也称为第一数据)。例如,第一物理单元可为图6的某一个物理程序化单元。错误检查与校正电路508可解码此第一数据。若第一数据被成功的解码,存储器管理电路502可根据经解码的第一数据更新可靠度信息。
在更新可靠度信息后,存储器管理电路502可发送至少一读取指令序列(也称为第二读取指令序列)以指示从某一个物理单元(也称为第二物理单元)读取数据(也称为第二数据)。例如,第二物理单元同样可为图6的某一个物理程序化单元。错误检查与校正电路508可根据经更新的可靠度信息解码第二数据。须注意的是,更新后的可靠度信息更符合当前存储单元的临界电压分布状,故可有效提高往后错误检查与校正电路508对于第二数据的解码效能。例如,第二数据是基于更新后的可靠度信息进行解码,故第二数据的解码所需时间可能少于第一数据的解码所需时间,和/或第二数据的解码成功率可能高于第一数据的解码成功率。
在一范例实施例中,存储器管理电路502可获得第一物理单元中特定存储单元(也称为第一存储单元)的总数。第一存储单元的电压位于某一电压范围(也称为第一电压范围)内。例如,第一电压范围可为图8的电压范围801~806的其中之一。第一存储单元存储第一数据的一部分数据。例如,存储器管理电路502可根据所获得的验证比特决定第一存储单元并统计第一存储单元的总数。在一范例实施例中,存储器管理电路502可根据此总数更新对应于第一电压范围的可靠度信息。例如,存储器管理电路502可根据此总数是增加或减少来调整对应于第一电压范围的可靠度信息。
在一范例实施例中,存储器管理电路502可根据经解码的第一数据识别第一存储单元所存储的比特(也称为第一比特)的真值。此真值可经由解码第一数据而获得。此真值反映第一存储单元所存储的第一比特的正确比特值。此真值可不同于读取第一存储单元而获得的数据比特的比特值。例如,假设原先从某一存储单元读取的数据比特的比特值为“0”且经过解码后此比特值被更正为“1”,表示此存储单元所存储的比特的真值为“1”。换言之,此真值反映此存储单元实际上是存储比特值“1”。同理,假设原先从某一存储单元读取的数据比特的比特值为“1”且经过解码后此比特值被更正为“0”,表示此存储单元所存储的第一比特的真值为“0”。换言之,此真值反映此存储单元实际上是存储比特值“0”。存储器管理电路502可根据此真值更新对应于第一电压范围的可靠度信息。
在一范例实施例中,存储器管理电路502可根据经解码的第一数据中的第一比特值来更新对应于第一电压范围的可靠度信息。第一比特值为真值,且第一比特值可为“0”或“1”。例如,存储器管理电路502可根据经解码的第一数据中所有或至少部分的“1”(或“0”)的总数和/或分布来调整对应于第一电压范围的可靠度信息。
以图8为例,假设第一电压范围为电压范围803且200个存储单元的临界电压位于电压范围803内(即第一存储单元的总数为200)。存储器管理电路502可根据经解码的第一数据获得这200个存储单元中,P1个存储单元实际上是存储第一比特值,而P2个存储单元实际上是存储第二比特值。若第一比特值为“1”,则第二比特值为“0”。或者,若第一比特值为“0”,则第二比特值为“1”。P1与P2的总和是200。
在一范例实施例中,P1也称为第一数目,且P2也称为第二数目。P1反映经解码的第一数据中对应于第一电压范围的第一比特值的数目。P2反映经解码的第一数据中对应于第一电压范围的第二比特值的数目。存储器管理电路502可根据P1和/或P2更新对应于第一电压范围的可靠度信息。例如,存储器管理电路502可根据P1与P2的比例来获得对应于第一电压范围的新的可靠度信息。例如,存储器管理电路502可将P1与P2代入log(P1/P2)以获得一个对数可能性比值。存储器管理电路502可将此对数可能性比值决定为对应于第一电压范围的新的可靠度信息。例如,存储器管理电路502可根据此新的对数可能性比值更新对数可能性比值查找表中对应于第一电压范围的可靠度信息。尔后,对数可能性比值查找表中新的可靠度信息可用于解码其他数据,以提高解码电路的解码效能和/或延长存储器存储装置10的使用寿命。
在一范例实施例中,第一物理单元与第二物理单元为同一个物理单元。例如,第一物理单元与第二物理单元可为图6的物理程序化单元610(0)。在一范例实施例中,第一物理单元与第二物理单元属于可复写式非易失性存储器模块406中的同一物理抹除单元(也称为第一物理抹除单元)。以图6为例,第一物理单元可为物理程序化单元610(0),而第二物理单元可为物理程序化单元610(1)。物理程序化单元610(0)与610(1)皆属于物理抹除单元600(0)。在一范例实施例中,前述根据经解码的第一数据所更新的可靠度信息(只)用于解码从同一个物理抹除单元读取的数据。
在一范例实施例中,第一物理单元属于可复写式非易失性存储器模块406中的某一个物理抹除单元(例如第一物理抹除单元),而第二物理单元属于可复写式非易失性存储器模块406中的另一物理抹除单元(例如第二物理抹除单元)。第一物理抹除单元与第二物理抹除单元彼此独立。以图6为例,第一物理单元可为物理程序化单元610(0),而第二物理单元可为物理程序化单元620(0)。物理程序化单元610(0)属于物理抹除单元600(0)。物理程序化单元620(0)属于物理抹除单元600(0)。物理抹除单元600(0)与600(1)彼此独立。在一范例实施例中,前述根据经解码的第一数据所更新的可靠度信息可用于解码从多个物理抹除单元读取的数据。
在一范例实施例中,第一物理单元在第一物理抹除单元中的页偏移(pageoffset)相同于第二物理单元在第二物理抹除单元中的页偏移。藉此,第一物理单元中存储单元的老化程度和/或损耗程度有较高机率相似于第二物理单元中存储单元的老化程度和/或损耗程度,从而可提高解码电路对于第二数据的解码效能。
在一范例实施例中,存储器管理电路502可获得图6中至少部分物理单元的损耗信息。此损耗信息可反映此些物理单元中存储单元的老化程度和/或损耗程度。例如,此损耗信息可包括写入计数、读取计数、抹除计数和/或比特错误率。存储器管理电路502可根据此损耗信息从多个物理单元中选择存储单元的老化程度和/或损耗程度相同或相似的多个物理单元作为第一物理单元与第二物理单元。例如,所选择的第一物理单元与第二物理单元的损耗信息可属于同一个数值范围。例如,假设第一物理单元的写入计数为120,则存储器管理电路502可选择写入计数位于100至150之间的某一物理单元作为第二物理单元。
须注意的是,在图8的范例实施例中,读取电压电平V1~V5的总数与电压范围801~806的总数可以是更多或更少,视实务上需求而定。此外,虽然前述范例实施例是以更新对应于电压范围803的可靠度信息作为范例,但相同或相似的可靠度信息更新操作可以套用于其他的电压范围,在此不重复赘述。在一范例实施例中,更新后的可靠度信息还可以用来解码从更多物理单元读取的数据,在此不重复赘述。
在一范例实施例中,错误检查与校正电路508可基于硬比特模式与软比特模式的至少其中之一来解码数据(例如第一数据和/或第二数据)。在一范例实施例中,若用于读取某一个存储单元的读取电压电平的总数为一,则所读取的数据(即验证比特)可(仅)包含硬比特,且错误检查与校正电路508可基于硬比特模式来解码此数据。以图8为例,在使用读取电压电平V3来读取第一存储单元(或第一物理单元)后,所获得的验证比特可包含经由读取电压电平V3读取的硬比特。错误检查与校正电路508可基于硬比特模式来解码所读取的数据。然而,在一范例实施例中,若用于读取第一存储单元(或第一物理单元)的读取电压电平的总数大于一,则所读取的数据(即验证比特)可包含硬比特与软比特,且错误检查与校正电路508可基于软比特模式来解码此数据。以图8为例,在依序使用读取电压电平V1~V5来读取第一存储单元(或第一物理单元)后,验证比特中可包含经由读取电压电平V3读取的硬比特与经由读取电压电平V1、V2、V4及V5所读取的软比特。错误检查与校正电路508可基于软比特模式来解码所读取的数据。
基于软比特模式执行的解码操作与基于硬比特模式执行的解码操作可采用相同或不同的解码算法。在一范例实施例中,可靠度信息仅在软比特模式中使用。因此,基于软比特模式执行的解码操作的解码成功率可能会高于基于硬比特模式执行的解码操作的解码成功率,但是基于软比特模式执行的解码操作的系统功耗(和/或算法复杂度)可能也会高于基于硬比特模式执行的解码操作的系统功耗(和/或算法复杂度)。此外,在一范例实施例中,可靠度信息可在软比特模式与硬比特模式中使用。
图9是根据本发明的一范例实施例所示出的存储器控制方法的流程图。
请参照图9,在步骤S901中,从可复写式非易失性存储器模块中的第一物理单元读取第一数据。在步骤S902中,经由解码电路解码第一数据。在步骤S903中,根据经解码的第一数据更新可靠度信息。在步骤S904中,从可复写式非易失性存储器模块中的第二物理单元读取第二数据。在步骤S905中,经由解码电路根据经更新的可靠度信息解码第二数据。
然而,图9中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图9中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图9的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,在从第一物理单元读取第一数据后,第一数据可被解码,且可靠度信息可根据经解码的第一数据而被更新。在从第二物理单元读取第二数据后,第二数据可根据经更新的可靠度信息而被解码。藉此,可改善解码电路、存储器存储装置和/或存储器控制电路单元的解码效能,并可延长存储器存储装置的使用寿命。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。

Claims (24)

1.一种存储器控制方法,其特征在于,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个物理单元,所述存储器控制方法包括:
从所述多个物理单元中的第一物理单元读取第一数据;
经由解码电路解码所述第一数据;
根据经解码的所述第一数据更新可靠度信息;
从所述多个物理单元中的第二物理单元读取第二数据;以及
经由所述解码电路根据经更新的所述可靠度信息解码所述第二数据。
2.根据权利要求1所述的存储器控制方法,其中根据经解码的所述第一数据更新所述可靠度信息的步骤包括:
根据经解码的所述第一数据中的第一比特值更新对应于第一电压范围的可靠度信息,
其中所述第一比特值为0与1的其中之一。
3.根据权利要求2所述的存储器控制方法,其中根据经解码的所述第一数据中的所述第一比特值更新对应于所述第一电压范围的所述可靠度信息的步骤包括:
获得经解码的所述第一数据中对应于所述第一电压范围的所述第一比特值的第一数目;以及
根据所述第一数目更新对应于所述第一电压范围的所述可靠度信息。
4.根据权利要求3所述的存储器控制方法,其中根据所述第一数目更新对应于所述第一电压范围的所述可靠度信息的步骤包括:
获得经解码的所述第一数据中对应于所述第一电压范围的第二比特值的第二数目,其中所述第二比特值为0与1的其中之另一;以及
根据所述第一数目与所述第二数目更新对应于所述第一电压范围的所述可靠度信息。
5.根据权利要求1所述的存储器控制方法,其中根据经解码的所述第一数据更新所述可靠度信息的步骤包括:
根据经解码的所述第一数据识别所述第一物理单元中的第一存储单元所存储的第一比特的真值,其中所述第一存储单元的电压位于第一电压范围内,且所述第一存储单元存储所述第一数据的部分数据;以及
根据所述真值更新对应于所述第一电压范围的可靠度信息。
6.根据权利要求1所述的存储器控制方法,其中根据经解码的所述第一数据更新所述可靠度信息的步骤包括:
获得所述第一物理单元中的第一存储单元的总数,其中所述第一存储单元的电压位于第一电压范围内,且所述第一存储单元存储所述第一数据的部分数据;以及
根据所述总数更新对应于所述第一电压范围的可靠度信息。
7.根据权利要求1所述的存储器控制方法,其中所述第一物理单元与所述第二物理单元皆属于所述可复写式非易失性存储器模块中的第一物理抹除单元。
8.根据权利要求1所述的存储器控制方法,其中所述第一物理单元属于所述可复写式非易失性存储器模块中的第一物理抹除单元,所述第二物理单元属于所述可复写式非易失性存储器模块中的第二物理抹除单元,且所述第一物理抹除单元与所述第二物理抹除单元彼此独立。
9.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个物理单元;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以发送第一读取指令序列以指示从所述多个物理单元中的第一物理单元读取第一数据,
所述存储器控制电路单元还用以解码所述第一数据,
所述存储器控制电路单元还用以根据经解码的所述第一数据更新可靠度信息,
所述存储器控制电路单元还用以发送第二读取指令序列以指示从所述多个物理单元中的第二物理单元读取第二数据,并且
所述存储器控制电路单元还用以根据经更新的所述可靠度信息解码所述第二数据。
10.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元根据经解码的所述第一数据更新所述可靠度信息的操作包括:
根据经解码的所述第一数据中的第一比特值更新对应于第一电压范围的可靠度信息,
其中所述第一比特值为0与1的其中之一。
11.根据权利要求10所述的存储器存储装置,其中所述存储器控制电路单元根据经解码的所述第一数据中的所述第一比特值更新对应于所述第一电压范围的所述可靠度信息的操作包括:
获得经解码的所述第一数据中对应于所述第一电压范围的所述第一比特值的第一数目;以及
根据所述第一数目更新对应于所述第一电压范围的所述可靠度信息。
12.根据权利要求11所述的存储器存储装置,其中所述存储器控制电路单元根据所述第一数目更新对应于所述第一电压范围的所述可靠度信息的操作包括:
获得经解码的所述第一数据中对应于所述第一电压范围的第二比特值的第二数目,其中所述第二比特值为0与1的其中之另一;以及
根据所述第一数目与所述第二数目更新对应于所述第一电压范围的所述可靠度信息。
13.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元根据经解码的所述第一数据更新所述可靠度信息的操作包括:
根据经解码的所述第一数据识别所述第一物理单元中的第一存储单元所存储的第一比特的真值,其中所述第一存储单元的电压位于第一电压范围内,且所述第一存储单元存储所述第一数据的一部分数据;以及
根据所述真值更新对应于所述第一电压范围的可靠度信息。
14.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元根据经解码的所述第一数据更新所述可靠度信息的操作包括:
获得所述第一物理单元中的第一存储单元的总数,其中所述第一存储单元的电压位于第一电压范围内,且所述第一存储单元存储所述第一数据的部分数据;以及
根据所述总数更新对应于所述第一电压范围的可靠度信息。
15.根据权利要求9所述的存储器存储装置,其中所述第一物理单元与所述第二物理单元皆属于所述可复写式非易失性存储器模块中的第一物理抹除单元。
16.根据权利要求9所述的存储器存储装置,其中所述第一物理单元属于所述可复写式非易失性存储器模块中的第一物理抹除单元,所述第二物理单元属于所述可复写式非易失性存储器模块中的第二物理抹除单元,且所述第一物理抹除单元与所述第二物理抹除单元彼此独立。
17.一种存储器控制电路单元,其特征在于,用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个物理单元,其中所述存储器控制电路单元包括:
主机接口,用以连接至主机系统;
存储器接口,用以连接至所述可复写式非易失性存储器模块;
解码电路;以及
存储器管理电路,连接至所述主机接口、所述存储器接口及所述解码电路,
其中所述存储器管理电路用以发送第一读取指令序列以指示从所述多个物理单元中的第一物理单元读取第一数据,
所述解码电路用以解码所述第一数据,
所述存储器管理电路还用以根据经解码的所述第一数据更新可靠度信息,
所述存储器管理电路还用以发送第二读取指令序列以指示从所述多个物理单元中的第二物理单元读取第二数据,并且
所述解码电路还用以根据经更新的所述可靠度信息解码所述第二数据。
18.根据权利要求17所述的存储器控制电路单元,其中所述存储器管理电路根据经解码的所述第一数据更新所述可靠度信息的操作包括:
根据经解码的所述第一数据中的第一比特值更新对应于第一电压范围的可靠度信息,
其中所述第一比特值为0与1的其中之一。
19.根据权利要求18所述的存储器控制电路单元,其中所述存储器管理电路根据经解码的所述第一数据中的所述第一比特值更新对应于所述第一电压范围的所述可靠度信息的操作包括:
获得经解码的所述第一数据中对应于所述第一电压范围的所述第一比特值的第一数目;以及
根据所述第一数目更新对应于所述第一电压范围的所述可靠度信息。
20.根据权利要求19所述的存储器控制电路单元,其中所述存储器管理电路根据所述第一数目更新对应于所述第一电压范围的所述可靠度信息的操作包括:
获得经解码的所述第一数据中对应于所述第一电压范围的第二比特值的第二数目,其中所述第二比特值为0与1的其中之另一;以及
根据所述第一数目与所述第二数目更新对应于所述第一电压范围的所述可靠度信息。
21.根据权利要求17所述的存储器控制电路单元,其中所述存储器管理电路根据经解码的所述第一数据更新所述可靠度信息的操作包括:
根据经解码的所述第一数据识别所述第一物理单元中的第一存储单元所存储的第一比特的真值,其中所述第一存储单元的电压位于第一电压范围内,且所述第一存储单元存储所述第一数据的部分数据;以及
根据所述真值更新对应于所述第一电压范围的可靠度信息。
22.根据权利要求17所述的存储器控制电路单元,其中所述存储器管理电路根据经解码的所述第一数据更新所述可靠度信息的操作包括:
获得所述第一物理单元中的第一存储单元的总数,其中所述第一存储单元的电压位于第一电压范围内,且所述第一存储单元存储所述第一数据的部分数据;以及
根据所述总数更新对应于所述第一电压范围的可靠度信息。
23.根据权利要求17所述的存储器控制电路单元,其中所述第一物理单元与所述第二物理单元皆属于所述可复写式非易失性存储器模块中的第一物理抹除单元。
24.根据权利要求17所述的存储器控制电路单元,其中所述第一物理单元属于所述可复写式非易失性存储器模块中的第一物理抹除单元,所述第二物理单元属于所述可复写式非易失性存储器模块中的第二物理抹除单元,且所述第一物理抹除单元与所述第二物理抹除单元彼此独立。
CN201811465527.6A 2018-12-03 2018-12-03 存储器控制方法、存储器存储装置及存储器控制电路单元 Active CN111258791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811465527.6A CN111258791B (zh) 2018-12-03 2018-12-03 存储器控制方法、存储器存储装置及存储器控制电路单元

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811465527.6A CN111258791B (zh) 2018-12-03 2018-12-03 存储器控制方法、存储器存储装置及存储器控制电路单元

Publications (2)

Publication Number Publication Date
CN111258791A true CN111258791A (zh) 2020-06-09
CN111258791B CN111258791B (zh) 2023-05-02

Family

ID=70948841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811465527.6A Active CN111258791B (zh) 2018-12-03 2018-12-03 存储器控制方法、存储器存储装置及存储器控制电路单元

Country Status (1)

Country Link
CN (1) CN111258791B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856615B1 (en) * 2012-06-11 2014-10-07 Western Digital Technologies, Inc. Data storage device tracking log-likelihood ratio for a decoder based on past performance
CN104851458A (zh) * 2014-02-18 2015-08-19 群联电子股份有限公司 解码方法、存储器存储装置与存储器控制电路单元
US20160098316A1 (en) * 2014-10-03 2016-04-07 Phison Electronics Corp. Error processing method, memory storage device and memory controlling circuit unit
CN107092536A (zh) * 2017-04-14 2017-08-25 合肥兆芯电子有限公司 解码方法、存储器存储装置及存储器控制电路单元

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856615B1 (en) * 2012-06-11 2014-10-07 Western Digital Technologies, Inc. Data storage device tracking log-likelihood ratio for a decoder based on past performance
CN104851458A (zh) * 2014-02-18 2015-08-19 群联电子股份有限公司 解码方法、存储器存储装置与存储器控制电路单元
US20160098316A1 (en) * 2014-10-03 2016-04-07 Phison Electronics Corp. Error processing method, memory storage device and memory controlling circuit unit
CN107092536A (zh) * 2017-04-14 2017-08-25 合肥兆芯电子有限公司 解码方法、存储器存储装置及存储器控制电路单元

Also Published As

Publication number Publication date
CN111258791B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
TWI612527B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
TWI672698B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
US10324787B2 (en) Decoding method, memory storage device and memory control circuit unit
US10447314B2 (en) Decoding method, memory storage device and memory control circuit unit
CN109491828B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN106681856B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN111580741B (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
TWI670725B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
US10622077B2 (en) Decoding method, memory storage device and memory control circuit unit
CN109697134B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN113724774B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN107608817B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN112799874B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN107025935B (zh) 译码方法、内存储存装置及内存控制电路单元
TWI751620B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
CN111326186B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN110874282B (zh) 数据存取方法、存储器控制电路单元与存储器存储装置
CN111258791B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN107590018B (zh) 译码方法、存储器控制电路单元及存储器存储装置
CN107301873B (zh) 译码方法、存储器储存装置及存储器控制电路单元
CN112837728B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
TWI764602B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
TWI805509B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN111863099B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN109509499B (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