CN109697134A - 解码方法、存储器存储装置及存储器控制电路单元 - Google Patents
解码方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN109697134A CN109697134A CN201710983217.2A CN201710983217A CN109697134A CN 109697134 A CN109697134 A CN 109697134A CN 201710983217 A CN201710983217 A CN 201710983217A CN 109697134 A CN109697134 A CN 109697134A
- Authority
- CN
- China
- Prior art keywords
- data
- reliability information
- decoding operate
- information
- acquisition system
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (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)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
数据是以电荷的形式存在于可复写式非易失性存储器模块的存储单元中。在可复写式非易失性存储器模块的使用过程中,存储单元中的电荷可能会因各种因素流失,进而导致存储单元的读取发生错误。因此,在某些存储器存储装置中,来自主机***的数据会被编码然后再被存储。当主机***欲读取此数据时,编码数据会被读取并解码以尝试更正其中的错误。然后,被解码并确认无误的数据才会被传送给主机***。此外,某些类型的存储器存储装置可支援跨页或跨字元线的数据编码与解码,以提升对于所存储的数据的错误更正能力。但是,在待解码数据中存在过多错误的情况下,使用跨页或跨字元线的数据编码与解码仍有很大的机率会失败。
发明内容
本发明的一范例实施例提供一种解码方法、存储器存储装置及存储器控制电路单元,可提高跨实体单元的数据保护机制的解码效率。
本发明的一范例实施例提供一种解码方法,其用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个实体单元,所述解码方法包括:使用至少一读取电压电平从所述实体单元中的至少两个实体单元读取数据集合;若所述数据集合符合预设条件,使用所述数据集合对第一数据执行第一类解码操作并记录所述第一类解码操作的解码信息;根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的可靠度信息,其中对应于所述第一数据的所述可靠度信息不用于所述第一类解码操作,且经调整的所述可靠度信息不同于对应于所述第一数据的预设可靠度信息;以及根据经调整的所述可靠度信息对所述第一数据执行第二类解码操作。
在本发明的一范例实施例中,所述的解码方法还包括:若所述数据集合中具有无法更正错误的数据单元的数目不小于预设值,判定所述数据集合符合所述预设条件。
在本发明的一范例实施例中,所述的解码方法还包括:若所述数据集合中的数据单元无法通过对应于所述数据单元的所述第二类解码操作更正,判定所述数据单元为具有所述无法更正错误的数据单元。
在本发明的一范例实施例中,根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的所述可靠度信息的步骤包括:根据所述第一类解码操作是否改变所述第一数据中的第一比特的比特值来调整对应于所述第一数据的所述可靠度信息。
在本发明的一范例实施例中,对应于所述第一数据的所述可靠度信息包括对应于所述第一数据中的第一比特的第一可靠度信息,而根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的所述可靠度信息的步骤包括:根据所述第一类解码操作的所述解码信息将所述第一可靠度信息增加第一调整值或将所述第一可靠度信息减少第二调整值。
在本发明的一范例实施例中,所述的解码方法还包括:根据当前对应于所述第一比特的所述第一可靠度信息而动态决定所述第一调整值或所述第二调整值。
在本发明的一范例实施例中,所述的解码方法还包括:在使用所述数据集合对所述数据集合中的所述第一数据执行所述第一类解码操作之前,使用对应于所述第一数据的所述预设可靠度信息对所述第一数据执行所述第二类解码操作。
本发明的另一范例实施例提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以连接至主机***。所述可复写式非易失性存储器模块包括多个实体单元。所述存储器控制电路单元连接至所述连接接口单元与所述可复写式非易失性存储器模块,其中所述存储器控制电路单元用以指示使用至少一读取电压电平从所述实体单元中的至少两个实体单元读取数据集合,其中若所述数据集合符合预设条件,所述存储器控制电路单元更用以使用所述数据集合对第一数据执行第一类解码操作并记录所述第一类解码操作的解码信息,其中所述存储器控制电路单元更用以根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的可靠度信息,其中对应于所述第一数据的所述可靠度信息不用于所述第一类解码操作,且经调整的所述可靠度信息不同于对应于所述第一数据的预设可靠度信息,其中所述存储器控制电路单元更用以根据经调整的所述可靠度信息对所述第一数据执行第二类解码操作。
在本发明的一范例实施例中,若所述数据集合中具有无法更正错误的数据单元的数目不小于预设值,所述存储器控制电路单元更用以判定所述数据集合符合所述预设条件。
在本发明的一范例实施例中,若所述数据集合中的数据单元无法通过对应于所述数据单元的所述第二类解码操作更正,所述存储器控制电路单元更用以判定所述数据单元为具有所述无法更正错误的数据单元。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的所述可靠度信息的操作包括:根据所述第一类解码操作是否改变所述第一数据中的第一比特的比特值来调整对应于所述第一数据的所述可靠度信息。
在本发明的一范例实施例中,对应于所述第一数据的所述可靠度信息包括对应于所述第一数据中的第一比特的第一可靠度信息,而所述存储器控制电路单元根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的所述可靠度信息的操作包括:根据所述第一类解码操作的所述解码信息将所述第一可靠度信息增加第一调整值或将所述第一可靠度信息减少第二调整值。
在本发明的一范例实施例中,所述存储器控制电路单元更用以根据当前对应于所述第一比特的所述第一可靠度信息而动态决定所述第一调整值或所述第二调整值。
在本发明的一范例实施例中,在使用所述数据集合对所述数据集合中的所述第一数据执行所述第一类解码操作之前,所述存储器控制电路单元更用以使用对应于所述第一数据的所述预设可靠度信息对所述第一数据执行所述第二类解码操作。
本发明的另一范例实施例提供一种存储器控制电路单元,其用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,其中所述存储器控制电路单元包括主机接口、存储器接口、错误检查与校正电路及存储器管理电路。所述主机接口用以连接至主机***。所述存储器接口用以连接至所述可复写式非易失性存储器模块。所述存储器管理电路连接至所述主机接口、所述存储器接口及所述错误检查与校正电路,其中所述存储器管理电路用以指示使用至少一读取电压电平从所述实体单元中的至少两个实体单元读取数据集合,其中若所述数据集合符合预设条件,所述错误检查与校正电路用以使用所述数据集合对第一数据执行第一类解码操作并记录所述第一类解码操作的解码信息,其中所述存储器管理电路更用以根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的可靠度信息,其中对应于所述第一数据的所述可靠度信息不用于所述第一类解码操作,且经调整的所述可靠度信息不同于对应于所述第一数据的预设可靠度信息,其中所述存储器管理电路更用以根据经调整的所述可靠度信息对所述第一数据执行第二类解码操作。
在本发明的一范例实施例中,所述数据集合包括第二数据及奇偶数据,其中所述第一类解码操作包括使用所述第二数据与所述奇偶数据来解码所述第一数据,其中存储所述第一数据、所述第二数据及所述奇偶数据的实体单元各不相同。
在本发明的一范例实施例中,若所述数据集合中具有无法更正错误的数据单元的数目不小于预设值,所述存储器管理电路更用以判定所述数据集合符合所述预设条件。
在本发明的一范例实施例中,若所述数据集合中的数据单元无法通过对应于所述数据单元的所述第二类解码操作更正,所述存储器管理电路更用以判定所述数据单元为具有所述无法更正错误的数据单元。
在本发明的一范例实施例中,对应于所述第一数据的所述可靠度信息至少影响所述第一数据中的第一比特在对应于所述第一数据的所述第二类解码操作中被解码为特定比特值的机率。
在本发明的一范例实施例中,所述存储器管理电路根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的所述可靠度信息的操作包括:根据所述第一类解码操作是否改变所述第一数据中的第一比特的比特值来调整对应于所述第一数据的所述可靠度信息。
在本发明的一范例实施例中,对应于所述第一数据的所述可靠度信息包括对应于所述第一数据中的第一比特的第一可靠度信息,而所述存储器管理电路根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的所述可靠度信息的操作包括:根据所述第一类解码操作的所述解码信息将所述第一可靠度信息增加第一调整值或将所述第一可靠度信息减少第二调整值。
在本发明的一范例实施例中,所述存储器管理电路更用以根据当前对应于所述第一比特的所述第一可靠度信息而动态决定所述第一调整值或所述第二调整值。
在本发明的一范例实施例中,在使用所述数据集合对所述数据集合中的所述第一数据执行所述第一类解码操作之前,所述错误检查与校正电路更用以使用对应于所述第一数据的所述预设可靠度信息对所述第一数据执行所述第二类解码操作。
基于上述,在将数据集合从至少两个实体单元读取出来后,此数据集合可被用于第一类解码操作中以解码第一数据并且第一类解码操作的解码信息可被记录。然后,根据所记录的解码信息,第一数据所对应的可靠度信息可被调整,并且经调整的可靠度信息可被用于后续对于第一数据的第二类解码操作中。藉此,可提高跨实体单元的数据保护机制的解码效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机***、存储器存储装置及输入/输出(I/O)装置的示意图。
图2是根据本发明的另一范例实施例所示出的主机***、存储器存储装置及I/O装置的示意图。
图3是根据本发明的另一范例实施例所示出的主机***与存储器存储装置的示意图。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
图7是根据本发明的一范例实施例所示出的多讯框编码的示意图。
图8A是根据本发明的一范例实施例所示出的第二类解码操作的示意图。
图8B是根据本发明的一范例实施例所示出的第一类解码操作的示意图。
图8C是根据本发明的另一范例实施例所示出的第一类解码操作的示意图。
图9是根据本发明的一范例实施例所示出的第一数据与相应的可靠度信息的示意图。
图10是根据本发明的一范例实施例所示出的二分图(bipartite graph)的示意图。
图11是根据本发明的一范例实施例所示出的第一实体单元中的存储单元的临界电压分布的示意图。
图12是根据本发明的一范例实施例所示出的解码方法的流程图。
图13A与图13B是根据本发明的另一范例实施例所示出的解码方法的流程图。
附图标号说明
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:电源管理电路
601:存储区
602:替换区
610(0)~610(B):实体单元
612(0)~612(C):逻辑单元
710(1)~710(P)、810(1)~810(P)、830、910:数据
720、820:奇偶数据
711(1)~711(P)、721、811(1):错误校正码
701(1)~701(r):位置
1030:二分图
1032(1)~1032(k):奇偶节点
1034(1)~1034(n):信息节点
1110、1120:状态
1101~1106:电压范围
1130:软比特信息
920:可靠度信息
S1201:步骤(使用至少一读取电压电平从可复写式非易失性存储器模块中的至少两个实体单元读取一数据集合)
S1202:步骤(判断数据集合中具有无法更正错误的数据单元的数目是否不小于预设值)
S1203:步骤(使用数据集合对第一数据执行第一类解码操作)
S1204:步骤(使用数据集合对第一数据执行第一类解码操作并记录第一类解码操作的解码信息)
S1205:步骤(根据第一类解码操作的解码信息调整对应于第一数据的可靠度信息)
S1206:步骤(根据经调整的可靠度信息对第一数据执行第二类解码操作)
S1301:步骤(使用一读取电压电平从一实体单元读取第一数据)
S1302:步骤(使用对应于第一数据的预设可靠度信息对第一数据执行第二类解码操作)
S1303:步骤(判断是否解码失败)
S1304:步骤(输出解码成功的数据)
S1305:步骤(使用至少一读取电压电平从至少两个实体单元读取数据集合)
S1306:步骤(对数据集合中的数据分别执行第二类解码操作)
S1307:步骤(数据集合中具有无法更正错误的数据单元的数目是否不小于预设值)
S1308:步骤(使用数据集合对第一数据执行第一类解码操作)
S1309:步骤(使用数据集合对特定数据执行第一类解码操作并记录第一类解码操作的解码信息)
S1310:步骤(根据第一类解码操作的解码信息调整对应于特定数据的可靠度信息)
S1311:步骤(根据经调整的可靠度信息对特定数据执行第二类解码操作)
S1312:步骤(是否解码失败)
S1313:步骤(记录解码成功的数据)
S1314:步骤(是否还有尚未使用的可靠度信息表格)
S1315:步骤(数据集合中具有无法更正错误的数据单元的数目是否不小于预设值)
S1316:步骤(执行错误处理)
S1317:步骤(是否还有尚未解码的数据)
具体实施方式
一般而言,存储器存储装置(也称,存储器存储***)包括可复写式非易失性存储器模块(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。在本范例实施例中,连接接口单元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 HighSpeed-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)。
图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并且用以接收与识别主机***11所传送的指令与数据。也就是说,主机***11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、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会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器510与电源管理电路512。缓冲存储器510是连接至存储器管理电路502并且用以暂存来自于主机***11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
请参照图6,存储器管理电路502会将可复写式非易失性存储器模块406的实体单元610(0)~610(B)逻辑地分组至存储区601与替换区602。存储区601中的实体单元610(0)~610(A)是用以存储数据,而替换区602中的实体单元610(A+1)~610(B)则是用以替换存储区601中损坏的实体单元。例如,若从某一个实体单元中读取的数据所包含的错误过多而无法被更正时,此实体单元会被视为是损坏的实体单元。须注意的是,若替换区602中没有可用的实体抹除单元,则存储器管理电路502可能会将整个存储器存储装置10宣告为写入保护(write protect)状态,而无法再写入数据。
在本范例实施例中,每一个实体单元是指一个实体程序化单元。然而,在另一范例实施例中,一个实体单元也可以是指一个实体地址、一个实体抹除单元或由多个连续或不连续的实体地址组成。存储器管理电路502会配置逻辑单元612(0)~612(C)以映射存储区601中的实体单元610(0)~610(A)。在本范例实施例中,每一个逻辑单元是指一个逻辑地址。然而,在另一范例实施例中,一个逻辑单元也可以是指一个逻辑程序化单元、一个逻辑抹除单元或者由多个连续或不连续的逻辑地址组成。此外,逻辑单元612(0)~612(C)中的每一者可被映射至一或多个实体单元。
存储器管理电路502会将逻辑单元与实体单元之间的映射关系(也称为逻辑-实体地址映射关系)记录于至少一逻辑-实体地址映射表。当主机***11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑-实体地址映射表来执行对于存储器存储装置10的数据存取操作。
在本范例实施例中,错误检查与校正电路508执行编/解码程序的基本单位是一个讯框(frame)(也称为解码讯框)。一个讯框包括多个数据比特。在本范例实施例中,一个讯框包括256个比特。然而,在另一范例实施例中,一个讯框也可以包括更多(例如4K bytes)或更少的比特。
在本范例实施例中,错误检查与校正电路508可以针对存储于同一个实体单元中的数据进行单讯框(single-frame)编码与解码,且错误检查与校正电路508也可以针对存储于多个实体单元中的数据进行多讯框(multi-frame)编码与解码。单讯框编码与多讯框编码可以分别采用低密度奇偶检查校正码(low density parity code,LDPC)、BCH码、回旋码(convolutional code)或涡轮码(turbo code)等编码算法的至少其中之一。或者,在一范例实施例中,多讯框编码还可以采用里德-所罗门码(Reed-solomon codes,RS codes)算法或异或(Exclusive OR,XOR)编码。此外,在另一范例实施例中,更多未列于上的编码算法也可以被采用,在此便不赘述。根据所采用的编码算法,错误检查与校正电路508可以编码欲保护的数据来产生相对应的错误更正码和/或错误检查码。尔后,编码产生的错误更正码和/或错误检查码可用来更正欲保护的数据中的错误。为了说明方便,以下将经由编码产生的错误更正码和/或错误检查码统称为奇偶数据。
图7是根据本发明的一范例实施例所示出的多讯框编码的示意图。
请参照图7,数据710(1)~710(P)中的每一者可视为一个讯框。数据710(1)~710(P)中的每一者可包括一或多个数据单元。数据710(1)~710(P)是分别存储于不同的实体单元。例如,数据710(1)~710(P)可分别存储于同一字元线上的不同的实体程序化单元、不同字元线上的实体程序化单元、不同晶粒(die)上的实体程序化单元、不同平面(plane)上的实体程序化单元、或者不同芯片赋能(chip enable,CE)上的实体程序化单元。
在对应于数据710(1)~710(P)的多讯框编码中,是以每一个比特(或,比特组)所在的位置为依据来对数据710(1)~710(P)进行编码。例如,位于位置701(1)的比特b11、b21、…、bp1会被编码为奇偶数据720中的比特bo1,位于位置701(2)的比特b12、b22、…、bp2会被编码为奇偶数据720中的比特bo2;以此类推,位于位置701(r)的比特b1r、b2r、…、bpr会被编码为奇偶数据720中的比特bor。在多讯框解码中,基于奇偶数据720,数据710(1)~710(P)可被解码,以尝试更正数据710(1)~710(P)中可能存在的错误。
在一范例实施例中,若对数据710(1)~710(P)以及奇偶数据720分别执行单讯框编码,则错误校正码(和/或错误检查码)711(1)~711(P)及721可分别被产生。例如,在对应于数据710(1)的单讯框编码中,比特b11、b12、…、b1r会被编码为错误校正码711(1);在对应于数据710(2)的单讯框编码中,比特b21、b22、…、b2r会被编码为错误校正码711(2);在对应于数据710(P)的单讯框编码中,比特bp1、bp2、…、bpr会被编码为错误校正码711(P);并且在对应于奇偶数据720的单讯框编码中,比特bo1、bo2、…、bor会被编码为错误校正码721。在单讯框解码中,错误校正码711(1)可用于解码数据710(1),错误校正码711(2)可用于解码数据710(2),错误校正码711(P)可用于解码数据710(P),并且错误校正码721可用于解码奇偶数据720,以尝试更正数据710(1)~710(P)及奇偶数据720中可能存在的错误。
在一范例实施例中,当欲存储数据710(1)~710(P)中的至少部分数据时,对应于数据710(1)~710(P)的多讯框编码会先被执行,以产生奇偶数据720。然后,对应于数据710(1)~710(P)及奇偶数据720的单讯框编码会分别被执行,以产生错误校正码711(1)~711(P)及721。此外,用于存储奇偶数据720的实体单元可不同于用于存储数据710(1)~710(P)中任一者的实体单元。
在一范例实施例中,当欲存储数据710(1)~710(P)中的至少一者时,对应于数据710(1)~710(P)的单讯框编码会先分别被执行,以产生错误校正码711(1)~711(P)。然后,对应于数据710(1)~710(P)及错误校正码711(1)~711(P)的多讯框编码会被执行,以产生奇偶数据720以及错误校正码721。在此范例实施例中,错误校正码721也可视为是包含于奇偶数据720中,而可用于解码错误校正码711(1)~711(P)。
在一范例实施例中,奇偶数据720可称为容错式磁盘阵列(Redundant Array ofIndependent Disks,RAID)错误更正码,并且奇偶数据720是依据容错式磁盘阵列错误更正码的编码规则而产生。例如,可使用容错式磁盘阵列错误更正码的编码规则来编码数据710(1)~710(P)以产生奇偶数据720。此外,在一范例实施例中,数据710(1)~710(P)与奇偶数据720可合并视为是一个区块码。或者,在一范例实施例中,数据710(1)~710(P)、奇偶数据720、错误校正码711(1)~711(P)及721也可合并视为是一个区块码。
图8A是根据本发明的一范例实施例所示出的第二类解码操作的示意图。图8B是根据本发明的一范例实施例所示出的第一类解码操作的示意图。图8C是根据本发明的另一范例实施例所示出的第一类解码操作的示意图。
请参照图8A,在一范例实施例中,单讯框解码也称为第二类解码操作。当欲对数据810(1)执行单讯框解码时,原先通过对数据810(1)执行单讯框编码而产生的错误校正码811(1)可一并被读取。然后,在对应于数据810(1)的单讯框解码中,基于错误校正码811(1),数据810(1)可被解码与更正。在一范例实施例中,数据810(1)也称为在相应的单讯框解码中所欲更正的目标数据。若数据810(1)被单讯框解码成功地解码与更正,则表示相应的单讯框解码成功。
请参照图8B,在一范例实施例中,多讯框解码也称为第一类解码操作。当欲对数据810(1)执行多讯框解码时,数据830可一并被读取。数据830(或者数据810(1)与830)可视为是一个数据集合。数据830包括数据810(2)~810(P)以及原先通过对数据810(1)~810(P)执行多讯框编码而产生的奇偶数据820。然后,在对应于数据810(1)的多讯框解码中,基于数据830,数据810(1)可被解码与更正。在一范例实施例中,数据810(1)也称为在相应的多讯框解码中所欲更正的目标数据。若数据810(1)被多讯框解码成功地解码与更正,则表示相应的多讯框解码成功。在一范例实施例中,目标数据与相应的数据集合可以是分别被独立地读取。在一范例实施例中,目标数据则是包含于相应的数据集合中被一并读取。
在一范例实施例中,第一类解码操作中的目标数据和/或数据集合可能包括具有无法更正(简称为UNC)错误的数据单元。以图8C为例,假设一个数据单元是指一个讯框,则数据810(1)~810(P)可分别视为是一个数据单元。UNC错误是指数据单元中无法通过相应的单讯框解码来更正的错误。假设数据810(3)、810(4)及810(5)无法通过相应的单讯框解码来更正,则数据810(3)、810(4)及810(5)可分别视为是一个具有UNC错误的数据单元。此外,假设数据810(1)与810(P)可通过相应的单讯框解码来更正,则数据810(1)与810(P)可分别视为是一个不具有UNC错误的数据单元。
在一范例实施例中,第一类解码操作包括软回馈(soft RAID)解码模式与擦除(erasure)模式。根据待解码数据(例如,图8C中的数据810(1)与数据830)中具有UNC错误的数据单元的总数,第一类解码操作操作可被决定为操作于软回馈解码模式或擦除模式。在一范例实施例中,若待解码数据中具有UNC错误的数据单元的总数不小于一预定值,例如2,但并不以此为限,则对应于待解码数据执行的第一类解码操作可***作于软回馈解码模式。然而,若待解码数据中具有UNC错误的数据单元的总数小于预定值,则对应于待解码数据执行的第一类解码操作可***作于擦除模式。在擦除模式下,第一类解码操作通常可以保证完成对于目标数据的解码与更正。
在一范例实施例中,存储器管理电路502可接收来自主机***11的读取指令。此读取指令可指示读取某一个逻辑单元的数据。根据此读取指令,存储器管理电路502可发送一读取指令序列,以指示可复写式非易失性存储器模块406使用至少一读取电压电平从此逻辑单元所映射的实体单元读取数据(也称为第一数据)。在获得第一数据(即目标数据)之后,错误检查与校正电路508可对第一数据执行第二类解码操作。若第二类解码操作失败(例如,第一数据中具有UNC错误),则存储器管理电路502可发送一读取指令序列,以指示可复写式非易失性存储器模块406使用至少一读取电压电平从至少两个实体单元读取对应于第一数据的数据集合。以图8B为例,若第一数据为数据810(1),则对应于第一数据的数据集合可以是数据830(或者数据810(1)与830)。此外,数据810(2)~810(P)也称为第二数据。错误检查与校正电路508可分别对数据810(2)~810(P)及奇偶数据820执行第二类解码操作。
在一范例实施例中,对某一数据集合中的数据分别执行的第二类解码操作可用于决定数据集合中具有UNC错误的数据单元的数目。例如,若此数据集合中的某一数据单元无法通过对应于此数据单元的第二类解码操作更正,则此数据单元会被决定为是具有UNC错误的数据单元。反之,若此数据集合中的某一数据单元可通过对应于此数据单元的第二类解码操作更正,则此数据单元会被决定为是不具有UNC错误的数据单元。
在一范例实施例中,存储器管理电路502可判断对应于第一数据的数据集合是否符合一预设条件。例如,存储器管理电路502可判断对应于第一数据的数据集合中具有UNC错误的数据单元的数目是否不小于一预设值(例如,1或2)。若此数据集合中具有UNC错误的数据单元的数目不小于此预设值,则存储器管理电路502可判定此数据集合符合预设条件。反之,若数据集合中具有UNC错误的数据单元的数目小于此预设值,则存储器管理电路502可判定此数据集合不符合预设条件。
若对应于第一数据的数据集合符合预设条件,错误检查与校正电路508可进入软回馈解码模式并于软回馈解码模式下基于所述数据集合来对第一数据执行第一类解码操作。此外,若对应于第一数据的数据集合不符合预设条件,则错误检查与校正电路508可进入擦除模式并在擦除模式下基于所述数据集合来对第一数据执行第一类解码操作。关于在擦除模式下基于所述数据集合来对第一数据执行第一类解码操作的细节可参考图7与图8B的范例实施例,在此便不赘述。此外,错误检查与校正电路508在第一类解码操作中使用的目标数据与数据集合所包含的数据皆已经过相应的第二类解码操作的解码,故目标数据与数据集合中的错误可能已被初步减少。
相较于擦除模式,在第一类解码操作的软回馈解码模式下,错误检查与校正电路508除了使用所述数据集合来对第一数据执行第一类解码操作,错误检查与校正电路508还会记录第一类解码操作的解码信息。例如,错误检查与校正电路508可记录第一类解码操作对于第一数据的解码结果和/或更正结果。所记录的解码信息可反映在此次执行的第一类解码操作中,第一数据中至少一个特定比特的比特值被改变,例如,从原始比特值0改变为比特值1或者从原始比特值1改变为比特值0。
根据所记录的解码信息,存储器管理电路502可调整对应于第一数据的可靠度信息。须注意的是,在此提及的对应于第一数据的可靠度信息并不会用于第一类解码操作(仅用于第二类解码操作)中,且经调整的可靠度信息不同于对应于第一数据的预设可靠度信息(或原始可靠度信息)。然而,在擦除模式下,第一类解码操作通常可以保证完成对于目标数据的解码与更正,因此,在一范例实施例中,若于擦除模式下执行第一类解码操作,则不需要记录第一类解码操作的解码信息。
图9是根据本发明的一范例实施例所示出的第一数据与相应的可靠度信息的示意图。图10是根据本发明的一范例实施例所示出的二分图(bipartite graph)的示意图。
请参照图9,假设数据910(即第一数据)包括比特b1~bn,则对应于数据910的可靠度信息(也称为通道可靠度信息)920包括可靠度信息L1~Ln。其中,比特bi(也称为第一比特)对应于可靠度信息Li(也称为第一可靠度信息),且i介于1与n之间。在第二类解码操作中,可靠度信息Li会影响比特bi被解码为特定比特值(例如,0或1)的机率。
请参照图10,在低密度奇偶检查码中,是用一个奇偶检查矩阵H来定义有效的码字。在编码时,奇偶检查矩阵H可用于编码待存储数据而产生相应的错误校正码。一般来说,奇偶检查矩阵H可以表示为二分图1030,其包括奇偶节点1032(1)~1032(k)与信息节点1034(1)~1034(n)。每一个奇偶节点1032(1)~1032(k)是对应到一个校验子(syndrome),而每一个信息节点1034(1)~1034(n)是对应一个数据比特。数据比特与校验子之间的对应关系(即,信息节点1034(1)~1034(n)与奇偶节点1032(1)~1032(k)之间的连结)是根据奇偶检查矩阵H所产生。例如,若奇偶检查矩阵H中第i列(row)第j行(column)的元素为1,则第i个奇偶节点1032(i)便会连接到第j个信息节点1034(j),其中i与j为正整数。
当存储器管理电路502从可复写式非易失性存储器模块406中读取数据910时,存储器管理电路502也会取得可靠度信息920。其中,初始取得的可靠度信息可称为预设可靠度信息(或原始可靠度信息)。此可靠度信息是用以表示对应的数据比特被解码为比特“1”或是“0”的机率(或称信心度)。例如,可靠度信息Li可表示比特bi被解码为比特“1”或是“0”的机率。在二分图1030中,信息节点1034(1)~1034(n)会接收到对应的可靠度信息。例如,信息节点1034(1)会接收第1个数据比特的可靠度信息L1,而信息节点1034(j)会接收第j个数据比特的可靠度信息Lj。
错误检查与校正电路508可根据二分图1030的结构与可靠度信息L1~Ln来执行第二类解码操作。例如,第二类解码操作会包括叠代解码。在叠代解码中,信息节点1034(1)~1034(n)会计算出可靠度信息给奇偶节点1032(1)~1032(k),并且奇偶节点1032(1)~1032(k)也会计算出可靠度信息给信息节点1034(1)~1034(n)。这些可靠度信息会沿着这些二分图1030中的边(edge)来传送。例如,奇偶节点1032(i)传送给信息节点1034(j)的是可靠度信息Li→j,而信息节点1034(j)传送给奇偶节点1032(i)是可靠度信息Lj→i。这些可靠度信息是用来表示一个节点认为某一个数据比特被解码为“1”或是“0”的机率(即,信心度)。例如,可靠度信息Lj→i表示信息节点1034(j)认为第j个数据比特被解码为“1”或是“0”的信心度(可为正或是负),而可靠度信息Li→j表示奇偶节点1032(i)认为第j个数据比特被解码为“1”或是“0”的信心度。此外,信息节点1034(1)~1034(n)与奇偶节点1032(1)~1032(k)会根据输入的可靠度信息来计算输出的可靠度信息,其近似于计算一个数据比特被解码为“1”或是“0”的条件机率。因此,上述传送可靠度信息的过程又被称为置信传播(beliefpropagation)。
基于不同的算法,信息节点1034(1)~1034(n)和/或奇偶节点1032(1)~1032(k)会计算出不同型态的可靠度信息。例如,错误检查与校正电路508可以采用总和-乘积算法(Sum-Product Algorithm)或最小值-总和算法(Min-Sum Algorithm)等算法,本发明不加以限制。
在叠代解码的每一次叠代中,信息节点1034(1)~1034(n)会传递可靠度信息给奇偶节点1032(1)~1032(k),并且奇偶节点1032(1)~1032(k)也会传递可靠度信息给信息节点1034(1)~1034(n)。在每一次叠代过后,信息节点1034(1)~1034(n)会根据目前的可靠度信息计算出每一个数据比特应该被解码为比特“1”或是“0”。在对这些计算出的数据比特执行奇偶检查程序(例如,将数据比特所形成的码字与奇偶检查矩阵相乘)后,可判断该码字是否为有效的码字。若所产生的码字为有效的码字,表示解码成功并且叠代解码会停止。然而,若所产生的码字不是有效的码字,则会进行下一次的叠代。若叠代解码的叠代次数达到一个预设值,则表示解码失败并且叠代解码也会停止。
在本范例实施例中,可靠度信息包括对数可能性比值(Log Likelihood Ratio,LLR)。例如,图9与图10中的可靠度信息L1~Ln、Li→j及Lj→i分别是一个对数可能性比值。一般来说,某一个数据比特的对数可能性比值(可能是正或负的)的绝对值越大,表示此数据比特的可靠度越高,因此,此数据比特当前的比特值就有越高的机率被视为是正确的。反之,某一个数据比特的对数可能性比值的绝对值越小,则表示此数据比特的可靠度越低,因此,此数据比特当前的比特值就有越高的机率被视为是错误的并且可在当前的叠代解码中被更正。在一范例实施例中,对应于某一个数据比特的预设可靠度信息(例如,对数可能性比值)是通过查表而获得。或者,在另一范例实施例中,对应于某一个数据比特的预设可靠度信息也可以是根据特定的算法而动态地计算产生。
图11是根据本发明的一范例实施例所示出的第一实体单元中的存储单元的临界电压分布的示意图。请参照图11,假设第一数据是从某一个实体单元(也称为第一实体单元)读取,并且状态1110与1120为第一实体单元中用于存储第一数据的存储单元(也称为第一存储单元)的临界电压分布的至少一部分。状态1110与1120涵盖多个电压范围1101~1106。此些电压范围1101~1106是以读取电压电平VS1~VS5(也称为软决策读取电压电平)来区隔。
在一范例实施例中,存储器管理电路502可识别第一存储单元中的每一个存储单元的临界电压是属于电压范围1101~1106中的哪一个电压范围。例如,存储器管理电路502可发送一个读取指令序列(也称为软决策读取指令序列)至可复写式非易失性存储器模块406。根据此软决策读取指令序列,可复写式非易失性存储器模块406可使用读取电压电平VS1~VS5来读取第一存储单元并且将所获得的软比特信息1130传送给存储器管理电路502。例如,软比特信息1130会包含使用读取电压电平VS1~VS5来读取第一存储单元中的某一个存储单元而获得的软比特SB1~SB5。此外,在一范例实施例中,在传送软比特信息给存储器管理电路502之前,可复写式非易失性存储器模块406也可将对应于同一个存储单元的至少部分软比特作逻辑运算,以减少所需传送的软比特的总数。
根据软比特信息1130,存储器管理电路502可识别某一个存储单元的临界电压是属于电压范围1101~1106中的哪一个电压范围。例如,若对应于某一个存储单元的软比特信息1130为“11111”,存储器管理电路502可识别此存储单元的临界电压是属于电压范围1101;若对应于某一个存储单元的软比特信息1030为“01111”,存储器管理电路502可识别此存储单元的临界电压是属于电压范围1102;若对应于某一个存储单元的软比特信息1130为“00111”,存储器管理电路502可识别此存储单元的临界电压是属于电压范围1103;若对应于某一个存储单元的软比特信息1130为“00011”,存储器管理电路502可识别此存储单元的临界电压是属于电压范围1104;若对应于某一个存储单元的软比特信息1130为“00001”,存储器管理电路502可识别此存储单元的临界电压是属于电压范围1105;或者,若对应于某一个存储单元的软比特信息1130为“00000”,则存储器管理电路502可识别此存储单元的临界电压是属于电压范围1106。
须注意的是,在图11的一范例实施例中,读取电压电平VS1~VS5的其中之一会被设定为正负号(sign)读取电压电平。此正负号读取电压电平是用来决定所读取的数据比特的比特值。例如,若读取电压电平VS3为正负号读取电压电平,则使用读取电压电平VS3来读取某一个存储单元可获得此存储单元所存储的数据比特的比特值。同时,存储器管理电路502可根据此存储单元的临界电压所属的电压范围来查询一可靠度信息表格,以获得从此存储单元读取的比特所对应的预设可靠度信息。
在一范例实施例中,根据所记录的解码信息,存储器管理电路502可调整经由前述查表操作所获得的对应于第一数据的预设可靠度信息。以图9为例,假设在执行对应于数据910(即第一数据)的第一类解码操作之前,数据910中的比特bi是经由对应于数据910的第二类解码操作解码为具有第一比特值。但是,在错误检查与校正电路508进入软回馈解码模式并使用对应于数据910的数据集合来对数据910执行第一类解码操作后,所记录的解码信息呈现比特bi在第一类解码操作中被解码和/或更正为具有第二比特值。其中,第一比特值不同于第二比特值。例如,若第一比特值为1,则第二比特值为0。或者,若第一比特值为0,则第二比特值为1。换言之,在第一类解码操作中,比特bi的比特值被改变。
在一范例实施例中,根据比特bi的比特值在第一类解码操作中是否被改变,存储器管理电路502可动态调整可靠度信息Li。例如,存储器管理电路502可将可靠度信息Li增加一调整值(也称为第一调整值)或将可靠度信息Li减少一调整值(也称为第二调整值)。第一调整值可相同或不同于第二调整值。须注意的是,在可靠度信息为对数可能性比值的范例实施例中,由于可靠度信息Li的数值可能是正值或负值,因此所提及的将可靠度信息Li增加或减少的操作,都是针对可靠度信息Li的绝对值进行。
在一范例实施例中,若比特bi的比特值未在第一类解码操作中被改变,则存储器管理电路502可将可靠度信息Li增加第一调整值,例如从+3调整为+6(即第一调整值为3),或者从-1调整为-5(即第一调整值为4)。或者,在一范例实施例中,若比特bi的比特值有在第一类解码操作中被改变,则存储器管理电路502可将可靠度信息Li减少第二调整值,例如从+3调整为+1(即第二调整值为2),或者从-7调整为-3(即第二调整值为4)。此外,在对于可靠度信息的一次调整操作中,对应于第一数据中至少一个比特的可靠度信息可被调整。
在一范例实施例中,存储器管理电路502还可根据当前可靠度信息Li的数值而动态决定第一调整值或第二调整值。例如,存储器管理电路502可判断当前对应于比特bi的可靠度信息Li的绝对值是否大于一门槛值。若当前对应于比特bi的可靠度信息Li的绝对值大于此门槛值,存储器管理电路502可加大第一调整值和/或第二调整值。反之,若当前对应于比特bi的可靠度信息Li的绝对值不大于此门槛值,存储器管理电路502可减少第一调整值和/或第二调整值。藉此,在一范例实施例中,当需要调整可靠度信息Li时,若当前可靠度信息Li的绝对值较大(例如,大于门槛值或可靠度信息Li的数值较远离零),则可靠度信息Li的增加幅度或减少幅度可能会较大;反之,当前可靠度信息Li的绝对值较小(例如,小于门槛值或可靠度信息Li的数值较接近零),则可靠度信息Li的增加幅度或减少幅度可能会较小。
须注意的是,在一范例实施例中,前述动态调整第一调整值和/或第二调整值的操作也可以是实作为算法或表格。藉此,存储器管理电路502可将当前对应于比特bi的可靠度信息Li的数值输入至此算法或表格而将此算法或表格的输出作为经调整的可靠度信息Li。
在调整对应于第一数据的可靠度信息之后,错误检查与校正电路508可使用经调整的可靠度信息来再次对第一数据执行第二类解码操作。须注意的是,由于对应于第一数据的可靠度信息已根据先前执行的第一类解码操作的解码信息而更新,因此使用经调整的可靠度信息来再次对第一数据执行第二类解码操作的解码成功率可被提升。
在一范例实施例中,在对第一数据执行的第二类解码操作失败后,若还有其余尚未使用的可靠度信息表格,则存储器管理电路502可再次根据先前获得的软比特信息(例如,图11的软比特信息1130)查询尚未使用的可靠度信息表格,以再次获得对应于第一数据的预设可靠度信息。然后,存储器管理电路502可再次根据先前纪录的第一类解码操作的解码信息来调整此预设可靠度信息。然后,错误检查与校正电路508可使用经调整的可靠度信息来再次对第一数据执行第二类解码操作。在一范例实施例中,在对于第一数据重复执行的多次第二类解码操作中,错误检查与校正电路508使用的可靠度信息可皆不相同,且所使用的可靠度信息可皆不同于经由查表而获得的预设可靠度信息。
须注意的是,在第一类解码操作的软回馈解码模式下,第一类解码操作也可以对数据集合中的第二数据执行,对应于第二数据的第一类解码操作的解码信息也可被记录,对应于第二数据的可靠度信息也可根据所记录的解码信息而被调整,并且经调整的可靠度信息可用于下一次对于同一笔第二数据的第二类解码操作中。具体操作细节相同或相似于前述关于第一数据的解码与可靠度调整操作,在此便不赘述。例如,在图9的一范例实施例中,数据910可视为图8C中的数据810(2)~810(P)的任一数据,而相关的操作细节皆已详述于上。
在一范例实施例中,在第一类解码操作的软回馈解码模式下执行对于第一数据和/或相应的数据集合中的其余至少部分数据的第一类解码操作与第二类解码操作后,存储器管理电路502可再次判断数据集合是否符合预设条件。若数据集合符合预设条件(例如,数据集合中具有UNC错误的数据单元的数目不小于此预设值),则错误检查与校正电路508可再次进入第一类解码操作的软回馈解码模式,以尝试对数据集合中的其余至少部分数据执行前述在软回馈解码模式中对于数据的解码与可靠度调整操作。然而,若数据集合不符合预设条件(例如,数据集合中具有UNC错误的数据单元的数目小于此预设值),则错误检查与校正电路508可进入第一类解码操作的擦除模式并于擦除模式下基于此数据集合对第一数据执行第一类解码操作。
图12是根据本发明的一范例实施例所示出的解码方法的流程图。
请参照图12,在步骤S1201中,使用至少一读取电压电平从可复写式非易失性存储器模块中的至少两个实体单元读取一数据集合。在步骤S1202中,判断数据集合中具有无法更正错误的数据单元的数目是否不小于预设值。若数据集合中具有无法更正错误的数据单元的数目小于预设值,在步骤S1203中,使用此数据集合对第一数据执行第一类解码操作。
若数据集合中具有无法更正错误的数据单元的数目不小于预设值,在步骤S1204中,使用此数据集合对第一数据执行第一类解码操作并记录第一类解码操作的解码信息。在步骤S1205中,根据第一类解码操作的解码信息调整对应于第一数据的可靠度信息。在步骤S1206中,根据经调整的可靠度信息对第一数据执行第二类解码操作。
图13A与图13B是根据本发明的另一范例实施例所示出的解码方法的流程图。
请参照图13A,在步骤S1301中,使用一读取电压电平从一实体单元读取第一数据。在步骤S1302中,使用对应于第一数据的预设可靠度信息对第一数据执行第二类解码操作。须注意的是,在另一范例实施例中,步骤S1302中执行的第二类解码操作也可能不使用对应于第一数据的预设可靠度信息,本发明不加以限制。在步骤S1303中,判断第一数据是否解码失败。若第一数据未解码失败,在步骤S1304中,输出解码成功的数据。若第一数据解码失败,在步骤S1305中,使用至少一读取电压电平从至少两个实体单元读取对应于第一数据的数据集合。在步骤S1306中,对数据集合中的数据分别执行第二类解码操作并进入步骤S1307。
请参照图13B,在步骤S1307中,判断数据集合中具有无法更正错误的数据单元的数目是否不小于预设值。若数据集合中具有无法更正错误的数据单元的数目小于预设值,在步骤S1308中,使用此数据集合对第一数据(即目标数据)执行第一类解码操作。若数据集合中具有无法更正错误的数据单元的数目不小于预设值,在步骤S1309中,选定此数据集合中的特定数据并使用此数据集合对此特定数据执行第一类解码操作并记录第一类解码操作的解码信息。例如,当前选定的特定数据可以是第一数据(即目标数据)或此数据集合中的其余数据(例如,第二数据)。在步骤S1310中,根据第一类解码操作的解码信息调整对应于此特定数据的可靠度信息。在步骤S1311中,根据经调整的可靠度信息对此特定数据执行第二类解码操作。
在步骤S1312中,判断此特定数据是否解码失败。若此特定数据未解码失败,则在步骤S1313中,记录解码成功的数据。在一范例实施例中,进入步骤S1313表示数据集合中的特定数据(即当前解码成功的数据)已从具有无法更正错误的数据单元转换为不具有无法更正错误的数据单元。在步骤S1313之后,步骤S1315可接续执行。此外,若此特定数据解码失败,在步骤S1314中,判断是否还有尚未使用的可靠度信息表格。若还有尚未使用的可靠度信息表格,则回到步骤S1310中,根据未使用的可靠度信息表格获得对应于此特定数据的可靠度信息并再次根据先前记录的对应于此特定数据的第一类解码操作的解码信息调整对应于此特定数据的可靠度信息。然后,重复执行步骤S1311。
若在步骤S1314中判定没有尚未使用的可靠度信息表格,在步骤S1315中,判断此数据集合中具有无法更正错误的数据单元的数目是否不小于预设值。若此数据集合中具有无法更正错误的数据单元的数目小于预设值,进入步骤S1308。若此数据集合中具有无法更正错误的数据单元的数目不小于预设值,在步骤S1317中,判断数据集合中是否还有尚未解码的数据。若数据集合中还有尚未解码的数据,回到步骤S1309,将数据集合中尚未解码的数据设定为特定数据并接续执行步骤S1309至S1312,以尝试将数据集合中剩余具有无法更正错误的数据单元转换为不具有无法更正错误的数据单元。此外,若在步骤S1317中判定数据集合中没有尚未解码的数据,则在步骤S1316中,判定解码失败并执行错误处理,例如回传读取错误的信息给主机***。
然而,图12、图13A及图13B中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图12、图13A及图13B中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图12、图13A及图13B的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,在将数据集合从至少两个实体单元读取出来后,此数据集合可被用于第一类解码操作中以解码数据集合中的特定数据并且第一类解码操作的解码信息可被记录。然后,根据所记录的解码信息,此特定数据所对应的可靠度信息可被调整,并且经调整的可靠度信息可被用于后续对于此特定数据的第二类解码操作中。藉此,可提高在包含多讯框解码与单讯框解码的复合式解码操作中提高对于数据集合中具有无法更正错误的数据单元的解码成功率,并可提高跨实体单元的数据保护机制的解码效率。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求所界定者为准。
Claims (27)
1.一种解码方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,其特征在于,所述解码方法包括:
使用至少一读取电压电平从所述多个实体单元中的至少两个实体单元读取数据集合;
若所述数据集合符合预设条件,使用所述数据集合对第一数据执行第一类解码操作并记录所述第一类解码操作的解码信息;
根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的可靠度信息,其中对应于所述第一数据的所述可靠度信息不用于所述第一类解码操作,且经调整的所述可靠度信息不同于对应于所述第一数据的预设可靠度信息;以及
根据经调整的所述可靠度信息对所述第一数据执行第二类解码操作。
2.根据权利要求1所述的解码方法,其中所述数据集合包括第二数据及奇偶数据,其中所述第一类解码操作包括使用所述第二数据与所述奇偶数据来解码所述第一数据,其中存储所述第一数据、所述第二数据及所述奇偶数据的实体单元各不相同。
3.根据权利要求1所述的解码方法,还包括:
若所述数据集合中具有无法更正错误的数据单元的数目不小于预设值,判定所述数据集合符合所述预设条件。
4.根据权利要求3所述的解码方法,还包括:
若所述数据集合中的数据单元无法通过对应于所述数据单元的所述第二类解码操作更正,判定所述数据单元为具有所述无法更正错误的数据单元。
5.根据权利要求1所述的解码方法,其中对应于所述第一数据的所述可靠度信息至少影响所述第一数据中的第一比特在对应于所述第一数据的所述第二类解码操作中被解码为一特定比特值的一机率。
6.根据权利要求1所述的解码方法,其中根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的所述可靠度信息的步骤包括:
根据所述第一类解码操作是否改变所述第一数据中的第一比特的比特值来调整对应于所述第一数据的所述可靠度信息。
7.根据权利要求1所述的解码方法,其中对应于所述第一数据的所述可靠度信息包括对应于所述第一数据中的第一比特的第一可靠度信息,而根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的所述可靠度信息的步骤包括:
根据所述第一类解码操作的所述解码信息将所述第一可靠度信息增加第一调整值或将所述第一可靠度信息减少第二调整值。
8.根据权利要求7所述的解码方法,还包括:
根据当前对应于所述第一比特的所述第一可靠度信息而动态决定所述第一调整值或所述第二调整值。
9.根据权利要求1所述的解码方法,还包括:
在使用所述数据集合对所述第一数据执行所述第一类解码操作之前,使用对应于所述第一数据的所述预设可靠度信息对所述第一数据执行所述第二类解码操作。
10.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以连接至主机***;
可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以指示使用至少一读取电压电平从所述多个实体单元中的至少两个实体单元读取数据集合,
其中若所述数据集合符合一预设条件,所述存储器控制电路单元更用以使用所述数据集合对第一数据执行第一类解码操作并记录所述第一类解码操作的解码信息,
其中所述存储器控制电路单元更用以根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的可靠度信息,其中对应于所述第一数据的所述可靠度信息不用于所述第一类解码操作,且经调整的所述可靠度信息不同于对应于所述第一数据的预设可靠度信息,
其中所述存储器控制电路单元更用以根据经调整的所述可靠度信息对所述第一数据执行第二类解码操作。
11.根据权利要求10所述的存储器存储装置,其中所述数据集合包括第二数据及奇偶数据,其中所述第一类解码操作包括使用所述第二数据与所述奇偶数据来解码所述第一数据,其中存储所述第一数据、所述第二数据及所述奇偶数据的实体单元各不相同。
12.根据权利要求10所述的存储器存储装置,其中若所述数据集合中具有一无法更正错误的数据单元的数目不小于预设值,所述存储器控制电路单元更用以判定所述数据集合符合所述预设条件。
13.根据权利要求12所述的存储器存储装置,其中若所述数据集合中的数据单元无法通过对应于所述数据单元的所述第二类解码操作更正,所述存储器控制电路单元更用以判定所述数据单元为具有所述无法更正错误的数据单元。
14.根据权利要求10所述的存储器存储装置,其中对应于所述第一数据的所述可靠度信息至少影响所述第一数据中的第一比特在对应于所述第一数据的所述第二类解码操作中被解码为特定比特值的机率。
15.根据权利要求10所述的存储器存储装置,其中所述存储器控制电路单元根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的所述可靠度信息的操作包括:
根据所述第一类解码操作是否改变所述第一数据中的第一比特的一比特值来调整对应于所述第一数据的所述可靠度信息。
16.根据权利要求10所述的存储器存储装置,其中对应于所述第一数据的所述可靠度信息包括对应于所述第一数据中的第一比特的第一可靠度信息,而所述存储器控制电路单元根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的所述可靠度信息的操作包括:
根据所述第一类解码操作的所述解码信息将所述第一可靠度信息增加第一调整值或将所述第一可靠度信息减少第二调整值。
17.根据权利要求16所述的存储器存储装置,其中所述存储器控制电路单元更用以根据当前对应于所述第一比特的所述第一可靠度信息而动态决定所述第一调整值或所述第二调整值。
18.根据权利要求10所述的存储器存储装置,其中在使用所述数据集合对所述第一数据执行所述第一类解码操作之前,所述存储器控制电路单元更用以使用对应于所述第一数据的所述预设可靠度信息对所述第一数据执行所述第二类解码操作。
19.一种存储器控制电路单元,用于控制一可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,其特征在于,所述存储器控制电路单元包括:
主机接口,用以连接至主机***;
存储器接口,用以连接至所述可复写式非易失性存储器模块;
错误检查与校正电路;以及
存储器管理电路,连接至所述主机接口、所述存储器接口及所述错误检查与校正电路,
其中所述存储器管理电路用以指示使用至少一读取电压电平从所述多个实体单元中的至少两个实体单元读取数据集合,
其中若所述数据集合符合预设条件,所述错误检查与校正电路用以使用所述数据集合对第一数据执行第一类解码操作并记录所述第一类解码操作的解码信息,
其中所述存储器管理电路更用以根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的可靠度信息,其中对应于所述第一数据的所述可靠度信息不用于所述第一类解码操作,且经调整的所述可靠度信息不同于对应于所述第一数据的一预设可靠度信息,
其中所述存储器管理电路更用以根据经调整的所述可靠度信息对所述第一数据执行第二类解码操作。
20.根据权利要求19所述的存储器控制电路单元,其中所述数据集合包括第二数据及奇偶数据,其中所述第一类解码操作包括使用所述第二数据与所述奇偶数据来解码所述第一数据,其中存储所述第一数据、所述第二数据及所述奇偶数据的实体单元各不相同。
21.根据权利要求19所述的存储器控制电路单元,其中若所述数据集合中具有无法更正错误的数据单元的数目不小于预设值,所述存储器管理电路更用以判定所述数据集合符合所述预设条件。
22.根据权利要求21所述的存储器控制电路单元,其中若所述数据集合中的数据单元无法通过对应于所述数据单元的所述第二类解码操作更正,所述存储器管理电路更用以判定所述数据单元为具有所述无法更正错误的数据单元。
23.根据权利要求19所述的存储器控制电路单元,其中对应于所述第一数据的所述可靠度信息至少影响所述第一数据中的第一比特在对应于所述第一数据的所述第二类解码操作中被解码为特定比特值的机率。
24.根据权利要求19所述的存储器控制电路单元,其中所述存储器管理电路根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的所述可靠度信息的操作包括:
根据所述第一类解码操作是否改变所述第一数据中的第一比特的比特值来调整对应于所述第一数据的所述可靠度信息。
25.根据权利要求19所述的存储器控制电路单元,其中对应于所述第一数据的所述可靠度信息包括对应于所述第一数据中的第一比特的第一可靠度信息,而所述存储器管理电路根据所述第一类解码操作的所述解码信息调整对应于所述第一数据的所述可靠度信息的操作包括:
根据所述第一类解码操作的所述解码信息将所述第一可靠度信息增加第一调整值或将所述第一可靠度信息减少第二调整值。
26.根据权利要求25所述的存储器控制电路单元,其中所述存储器管理电路更用以根据当前对应于所述第一比特的所述第一可靠度信息而动态决定所述第一调整值或所述第二调整值。
27.根据权利要求19所述的存储器控制电路单元,其中在使用所述数据集合对所述第一数据执行所述第一类解码操作之前,所述错误检查与校正电路更用以使用对应于所述第一数据的所述预设可靠度信息对所述第一数据执行所述第二类解码操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710983217.2A CN109697134B (zh) | 2017-10-20 | 2017-10-20 | 解码方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710983217.2A CN109697134B (zh) | 2017-10-20 | 2017-10-20 | 解码方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109697134A true CN109697134A (zh) | 2019-04-30 |
CN109697134B CN109697134B (zh) | 2022-10-21 |
Family
ID=66225214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710983217.2A Active CN109697134B (zh) | 2017-10-20 | 2017-10-20 | 解码方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109697134B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799874A (zh) * | 2021-02-23 | 2021-05-14 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN113724774A (zh) * | 2021-09-14 | 2021-11-30 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080250300A1 (en) * | 2007-03-29 | 2008-10-09 | Nima Mokhlesi | Method for decoding data in non-volatile storage using reliability metrics based on multiple reads |
US20110090734A1 (en) * | 2008-03-11 | 2011-04-21 | Burger Jr Harley F | Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding |
US20130031430A1 (en) * | 2011-07-28 | 2013-01-31 | Eran Sharon | Non-Volatile Memory and Method with Accelerated Post-Write Read Using Combined Verification of Multiple Pages |
US20130145235A1 (en) * | 2011-01-04 | 2013-06-06 | Lsi Corporation | Detection and decoding in flash memories with selective binary and non-binary decoding |
US20130151911A1 (en) * | 2011-12-07 | 2013-06-13 | Xilinx, Inc. | Reduction in decoder loop iterations |
US20130219108A1 (en) * | 2012-02-22 | 2013-08-22 | Silicon Motion, Inc. | Method, Memory Controller and System for Reading Data Stored in Flash Memory |
EP2763042A1 (en) * | 2013-01-31 | 2014-08-06 | LSI Corporation | Detection and decoding in flash memories with selective binary and non-binary decoding |
CN104601178A (zh) * | 2013-10-30 | 2015-05-06 | 群联电子股份有限公司 | 解码方法、解码电路、存储器存储装置与控制电路单元 |
US20170141877A1 (en) * | 2014-07-03 | 2017-05-18 | Sony Semiconductor Solutions Corporation | Receiving device, receiving method, and program |
CN107092536A (zh) * | 2017-04-14 | 2017-08-25 | 合肥兆芯电子有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
-
2017
- 2017-10-20 CN CN201710983217.2A patent/CN109697134B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080250300A1 (en) * | 2007-03-29 | 2008-10-09 | Nima Mokhlesi | Method for decoding data in non-volatile storage using reliability metrics based on multiple reads |
US20110090734A1 (en) * | 2008-03-11 | 2011-04-21 | Burger Jr Harley F | Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding |
US20130145235A1 (en) * | 2011-01-04 | 2013-06-06 | Lsi Corporation | Detection and decoding in flash memories with selective binary and non-binary decoding |
US20130031430A1 (en) * | 2011-07-28 | 2013-01-31 | Eran Sharon | Non-Volatile Memory and Method with Accelerated Post-Write Read Using Combined Verification of Multiple Pages |
US20130151911A1 (en) * | 2011-12-07 | 2013-06-13 | Xilinx, Inc. | Reduction in decoder loop iterations |
US20130219108A1 (en) * | 2012-02-22 | 2013-08-22 | Silicon Motion, Inc. | Method, Memory Controller and System for Reading Data Stored in Flash Memory |
EP2763042A1 (en) * | 2013-01-31 | 2014-08-06 | LSI Corporation | Detection and decoding in flash memories with selective binary and non-binary decoding |
CN104601178A (zh) * | 2013-10-30 | 2015-05-06 | 群联电子股份有限公司 | 解码方法、解码电路、存储器存储装置与控制电路单元 |
US20170141877A1 (en) * | 2014-07-03 | 2017-05-18 | Sony Semiconductor Solutions Corporation | Receiving device, receiving method, and program |
CN107092536A (zh) * | 2017-04-14 | 2017-08-25 | 合肥兆芯电子有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799874A (zh) * | 2021-02-23 | 2021-05-14 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN112799874B (zh) * | 2021-02-23 | 2023-06-13 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN113724774A (zh) * | 2021-09-14 | 2021-11-30 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN113724774B (zh) * | 2021-09-14 | 2023-08-29 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
Also Published As
Publication number | Publication date |
---|---|
CN109697134B (zh) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107092536B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TW201642266A (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
US10318379B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
CN106297883B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TWI672698B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN105304142B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN107146638B (zh) | 译码方法、存储器储存装置及存储器控制电路单元 | |
TWI634556B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
US10447314B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
CN109491828B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN109901945A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN111580741B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN109901784B (zh) | 数据存取方法、存储器控制电路单元以及存储器储存装置 | |
CN107436820A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN109697134A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
US10713160B1 (en) | Data writing method, memory control circuit unit and memory storage device | |
CN109559774B (zh) | 解码方法、存储器控制电路单元以及存储器存储装置 | |
CN113724774B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN107025935B (zh) | 译码方法、内存储存装置及内存控制电路单元 | |
CN109508252B (zh) | 数据编码方法、存储器控制电路单元与存储器存储装置 | |
CN111258791B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN109509499B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN107590018A (zh) | 译码方法、存储器控制电路单元及存储器存储装置 | |
CN111459704B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN111666174B (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 |