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

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

Info

Publication number
CN109213614B
CN109213614B CN201710523204.7A CN201710523204A CN109213614B CN 109213614 B CN109213614 B CN 109213614B CN 201710523204 A CN201710523204 A CN 201710523204A CN 109213614 B CN109213614 B CN 109213614B
Authority
CN
China
Prior art keywords
reliability information
memory
bit
memory cell
storage
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
CN201710523204.7A
Other languages
English (en)
Other versions
CN109213614A (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 CN201710523204.7A priority Critical patent/CN109213614B/zh
Publication of CN109213614A publication Critical patent/CN109213614A/zh
Application granted granted Critical
Publication of CN109213614B publication Critical patent/CN109213614B/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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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

Landscapes

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

Abstract

本发明的一范例实施例提供一种解码方法、存储器存储装置及存储器控制电路单元,包括:从可复写式非易失性存储器模块的存储单元读取第一数据,其中第一数据包括存储于第一存储单元的第一比特;获得至少一第二存储单元的存储状态,其中第二存储单元不同于第一存储单元;根据第二存储单元的存储状态获得对应第一比特的第一可靠度信息,其中第一可靠度信息不同于对应第一比特的预设可靠度信息;以及根据第一可靠度信息解码第一数据。藉此,可提升解码效率。

Description

解码方法、存储器存储装置及存储器控制电路单元
技术领域
本发明涉及一种解码技术,尤其涉及一种解码方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
数据是以电荷的形式存在于可复写式非易失性存储器模块的存储单元中。在可复写式非易失性存储器模块的使用过程中,存储单元中的电荷可能会因各种因素流失,进而导致存储单元的读取发生错误。因此,在某些存储器存储装置中,来自主机系统的数据会被编码然后再被存储。当主机系统欲读取此数据时,编码数据会被读取并解码以尝试更正其中的错误。然后,被解码并确认无误的数据才会被传送给主机系统。然而,在某些状况下,若所读取的数据中存在太多的错误,则此数据可能无法被成功地解码。特别是,若可复写式非易失性存储器模块包含三维结构的存储单元阵列,则更容易因存储单元之间的距离太近而加速存储单元中的电荷流失。
发明内容
有鉴于此,本发明提供一种解码方法、存储器存储装置及存储器控制电路单元,可提升解码效率。
本发明的一范例实施例提供一种解码方法,其用于包括多个存储单元的可复写式非易失性存储器模块,所述解码方法包括:从所述存储单元中的至少一存储单元读取第一数据,其中所述第一数据包括第一比特,且所述第一比特存储于所述存储单元中的第一存储单元;获得所述存储单元中的至少一第二存储单元的存储状态,其中所述第二存储单元不同于所述第一存储单元;根据所述第二存储单元的所述存储状态获得对应所述第一比特的第一可靠度信息,其中所述第一可靠度信息不同于对应所述第一比特的预设可靠度信息;以及根据所述第一可靠度信息解码所述第一数据。
在本发明的一范例实施例中,根据所述第二存储单元的所述存储状态获得对应所述第一比特的所述第一可靠度信息的步骤包括:根据所述第二存储单元的所述存储状态与所述第一存储单元的临界电压决定所述第一可靠度信息。
在本发明的一范例实施例中,根据所述第二存储单元的所述存储状态与所述第一存储单元的所述临界电压决定所述第一可靠度信息的步骤包括:识别所述第一存储单元的所述临界电压所属的第一电压范围;以及根据所述第二存储单元的所述存储状态与所述第一电压范围决定所述第一可靠度信息。
在本发明的一范例实施例中,根据所述第二存储单元的所述存储状态与所述第一电压范围决定所述第一可靠度信息的步骤包括:获得对应于所述第一电压范围的所述预设可靠度信息;以及根据所述第二存储单元的所述存储状态与所述预设可靠度信息决定所述第一可靠度信息。
在本发明的一范例实施例中,根据所述第二存储单元的所述存储状态与所述预设可靠度信息决定所述第一可靠度信息的步骤包括:根据所述第二存储单元的所述存储状态,将所述预设可靠度信息减去第一调整值或加上第二调整值,以获得所述第一可靠度信息。
在本发明的一范例实施例中,所述的解码方法还包括:在根据所述第一可靠度信息解码所述第一数据之前,根据所述预设可靠度信息解码所述第一数据。
在本发明的一范例实施例中,所述第一数据还包括第二比特,且所述第二比特存储于所述存储单元中的第三存储单元,其中所述第一存储单元与所述第三存储单元的临界电压皆属于第一电压范围,其中根据所述第一可靠度信息解码所述第一数据的步骤包括:获得对应所述第二比特的第二可靠度信息,其中所述第二可靠度信息不同于所述第一可靠度信息;以及根据所述第一可靠度信息与所述第二可靠度信息解码所述第一数据。
在本发明的一范例实施例中,根据所述第二存储单元的所述存储状态获得所述第一比特的所述第一可靠度信息的步骤包括:若所述第二存储单元的所述存储状态为第一状态,将对应所述第一比特的所述预设可靠度信息减去第一调整值;以及若所述第二存储单元的所述存储状态为第二状态,将对应所述第一比特的所述预设可靠度信息加上第二调整值,其中所述第一状态所对应的存储单元电压不同于所述第二状态所对应的存储单元电压。
本发明的另一范例实施例提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以连接至主机系统。所述可复写式非易失性存储器模块包括多个存储单元。所述存储器控制电路单元连接至所述连接接口单元与所述可复写式非易失性存储器模块,其中所述存储器控制电路单元用以发送读取指令序列,所述读取指令序列用以指示从所述存储单元中的至少一存储单元读取第一数据,其中所述第一数据包括第一比特,且所述第一比特存储于所述存储单元中的第一存储单元,其中所述存储器控制电路单元还用以获得所述存储单元中的至少一第二存储单元的存储状态,其中所述第二存储单元不同于所述第一存储单元,其中所述存储器控制电路单元还用以根据所述第二存储单元的所述存储状态获得对应所述第一比特的第一可靠度信息,其中所述第一可靠度信息不同于对应所述第一比特的预设可靠度信息,其中所述存储器控制电路单元还用以根据所述第一可靠度信息解码所述第一数据。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述第二存储单元的所述存储状态获得对应所述第一比特的所述第一可靠度信息的操作包括:根据所述第二存储单元的所述存储状态与所述第一存储单元的临界电压决定所述第一可靠度信息。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述第二存储单元的所述存储状态与所述第一存储单元的所述临界电压决定所述第一可靠度信息的操作包括:识别所述第一存储单元的所述临界电压所属的第一电压范围;以及根据所述第二存储单元的所述存储状态与所述第一电压范围决定所述第一可靠度信息。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述第二存储单元的所述存储状态与所述第一电压范围决定所述第一可靠度信息的操作包括:获得对应于所述第一电压范围的所述预设可靠度信息;以及根据所述第二存储单元的所述存储状态与所述预设可靠度信息决定所述第一可靠度信息。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述第二存储单元的所述存储状态与所述预设可靠度信息决定所述第一可靠度信息的操作包括:根据所述第二存储单元的所述存储状态,将所述预设可靠度信息减去第一调整值或加上第二调整值,以获得所述第一可靠度信息。
在本发明的一范例实施例中,在根据所述第一可靠度信息解码所述第一数据之前,所述存储器控制电路单元还用以根据所述预设可靠度信息解码所述第一数据。
在本发明的一范例实施例中,所述第一数据还包括第二比特,且所述第二比特存储于所述存储单元中的第三存储单元,其中所述第一存储单元与所述第三存储单元的临界电压皆属于第一电压范围,其中所述存储器控制电路单元根据所述第一可靠度信息解码所述第一数据的操作包括:获得对应所述第二比特的第二可靠度信息,其中所述第二可靠度信息不同于所述第一可靠度信息;以及根据所述第一可靠度信息与所述第二可靠度信息解码所述第一数据。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述第二存储单元的所述存储状态获得对应所述第一比特的所述第一可靠度信息的操作包括:若所述第二存储单元的所述存储状态为第一状态,将对应所述第一比特的所述预设可靠度信息减去第一调整值;以及若所述第二存储单元的所述存储状态为第二状态,将对应所述第一比特的所述预设可靠度信息加上第二调整值,其中所述第一状态所对应的存储单元电压不同于所述第二状态所对应的存储单元电压。
本发明的另一范例实施例提供一种存储器控制电路单元,其用于控制包括多个存储单元的可复写式非易失性存储器模块,所述存储器控制电路单元包括主机接口、存储器接口、错误检查与校正电路及存储器管理电路。所述主机接口用以连接至主机系统。所述存储器接口用以连接至所述可复写式非易失性存储器模块。所述存储器管理电路连接至所述主机接口、所述存储器接口及所述错误检查与校正电路,其中所述存储器管理电路用以发送读取指令序列,所述读取指令序列用以指示从所述存储单元中的至少一存储单元读取第一数据,其中所述第一数据包括第一比特,且所述第一比特存储于所述存储单元中的第一存储单元,其中所述存储器管理电路还用以获得所述存储单元中的至少一第二存储单元的存储状态,其中所述第二存储单元不同于所述第一存储单元,其中所述存储器管理电路还用以根据所述第二存储单元的所述存储状态获得对应所述第一比特的第一可靠度信息,其中所述第一可靠度信息不同于对应所述第一比特的预设可靠度信息,其中所述错误检查与校正电路用以根据所述第一可靠度信息解码所述第一数据。
在本发明的一范例实施例中,所述存储器管理电路根据所述第二存储单元的所述存储状态获得对应所述第一比特的所述第一可靠度信息的操作包括:根据所述第二存储单元的所述存储状态与所述第一存储单元的临界电压决定所述第一可靠度信息。
在本发明的一范例实施例中,所述存储器管理电路根据所述第二存储单元的所述存储状态与所述第一存储单元的所述临界电压决定所述第一可靠度信息的操作包括:识别所述第一存储单元的所述临界电压所属的第一电压范围;以及根据所述第二存储单元的所述存储状态与所述第一电压范围决定所述第一可靠度信息。
在本发明的一范例实施例中,所述存储器管理电路根据所述第二存储单元的所述存储状态与所述第一电压范围决定所述第一可靠度信息的操作包括:获得对应于所述第一电压范围的所述预设可靠度信息;以及根据所述第二存储单元的所述存储状态与所述预设可靠度信息决定所述第一可靠度信息。
在本发明的一范例实施例中,所述存储器管理电路根据所述第二存储单元的所述存储状态与所述预设可靠度信息决定所述第一可靠度信息的操作包括:根据所述第二存储单元的所述存储状态,将所述预设可靠度信息减去第一调整值或加上第二调整值,以获得所述第一可靠度信息。
在本发明的一范例实施例中,在根据所述第一可靠度信息解码所述第一数据之前,所述错误检查与校正电路还用以根据所述预设可靠度信息解码所述第一数据。
在本发明的一范例实施例中,所述第一数据还包括第二比特,且所述第二比特存储于所述存储单元中的第三存储单元,其中所述第一存储单元与所述第三存储单元的临界电压皆属于第一电压范围,其中所述错误检查与校正电路根据所述第一可靠度信息解码所述第一数据的操作包括:获得对应所述第二比特的第二可靠度信息,其中所述第二可靠度信息不同于所述第一可靠度信息;以及根据所述第一可靠度信息与所述第二可靠度信息解码所述第一数据。
在本发明的一范例实施例中,所述第一数据还包括第三比特,且所述第三比特是存储于所述存储单元中的第四存储单元,其中所述第一存储单元的临界电压属于第一电压范围,所述第四存储单元的临界电压属于第二电压范围,所述第二电压范围不同于所述第一电压范围,且对应所述第一比特的所述预设可靠度信息不同于对应所述第三比特的预设可靠度信息。
在本发明的一范例实施例中,所述第二存储单元的所述存储状态对应于所述第二存储单元所存储的比特数据。
在本发明的一范例实施例中,所述可复写式非易失性存储器模块包括堆叠设置的多个字元线层,其中所述第一存储单元是设置于所述字元线层中的第一字元线层,所述第二存储单元是设置于所述字元线层中的至少一第二字元线层,且所述第一字元线层相邻于所述第二字元线层。
在本发明的一范例实施例中,所述存储器管理电路根据所述第二存储单元的所述存储状态获得对应所述第一比特的所述第一可靠度信息的操作包括:若所述第二存储单元的所述存储状态为第一状态,将对应所述第一比特的所述预设可靠度信息减去第一调整值;以及若所述第二存储单元的所述存储状态为第二状态,将对应所述第一比特的所述预设可靠度信息加上第二调整值,其中所述第一状态所对应的存储单元电压不同于所述第二状态所对应的存储单元电压。
基于上述,在读取包含第一存储单元所存储的第一比特的第一数据后,不同于第一存储单元的第二存储单元的存储状态可被获得,并且第一比特的第一可靠度信息可基于第二存储单元的存储状态而被获得。然后,对于第一数据的解码可根据此第一可靠度信息执行,从而提高第一数据的解码成功率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。
图5A是根据本发明的一范例实施例所示出的三维存储单元阵列的示意图。
图5B是根据本发明的一范例实施例所示出的三维存储单元阵列的等效电路的示意图。
图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:可复写式非易失性存储器模块
51:存储单元阵列
52、821(1)~821(n)、822(1)~822(n)、823(1)~823(n):存储单元
530、531(1)~531(n):比特线
531~534:比特线组
541~548:字元线层
521(1)~521(n)、522(1)~522(n)、523(1)~523(n)、528(1)~528(n):晶体管单元
551~558:字元线
561~568、861、862、863:实体单元
602:存储器管理电路
604:主机接口
606:存储器接口
608:错误检查与校正电路
610:缓冲存储器
612:电源管理电路
730:二分图
732(1)~732(k):奇偶节点
734(1)~734(n):信息节点
901~908、1010、1020:状态
1001~1006:电压范围
1031:软比特信息
1100、1200:查找表
S1301:步骤(读取包括第一比特的第一数据)
S1302:步骤(获得第二存储单元的存储状态,其中第二存储单元不同于第一存储单元)
S1303:步骤(根据第二存储单元的存储状态获得对应第一比特的第一可靠度信息)
S1304:步骤(根据第一可靠度信息解码第一数据)
S1401:步骤(从多个存储单元读取多个硬比特)
S1402:步骤(对所述硬比特执行硬比特模式解码操作)
S1403:步骤(判断所执行的硬比特模式解码操作是否失败)
S1404:步骤(输出成功解码的比特)
S1405:步骤(判断所执行的硬比特模式解码操作的次数是否达到第一次数)
S1406:步骤(调整硬决策读取电压准位)
S1501:步骤(从多个存储单元读取多个软比特)
S1502:步骤(根据预设可靠度信息对所述软比特执行软比特模式解码操作)
S1503:步骤(判断所执行的软比特模式解码操作是否失败)
S1504:步骤(输出成功解码的比特)
S1505:步骤(判断所执行的软比特模式解码操作的次数是否达到第二次数)
S1506:步骤(更新预设可靠度信息)
S1601:步骤(基于预设可靠度信息获得第一可靠度信息)
S1602:步骤(根据第一可靠度信息对所述软比特执行软比特模式解码操作)
S1603:步骤(判断所执行的软比特模式解码操作是否失败)
S1604:步骤(输出成功解码的比特)
S1605:步骤(判定解码失败)
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块(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也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置10可为其所使用的安全数字(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。在本范例实施例中,连接接口单元402是相容于串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCIExpress)标准、通用串行总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、记忆棒(Memory Stick,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个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下也称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制栅极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作也称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个比特。
在本范例实施例中,可复写式非易失性存储器模块406的存储单元会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元。具体来说,同一条字元线上的存储单元会组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字元线上的实体程序化单元至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效比特(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效比特(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元通常包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储系统数据(例如,错误更正码等管理数据)。在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512比特组(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块(block)。
在本范例实施例中,可复写式非易失性存储器模块406中的存储单元是以三维阵列的方式设置。然而,在另一范例实施例中,可复写式非易失性存储器模块406中的存储单元则是以二维阵列的方式设置。
图5A是根据本发明的一范例实施例所示出的三维存储单元阵列的示意图。
请参照图5A,存储单元阵列51包括用以存储数据的多个存储单元52、多个比特线组531~534及多个字元线层541~548。比特线组531~534彼此独立(例如,彼此分离)并且沿第一方向(例如,X轴)排列。比特线组531~534中的每一个比特线组包括彼此独立(例如,彼此分离)的多条比特线530。包含于每一比特线组中的比特线530沿第二方向(例如,Y轴)排列并且往第三方向(例如,Z轴)延伸。字元线层541~548彼此独立(例如,彼此分离)并且沿第三方向堆叠设置。
在本范例实施例中,字元线层541~548中的每一个字元线层也可视为一个字元线平面。每一个存储单元52被配置于比特线组531~534中的每一比特线530与字元线层541~548之间的每一个交错处。须注意的是,图5A的存储单元阵列51只是一个范例,在其他未提及的范例实施例中,存储单元52的总数、比特线组531~534的总数及字元线层541~548的总数皆可能不同。此外,在另一范例实施例中,一个比特线组可以包括更多或更少的比特线,并且一个字元线层也可以让更多或更少的比特线组通过。
图5B是根据本发明的一范例实施例所示出的三维存储单元阵列的等效电路的示意图。
请参照图5A与图5B,晶体管单元521(1)~521(n)位于字元线层541。晶体管单元522(1)~522(n)位于字元线层542。晶体管单元523(1)~523(n)位于字元线层543。晶体管单元528(1)~528(n)位于字元线层548。一个晶体管单元可等效为一个存储单元。比特线组531包括比特线531(1)~531(n)。比特线531(1)串接晶体管单元521(1)、晶体管单元522(1)、晶体管单元523(1)…及晶体管单元528(1)。比特线531(2)串接晶体管单元521(2)、晶体管单元522(2)、晶体管单元523(2)…及晶体管单元528(2)。比特线531(3)串接晶体管单元521(3)、晶体管单元522(3)、晶体管单元523(3)…及晶体管单元528(3)。比特线531(n)串接晶体管单元521(n)、晶体管单元522(n)、晶体管单元523(n)…及晶体管单元528(n)。
字元线551位于字元线层541。字元线552位于字元线层542。字元线553位于字元线层543。字元线558位于字元线层548。字元线551串接晶体管单元521(1)~521(n)。字元线552串接晶体管单元522(1)~522(n)。字元线553串接晶体管单元523(1)~523(n)。字元线558串接晶体管单元528(1)~528(n)。须注意的是,图5B仅示出图5A中各字元线层中一部分的构件,其余未示出的部分可依此类推。
在本范例实施例中,同一个字元线所串接的晶体管单元的总数会等于一个实体单元所包含的存储单元的总数。例如,晶体管单元521(1)~521(n)包含于实体单元561,晶体管单元522(1)~522(n)包含于实体单元562,晶体管单元523(1)~523(n)包含于实体单元563,并且晶体管单元528(1)~528(n)包含于实体单元568。以实体单元561为例,当欲读取实体单元561所存储的数据时,晶体管单元521(1)~521(n)的存储状态可同时被读取;此外,当欲将数据存入实体单元561时,晶体管单元521(1)~521(n)可同时被程序化。在一范例实施例中,实体单元561~568所各别包含的存储单元的总数皆等于一个实体程序化单元所包含的存储单元的总数。
图6是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图6,存储器控制电路单元404包括存储器管理电路602、主机接口604、存储器接口606及错误检查与校正电路608。
存储器管理电路602用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路602具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路602的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路602的控制指令是以固体型式来实作。例如,存储器管理电路602具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路602的控制指令也可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路602具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路602的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路602的控制指令也可以一硬体型式来实作。例如,存储器管理电路602包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或其群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路602还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口604是连接至存储器管理电路602并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口604来传送至存储器管理电路602。在本范例实施例中,主机接口604是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口604也可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口606是连接至存储器管理电路602并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口606转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路602要存取可复写式非易失性存储器模块406,存储器接口606会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压准位或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路602产生并且通过存储器接口606传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
错误检查与校正电路608是连接至存储器管理电路602并且用以执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器管理电路602从主机系统11中接收到写入指令时,错误检查与校正电路608会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路602会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路602从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路608会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
在本范例实施例中,错误检查与校正电路608所使用的是低密度奇偶检查码(lowdensity parity check code,LDPC code)。然而,在另一范例实施例中,错误检查与校正电路608所使用的也可以是BCH码、回旋码(convolutional code)、涡轮码(turbo code)等等。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器610与电源管理电路612。缓冲存储器610是连接至存储器管理电路602并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路612是连接至存储器管理电路602并且用以控制存储器存储装置10的电源。
在本范例实施例中,存储器管理电路602会配置逻辑单元以映射可复写式非易失性存储器模块406中的实体单元。在本范例实施例中,一个实体单元是指一个实体程序化单元,而一个逻辑单元可以是指一个逻辑地址、一个逻辑程序化单元、一个逻辑抹除单元或者由多个连续或不连续的逻辑地址组成。此外,一个逻辑单元可被映射至一或多个实体单元。例如,存储器管理电路602可将逻辑单元与实体单元之间的映射关系(也称为逻辑-实体映射关系)记录于至少一逻辑-实体映射表。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路602可根据此逻辑-实体映射表来执行对于存储器存储装置10的数据存取。
在低密度奇偶检查码中,是用一个奇偶检查矩阵来定义有效的码字。以下将奇偶检查矩阵标记为矩阵H,并且一码字标记为CW。依照以下方程序(1),若奇偶检查矩阵H与码字CW的相乘是零向量,表示码字CW为有效的码字。其中运算子
Figure BDA0001338007450000121
表示模2(mod 2)的矩阵相乘。换言之,矩阵H的零空间(null space)便包含了所有的有效码字。然而,本发明并不限制码字CW的内容。例如,码字CW也可以包括用任意算法所产生的错误更正码或是错误检查码。
Figure BDA0001338007450000122
其中矩阵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的码率(code rate)为(n-k)/n。
一般来说在编码时会使用一个产生矩阵(以下标记为G),使得对于任意的向量M都可满足以下方程序(2)。其中产生矩阵G的维度是(n-k)-乘-n。
Figure BDA0001338007450000123
由方程序(2)所产生的码字CW为有效的码字。因此可将方程序(2)代入方程序(1),藉此得到以下方程序(3)。
Figure BDA0001338007450000124
由于向量M可以是任意的向量,因此以下方程序(4)必定会满足。也就是说,在决定奇偶检查矩阵H以后,对应的产生矩阵G也可被决定。
Figure BDA0001338007450000125
在解码一个码字CW时,会先对码字中的数据比特执行一个奇偶检查程序,例如将奇偶检查矩阵H与码字CW相乘以产生一个向量(以下标记为S,如以下方程序(5)所示)。若向量S是零向量,则可直接输出码字CW。若向量S不是零向量,则表示码字CW不是有效的码字。
Figure BDA0001338007450000126
向量S的维度是k-乘-1,其中每一个元素也称为校验子(syndrome)。若码字CW不是有效的码字,则错误检查与校正电路608会执行一个解码程序(也称为解码操作),以尝试更正码字CW中的错误(即,错误比特)。
图7是根据本发明的一范例实施例所示出的奇偶检查矩阵的示意图。请参照图7,一般来说,奇偶检查矩阵H可以表示为二分图(bipartite graph)730,其包括奇偶节点732(1)~732(k)与信息节点734(1)~734(n)。每一个奇偶节点732(1)~732(k)是对应到一个校验子,而每一个信息节点734(1)~734(n)是对应一个数据比特。数据比特与校验子之间的对应关系(即,信息节点734(1)~734(n)与奇偶节点732(1)~732(k)之间的连结)是根据奇偶检查矩阵H所产生。具体来说,若奇偶检查矩阵H中第i列(row)第j行(column)的元素为1,则第i个奇偶节点732(i)便会连接到第j个信息节点734(j),其中i与j为正整数。
当存储器管理电路602从可复写式非易失性存储器模块406中读取n个数据比特(形成一个码字)时,则存储器管理电路602也会取得每一个数据比特的可靠度信息(也称为通道可靠度信息)。此可靠度信息是用以表示对应的数据比特被解码为比特“1”或是“0”的机率(或称信心度)。在二分图730中,信息节点734(1)~734(n)也会接收到对应的可靠度信息。例如,信息节点732(1)会接收第1个数据比特的可靠度信息L1,而信息节点732(j)会接收第j个数据比特的可靠度信息Lj
错误检查与校正电路608会根据二分图730的结构与可靠度信息L1~Ln来执行解码操作。例如,此解码操作会包括叠代解码。在叠代解码中,信息节点734(1)~734(n)会计算出可靠度信息给奇偶节点732(1)~732(k),并且奇偶节点732(1)~732(k)也会计算出可靠度信息给信息节点734(1)~734(n)。这些可靠度信息会沿着这些二分图730中的边(edge)来传送。例如,奇偶节点732(i)传送给信息节点734(j)的是可靠度信息Li→j,而信息节点734(j)传送给奇偶节点732(i)是可靠度信息Lj→i。这些可靠度信息是用来表示一个节点认为某一个数据比特被解码为“1”或是“0”的机率(即,信心度)。例如,可靠度信息Lj→i表示信息节点734(j)认为第j个数据比特被解码为“1”或是“0”的信心度(可为正或是负),而可靠度信息Li→j表示奇偶节点732(i)认为第j个数据比特被解码为“1”或是“0”的信心度。此外,信息节点734(1)~734(n)与奇偶节点732(1)~732(k)会根据输入的可靠度信息来计算输出的可靠度信息,其近似于计算一个数据比特被解码为“1”或是“0”的条件机率。因此,上述传送可靠度信息的过程又被称为置信传播(belief propagation)。
基于不同的算法,信息节点734(1)~734(n)和/或奇偶节点732(1)~732(k)会计算出不同型态的可靠度信息。例如,错误检查与校正电路608可以采用总和-乘积算法(Sum-Product Algorithm)、最小值-总和算法(Min-Sum Algorithm)、或是比特翻转(bit-flipping Algorithm)等算法,本发明不加以限制。
在叠代解码的每一次叠代中,信息节点734(1)~734(n)会传递可靠度信息给奇偶节点732(1)~732(k),并且奇偶节点732(1)~732(k)也会传递可靠度信息给信息节点734(1)~734(n)。在每一次叠代过后,信息节点734(1)~734(n)会根据目前的可靠度信息计算出每一个数据比特应该被解码为比特“1”或是“0”。在对这些计算出的数据比特执行奇偶检查程序(例如,将数据比特所形成的码字与奇偶检查矩阵相乘)后,可判断该码字是否为有效的码字。若所产生的码字为有效的码字,表示解码成功并且叠代解码会停止。然而,若所产生的码字不是有效的码字,则会进行下一次的叠代。若叠代解码的叠代次数达到一个预设值,则表示解码失败并且叠代解码也会停止。
在本范例实施例中,可靠度信息包括对数可能性比值(Log Likelihood Ratio,LLR)。例如,图7中的可靠度信息L1~Ln、Li→j及Lj→i分别是一个对数可能性比值。一般来说,某一个数据比特的对数可能性比值(可能是正或负的)的绝对值越大,表示此数据比特的可靠度越高,因此,此数据比特当前的比特值就有越高的机率被视为是正确的。反之,某一个数据比特的对数可能性比值的绝对值越小,则表示此数据比特的可靠度越低,因此,此数据比特当前的比特值就有越高的机率被视为是错误的并且在当前的叠代解码中被更正。在一范例实施例中,叠代解码中使用的可靠度信息(例如,对数可能性比值)是通过查表而获得。然后,在另一范例实施例中,叠代解码中使用的可靠度信息也可以是在叠代解码中根据特定的算法而动态地计算产生。
须注意的是,若可复写式非易失性存储器模块406包含三维存储单元阵列(如图5A与图5B所示),则经由同一比特线串接的多个存储单元(或晶体管单元)可能会因存储单元彼此之间的距离太近,而造成存储单元中的电荷受到相邻的存储单元吸引而流失。以图5B为例,晶体管单元522(i)中的电子可能会受到晶体管单元521(i)和/或523(i)吸引而往晶体管单元521(i)和/或523(i)移动,使得晶体管单元522(i)的临界电压下降,并可能导致晶体管单元521(i)和/或523(i)的临界电压上升。其中0<i<n+1,且i为整数。若可复写式非易失性存储器模块406中的许多晶体管单元都发生上述状况,则可复写式非易失性存储器模块406中的存储单元的临界电压分布可能会严重偏移,并且导致从此些存储单元读取的数据无法被成功地解码。
在本范例实施例中,根据来自主机系统11的读取指令,存储器管理电路602会发送一个读取指令序列。例如,此读取指令序列可指示读取一或多个实体单元中的存储单元所存储的数据(也称为第一数据)。根据此读取指令序列,可复写式非易失性存储器模块406会使用至少一读取电压准位读取此些存储单元并回传第一数据。其中,第一数据包括多个比特(即,数据比特)。以下为了说明方便,将第一数据的其中一个比特称为第一比特,且第一比特是经由读取某一个存储单元(也称为第一存储单元)而获得。存储器管理电路602会获得可复写式非易失性存储器模块406中不同于第一存储单元的至少一存储单元(也称为第二存储单元)的存储状态。例如,若第一存储单元是属于某一个实体单元(也称为第一实体单元),则第二存储单元属于不同于第一实体单元的一或多个实体单元(以下也称为第二实体单元)。以图5B为例,第一实体单元若是实体单元562,则第二实体单元可以是实体单元561和/或563。
存储器管理电路602会根据第二存储单元的存储状态获得对应第一比特的可靠度信息(也称为第一可靠度信息)。须注意的是,对应第一比特的第一可靠度信息会不同于对应第一比特的一个预设可靠度信息。然后,错误检查与校正电路608会根据第一可靠度信息解码第一数据。例如,第一可靠度信息可包含于图7中的可靠度信息L1~Ln而输入至错误检查与校正电路608中。
图8是根据本发明的一范例实施例所示出的存储单元阵列的示意图。图9是根据本发明的一范例实施例所示出的存储单元的存储状态的示意图。
请参照图8与图9,实体单元861包括存储单元821(1)~821(n),实体单元862包括存储单元822(1)~822(n),且实体单元863包括存储单元823(1)~823(n)。例如,存储单元821(1)~821(n)是用来代表图5B中的晶体管单元521(1)~521(n);存储单元822(1)~822(n)是用来代表图5B中的晶体管单元522(1)~522(n);并且存储单元823(1)~823(n)是用来代表图5B中的晶体管单元523(1)~523(n)。此外,假设存储单元822(1)~822(n)为第一存储单元。在一范例实施例中,也可视为存储单元822(i)是相邻于存储单元821(i)与823(i),其中0<i<n+1。
以TLC NAND型快闪存储器为例,存储单元821(1)~821(n)、存储单元822(1)~822(n)及存储单元823(1)~823(n)中每一者的存储状态可以是状态901~908的其中之一。例如,若某一存储单元的存储状态是状态901,则此存储单元当前可能是用以存储比特“111”,并且此存储单元的存储状态可表示为“Er”。若某一存储单元的存储状态是状态902,则此存储单元当前可能是用以存储比特“110”,并且此存储单元的存储状态可表示为“A”。若某一存储单元的存储状态是状态903,则此存储单元当前可能是用以存储比特“101”,并且此存储单元的存储状态可表示为“B”。若某一存储单元的存储状态是状态904,则此存储单元当前可能是用以存储比特“100”,并且此存储单元的存储状态可表示为“C”。若某一存储单元的存储状态是状态905,则此存储单元当前可能是用以存储比特“011”,并且此存储单元的存储状态可表示为“D”。若某一存储单元的存储状态是状态906,则此存储单元当前可能是用以存储比特“010”,并且此存储单元的存储状态可表示为“E”。若某一存储单元的存储状态是状态907,则此存储单元当前可能是用以存储比特“001”,并且此存储单元的存储状态可表示为“F”。若某一存储单元的存储状态是状态908,则此存储单元当前可能是用以存储比特“000”,并且此存储单元的存储状态可表示为“G”。此外,若可复写式非易失性存储器模块406为MLC NAND型快闪存储器或其他类型的快闪存储器,则存储单元821(1)~821(n)中每一者的存储状态则可以是四种状态或具有更多或更少的状态,本发明不加以限制。
在一范例实施例中,假设第一数据包括经由读取存储单元822(1)~822(n)而获得的数据,并且第一数据中的第一比特是经由读取存储单元822(1)而获得的比特数据。存储器管理电路602会根据存储单元821(1)和/或823(1)的存储状态决定存储单元822(1)的第一可靠度信息。例如,在一范例实施例中,存储器管理电路602可根据存储单元821(1)和/或823(1)的存储状态与存储单元822(1)的临界电压决定存储单元822(1)的第一可靠度信息。须注意的是,在一范例实施例中,存储器管理电路602可实际量测存储单元822(1)的临界电压。或者,在一范例实施例中,存储器管理电路602也可利用其他技术手段来获得与存储单元822(1)的临界电压相关的信息。所获得的信息(例如,存储单元822(1)的软比特信息)即可用来代表存储单元822(1)的临界电压。在一范例实施例中,存储单元822(1)可视为第一存储单元,而存储单元821(1)与823(1)的至少其中之一则可视为第二存储单元。
图10是根据本发明的一范例实施例所示出的第一存储单元的临界电压分布的示意图。请参照图8与图10,假设状态1010与1020为存储单元822(1)~822(n)的临界电压分布的一部分。状态1010与1020涵盖多个电压范围1001~1006。此些电压范围1001~1006是以读取电压准位VS1~VS5(也称为软决策读取电压准位)来区隔。
在一范例实施例中,存储器管理电路602会识别存储单元822(1)的临界电压是属于电压范围1001~1006中的哪一个电压范围。例如,存储器管理电路602可发送一个读取指令序列(也称为软决策读取指令序列)至可复写式非易失性存储器模块406。根据此软决策读取指令序列,可复写式非易失性存储器模块406可使用读取电压准位VS1~VS5来读取存储单元822(1)~822(n)并且将所获得的信息(例如,软比特信息1031)传送给存储器管理电路602。例如,软比特信息1031会包含使用读取电压准位VS1~VS5来读取存储单元822(1)~822(n)中的某一个存储单元而获得的软比特SB1~SB5。例如,软比特信息1031包括使用读取电压准位VS1~VS5来读取存储单元822(1)而获得的软比特SB1~SB5,以及使用读取电压准位VS1~VS5来读取存储单元822(2)而获得的软比特SB1~SB5等,以此类推。此外,在一范例实施例中,在传送软比特信息给存储器管理电路602之前,可复写式非易失性存储器模块406会将对应于同一个存储单元的至少部分软比特作逻辑运算,以减少所需传送的软比特的总数。
根据软比特信息1031,存储器管理电路602可识别存储单元822(1)的临界电压是属于电压区间1001~1006中的哪一个。例如,若对应于存储单元822(1)的软比特信息1031为“11111”,存储器管理电路602可识别存储单元822(1)的临界电压是属于电压区间1001;若对应于存储单元822(1)的软比特信息1031为“01111”,存储器管理电路602可识别存储单元822(1)的临界电压是属于电压区间1002;若对应于存储单元822(1)的软比特信息1031为“00111”,存储器管理电路602可识别存储单元822(1)的临界电压是属于电压区间1003;若对应于存储单元822(1)的软比特信息1031为“00011”,存储器管理电路602可识别存储单元822(1)的临界电压是属于电压区间1004;若对应于存储单元822(1)的软比特信息1031为“00001”,存储器管理电路602可识别存储单元822(1)的临界电压是属于电压区间1005;或者,若对应于存储单元822(1)的软比特信息1031为“00000”,则存储器管理电路602可识别存储单元822(1)的临界电压是属于电压区间1006。
须注意的是,在图10的一范例实施例中,读取电压准位VS1~VS5的其中之一会被设定为正负号(sign)读取电压准位。此正负号读取电压准位是用来决定数据比特的比特值。例如,若读取电压准位VS3为正负号读取电压准位,则使用读取电压准位VS3从存储单元822(1)读取的一个数据比特(即,第一比特)的比特值会相同于从存储单元822(1)读取的软比特SB3的比特值。
在获得对应于存储单元822(1)的软比特信息1031之后,存储器管理电路602可根据存储单元821(1)和/或823(1)的存储状态与存储单元822(1)的临界电压所属的电压范围(也称为第一电压范围)决定存储单元822(1)的第一可靠度信息。例如,在一范例实施例中,存储器管理电路602可根据对应于存储单元822(1)的软比特信息1031查询一查找表(也称为第一查找表),以获得对应于第一电压范围的可靠度信息。其中,对应于第一电压范围的可靠度信息即可视为对应第一比特的预设可靠度信息。
图11是根据本发明的一范例实施例所示出的第一查找表的示意图。图12是根据本发明的一范例实施例所示出的第二查找表的示意图。
请参照图8、图10及图11,查找表1100记录了电压范围1001~1006与相应的预设可靠度信息。例如,电压范围1001~1006依序对应于预设可靠度信息“-12”、“-8”、“-2”、“+2”、“+8”及“+12”。须注意的是,在图11的范例实施例中,是以对数可能性比值来表示可靠度信息,并且是以电压范围1001~1006所涵盖的临界电压由小到大来逐渐增加相应的对数可能性比值。然而,在另一范例实施例中,可靠度信息也可以是以其他类型的信息来表示,和/或以电压范围1001~1006所涵盖的临界电压由小到大来逐渐减少相应的对数可能性比值,本发明不加以限制。
根据查找表1100,假设存储单元822(1)的临界电压属于电压范围1002(即,对应于存储单元822(1)的软比特信息1031为“01111”),则存储器管理电路602可决定对应第一比特的预设可靠度信息为“-8”。然后,存储器管理电路602可根据存储单元821(1)和/或823(1)的存储状态与对应第一比特的预设可靠度信息决定对应第一比特的第一可靠度信息。例如,根据存储单元821(1)和/或823(1)的存储状态,存储器管理电路602可查询另一查找表(也称为第二查找表),并根据查询结果将对应第一比特的预设可靠度信息减去一调整值(也称为第一调整值)或加上一调整值(也称为第二调整值),从而获得对应第一比特的第一可靠度信息。
请参照图8、图9、图11及图12,根据查找表1200,若相邻存储单元的存储状态为某一预设状态(也称为第一状态)(例如,图9中的状态Er、A、B或C),则可靠度信息的调整值可决定为-Δ。其中,Δ也称为可靠度信息调整值并且Δ为一个正数。而若相邻存储单元的存储状态为另一预设状态(也称为第二状态)(例如,图9中的状态D、E、F或G),则可靠度信息的调整值可决定为+Δ。须注意的是,图12所提及的相邻存储单元是指与第一存储单元相邻的第二存储单元。例如,若第一存储单元是存储单元822(1),则图12所提及的相邻存储单元即是指存储单元821(1)与823(1)的至少其中之一。在一范例实施例中,若仅考虑存储单元821(1)的存储状态,则当存储单元821(1)的存储状态为第一状态时,对应第一比特的预设可靠度信息(例如,“-8”)可被减去Δ,以获得对应第一比特的第一可靠度信息(例如,“-(8+Δ)”);或者,当存储单元821(1)的存储状态为第二状态时,对应第一比特的预设可靠度信息(例如,“-8”)可被加上Δ,以获得对应第一比特的第一可靠度信息(例如,“-8+Δ”)。藉此,可根据存储单元821(1)可能的电子流失状况或电子增加状况来调整对应第一比特的可靠度信息,从而提升后续对于第一数据的解码成功率。此外,上述存储单元821(1)的存储状态也可以取代为存储单元823(1)的存储状态,在此便不赘述。
在一范例实施例中,也可根据多个相邻存储单元的存储状态来决定对应第一比特的第一可靠度信息。例如,在一范例实施例中,可根据存储单元821(1)与823(1)各别可能的存储状态(例如,两者皆为第一状态,一个第一状态一个第二状态,或者两者皆为第二状态)来决定相应的可靠度信息调整值。或者,在一范例实施例中,也可更细节地根据存储单元821(1)与823(1)的存储状态分别为“Er”与“A”、“Er”与“B”或者“B”与“G”等多种存储状态的配对来决定相应的可靠度信息调整值,视实务上的需求而定。此外,须注意的是,在图12的范例实施例中,是以第一调整值与第二调整值皆为Δ作为范例。然而,在另一范例实施例中,第一调整值也可不同于第二调整值。
在一范例实施例中,若对应第一比特的预设可靠度信息为已知,则存储器管理电路602也可直接根据第二存储单元的存储状态与对应第一比特的预设可靠度信息来决定对应第一比特的第一可靠度信息,而可略过上述根据第一存储单元的临界电压决定对应第一比特的第一可靠度信息的操作。此外,上述第一查找表与第二查找表的记载内容与格式仅为范例。在其他未提及的实施例中,第一查找表与第二查找表的记载内容与格式皆可因应实务上的需求加以调整,本发明不加以限制。
在一范例实施例中,在根据对应第一比特的第一可靠度信息解码第一数据之前,错误检查与校正电路608会根据对应第一比特的预设可靠度信息解码第一数据。其中,对应第一比特的预设可靠度信息可根据前述提及的操作或其他方式取得,在此便不赘述。若根据对应第一比特的预设可靠度信息解码第一数据失败,则存储器管理电路602可基于第二存储单元的存储状态与对应第一比特的预设可靠度信息来决定对应第一比特的第一可靠度信息。例如,存储器管理电路602可根据第二存储单元的存储状态来调整对应第一比特的预设可靠度信息以获得对应第一比特的第一可靠度信息。相关的可靠度信息调整操作皆已详述于上,在此便不赘述。然后,错误检查与校正电路608可根据对应第一比特的第一可靠度信息来再次解码第一数据。
请参照图8与图10,在一范例实施例中,假设第一数据包括从存储单元822(1)读取的比特(即,第一比特)以及从存储单元822(2)读取的比特(也称为第二比特)。其中,存储单元822(2)也称为第三存储单元,并且存储单元822(1)与822(2)的临界电压皆属于电压范围1002。在此范例实施例中,存储器管理电路602也可以依据上述决定对应第一比特的第一可靠度信息的操作来获得对应第二比特的新的可靠度信息(也称为第二可靠度信息)。例如,存储器管理电路602可根据存储单元821(2)和/或823(2)的存储状态来查询第二查找表并根据查询结果决定对应第二比特的第二可靠度信息。关于决定对应第二比特的第二可靠度信息的操作可参考前述范例实施例的说明,在此便不赘述。
须注意的是,在一范例实施例中,存储单元822(1)与822(2)的临界电压皆属于电压范围1002。因此,根据图11的查找表1100,对应存储单元822(1)与822(2)的预设可靠度信息皆为“-8”。但是,对应第一比特的第一可靠度信息会不同于对应第二比特的第二可靠度信息。例如,假设存储单元821(1)与823(1)的存储状态皆为第一状态,则对应第一比特的第一可靠度信息可被决定为“-(8+Δ)”,其中“-(8+Δ)”小于“-8”;同时,假设存储单元821(2)与823(2)的存储状态皆为第二状态,则对应第二比特的第二可靠度信息可被决定为“-8+Δ”,其中“-8+Δ”大于“-8”。然后,错误检查与校正电路608可根据对应第一比特的第一可靠度信息与对应第二比特的第二可靠度信息解码第一数据。
请参照图8、图10及图11,在一范例实施例中,假设第一数据包括从存储单元822(1)读取的比特(即,第一比特)以及从存储单元822(3)读取的比特(也称为第三比特)。其中,存储单元822(3)也称为第四存储单元。假设存储单元822(1)的临界电压属于电压范围1002,而存储单元822(3)的临界电压属于电压范围1004。根据图11的查找表1100,对应第一比特的预设可靠度信息为“-8”,而对应第三比特的预设可靠度信息则为“+2”。在一范例实施例中,对应第三比特的新的可靠度信息(也称为第三可靠度信息)也可以根据存储单元821(3)和/或823(3)的存储状态而被决定,且对应第三比特的第三可靠度信息会不同于对应第三比特的预设可靠度信息。相关操作皆已详述于上,在此便不赘述。
在一范例实施例中,对应于至少一个电压范围的可靠度信息调整值可相同于对应于至少另一个电压范围的可靠度信息调整值。例如,在图8、图10及图11的一范例实施例中,若存储单元822(1)与822(3)的临界电压分别属于电压范围1002与1004,则用于调整对应第一比特的预设可靠度信息的一个可靠度信息调整值(例如,Δ1)相同于用于调整对应第三比特的预设可靠度信息的一个可靠度信息调整值(例如,Δ2)。或者,在一范例实施例中,对应于至少一个电压范围的可靠度信息调整值可不同于对应于至少另一个电压范围的可靠度信息调整值。例如,在图8、图10及图11的另一范例实施例中,若存储单元822(1)与822(3)的临界电压分别属于电压范围1002与1004,则用于调整对应第一比特的预设可靠度信息的可靠度信息调整值可不同于用于调整对应第三比特的预设可靠度信息的可靠度信息调整值。换言之,若Δ1为对应于电压范围1002的可靠度信息调整值并且Δ2为对应于电压范围1004的可靠度信息调整值,则Δ1可相同或不同于Δ2,本发明不加以限制。或者,在一范例实施例中,也可能所有电压范围皆对应相同或不同的可靠度信息调整值,本发明不加以限制。
须注意的是,虽然前述范例实施例皆是以对应某一个比特的预设可靠度信息加上或减去可靠度信息调整值来作为调整此比特的可靠度信息的范例,然而,本发明实际上并不限制如何根据相邻存储单元的存储状态来调整第一数据中各比特所对应的可靠度信息。例如,在图8与11的一范例实施例中,若第一数据中包括从存储单元822(1)~822(n)中读取的多个比特,则也可参考存储单元821(1)~821(n)和/或存储单元823(1)~823(n)的存储状态而将对应此些比特的预设可靠度信息输入至特定公式或使用特定参数或调整比例来调整对应此些比特的可靠度信息,本发明不加以限制。依此类推,第一数据中的每一个比特的可靠度信息皆可以依据上述操作来调整至更符合存储单元的实际电子存储状况的数值,从而提升后续对于第一数据的解码成功率。此外,在另一范例实施例中,将对应第一比特的可靠度信息增加或减少的规则也可能相反,只要可根据第一存储单元可能的电子流失状况或电子增加状况来调整第一比特的可靠度信息至更符合第一存储单元的实际电子存储状况即可。
须注意的是,本发明并不限制第一数据中哪些比特所对应的可靠度信息会被调整。例如,在一范例实施例中,每一次执行的可靠度信息调整操作会对第一数据中的所有比特所对应的可靠度信息进行调整。或者,在另一范例实施例中,某一次执行的可靠度信息调整操作也可能仅调整第一数据中一部分比特所对应的可靠度信息,本发明不加以限制。
在一范例实施例中,错误检查与校正电路608可执行硬比特模式解码操作与软比特模式解码操作。一般来说,对于同一个码字(或,解码讯框),软比特模式解码操作可以更正的错误比特的总数多于硬比特模式解码操作可以更正的错误比特的总数。此外,若一个码字中的错误比特的总数超过一预设数目,则软比特模式解码操作的解码成功率也会高于硬比特模式解码操作的解码成功率。然而,执行软比特模式解码操作的系统功耗一般会高于执行硬比特模式解码操作的系统功耗,和/或执行软比特模式解码操作的所需时间一般也会多于执行硬比特模式解码操作的所需时间。
在软比特模式解码操作中,用来读取第一数据的读取电压准位也称为软决策读取电压准位,并且错误检查与校正电路608可至少一次地更新第一数据中至少一个比特所对应的可靠度信息,并重复根据所更新的可靠度信息来解码第一数据。在硬比特模式解码操作中,存储器管理电路602也可发送读取指令序列来读取第一存储单元以获得相应的读取数据,并对读取数据执行硬比特模式解码操作。须注意的是,在硬比特模式解码操作中,每一个存储单元只会被使用单一个读取电压准位(也称为硬决策读取电压准位)来读取,而所读取的比特也称为硬比特。
以图10为例,在软比特模式解码操作中,读取电压准位VS1~VS5可用来读取同一个存储单元以获得多个软比特SB1~SB5。然而,在硬比特模式解码操作中,只有单一个读取电压准位被用来读取一个存储单元。例如,在一范例实施例中,硬比特模式解码操作中使用的读取电压准位可能会相同于软决策读取电压准位中的正负号读取电压准位或者任一个软决策读取电压准位。或者,在一范例实施例中,硬比特模式解码操作中使用的读取电压准位也可能与每一个软决策读取电压准位皆不同。须注意的是,上述基于可靠度信息来执行的解码操作皆属于软比特模式解码操作。硬比特模式解码操作可不使用上述可靠度信息。此外,在一范例实施例中,硬比特模式解码操作中使用的读取电压准位(即,硬决策读取电压准位)可以被更新至少一次。
图13是根据本发明的一范例实施例所示出的解码方法的流程图。请参照图13,在步骤S1301中,读取包括第一比特的第一数据,其中第一比特是存储于第一存储单元。在步骤S1302中,获得第二存储单元的存储状态,其中第二存储单元不同于第一存储单元。在步骤S1303中,根据第二存储单元的存储状态获得对应第一比特的第一可靠度信息,其中对应第一比特的第一可靠度信息不同于对应第一比特的预设可靠度信息。在步骤S1304中,根据第一可靠度信息解码第一数据。
图14、图15及图16是根据本发明的另一范例实施例所示出的解码方法的流程图。请参照图14,在步骤S1401中,从多个存储单元读取多个硬比特。在步骤S1402中,对所述硬比特执行硬比特模式解码操作。在步骤S1403中,判断所执行的硬比特模式解码操作是否失败。若所执行的硬比特模式解码操作未失败(即,成功),在步骤S1404中,输出成功解码的比特。若所执行的硬比特模式解码操作失败,在步骤S1405中,判断所执行的硬比特模式解码操作的次数是否达到第一次数。若所执行的硬比特模式解码操作的次数未达到第一次数,在步骤S1406,调整硬决策读取电压准位,然后回到步骤S1401,使用调整过的硬决策读取电压准位来重新读取第一存储单元以获得新的硬比特。然后,步骤S1402接续执行。此外,若所执行的硬比特模式解码操作的次数达到第一次数,在步骤S1405之后进入图15的步骤S1501。
请参照图15,在步骤S1501中,从多个存储单元读取多个软比特。所述软比特包含第一数据。在步骤S1502中,根据第一数据中每一个比特所对应的预设可靠度信息对所述软比特执行软比特模式解码操作。在步骤S1503中,判断所执行的软比特模式解码操作是否失败。若所执行的软比特模式解码操作未失败,在步骤S1504中,输出成功解码的比特。若所执行的软比特模式解码操作失败,在步骤S1505中,判断所执行的软比特模式解码操作的次数是否达到第二次数。若所执行的软比特模式解码操作的次数未达到第二次数,在步骤S1506中,更新第一数据中至少一个比特所对应的预设可靠度信息。然后,回到步骤S1502,根据所更新的预设可靠度信息对所述软比特再次执行软比特模式解码操作。然后,步骤S1503接续执行。
须注意的是,在步骤S1506中,预设可靠度信息是根据一预设规则进行更新,而非根据与第一存储单元相邻的第二存储单元的存储状态来进行更新。例如,在一范例实施例中,可复写式非易失性存储器模块或者存储器控制电路单元中存储了多个第一查找表。每一个第一查找表都类似于图11的查找表1100,但所记载的预设可靠度信息不同。因此,在步骤S1506中,可通过查询不同的第一查找表来更新数据比特的预设可靠度信息。此外,若所执行的软比特模式解码操作的次数达到第二次数,在步骤S1505之后进入图16的步骤S1601。
请参照图16,在步骤S1601中,基于预设可靠度信息获得第一可靠度信息。在此,第一可靠度信息是指第一数据中的第一比特更新后的可靠度信息,并且此第一可靠度信息是根据与第一存储单元相邻的第二存储单元的存储状态而决定。例如,根据第二存储单元的存储状态,对应第一比特的预设可靠度信息可被加上一调整值或减去另一调整值,以获得对应第一比特的第一可靠度信息。此外,第一比特是从此第一存储单元读取,且第二存储单元不同于第一存储单元。
在步骤S1602中,根据第一可靠度信息再次对所述软比特执行软比特模式解码操作。在步骤S1603中,判断所执行的软比特模式解码操作是否失败。若所执行的软比特模式解码操作未失败,在步骤S1604中,输出成功解码的比特。若所执行的软比特模式解码操作失败,在步骤S1605中,判定解码失败。例如,在判定解码失败之后,存储器管理电路602可传送一个读取失败信息给主机系统或执行其他的错误处理操作。
须注意的是,图16中是以更新第一数据中的第一比特所对应的可靠度信息为第一可靠度信息作为范例。然而,在一范例实施例中,第一数据中的每一个比特的可靠度信息皆可被更新为与此些比特的预设可靠度信息不同。然后,再根据所更新的可靠度信息来执行下一次的软比特模式解码操作,从而提高解码成功率。
然而,图14至图16中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图14至图16中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图14至图16的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,在读取包含第一存储单元所存储的第一比特的第一数据后,与第一存储单元相邻的第二存储单元的存储状态可被获得。然后,对应第一比特的可靠度信息可基于第二存储单元的存储状态而被更新。更新后的可靠度信息可用于对第一数据执行下一次的解码,从而提高解码成功率。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求所界定者为准。

Claims (33)

1.一种解码方法,用于包括多个存储单元的可复写式非易失性存储器模块,其特征在于,所述解码方法包括:
从所述多个存储单元中的至少一存储单元读取第一数据,其中所述第一数据包括第一比特,且所述第一比特存储于所述多个存储单元中的第一存储单元;
获得所述多个存储单元中的至少一第二存储单元的存储状态,其中所述至少一第二存储单元不同于所述第一存储单元;
根据所述至少一第二存储单元的所述存储状态获得对应所述第一比特的第一可靠度信息,其中所述第一可靠度信息不同于对应所述第一比特的预设可靠度信息;以及
根据所述第一可靠度信息解码所述第一数据。
2.根据权利要求1所述的解码方法,其中根据所述至少一第二存储单元的所述存储状态获得对应所述第一比特的所述第一可靠度信息的步骤包括:
根据所述至少一第二存储单元的所述存储状态与所述第一存储单元的临界电压决定所述第一可靠度信息。
3.根据权利要求2所述的解码方法,其中根据所述至少一第二存储单元的所述存储状态与所述第一存储单元的所述临界电压决定所述第一可靠度信息的步骤包括:
识别所述第一存储单元的所述临界电压所属的第一电压范围;以及
根据所述至少一第二存储单元的所述存储状态与所述第一电压范围决定所述第一可靠度信息。
4.根据权利要求3所述的解码方法,其中根据所述至少一第二存储单元的所述存储状态与所述第一电压范围决定所述第一可靠度信息的步骤包括:
获得对应于所述第一电压范围的所述预设可靠度信息;以及
根据所述至少一第二存储单元的所述存储状态与所述预设可靠度信息决定所述第一可靠度信息。
5.根据权利要求4所述的解码方法,其中根据所述至少一第二存储单元的所述存储状态与所述预设可靠度信息决定所述第一可靠度信息的步骤包括:
根据所述至少一第二存储单元的所述存储状态,将所述预设可靠度信息减去第一调整值或加上第二调整值,以获得所述第一可靠度信息。
6.根据权利要求1所述的解码方法,还包括:
在根据所述第一可靠度信息解码所述第一数据之前,根据所述预设可靠度信息解码所述第一数据。
7.根据权利要求1所述的解码方法,其中所述第一数据还包括第二比特,且所述第二比特存储于所述多个存储单元中的第三存储单元,
其中所述第一存储单元与所述第三存储单元的临界电压皆属于第一电压范围,
其中根据所述第一可靠度信息解码所述第一数据的步骤包括:
获得对应所述第二比特的第二可靠度信息,其中所述第二可靠度信息不同于所述第一可靠度信息;以及
根据所述第一可靠度信息与所述第二可靠度信息解码所述第一数据。
8.根据权利要求1所述的解码方法,其中所述第一数据还包括第三比特,且所述第三比特是存储于所述多个存储单元中的第四存储单元,
其中所述第一存储单元的临界电压属于第一电压范围,所述第四存储单元的临界电压属于第二电压范围,所述第二电压范围不同于所述第一电压范围,且对应所述第一比特的所述预设可靠度信息不同于对应所述第三比特的预设可靠度信息。
9.根据权利要求1所述的解码方法,其中所述至少一第二存储单元的所述存储状态对应于所述至少一第二存储单元所存储的比特数据。
10.根据权利要求1所述的解码方法,其中所述可复写式非易失性存储器模块包括堆叠设置的多个字元线层,其中所述第一存储单元是设置于所述多个字元线层中的第一字元线层,所述至少一第二存储单元是设置于所述多个字元线层中的至少一第二字元线层,且所述第一字元线层相邻于所述至少一第二字元线层。
11.根据权利要求1所述的解码方法,其中根据所述至少一第二存储单元的所述存储状态获得所述第一比特的所述第一可靠度信息的步骤包括:
若所述至少一第二存储单元的所述存储状态为第一状态,将对应所述第一比特的所述预设可靠度信息减去第一调整值;以及
若所述至少一第二存储单元的所述存储状态为第二状态,将对应所述第一比特的所述预设可靠度信息加上第二调整值,
其中所述第一状态所对应的存储单元电压不同于所述第二状态所对应的存储单元电压。
12.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块,包括多个存储单元;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以发送读取指令序列,所述读取指令序列用以指示从所述多个存储单元中的至少一存储单元读取第一数据,其中所述第一数据包括第一比特,且所述第一比特存储于所述多个存储单元中的第一存储单元,
其中所述存储器控制电路单元还用以获得所述多个存储单元中的至少一第二存储单元的存储状态,其中所述至少一第二存储单元不同于所述第一存储单元,
其中所述存储器控制电路单元还用以根据所述至少一第二存储单元的所述存储状态获得对应所述第一比特的第一可靠度信息,其中所述第一可靠度信息不同于对应所述第一比特的预设可靠度信息,
其中所述存储器控制电路单元还用以根据所述第一可靠度信息解码所述第一数据。
13.根据权利要求12所述的存储器存储装置,其中所述存储器控制电路单元根据所述至少一第二存储单元的所述存储状态获得对应所述第一比特的所述第一可靠度信息的操作包括:
根据所述至少一第二存储单元的所述存储状态与所述第一存储单元的临界电压决定所述第一可靠度信息。
14.根据权利要求13所述的存储器存储装置,其中所述存储器控制电路单元根据所述至少一第二存储单元的所述存储状态与所述第一存储单元的所述临界电压决定所述第一可靠度信息的操作包括:
识别所述第一存储单元的所述临界电压所属的第一电压范围;以及
根据所述至少一第二存储单元的所述存储状态与所述第一电压范围决定所述第一可靠度信息。
15.根据权利要求14所述的存储器存储装置,其中所述存储器控制电路单元根据所述至少一第二存储单元的所述存储状态与所述第一电压范围决定所述第一可靠度信息的操作包括:
获得对应于所述第一电压范围的所述预设可靠度信息;以及
根据所述至少一第二存储单元的所述存储状态与所述预设可靠度信息决定所述第一可靠度信息。
16.根据权利要求12所述的存储器存储装置,其中在根据所述第一可靠度信息解码所述第一数据之前,所述存储器控制电路单元还用以根据所述预设可靠度信息解码所述第一数据。
17.根据权利要求15所述的存储器存储装置,其中所述存储器控制电路单元根据所述至少一第二存储单元的所述存储状态与所述预设可靠度信息决定所述第一可靠度信息的操作包括:
根据所述至少一第二存储单元的所述存储状态,将所述预设可靠度信息减去第一调整值或加上第二调整值,以获得所述第一可靠度信息。
18.根据权利要求12所述的存储器存储装置,其中所述第一数据还包括第二比特,且所述第二比特存储于所述多个存储单元中的第三存储单元,
其中所述第一存储单元与所述第三存储单元的临界电压皆属于第一电压范围,
其中所述存储器控制电路单元根据所述第一可靠度信息解码所述第一数据的操作包括:
获得对应所述第二比特的第二可靠度信息,其中所述第二可靠度信息不同于所述第一可靠度信息;以及
根据所述第一可靠度信息与所述第二可靠度信息解码所述第一数据。
19.根据权利要求12所述的存储器存储装置,其中所述第一数据还包括第三比特,且所述第三比特是存储于所述多个存储单元中的第四存储单元,
其中所述第一存储单元的临界电压属于一第一电压范围,所述第四存储单元的临界电压属于第二电压范围,所述第二电压范围不同于所述第一电压范围,且对应所述第一比特的所述预设可靠度信息不同于对应所述第三比特的预设可靠度信息。
20.根据权利要求12所述的存储器存储装置,其中所述至少一第二存储单元的所述存储状态对应于所述至少一第二存储单元所存储的比特数据。
21.根据权利要求12所述的存储器存储装置,其中所述可复写式非易失性存储器模块包括堆叠设置的多个字元线层,其中所述第一存储单元是设置于所述多个字元线层中的第一字元线层,所述至少一第二存储单元是设置于所述多个字元线层中的至少一第二字元线层,且所述第一字元线层相邻于所述至少一第二字元线层。
22.根据权利要求12所述的存储器存储装置,其中所述存储器控制电路单元根据所述至少一第二存储单元的所述存储状态获得对应所述第一比特的所述第一可靠度信息的操作包括:
若所述至少一第二存储单元的所述存储状态为第一状态,将对应所述第一比特的所述预设可靠度信息减去第一调整值;以及
若所述至少一第二存储单元的所述存储状态为第二状态,将对应所述第一比特的所述预设可靠度信息加上第二调整值,
其中所述第一状态所对应的存储单元电压不同于所述第二状态所对应的存储单元电压。
23.一种存储器控制电路单元,用于控制包括多个存储单元的可复写式非易失性存储器模块,其特征在于,所述存储器控制电路单元包括:
主机接口,用以连接至主机系统;
存储器接口,用以连接至所述可复写式非易失性存储器模块;
错误检查与校正电路;以及
存储器管理电路,连接至所述主机接口、所述存储器接口及所述错误检查与校正电路,
其中所述存储器管理电路用以发送读取指令序列,所述读取指令序列用以指示从所述多个存储单元中的至少一存储单元读取第一数据,其中所述第一数据包括第一比特,且所述第一比特存储于所述多个存储单元中的第一存储单元,
其中所述存储器管理电路还用以获得所述多个存储单元中的至少一第二存储单元的存储状态,其中所述至少一第二存储单元不同于所述第一存储单元,
其中所述存储器管理电路还用以根据所述至少一第二存储单元的所述存储状态获得对应所述第一比特的第一可靠度信息,其中所述第一可靠度信息不同于对应所述第一比特的预设可靠度信息,
其中所述错误检查与校正电路用以根据所述第一可靠度信息解码所述第一数据。
24.根据权利要求23所述的存储器控制电路单元,其中所述存储器管理电路根据所述至少一第二存储单元的所述存储状态获得对应所述第一比特的所述第一可靠度信息的操作包括:
根据所述至少一第二存储单元的所述存储状态与所述第一存储单元的临界电压决定所述第一可靠度信息。
25.根据权利要求24所述的存储器控制电路单元,其中所述存储器管理电路根据所述至少一第二存储单元的所述存储状态与所述第一存储单元的所述临界电压决定所述第一可靠度信息的操作包括:
识别所述第一存储单元的所述临界电压所属的第一电压范围;以及
根据所述至少一第二存储单元的所述存储状态与所述第一电压范围决定所述第一可靠度信息。
26.根据权利要求25所述的存储器控制电路单元,其中所述存储器管理电路根据所述至少一第二存储单元的所述存储状态与所述第一电压范围决定所述第一可靠度信息的操作包括:
获得对应于所述第一电压范围的所述预设可靠度信息;以及
根据所述至少一第二存储单元的所述存储状态与所述预设可靠度信息决定所述第一可靠度信息。
27.根据权利要求26所述的存储器控制电路单元,其中所述存储器管理电路根据所述至少一第二存储单元的所述存储状态与所述预设可靠度信息决定所述第一可靠度信息的操作包括:
根据所述至少一第二存储单元的所述存储状态,将所述预设可靠度信息减去第一调整值或加上第二调整值,以获得所述第一可靠度信息。
28.根据权利要求23所述的存储器控制电路单元,其中在根据所述第一可靠度信息解码所述第一数据之前,所述错误检查与校正电路还用以根据所述预设可靠度信息解码所述第一数据。
29.根据权利要求23所述的存储器控制电路单元,其中所述第一数据还包括第二比特,且所述第二比特存储于所述多个存储单元中的第三存储单元,
其中所述第一存储单元与所述第三存储单元的临界电压皆属于第一电压范围,
其中所述错误检查与校正电路根据所述第一可靠度信息解码所述第一数据的操作包括:
获得对应所述第二比特的第二可靠度信息,其中所述第二可靠度信息不同于所述第一可靠度信息;以及
根据所述第一可靠度信息与所述第二可靠度信息解码所述第一数据。
30.根据权利要求23所述的存储器控制电路单元,其中所述第一数据还包括第三比特,且所述第三比特是存储于所述多个存储单元中的第四存储单元,
其中所述第一存储单元的临界电压属于第一电压范围,所述第四存储单元的临界电压属于第二电压范围,所述第二电压范围不同于所述第一电压范围,且对应所述第一比特的所述预设可靠度信息不同于对应所述第三比特的预设可靠度信息。
31.根据权利要求23所述的存储器控制电路单元,其中所述至少一第二存储单元的所述存储状态对应于所述至少一第二存储单元所存储的比特数据。
32.根据权利要求23所述的存储器控制电路单元,其中所述可复写式非易失性存储器模块包括堆叠设置的多个字元线层,其中所述第一存储单元是设置于所述多个字元线层中的第一字元线层,所述至少一第二存储单元是设置于所述多个字元线层中的至少一第二字元线层,且所述第一字元线层相邻于所述至少一第二字元线层。
33.根据权利要求23所述的存储器控制电路单元,其中所述存储器管理电路根据所述至少一第二存储单元的所述存储状态获得对应所述第一比特的所述第一可靠度信息的操作包括:
若所述至少一第二存储单元的所述存储状态为第一状态,将对应所述第一比特的所述预设可靠度信息减去第一调整值;以及
若所述至少一第二存储单元的所述存储状态为第二状态,将对应所述第一比特的所述预设可靠度信息加上第二调整值,
其中所述第一状态所对应的存储单元电压不同于所述第二状态所对应的存储单元电压。
CN201710523204.7A 2017-06-30 2017-06-30 解码方法、存储器存储装置及存储器控制电路单元 Active CN109213614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710523204.7A CN109213614B (zh) 2017-06-30 2017-06-30 解码方法、存储器存储装置及存储器控制电路单元

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710523204.7A CN109213614B (zh) 2017-06-30 2017-06-30 解码方法、存储器存储装置及存储器控制电路单元

Publications (2)

Publication Number Publication Date
CN109213614A CN109213614A (zh) 2019-01-15
CN109213614B true CN109213614B (zh) 2022-03-29

Family

ID=64961079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710523204.7A Active CN109213614B (zh) 2017-06-30 2017-06-30 解码方法、存储器存储装置及存储器控制电路单元

Country Status (1)

Country Link
CN (1) CN109213614B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102820064A (zh) * 2011-06-07 2012-12-12 马维尔国际贸易有限公司 识别和减轻存储器系统中的硬错误
CN104272392A (zh) * 2012-05-07 2015-01-07 桑迪士克科技股份有限公司 从多级单元存储器读取数据
CN105022674A (zh) * 2014-04-25 2015-11-04 群联电子股份有限公司 解码方法、存储器存储装置、存储器控制电路单元

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958429B2 (en) * 2007-07-02 2011-06-07 Broadcom Corporation Distributed processing LDPC (low density parity check) decoder

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102820064A (zh) * 2011-06-07 2012-12-12 马维尔国际贸易有限公司 识别和减轻存储器系统中的硬错误
CN104272392A (zh) * 2012-05-07 2015-01-07 桑迪士克科技股份有限公司 从多级单元存储器读取数据
CN105022674A (zh) * 2014-04-25 2015-11-04 群联电子股份有限公司 解码方法、存储器存储装置、存储器控制电路单元

Also Published As

Publication number Publication date
CN109213614A (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
CN107092536B (zh) 解码方法、存储器存储装置及存储器控制电路单元
TWI652677B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
TWI670715B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
TWI612527B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US10923212B2 (en) Memory control method, memory storage device and memory control circuit unit
US10324787B2 (en) Decoding method, memory storage device and memory control circuit unit
US10776053B2 (en) Memory control method, memory storage device and memory control circuit unit
CN106681856B (zh) 解码方法、存储器存储装置及存储器控制电路单元
TWI702602B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
TWI607452B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN109697134B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN107025935B (zh) 译码方法、内存储存装置及内存控制电路单元
CN111326186B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN109213614B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN107590018B (zh) 译码方法、存储器控制电路单元及存储器存储装置
CN108428464B (zh) 解码方法、存储器储存装置及存储器控制电路单元
CN107301873B (zh) 译码方法、存储器储存装置及存储器控制电路单元
TWI805509B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
TWI764602B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
CN112837728B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
TWI836877B (zh) 讀取電壓校正方法、記憶體儲存裝置及記憶體控制電路單元
CN111258791B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN115547388A (zh) 解码方法、存储器存储装置及存储器控制电路单元
TW202416132A (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN115910182A (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