CN109491828A - 解码方法、存储器存储装置及存储器控制电路单元 - Google Patents
解码方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN109491828A CN109491828A CN201710820454.7A CN201710820454A CN109491828A CN 109491828 A CN109491828 A CN 109491828A CN 201710820454 A CN201710820454 A CN 201710820454A CN 109491828 A CN109491828 A CN 109491828A
- Authority
- CN
- China
- Prior art keywords
- data
- acquisition system
- read
- data acquisition
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- 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
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是根据本发明的一范例实施例所示出的多讯框编码的示意图。
图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:电源管理电路
601:存储区
602:替换区
610(0)~610(B)、710(0)~710(E)、811(0)~811(D)、812(0)~812(D)、813(0)~813(D)、814(0)~814(D)、815(0)~815(D)、816(0)~816(D)、817(0)~817(D)、818(0)~818(D):实体单元
612(0)~612(C):逻辑单元
701(1)~701(r):位置
720:奇偶数据
801~804:通道
821~828:平面
S901:步骤(从主机系统接收至少一读取指令)
S902:步骤(根据所述读取指令发送取指令序列以指示可复写式非易失性存储器模块读取相应数据)
S903:步骤(对所读取的数据执行预设解码操作)
S904:步骤(根据所述数据中解码失败的数据产生重读数据集合)
S905:步骤(根据重读数据集合从可复写式非易失性存储器模块读取待解码数据集合并基于所述待解码数据集合执行对应于第一数据的第一解码操作)
S906:步骤(是否有所述读取指令所指示读取的第二数据在第一解码操作中被更正)
S907:步骤(根据所更正的第二数据更新重读数据集合)
S908:步骤(判断重读数据集合中的数据是否皆已被更正)
S909:步骤(将所述读取指令所指示读取的数据传送至主机系统)
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块(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)算法。此外,在另一范例实施例中,更多未列于上的编码算法也可以被采用,在此便不赘述。根据所采用的编码算法,错误检查与校正电路508可以编码欲保护的数据来产生相对应的错误更正码和/或错误检查码。尔后,编码产生的错误更正码和/或错误检查码可用来更正欲保护的数据中的错误。为了说明方便,以下将经由编码产生的错误更正码和/或错误检查码统称为奇偶数据。
图7是根据本发明的一范例实施例所示出的多讯框编码的示意图。
请参照图7,以编码实体单元710(0)~710(E)所存储的数据来产生相对应的奇偶数据720为例,实体单元710(0)~710(E)中的每一者所存储的至少部分数据可视为一个讯框。在多讯框编码中,是以每一个比特(或,比特组)所在的位置为依据来对实体单元710(0)~710(E)中的数据进行编码。例如,位于位置701(1)的比特b11、b21、…、bp1会被编码为奇偶数据720中的比特bo1,位于位置701(2)的比特b12、b22、…、bp2会被编码为奇偶数据720中的比特bo2;以此类推,位于位置701(r)的比特b1r、b2r、…、bpr会被编码为奇偶数据720中的比特bor。在多讯框解码中,基于奇偶数据720,从实体单元710(0)~710(E)中读取的数据可被解码,以尝试更正所读取的数据中可能存在的错误。
在一范例实施例中,用于产生奇偶数据720的数据也可能包括实体单元710(0)~710(E)所存储的数据中的数据比特所对应的冗余比特。以实体单元710(0)所存储的数据为例,其中的冗余比特例如是对存储于实体单元710(0)中的数据比特进行单讯框编码而产生的。
在一范例实施例中,奇偶数据720可称为独立硬盘冗余阵列(Redundant Array ofIndependent Disks,RAID)错误更正码,并且奇偶数据720以及实体单元710(0)~710(E)中用来产生奇偶数据720的数据皆符合独立硬盘冗余阵列错误更正码的编码规则。例如,可使用独立硬盘冗余阵列错误更正码的编码规则来编码实体单元710(0)~710(E)中的数据以产生奇偶数据720。或者,在一范例实施例中,奇偶数据720以及实体单元710(0)~710(E)中用来产生奇偶数据720的数据也可合并视为是一个区块码。
在一范例实施例中,当欲读取某一个实体单元所存储的数据时,对应于此数据的单讯框解码会先被执行。例如,若此数据是基于LDPC码来进行单讯框编码,则此数据也会基于LDPC码来进行单讯框解码。在一范例实施例中,对某一个实体单元所存储的数据执行单讯框解码也可视为是对此实体单元所存储的数据执行预设解码操作。若对应于此数据的单讯框解码失败,则对应于此数据的多讯框解码可接续执行,例如,基于编码时采用的RS码而执行。
图8是根据本发明的一范例实施例所示出的数据存取操作的示意图。请参照图8,在本范例实施例中,可复写式非易失性存储器模块406具有多个平面821~828。平面821~828中的每一者也称为存储器平面。存储器控制电路单元404可经由通道801~804来存取平面821~828中的实体单元。例如,存储器控制电路单元404可经由通道801来存取平面821中的实体单元811(0)~811(D)以及平面822中的实体单元812(0)~812(D);存储器控制电路单元404可经由通道802来存取平面823中的实体单元813(0)~813(D)以及平面824中的实体单元814(0)~814(D);存储器控制电路单元404可经由通道803来存取平面825中的实体单元815(0)~815(D)以及平面826中的实体单元816(0)~816(D);并且存储器控制电路单元404可经由通道804来存取平面827中的实体单元817(0)~817(D)以及平面828中的实体单元818(0)~818(D)。
在本范例实施例中,通道801~804中的至少两个通道支援平行地数据读取或写入。例如,当欲存储某一数据时,此数据可以被平行地写入至属于多个平面的实体单元。例如,实体单元811(0)、813(0)、815(0)及817(0)可以被平行地程序化以存储数据。此外,当接收到来自主机系统11的读取指令时,数据也可以平行地被从属于多个平面的实体单元读取出来。例如,数据可以被平行地从实体单元811(0)、813(0)、815(0)及817(0)读取。藉此,可提升数据的存取效率或存取速度。
在本范例实施例中,数据D0~D13分别被存储在实体单元811(0)、812(0)、813(0)、814(0)、815(0)、816(0)、817(0)、818(0)、811(1)、812(1)、813(1)、814(1)、815(1)及816(1)。在对数据D0~D13执行多讯框编码后,奇偶数据P1与P2会被产生并且被存储于实体单元817(1)与818(1)。换言之,奇偶数据P1与P2可视为对应于数据D0~D13的独立硬盘冗余阵列错误更正码,且奇偶数据P1与P2是基于独立硬盘冗余阵列错误更正码的编码规则对数据D0~D13进行编码产生。或者,也可将数据D0~D13与奇偶数据P1与P2合并视为是一个区块码。多讯框编码的具体操作细节可参考图7的范例实施例,在此便不赘述。此外,在此是假设数据D0~D13已分别经过单讯框编码,使得数据D0~D13已分别包含单讯框编码产生的冗余比特(或错误更正码)。
在一范例实施例中,存储器管理电路502会接收来自主机系统11的至少一读取指令。此读取指令指示读取多个连续(编号)的逻辑单元。根据此读取指令,存储器管理电路502会指示可复写式非易失性存储器模块406执行连续读取操作。假设此读取指令所指示读取的逻辑单元分别映射至实体单元811(0)、812(0)、813(0)、814(0)、815(0)、816(0)、817(0)及818(0),则可复写式非易失性存储器模块406可平行地从实体单元811(0)、812(0)、813(0)、814(0)、815(0)、816(0)、817(0)及818(0)读取数据D0~D7中的至少一部份数据。在一范例实施例中,可复写式非易失性存储器模块406可先平行地从实体单元811(0)、813(0)、815(0)、817(0)读取数据D0、D2、D4及D6,然后再平行地从实体单元812(0)、814(0)、816(0)、818(0)读取数据D1、D3、D5及D7。或者,在一范例实施例中,数据D0~D7可同时平行地被读取。此外,在一范例实施例中,若来自主机系统11的读取指令不是指示读取连续(编号)的多个实体单元,则存储器管理电路502可改为指示可复写式非易失性存储器模块406执行随机读取操作,在此便不赘述。
在获得数据D0~D7之后,错误检查与校正电路508会分别对数据D0~D7执行预设解码操作(即单讯框解码操作)。若对数据D0~D7的至少其中之一执行的预设解码操作失败,则存储器管理电路502会根据解码失败的数据产生重读数据集合。特别是,此重读数据集合会包含对应于解码失败的数据的识别信息。例如,对应于某一个解码失败的数据的识别信息可以包含一或多个识别比特或者是解码失败的数据本身。此外,对于某一个数据的预设解码操作失败是指所执行的预设解码操作无法完全更正此数据中可能存在的所有错误。
在本范例实施例中,假设对于欲读取的数据D1~D7中的数据D1、D2、D4及D7分别执行的预设解码操作失败,则存储器管理电路502会根据解码失败的数据产生重读数据集合。此重读数据集合会包括分别对应于数据D1、D2、D4及D7的识别比特ID1、ID2、ID4及ID7。根据此重读数据集合,存储器管理电路502会指示错误检查与校正电路508启动多讯框解码程序。
在一范例实施例中,在启动多讯框解码程序之后,根据重读数据集合中的识别比特ID1,存储器管理电路502会指示从可复写式非易失性存储器模块406中读取数据D1~D13以及奇偶数据P1与P2作为对应于数据D1的待解码数据集合。须注意的是,对应于数据D1的待解码数据集合也可以视为是包含数据D1的区块码。错误检查与校正电路508会基于此待解码数据集合对数据D1进行解码(即多讯框解码)以尝试更正数据D1中的错误。
在一范例实施例中,在完成对于数据D1的解码后,根据重读数据集合中的识别比特ID2,存储器管理电路502可指示再次从可复写式非易失性存储器模块406中读取数据D1~D13以及奇偶数据P1与P2作为对应于数据D2的待解码数据集合,而错误检查与校正电路508可基于此待解码数据集合对数据D2进行解码(即多讯框解码)以尝试更正数据D2中的错误。依此类推,根据数据集合中的识别比特ID4与ID7,存储器管理电路502也可重复指示从可复写式非易失性存储器模块406中读取数据D1~D13以及奇偶数据P1与P2作为对应于数据D4与D7的待解码数据集合,而错误检查与校正电路508可基于此待解码数据集合分别对数据D4与D7进行解码(即多讯框解码)以尝试更正数据D4与D7中的错误。
也就是说,在前述范例实施例中,为了对数据D1、D2、D4及D7依序执行多讯框解码,相同的待解码数据集合(都包含数据D1~D13以及奇偶数据P1与P2)可被重复从可复写式非易失性存储器模块406中读取至少4次,加速存储器损耗。此外,前述范例实施例中也没有考虑到在对于数据D1的多讯框解码中,所采用的待解码数据集合实际上也包含了其他需要解码的数据D2、D4及D7。因此,对于数据D1的多讯框解码可能也会同时更正数据D2、D4及D7的至少其中之一。假设数据D2在对于数据D1的多讯框解码中也同时被更正,则后续重复对数据D2执行多讯框解码就是多余的操作,降低整体解码效率。
因此,在一范例实施例中,在启动多讯框解码程序之后,根据重读数据集合中的识别比特ID1,存储器管理电路502会指示从可复写式非易失性存储器模块406中读取数据D1~D13以及奇偶数据P1与P2作为对应于数据D1的待解码数据集合,而错误检查与校正电路508会基于此待解码数据集合对数据D1进行多讯框解码(也称为第一解码操作)以尝试更正数据D1中的错误。但是,须注意的是,在本范例实施例中,在执行对于数据D2、D4及D7的多讯框解码之前,存储器管理电路502会判断数据D2、D4或D7是否也随着数据D1在第一解码操作中被更正。若数据D2、D4或D7的至少其中之一也在第一解码操作中被更正,则存储器管理电路502会更新重读数据集合。
在一范例实施例中,假设数据D1与数据D2皆在对于数据D1的第一解码操作中被更正(即数据D2中的错误也在第一解码操作中被更正),则存储器管理电路502会将识别信息ID1与ID2从重读数据集合中移除,使得重读数据集合中剩下识别信息ID4与ID7。同时,存储器管理电路502会存储所更正的数据D1与D2。例如,所更正的数据D1与所更正的数据D2会同时保存在缓冲存储器510中。
在完成对于数据D1的第一解码操作之后,根据重读数据集合中剩余的识别信息ID4(还有ID7),存储器管理电路502会指示再次从可复写式非易失性存储器模块406中读取数据D1~D13以及奇偶数据P1与P2作为对应于数据D4的待解码数据集合,而错误检查与校正电路508会基于此待解码数据集合对数据D4进行解码(即多讯框解码)以尝试更正数据D4中的错误。
在一范例实施例中,若数据D4与D7皆在对于数据D4的多讯框解码中被同步更正,则存储器管理电路502会将识别信息ID4与ID7从重读数据集合中移除。同时,存储器管理电路502会存储所更正的数据D4与D7。例如,所更正的数据D4与所更正的数据D7会同时保存在缓冲存储器510中。在更正数据D1、D2、D4及D7之后,由于重读数据集合已被清空,存储器管理电路502会将已于预设解码操作中成功解码的数据D0、D3、D5、D6以及于多讯框解码操作中解码的数据D1、D2、D4及D7传送给主机系统11,作为对前述读取指令的回应。
在一范例实施例中,也有可能是在对于数据D1的第一解码操作中,数据D1、D2、D4及D7都同步被更正。因此,在此范例实施例中,若对应于数据D1的第一解码操作完成,重读数据集合就会被清空,且其余对应于数据D2、D4及D7的多讯框解码操作就可被略过而不须重复执行。然后,所更正的数据D1、D2、D4及D7可以连同其余已事先在预设解码操作中更正的数据传送至主机系统11。
传统上,重读数据集合中的每一个识别信息所对应的数据都会被视为是独立的待解码数据(或目标数据),并且对于重读数据集合中不同的目标数据执行的多讯框解码也都是独立的而不会相互影响。因此,传统上一旦系统进入多讯框解码模式,就往往会耗费很多系统资源在重复更正重读数据集合中特定的目标数据。然而,由前述范例实施例可知,若随着多讯框解码操作的执行而同步更新重读数据集合,可有效减少待解码数据集合的读取以及多讯框解码的执行次数,有效增加解码效率并延长存储器存储装置的使用寿命。
在一范例实施例中,在根据重读数据集合中的某一个识别信息读取待解码数据集合时,存储器管理电路502还会调整读取电压准位并且指示可复写式非易失性存储器模块406使用所调整的读取电压准位来读取待解码数据集合。通过修正读取电压准位,所读取的待解码数据集合(例如图8中的数据D1~D13及奇偶数据P1与P2)中的错误比特的数目有可能被减少,从而提高后续多讯框解码操作的解码成功率。
图9是根据本发明的一范例实施例所示出的解码方法的流程图。请参照图9,在步骤S901中,从主机系统接收至少一读取指令。在步骤S902中,根据所述读取指令发送读取指令序列以指示可复写式非易失性存储器模块读取相应数据。在步骤S903中,对所读取的数据执行预设解码操作。在步骤S904中,根据所述数据中解码失败的数据产生重读数据集合。其中,此重读数据集合至少包含某一数据(也称为第一数据)所对应的识别信息。在步骤S905中,根据重读数据集合从可复写式非易失性存储器模块读取待解码数据集合并基于所述待解码数据集合执行对应于第一数据的第一解码操作。在步骤S906中,判断是否有所述读取指令所指示读取的另一数据(也称为第二数据)在第一解码操作中被更正。若有第二数据在第一解码操作中被更正,在步骤S907中,根据所更正的第二数据更新重读数据集合。例如,将第二数据所对应的识别信息从重读数据集合中移除。此外,若步骤S906判断为否,进入步骤S908。在步骤S908中,判断重读数据集合中记录的数据是否皆已被更正。若重读数据集合中还有尚未更正的数据,步骤S905可重复执行,以持续对重读数据集合中尚未更正的数据执行第一解码操作。若重读数据集合中没有尚未更正的数据,在步骤S909中,将所述读取指令所指示读取的数据传送至主机系统。
然而,图9中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图9中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图9的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明可在启动多讯框解码之后,动态更新重读数据集合中的待解码数据(或目标数据)。若重读数据集合中的某一个目标数据已在对应于另一个目标数据的多讯框解码操作中被更正,则即便尚未执行到对应于此目标数据的多讯框解码,此目标数据的识别信息也会被视为已更正并且从重读数据集合中移除。藉此,可避免重读数据集合中相同的数据重复被解码和/或更正,有效提高解码效率。此外,通过减少重复读取同一个待解码数据集合(或区块码)的次数,也可减缓存储器的损耗。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求所界定者为准。
Claims (21)
1.一种解码方法,用于可复写式非易失性存储器模块,所述解码方法包括:
从主机系统接收至少一读取指令;
根据所述至少一读取指令指示从所述可复写式非易失性存储器模块至少读取第一数据与第二数据;
若对所述第一数据与所述第二数据分别执行的预设解码操作失败,产生重读数据集合,其中所述重读数据集合包括对应于所述第一数据与所述第二数据的识别信息;
根据所述重读数据集合中对应于所述第一数据的所述识别信息指示从所述可复写式非易失性存储器模块读取待解码数据集合,并基于所述待解码数据集合对所述第一数据执行第一解码操作;
若所述第二数据在所述第一解码操作中被更正,将对应于所述第二数据的所述识别信息从所述重读数据集合中移除,并存储所更正的所述第二数据;以及
传送所更正的所述第一数据与所更正的所述第二数据至所述主机系统。
2.根据权利要求1所述的解码方法,其中所述待解码数据集合包括所述第一数据、所述第二数据及奇偶数据,其中所述奇偶数据是经由编码所述第一数据与所述第二数据而产生,且所述第一数据、所述第二数据及所述奇偶数据分别存储于所述可复写式非易失性存储器模块中不同的实体单元。
3.根据权利要求1所述的解码方法,其中对所述第一数据与所述第二数据分别执行的所述预设解码操作是对应于单一实体单元的单讯框解码,而所述第一解码操作是对应于多个实体单元的多讯框解码。
4.根据权利要求1所述的解码方法,其中根据所述重读数据集合中对应于所述第一数据的所述识别信息指示从所述可复写式非易失性存储器模块读取所述待解码数据集合的步骤包括:
调整读取电压准位;以及
指示所述可复写式非易失性存储器模块使用所调整的所述读取电压准位至少读取所述第一数据。
5.根据权利要求1所述的解码方法,其中所述至少一读取指令指示读取所述第一数据与所述第二数据所属的多个连续的逻辑单元。
6.根据权利要求1所述的解码方法,其中所述可复写式非易失性存储器模块包括多个通道,且所述可复写式非易失性存储器模块经由所述多个通道中的至少两个通道平行地读取所述待解码数据集合中的至少部分数据。
7.根据权利要求2所述的解码方法,其中所述奇偶数据为使用独立硬盘冗余阵列错误更正码的编码规则所产生。
8.一种存储器存储装置,包括:
连接接口单元,用以连接至主机系统;
可复写式非易失性存储器模块;以及
存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以从所述主机系统接收至少一读取指令,
其中所述存储器控制电路单元更用以根据所述至少一读取指令指示从所述可复写式非易失性存储器模块至少读取第一数据与第二数据,
其中若对所述第一数据与所述第二数据分别执行的预设解码操作失败,所述存储器控制电路单元更用以产生重读数据集合,其中所述重读数据集合包括对应于所述第一数据与所述第二数据的识别信息,
其中所述存储器控制电路单元更用以根据所述重读数据集合中对应于所述第一数据的所述识别信息指示从所述可复写式非易失性存储器模块读取一待解码数据集合,并基于所述待解码数据集合对所述第一数据执行第一解码操作,
其中若所述第二数据在所述第一解码操作中被更正,所述存储器控制电路单元更用以将对应于所述第二数据的所述识别信息从所述重读数据集合中移除,并存储所更正的所述第二数据,
其中所述存储器控制电路单元更用以传送所更正的所述第一数据与所更正的所述第二数据至所述主机系统。
9.根据权利要求8所述的存储器存储装置,其中所述待解码数据集合包括所述第一数据、所述第二数据及奇偶数据,其中所述奇偶数据是经由编码所述第一数据与所述第二数据而产生,且所述第一数据、所述第二数据及所述奇偶数据分别存储于所述可复写式非易失性存储器模块中不同的实体单元。
10.根据权利要求8所述的存储器存储装置,其中对所述第一数据与所述第二数据分别执行的所述预设解码操作是对应于单一实体单元的单讯框解码,而所述第一解码操作是对应于多个实体单元的多讯框解码。
11.根据权利要求8所述的存储器存储装置,其中所述存储器控制电路单元根据所述重读数据集合中对应于所述第一数据的所述识别信息指示从所述可复写式非易失性存储器模块读取所述待解码数据集合的操作包括:
调整读取电压准位;以及
指示所述可复写式非易失性存储器模块使用所调整的所述读取电压准位至少读取所述第一数据。
12.根据权利要求8所述的存储器存储装置,其中所述至少一读取指令指示读取所述第一数据与所述第二数据所属的多个连续的逻辑单元。
13.根据权利要求8所述的存储器存储装置,其中所述可复写式非易失性存储器模块包括多个通道,且所述可复写式非易失性存储器模块经由所述多个通道中的至少两个通道平行地读取所述待解码数据集合中的至少部分数据。
14.根据权利要求9所述的存储器存储装置,其中所述奇偶数据为使用独立硬盘冗余阵列错误更正码的编码规则所产生。
15.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,所述存储器控制电路单元包括:
主机接口,用以连接至主机系统;
存储器接口,用以连接至所述可复写式非易失性存储器模块;
错误检查与校正电路;以及
存储器管理电路,连接至所述主机接口、所述存储器接口及所述错误检查与校正电路,
其中所述存储器管理电路用以从所述主机系统接收至少一读取指令,
其中所述存储器管理电路更用以根据所述至少一读取指令指示从所述可复写式非易失性存储器模块至少读取第一数据与第二数据,
其中若所述错误检查与校正电路对所述第一数据与所述第二数据分别执行的预设解码操作失败,所述存储器管理电路更用以产生重读数据集合,其中所述重读数据集合包括对应于所述第一数据与所述第二数据的识别信息,
其中所述存储器管理电路更用以根据所述重读数据集合中对应于所述第一数据的所述识别信息指示从所述可复写式非易失性存储器模块读取待解码数据集合,且所述错误检查与校正电路更用以基于所述待解码数据集合对所述第一数据执行第一解码操作,
其中若所述第二数据在所述第一解码操作中被更正,所述存储器管理电路更用以将对应于所述第二数据的所述识别信息从所述重读数据集合中移除,并存储所更正的所述第二数据,
其中所述存储器管理电路更用以传送所更正的所述第一数据与所更正的所述第二数据至所述主机系统。
16.根据权利要求15所述的存储器控制电路单元,其中所述待解码数据集合包括所述第一数据、所述第二数据及奇偶数据,其中所述奇偶数据是经由编码所述第一数据与所述第二数据而产生,且所述第一数据、所述第二数据及所述奇偶数据分别存储于所述可复写式非易失性存储器模块中不同的实体单元。
17.根据权利要求15所述的存储器控制电路单元,其中对所述第一数据与所述第二数据分别执行的所述预设解码操作是对应于单一实体单元的单讯框解码,而所述第一解码操作是对应于多个实体单元的一多讯框解码。
18.根据权利要求15所述的存储器控制电路单元,其中所述存储器管理电路根据所述重读数据集合中对应于所述第一数据的所述识别信息指示从所述可复写式非易失性存储器模块读取所述待解码数据集合的操作包括:
调整读取电压准位;以及
指示所述可复写式非易失性存储器模块使用所调整的所述读取电压准位至少读取所述第一数据。
19.根据权利要求15所述的存储器控制电路单元,其中所述至少一读取指令指示读取所述第一数据与所述第二数据所属的多个连续的逻辑单元。
20.根据权利要求15所述的存储器控制电路单元,其中所述可复写式非易失性存储器模块包括多个通道,且所述可复写式非易失性存储器模块经由所述多个通道中的至少两个通道平行地读取所述待解码数据集合中的至少部分数据。
21.根据权利要求16所述的存储器控制电路单元,其中所述奇偶数据为使用独立硬盘冗余阵列错误更正码的编码规则所产生。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710820454.7A CN109491828B (zh) | 2017-09-13 | 2017-09-13 | 解码方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710820454.7A CN109491828B (zh) | 2017-09-13 | 2017-09-13 | 解码方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109491828A true CN109491828A (zh) | 2019-03-19 |
CN109491828B CN109491828B (zh) | 2022-04-19 |
Family
ID=65688678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710820454.7A Active CN109491828B (zh) | 2017-09-13 | 2017-09-13 | 解码方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109491828B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347010A (zh) * | 2020-11-09 | 2021-02-09 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN112799874A (zh) * | 2021-02-23 | 2021-05-14 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN113434331A (zh) * | 2021-07-05 | 2021-09-24 | 群联电子股份有限公司 | 跨框编码管理方法、存储器存储装置及存储器控制电路 |
CN113724774A (zh) * | 2021-09-14 | 2021-11-30 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150169401A1 (en) * | 2013-12-12 | 2015-06-18 | Phison Electronics Corp. | Decoding method, memory storage device, and memory controlling circuit unit |
CN105653199A (zh) * | 2014-11-14 | 2016-06-08 | 群联电子股份有限公司 | 数据读取方法、存储器存储装置及存储器控制电路单元 |
CN106843771A (zh) * | 2017-01-26 | 2017-06-13 | 合肥兆芯电子有限公司 | 存储器重读方法、存储器控制电路单元及存储器存储装置 |
TWI594255B (zh) * | 2016-07-01 | 2017-08-01 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元及記憶體儲存裝置 |
CN107092536A (zh) * | 2017-04-14 | 2017-08-25 | 合肥兆芯电子有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
-
2017
- 2017-09-13 CN CN201710820454.7A patent/CN109491828B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150169401A1 (en) * | 2013-12-12 | 2015-06-18 | Phison Electronics Corp. | Decoding method, memory storage device, and memory controlling circuit unit |
CN105653199A (zh) * | 2014-11-14 | 2016-06-08 | 群联电子股份有限公司 | 数据读取方法、存储器存储装置及存储器控制电路单元 |
TWI594255B (zh) * | 2016-07-01 | 2017-08-01 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元及記憶體儲存裝置 |
CN106843771A (zh) * | 2017-01-26 | 2017-06-13 | 合肥兆芯电子有限公司 | 存储器重读方法、存储器控制电路单元及存储器存储装置 |
CN107092536A (zh) * | 2017-04-14 | 2017-08-25 | 合肥兆芯电子有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347010A (zh) * | 2020-11-09 | 2021-02-09 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN112347010B (zh) * | 2020-11-09 | 2023-07-04 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN112799874A (zh) * | 2021-02-23 | 2021-05-14 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN112799874B (zh) * | 2021-02-23 | 2023-06-13 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN113434331A (zh) * | 2021-07-05 | 2021-09-24 | 群联电子股份有限公司 | 跨框编码管理方法、存储器存储装置及存储器控制电路 |
CN113434331B (zh) * | 2021-07-05 | 2023-07-25 | 群联电子股份有限公司 | 跨框编码管理方法、存储器存储装置及存储器控制电路 |
CN113724774A (zh) * | 2021-09-14 | 2021-11-30 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN113724774B (zh) * | 2021-09-14 | 2023-08-29 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
Also Published As
Publication number | Publication date |
---|---|
CN109491828B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106158040B (zh) | 读取电压准位估测方法、存储器存储装置及控制电路单元 | |
CN105653199B (zh) | 数据读取方法、存储器存储装置及存储器控制电路单元 | |
CN102760099B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN109491828A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN106297883A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN109491588A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
TW201913382A (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN105304142B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN107146638A (zh) | 译码方法、内存储存装置及内存控制电路单元 | |
CN106843744A (zh) | 数据程序化方法与内存储存装置 | |
CN107331420A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN109901784A (zh) | 数据存取方法、存储器控制电路单元以及存储器储存装置 | |
TW202022877A (zh) | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US10713160B1 (en) | Data writing method, memory control circuit unit and memory storage device | |
CN109273033A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107305510A (zh) | 数据处理方法、存储器存储装置及存储器控制电路单元 | |
CN109697134A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN111580741A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN109559774A (zh) | 解码方法、存储器控制电路单元以及存储器存储装置 | |
CN109032957A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107025935A (zh) | 译码方法、内存储存装置及内存控制电路单元 | |
CN109508252B (zh) | 数据编码方法、存储器控制电路单元与存储器存储装置 | |
CN105426113B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN109710450A (zh) | 数据编码方法、存储器控制电路单元与存储器存储装置 | |
CN110008145A (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 |