肿瘤康复网,内容丰富有趣,生活中的好帮手!
肿瘤康复网 > 解码方法 存储器存储装置及存储器控制电路单元与流程

解码方法 存储器存储装置及存储器控制电路单元与流程

时间:2021-08-14 00:20:56

相关推荐

本发明涉及一种解码方法、存储器存储装置及存储器控制电路单元。

背景技术:

::数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritablenon-volatilememorymodule)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。一般来说,为了确保数据的正确性,数据会先被编码然后再被存入可复写式非易失性存储器模块中。在读取数据时,数据会被解码以尝试更正其中的错误。若数据中的错误皆被更正,更正的数据才会被传回给主机系统。然而,随着编/解码技术逐渐进步,编/解码过程中需要暂存的数据的数据量可能会大于所设置的缓冲存储器的容量。因此,在编/解码过程中往往需要重复从可复写式非易失性存储器模块中读取特定数据,从而增加可复写式非易失性存储器模块的损耗,并且也会降低编/解码速度。特别是,在叠代解码操作中,上述情况更加显著。技术实现要素:本发明的一范例实施例提供一种解码方法、存储器存储装置及存储器控制电路单元,可在缓冲存储器的容量有限的状况下提高解码操作的效率。本发明的一范例实施例提供一种解码方法,其用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个实体单元,所述解码方法包括:将第一数据暂存至缓冲存储器,其中所述缓冲存储器包括第一缓冲区与第二缓冲区;将所述第二缓冲区的解码数据复制到所述第一缓冲区;在所述第一缓冲区中,基于所复制的所述解码数据对所述第一数据执行第一类解码操作,其中所复制的所述解码数据不同于对应于所述第一数据的原始解码数据;以及若所述第一类解码操作成功,输出已解码数据。在本发明的一范例实施例中,所述的解码方法还包括:编码原始数据以产生对应于所述第一数据的所述原始解码数据;将所述原始数据存储至所述第一实体单元;以及将对应于所述第一数据的所述原始解码数据存储于所述实体单元中的至少一第二实体单元。在本发明的一范例实施例中,所述的解码方法还包括:从所述第一实体单元读取原始数据并从所述实体单元中的至少一第二实体单元读取对应于所述第一数据的所述原始解码数据;将所述原始数据与对应于所述第一数据的所述原始解码数据暂存至所述缓冲存储器;以及于所述第一缓冲区中,基于对应于所述第一数据的所述原始解码数据对所述原始数据执行所述第一类解码操作。在本发明的一范例实施例中,所述的解码方法还包括:在基于对应于所述第一数据的所述原始解码数据对所述原始数据执行所述第一类解码操作之前,将对应于所述第一数据的所述原始解码数据复制到所述第二缓冲区。在本发明的一范例实施例中,所述的解码方法还包括:基于所述第二缓冲区中的所述解码数据对已更正数据执行第二类解码操作,以更新所述第二缓冲区中的所述解码数据,其中所述已更正数据是经由所述第一类解码操作更正。在本发明的一范例实施例中,所述第一类解码操作包括正常解码模式与擦除模式,且所述解码方法还包括:根据所述第一数据中具有无法更正错误的数据单元的总数,决定将所述第一类解码操作操作于所述正常解码模式或所述擦除模式。在本发明的一范例实施例中,所述第一类解码操作属于多讯框解码,且所述解码方法还包括:根据所述第一类解码操作的解码结果执行单讯框解码,以验证所述第一类解码操作对至少一错误比特的更正。本发明的另一范例实施例提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以连接至主机系统。所述可复写式非易失性存储器模块包括多个实体单元。所述存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,其中所述存储器控制电路单元用以将第一数据暂存至缓冲存储器,其中所述缓冲存储器包括第一缓冲区与第二缓冲区,其中所述存储器控制电路单元还用以将所述第二缓冲区的解码数据复制到所述第一缓冲区,其中所述存储器控制电路单元还用以于所述第一缓冲区中基于所复制的所述解码数据对所述第一数据执行第一类解码操作,其中所复制的所述解码数据不同于对应于所述第一数据的原始解码数据,其中若所述第一类解码操作成功,所述存储器控制电路单元还用以输出已解码数据。在本发明的一范例实施例中,所述存储器控制电路单元还用以编码原始数据以产生对应于所述第一数据的所述原始解码数据,其中所述存储器控制电路单元还用以将所述原始数据存储至所述第一实体单元,其中所述存储器控制电路单元还用以将对应于所述第一数据的所述原始解码数据存储于所述实体单元中的至少一第二实体单元。在本发明的一范例实施例中,所述存储器控制电路单元还用以指示从所述第一实体单元读取所述原始数据并从所述实体单元中的至少一第二实体单元读取对应于所述第一数据的所述原始解码数据,其中所述存储器控制电路单元还用以将所述原始数据与对应于所述第一数据的所述原始解码数据暂存至所述缓冲存储器,其中所述存储器控制电路单元还用以于所述第一缓冲区中基于对应于所述第一数据的所述原始解码数据对所述原始数据执行所述第一类解码操作。在本发明的一范例实施例中,在基于对应于所述第一数据的所述原始解码数据对所述原始数据执行所述第一类解码操作之前,所述存储器控制电路单元还用以将对应于所述第一数据的所述原始解码数据复制到所述第二缓冲区。在本发明的一范例实施例中,所述存储器控制电路单元还用以基于所述第二缓冲区中的所述解码数据对已更正数据执行第二类解码操作,以更新所述第二缓冲区中的所述解码数据,其中所述已更正数据是经由所述第一类解码操作更正。在本发明的一范例实施例中,所述第一类解码操作包括正常解码模式与擦除模式,而所述存储器控制电路单元还用以根据所述第一数据中具有无法更正错误的数据单元的总数,决定将所述第一类解码操作操作于所述正常解码模式或所述擦除模式。在本发明的一范例实施例中,所述第一类解码操作属于多讯框解码,而所述存储器控制电路单元还用以根据所述第一类解码操作的解码结果执行单讯框解码,以验证所述第一类解码操作对至少一错误比特的更正。本发明的另一范例实施例提供一种存储器控制电路单元,其用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,其中所述存储器控制电路单元包括主机接口、存储器接口、缓冲存储器、错误检查与校正电路及存储器管理电路。所述主机接口用以连接至主机系统。所述存储器接口用以连接至所述可复写式非易失性存储器模块。所述存储器管理电路连接至所述主机接口、所述存储器接口、所述缓冲存储器及所述错误检查与校正电路,其中所述存储器管理电路用以将第一数据暂存至所述缓冲存储器,其中所述缓冲存储器包括第一缓冲区与第二缓冲区,其中所述存储器管理电路还用以将所述第二缓冲区的解码数据复制到所述第一缓冲区,其中所述错误检查与校正电路用以于所述第一缓冲区中基于所复制的所述解码数据对所述第一数据执行第一类解码操作,其中所复制的所述解码数据不同于对应于所述第一数据的原始解码数据,其中若所述第一类解码操作成功,所述存储器管理电路还用以输出已解码数据。在本发明的一范例实施例中,所述错误检查与校正电路还用以编码原始数据以产生对应于所述第一数据的所述原始解码数据,其中所述存储器管理电路还用以将所述原始数据存储至所述第一实体单元,其中所述存储器管理电路还用以将对应于所述第一数据的所述原始解码数据存储于所述实体单元中的至少一第二实体单元。在本发明的一范例实施例中,所述存储器管理电路还用以指示从所述第一实体单元读取所述原始数据并从所述实体单元中的至少一第二实体单元读取对应于所述第一数据的所述原始解码数据,其中所述存储器管理电路还用以将所述原始数据与对应于所述第一数据的所述原始解码数据暂存至所述缓冲存储器,其中所述错误检查与校正电路还用以于所述第一缓冲区中基于对应于所述第一数据的所述原始解码数据对所述原始数据执行所述第一类解码操作。在本发明的一范例实施例中,在基于对应于所述第一数据的所述原始解码数据对所述原始数据执行所述第一类解码操作之前,所述存储器管理电路还用以将对应于所述第一数据的所述原始解码数据复制到所述第二缓冲区。在本发明的一范例实施例中,所述存储器控制电路单元还用以基于所述第二缓冲区中的所述解码数据对已更正数据执行第二类解码操作,以更新所述第二缓冲区中的所述解码数据,其中所述已更正数据是经由所述第一类解码操作更正。在本发明的一范例实施例中,所述已更正数据不包括具有无法更正错误的数据单元。在本发明的一范例实施例中,复制到所述第一缓冲区的所述解码数据是基于对已更正数据以及对应于所述第一数据的所述原始解码数据所执行的第二类解码操作而产生。在本发明的一范例实施例中,所述第一类解码操作包括正常解码模式与擦除模式,而所述存储器管理电路还用以根据所述第一数据中具有无法更正错误的数据单元的总数,决定将所述第一类解码操作操作于所述正常解码模式或所述擦除模式。在本发明的一范例实施例中,所述第一数据是在所述第一实体单元中受独立硬盘冗余阵列错误更正码保护。在本发明的一范例实施例中,所述第一类解码操作属于多讯框解码,而所述存储器控制电路单元还用以根据所述第一类解码操作的解码结果执行单讯框解码,以验证所述第一类解码操作对至少一错误比特的更正。基于上述,本发明可将解码过程中动态产生的解码数据保存在缓冲存储器中。当后续要解码第一数据时,此解码数据可即时地被使用,而不需要重复从可复写式非易失性存储器模块读取相关数据并重复计算而获得。藉此,可在缓冲存储器的容量有限的状况下提高解码操作的效率。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。图7是根据本发明的一范例实施例所示出的多讯框编码的示意图。图8至图11是根据本发明的一范例实施例所示出的解码操作的示意图。图12与图13是根据本发明的一范例实施例所示出的解码方法的流程图。附图标号说明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):实体单元612(0)~612(C):逻辑单元701(1)~701(r):位置830、831、832、833、1001、1002:数据720、840、841、941、942:解码数据810、820:缓冲区S1201:步骤(从可复写式非易失性存储器模块读取原始数据与原始解码数据)S1202:步骤(将原始数据与原始解码数据暂存至缓冲存储器)S1203:步骤(将原始解码数据复制到缓冲存储器的第二缓冲区)S1204:步骤(于缓冲存储器的第一缓冲区中,基于原始解码数据对原始数据执行第一类解码操作)S1205:步骤(判断第一类解码操作是否成功)S1206:步骤(输出解码已解码数据)S1301:步骤(从可复写式非易失性存储器模块读取第一数据并将第一数据暂存至缓冲存储器)S1302:步骤(将第二缓冲区中的解码数据复制到第一缓冲区中)S1303:步骤(于第一缓冲区中,基于所复制的解码数据对第一数据执行第一类解码操作)S1304:步骤(判断第一类解码操作是否成功)S1305:步骤(输出已解码数据)S1306:步骤(判断是否有数据在第一类解码操作中被更正)S1307:步骤(基于第二缓冲区中的解码数据对所更正的数据执行第二类解码操作,以更新解码数据)具体实施方式一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块(rewritablenon-volatilememorymodule)与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccessmemory,RAM)112、只读存储器(readonlymemory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆连接至系统总线(systembus)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、固态硬盘(SolidStateDrive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(NearFieldCommunication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110连接至全球定位系统(GlobalPositioningSystem,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的安全数字(SecureDigital,SD)卡32、小型快闪(CompactFlash,CF)卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embeddedMultiMediaCard,eMMC)341和/或嵌入式多芯片封装(embeddedMultiChipPackage,eMCP)存储装置342等各类型将存储器模块直接连接于主机系统的基板上的嵌入式存储装置。图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。连接接口单元402用以将存储器存储装置10连接至主机系统11。在本范例实施例中,连接接口单元402是相容于串行高级技术附件(SerialAdvancedTechnologyAttachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并行高级技术附件(ParallelAdvancedTechnologyAttachment,PATA)标准、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394标准、高速周边零件连接接口(PeripheralComponentInterconnectExpress,PCIExpress)标准、通用序列总线(UniversalSerialBus,USB)标准、SD接口标准、超高速一代(UltraHighSpeed-I,UHS-I)接口标准、超高速二代(UltraHighSpeed-II,UHS-II)接口标准、存储棒(MemoryStick,MS)接口标准、MCP接口标准、MMC接口标准、eMMC接口标准、通用快闪存储器(UniversalFlashStorage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(IntegratedDeviceElectronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。存储器控制电路单元404用以执行以硬体型式或固体型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。可复写式非易失性存储器模块406是连接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(SingleLevelCell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、多阶存储单元(MultiLevelCell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、复数阶存储单元(TripleLevelCell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下也称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制栅极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作也称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个比特。在本范例实施例中,可复写式非易失性存储器模块406的存储单元会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元。具体来说,同一条字元线上的存储单元会组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字元线上的实体程序化单元至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效比特(LeastSignificantBit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效比特(MostSignificantBit,MSB)是属于上实体程序化单元。一般来说,在MLCNAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元通常包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储系统数据(例如,错误更正码等管理数据)。在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512比特组(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块(block)。图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504、存储器接口506、错误检查与校正电路508及缓冲存储器510。存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。在本范例实施例中,存储器管理电路502的控制指令是以固体型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。在另一范例实施例中,存储器管理电路502的控制指令也可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(bootcode),并且当存储器控制电路单元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标准、IEEE1394标准、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会为对应此写入指令的数据产生对应的错误更正码(errorcorrectingcode,ECC)和/或错误检查码(errordetectingcode,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。缓冲存储器510是连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。在一范例实施例中,存储器控制电路单元404还包括电源管理电路512。电源管理电路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宣告为写入保护(writeprotect)状态,而无法再写入数据。在本范例实施例中,每一个实体单元是指一个实体程序化单元。然而,在另一范例实施例中,一个实体单元也可以是指一个实体地址、一个实体抹除单元或由多个连续或不连续的实体地址组成。存储器管理电路502会配置逻辑单元612(0)~612(C)以映射存储区601中的实体单元610(0)~610(A)。在本范例实施例中,每一个逻辑单元是指一个逻辑地址。然而,在另一范例实施例中,一个逻辑单元也可以是指一个逻辑程序化单元、一个逻辑抹除单元或者由多个连续或不连续的逻辑地址组成。此外,逻辑单元612(0)~612(C)中的每一者可被映射至一或多个实体单元。存储器管理电路502会将逻辑单元与实体单元之间的映射关系(也称为逻辑-实体地址映射关系)记录于至少一逻辑-实体地址映射表。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑-实体地址映射表来执行对于存储器存储装置10的数据存取操作。在本范例实施例中,错误检查与校正电路508执行编码程序的基本单位是一个讯框(frame)(也称为解码讯框)。一个讯框包括多个数据比特。在本范例实施例中,一个讯框包括256个比特。然而,在另一范例实施例中,一个讯框也可以包括更多(例如4Kbytes)或更少的比特。在本范例实施例中,错误检查与校正电路508可以针对存储于同一个实体单元中的数据进行单讯框(single-frame)编码与解码,也可以针对存储于多个实体单元中的数据进行多讯框(multi-frame)编码与解码。单讯框编码与多讯框编码可以分别采用低密度奇偶检查校正码(lowdensityparitycode,LDPC)、BCH码、回旋码(convolutionalcode)或涡轮码(turbocode)等编码算法的至少其中之一。或者,在一范例实施例中,多讯框编码还可以采用里德-所罗门码(Reed-solomoncodes,RScodes)算法。此外,在另一范例实施例中,更多未列于上的编码算法也可以被采用,在此便不赘述。根据所采用的编码算法,错误检查与校正电路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。在一范例实施例中,实体单元710(0)~710(E)也称为第一实体单元,而用以存储解码数据720的实体单元则称为第二实体单元。第一实体单元与第二实体单元的数目皆可以是更多或更少。在一范例实施例中,解码数据720是经由编码实体单元710(0)~710(E)中特定数据(也称为原始数据)而产生的,因此解码数据720可视为是对应于原始数据的原始解码数据。在一范例实施例中,可视为原始数据是在实体单元710(0)~710(E)中受解码数据720保护。在一范例实施例中,解码数据720也可视为是独立硬盘冗余阵列(RedundantArrayofIndependentDisks,RAID)错误更正码。基于解码数据720,从实体单元710(0)~710(E)中读取的数据可被解码,以尝试更正所读取的数据中可能存在的错误。在一范例实施例中,用于产生解码数据720的数据也可能包括实体单元710(0)~710(E)所存储的数据中的数据比特所对应的冗余比特。以实体单元710(0)所存储的数据为例,其中的冗余比特例如是对存储于实体单元710(0)中的数据比特进行单讯框编码而产生的。在一范例实施例中,当欲读取某一个实体单元所存储的数据(也称为目标数据)时,对应于此目标数据的单讯框解码可先被执行。例如,若目标数据是基于LDPC码来进行单讯框编码,则此目标数据也会基于LDPC码来进行单讯框解码。若对应于此目标数据的单讯框解码失败,则对应于此目标数据的多讯框解码会接续执行,例如,基于编码时采用的RS码而执行。在一范例实施例中,单讯框解码与多讯框解码可以交替执行,直到判定解码失败或解码成功为止。以图7为例,当欲读取存储于实体单元710(0)的目标数据时,对应于实体单元710(0)中欲读取的目标数据的第一次单讯框解码会先被执行,以尝试更正可能存在的错误。若对应于目标数据的第一次单讯框解码失败,则解码数据720以及实体单元710(1)~710(E)中用于产生解码数据720的数据会被读取出来并且对应于目标数据的第一次多讯框解码可被执行。若对应于目标数据的第一次多讯框解码失败,则根据第一次的多讯框解码的执行结果(例如,目标数据中的某些比特可能已被更正),对应于目标数据的第二次单讯框解码可被执行。若第二次单讯框解码仍然失败,则对应于目标数据的第二次多讯框解码可被执行。依此类推,在对目标数据执行至少一次的单讯框解码和/或至少一次的多讯框解码之后,目标数据中的错误应可逐渐被更正。若某一次的单讯框解码或多讯框解码成功更正目标数据中的所有错误,则相应的叠代解码可停止。或者,若对同一目标数据执行的单讯框解码和/或多讯框解码的次数达到一个次数临界值,则可判定解码失败。在一范例实施例中,在完成对应于目标数据的某一多讯框解码(目标数据中可能仍有错误存在)后,至少一个单讯框解码可根据此多讯框解码的解码结果而执行。此单讯框解码可验证先前的多讯框解码中对至少一个错误比特的更正是否正确。若此单讯框解码的解码结果反映出先前对于某一错误比特的更正是正确的,则此错误比特的更正可被保留。反之,若此单讯框解码的解码结果反映出先前对于某一错误比特的更正不是正确的,则此错误比特的更正可被取消,使得此错误比特的比特值回复为其初始值。图8至图11是根据本发明的一范例实施例所示出的解码操作的示意图。请参照图8,缓冲存储器510包括缓冲区810与820。缓冲区810也称为第一缓冲区,并且缓冲区820也称为第二缓冲区。在一范例实施例中,缓冲区810的容量可以相同或约略相同于缓冲区820的容量。在一范例实施例中,缓冲区820的容量小于缓冲区810的容量。在一范例实施例中,缓冲区810与820可由图5的存储器管理单元502动态配置。当判定需要执行对应于数据831的多讯框解码时,数据830与对应于数据830的解码数据840会被分别从第一实体单元与第二实体单元读取出来。数据830包括数据831与832。数据831为当前欲基于解码数据840而解码并更正的目标数据,而数据832则为用于产生解码数据840的其余数据。以图7为例,若数据831是存储于实体单元710(0)的数据,则数据832可能是存储于实体单元710(1)~710(E)的至少部分数据。在一范例实施例中,数据830可视为是原始数据,而解码数据840可视为是对应于数据830、数据831和/或832的原始解码数据。数据830与解码数据840会被载入至缓冲存储器510。例如,数据830与解码数据840会被暂存于缓冲区810。须注意的是,在基于解码数据840对数据830进行解码前,解码数据840会被复制到缓冲区820成为解码数据841。在将解码数据840复制到缓冲区820之后,基于解码数据840,数据830可于缓冲区810中被解码。在一范例实施例中,由于缓冲存储器510(或缓冲区810)的容量不足以一次性的存储完整的数据830(即数据830的总数据量大于缓冲存储器510或缓冲区810的容量),因此数据830可能会分批地被存入缓冲区810并基于解码数据840而分批地被解码。须注意的是,在一范例实施例中,在对数据830分批地解码的过程中,数据831会持续被维护和/或保留在缓冲区810中,直到数据831被成功解码和/或更正为止。在一范例实施例中,对应于缓冲区810中执行的解码,解码数据840中的至少部分比特可能会被更新,使得缓冲区810中更新后的解码数据840可能会与缓冲区820中预先存储的解码数据841不同。在一范例实施例中,对应于缓冲区810中执行的解码,解码数据840会被更新为校验(syndrome)数据。此校验数据可反映对于数据830执行的解码的解码状态或解码结果。请参照图9,假设根据缓冲区810中执行的解码,数据830中的数据833被更正,但是数据831尚未被更正。在一范例实施例中,数据833也称为已更正数据。在更正数据833后,基于缓冲区820中的解码数据841,数据833会被解码。在基于解码数据841解码数据833的过程中,解码数据841中的至少部分比特可能也会被更新。更新后的解码数据841会被持续保存在缓冲区820中。须注意的是,在一范例实施例中,缓冲区820中的解码数据841只会用于解码数据830中已更正的数据(即,数据833),而不会用于解码数据830中尚未更正的数据。此外,更新后的解码数据841也可称为对应于数据833的校验数据,以反映对于数据833执行的解码的解码状态或解码结果。在一范例实施例中,数据833基于解码数据840的更正仍须经由对应于数据833的单讯框解码的验证。例如,在图9的一范例实施例中,在基于解码数据840更正数据833之后,对应于数据833的单讯框解码会被执行。若此单讯框解码的解码结果反映出对于数据833中错误比特的更正是正确的,则数据833的更正结果可被保留。反之,若此单讯框解码的解码结果反映出对于数据833中错误比特的更正不是正确的,则数据833的更正结果可被取消,使得数据833中某些被更正的比特会被回复为其原始的比特值。在一范例实施例中,图8与图9的解码操作可视为是对于数据831的第一次多讯框解码。此第一次多讯框解码是为了更正数据831中的错误而执行的。例如,数据831可能是来自主机系统的某一个读取指令所指示读取的数据。若数据831中的错误未完全被更正,则此第一次多讯框解码会被判定为失败。请参照图10,若对于数据831的第一次多讯框解码失败,则数据1001可被重新从第一实体单元中读取出来。须注意的是,延续图8与图9的范例实施例,数据831可持续地被保存于缓冲区810中,而不需随着数据1001重新从第一实体单元中读取。在一范例实施例中,数据1001也称为第一数据。数据1001可不包含图9的范例实施例中已被更正的数据833。数据1001会被载入至缓冲存储器510,例如,暂存于缓冲区810中。在解码数据831与1001之前,解码数据941会被从缓冲区820复制到缓冲区810中成为解码数据942。须注意的是,解码数据941是用以表示图9的缓冲区820中更新后的解码数据841。换言之,解码数据941的数据内容会相同于图9的缓冲区820中更新后的解码数据841。在将解码数据941从缓冲区820中复制到缓冲区810之后,基于解码数据942,数据831与1001会于缓冲区810中被解码。须注意的是,在图10的范例实施例中,用于解码数据831与1001的解码数据942是从缓冲区820复制的,而非从第二实体单元读取。因此,图10中用于解码数据831与1001的解码数据942不同于图8与图9中的解码数据840。在一范例实施例中,图8与图9中的解码数据840也可视为是对应于数据1001的原始解码数据。此外,由于缓冲存储器510或缓冲区810的容量不足以一次性的存储完整的数据1001(即数据1001的总数据量大于缓冲存储器510或缓冲区810的容量),因此数据1001可能也会分批地被存入缓冲区810并基于解码数据942而分批地被解码。此外,分批存入缓冲区810进行解码的数据1001不会覆盖数据831。请参照图11,假设根据图10在缓冲区810中执行的解码,数据1002被更正,但是数据831仍未被更正。在一范例实施例中,数据1002也称为已更正数据。在一范例实施例中,对于数据1002的更正也会通过对应于数据1002的单讯框解码的验证,以决定对于数据1002的更正的正确性。在更正数据1002后,基于缓冲区820中的解码数据941,数据1002会被解码。在基于解码数据941解码数据1002的过程中,解码数据941中的至少部分比特可能也会被更新。更新后的解码数据941会被持续保存在缓冲区820中,以供对应于数据831的下一次叠代解码使用。类似于图9的范例实施例,在图11的一范例实施例中,缓冲区820中的解码数据941只会用于解码已更正的数据(即,数据1002),而不会用于解码尚未更正的数据(例如数据831或图10的数据1001中未更正的数据)。更新后的解码数据941也可称为对应于数据1002的校验数据,以反映对于数据1002执行的解码的解码状态或解码结果。至此,可视为完成对数据831的第二次多讯框解码。此第二次多讯框解码也是为了更正数据831中的错误而执行的。在图11的范例实施例中,若数据831中的错误未完全被更正,则此第二次多讯框解码也会被判定为失败。若第二次多讯框解码仍然失败,则图10与图11的范例实施例中的读取不包含目标数据以及已更新数据的第一数据的操作、将解码数据从第二缓冲区复制到第一缓冲区的操作、在第一缓冲区中执行解码与数据更正操作、基于第二缓冲区中的解码数据对已更正数据执行解码的操作、以及更新第二缓冲区中的解码数据的操作皆可被重复执行,直到保存在第一缓冲区中的目标数据中的错误被成功更正为止。此外,图8至图11的解码操作可由图5的存储器管理电路502搭配错误检查与校正电路508执行。在一范例实施例中,基于复制到第一缓冲区中的解码数据(例如,图8的解码数据840与图10中的解码数据942)执行的解码也称为第一类解码操作,而基于存储于第二缓冲区中的解码数据(例如,图9的解码数据841与图11中的解码数据941)执行的解码也称为第二类解码操作。在一范例实施例中,第一类解码操作所解码的数据(例如原始数据和/或第一数据)可包括具有无法更正(简称为UNC)错误的数据单元,而第二类解码操作所解码的数据(例如已更正数据)不会包括具有UNC错误的数据单元。在此,UNC错误是指无法通过相应的单讯框解码来更正的错误。以图7为例,假设一个数据单元是指一个讯框,若存储于实体单元710(0)中的某一个数据单元无法通过对应于此数据单元的单讯框解码来成功更正其中的错误,则此数据单元可视为是一个具有UNC错误的数据单元。或者,若存储于实体单元710(1)中的某一个数据单元可以通过对应于此数据单元的单讯框解码来成功更正其中的错误,则此数据单元可视为是一个不具有UNC错误的数据单元。在一范例实施例中,第一类解码操作包括正常解码模式与擦除(erasure)模式。根据待解码数据(例如,图8中的数据830或图10的数据831与1001)中具有UNC错误的数据单元的总数,第一类解码操作操作可被决定为操作于正常解码模式或擦除模式。在一范例实施例中,若待解码数据中具有UNC错误的数据单元的总数大于或等于一预定值,例如2,但并不以此为限,则对应于待解码数据执行的第一类解码操作操作会被操作于正常解码模式。若待解码数据中具有UNC错误的数据单元的总数小于预定值,则对应于待解码数据执行的第一类解码操作操作会被操作于擦除模式。在擦除模式下,第一类解码操作通常可以保证完成对于待解码数据(或目标数据)的解码与更正。在图9或图11的范例实施例中,缓冲区810中的待解码数据可能会包括至少一个具有UNC错误的数据单元。对应于对待解码数据执行的第一类解码操作,缓冲区810中某一个具有UNC错误的数据单元可能会被更正为不具有UNC错误的数据单元。此不具有UNC错误的数据单元可被视为已更正数据。在连续执行的多次叠代解码中,每次从第一实体单元读取并载入至缓冲区810中的第一数据可不包含已不具有UNC错误的数据单元。藉此,在连续执行的多次叠代解码中,待解码数据中具有UNC错误的数据单元的数目可逐渐减少,从而提高解码成功率。须注意的是,在图8至图11的前述范例实施例中,只有在对原始数据执行第一次的第一类解码操作时,对应于第一数据(或原始数据)的原始解码数据会被从第二实体单元中读取。在第二次以后执行的第一类解码操作中,用于对第一数据进行解码的解码数据都是从第二缓冲区中复制的。此外,在更新存储于第二缓冲区的解码数据的(解码)操作中,第二缓冲区中的解码数据的更新只会受到不具有UNC错误的数据单元的影响,从而降低第二缓冲区中的解码数据受到错误比特(或UNC错误)影响的机率。因此,在将解码数据从第二缓冲区复制到第一缓冲区后,基于所复制的解码数据于第一缓冲区执行的第一类解码操作的解码成功率可以被提高。图12与图13是根据本发明的一范例实施例所示出的解码操作的流程图。请参照图12,在步骤S1201中,从可复写式非易失性存储器模块读取原始数据与对应于第一数据(或原始数据)的原始解码数据。在步骤S1202中,将原始数据与对应于第一数据的原始解码数据暂存至缓冲存储器(例如,图8的缓冲存储器510)的第一缓冲区(例如,图8中的缓冲区810)。在步骤S1203中,将对应于第一数据的原始解码数据复制到缓冲存储器的第二缓冲区(例如,图8中的缓冲区820)。在步骤S1204中,在缓冲存储器的第一缓冲区中,基于对应于第一数据的原始解码数据对原始数据执行第一类解码操作。在步骤S1205中,判断对应于原始数据的第一类解码操作是否成功。若是(即第一类解码操作成功),在步骤S1206中,输出解码成功的数据(也称为已解码数据)。若否(即第一类解码操作失败),则进入图13的步骤S1301。请参照图13,在步骤S1301中,从可复写式非易失性存储器模块读取第一数据并将第一数据暂存至缓冲存储器的第一缓冲区。须注意的是,第一数据可不包括持续保存在第一缓冲区中的目标数据以及已于先前的第一类解码操作中更正的已更正数据。在步骤S1302中,将第二缓冲区中的解码数据复制到第一缓冲区中。在步骤S1303中,在第一缓冲区中,基于所复制的解码数据对第一数据与目标数据执行第一类解码操作。在步骤S1304中,判断第一类解码操作是否成功。若是,在步骤S1305中,输出已解码数据。若否,在步骤S1306中,判断是否有数据(或数据单元)在第一类解码操作中被更正。若否(即没有数据(或数据单元)在第一类解码操作中被更正),回到步骤S1301,重新执行下一次叠代解码。若有(即有数据(或数据单元)在第一类解码操作中被更正),在步骤S1307中,基于第二缓冲区中的解码数据对所更正的数据(即已更正数据)执行第二类解码操作,以更新第二缓冲区中的解码数据。基于已更正数据而更新的解码数据可持续保存于第二缓冲区中,以供下一次的叠代解码使用。在步骤S1307之后,步骤S1301可重复执行。此外,在图12与图13的范例实施例中,若所执行的解码操作的一执行次数达到一个次数临界值,则解码操作可被判定失败并且被停止。在一范例实施例中,步骤S1206和/或S1305还可包括将解码成功的数据(例如,目标数据)复制到其他的实体单元重新存储,并且将原先存储此数据(例如,目标数据)的实体抹除单元标记为损坏的实体抹除单元。此外,更多的错误处理手段也可在步骤S1206和/或S1305中执行,本发明不加以限制。然而,图12与图13中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图12与图13中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图12与图13的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。综上所述,本发明可将解码过程中动态产生的解码数据持续保存在缓冲存储器中。当后续要重复解码目标数据时,保存在缓冲存储器中的解码数据可即时地被使用,而不需要重复从可复写式非易失性存储器模块读取相关数据并重复计算而获得。此外,本发明也可减少UNC错误对保存在缓冲存储器中的解码数据的影响。藉此,可在缓冲存储器的容量有限的状况下提高解码操作的效率。虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属

技术领域:

:中技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利雅琪所界定者为准。当前第1页1 2 3 当前第1页1 2 3 

技术特征:

1.一种解码方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,其特征在于,所述解码方法包括:

将第一数据暂存至缓冲存储器,其中所述缓冲存储器包括第一缓冲区与第二缓冲区;

将所述第二缓冲区的解码数据复制到所述第一缓冲区;

在所述第一缓冲区中,基于所复制的所述解码数据对所述第一数据执行第一类解码操作,其中所复制的所述解码数据不同于对应于所述第一数据的原始解码数据;以及

若所述第一类解码操作成功,输出已解码数据。

2.根据权利要求1所述的解码方法,还包括:

编码原始数据以产生对应于所述第一数据的所述原始解码数据;

将所述原始数据存储至所述至少一第一实体单元;以及

将对应于所述第一数据的所述原始解码数据存储于所述多个实体单元中的至少一第二实体单元。

3.根据权利要求1所述的解码方法,还包括:

从所述至少一第一实体单元读取原始数据并从所述多个实体单元中的至少一第二实体单元读取对应于所述第一数据的所述原始解码数据;

将所述原始数据与对应于所述第一数据的所述原始解码数据载入至所述缓冲存储器;以及

在所述第一缓冲区中,基于对应于所述第一数据的所述原始解码数据对所述原始数据执行所述第一类解码操作。

4.根据权利要求3所述的解码方法,还包括:

在基于对应于所述第一数据的所述原始解码数据对所述原始数据执行所述第一类解码操作之前,将对应于所述第一数据的所述原始解码数据复制到所述第二缓冲区。

5.根据权利要求1所述的解码方法,还包括:

基于所述第二缓冲区中的所述解码数据对已更正数据执行第二类解码操作,以更新所述第二缓冲区中的所述解码数据,

其中所述已更正数据是经由所述第一类解码操作更正。

6.根据权利要求5所述的解码方法,其中所述已更正数据不包括具有无法更正错误的数据单元。

7.根据权利要求1所述的解码方法,其中复制到所述第一缓冲区的所述解码数据是基于对已更正数据以及对应于所述第一数据的所述原始解码数据所执行的一第二类解码操作而产生。

8.根据权利要求1所述的解码方法,其中所述第一类解码操作包括正常解码模式与擦除模式,且所述解码方法还包括:

根据所述第一数据中具有无法更正错误的数据单元的总数,决定将所述第一类解码操作操作于所述正常解码模式或所述擦除模式。

9.根据权利要求1所述的解码方法,其中所述第一数据是在所述至少一第一实体单元中受独立硬盘冗余阵列错误更正码保护。

10.根据权利要求1所述的解码方法,其中所述第一类解码操作属于多讯框解码,且所述解码方法还包括:

根据所述第一类解码操作的解码结果执行单讯框解码,以验证所述第一类解码操作对至少一错误比特的更正。

11.一种存储器存储装置,其特征在于,包括:

连接接口单元,用以连接至主机系统;

可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元;以及

存储器控制电路单元,连接至所述连接接口单元与所述可复写式非易失性存储器模块,

其中所述存储器控制电路单元用以将第一数据暂存至缓冲存储器,其中所述缓冲存储器包括第一缓冲区与第二缓冲区,

其中所述存储器控制电路单元还用以将所述第二缓冲区的解码数据复制到所述第一缓冲区,

其中所述存储器控制电路单元还用以于所述第一缓冲区中基于所复制的所述解码数据对所述第一数据执行第一类解码操作,其中所复制的所述解码数据不同于对应于所述第一数据的原始解码数据,

其中若所述第一类解码操作成功,所述存储器控制电路单元还用以输出已解码数据。

12.根据权利要求11所述的存储器存储装置,其中所述存储器控制电路单元还用以编码原始数据以产生对应于所述第一数据的所述原始解码数据,

其中所述存储器控制电路单元还用以将所述原始数据存储至所述至少一第一实体单元,

其中所述存储器控制电路单元还用以将对应于所述第一数据的所述原始解码数据存储于所述多个实体单元中的至少一第二实体单元。

13.根据权利要求11所述的存储器存储装置,其中所述存储器控制电路单元还用以指示从所述至少一第一实体单元读取所述原始数据并从所述多个实体单元中的至少一第二实体单元读取对应于所述第一数据的所述原始解码数据,

其中所述存储器控制电路单元还用以将所述原始数据与对应于所述第一数据的所述原始解码数据载入至所述缓冲存储器,

其中所述存储器控制电路单元还用以于所述第一缓冲区中基于对应于所述第一数据的所述原始解码数据对所述原始数据执行所述第一类解码操作。

14.根据权利要求13所述的存储器存储装置,其中在基于对应于所述第一数据的所述原始解码数据对所述原始数据执行所述第一类解码操作之前,所述存储器控制电路单元还用以将对应于所述第一数据的所述原始解码数据复制到所述第二缓冲区。

15.根据权利要求11所述的存储器存储装置,其中所述存储器控制电路单元还用以基于所述第二缓冲区中的所述解码数据对已更正数据执行第二类解码操作,以更新所述第二缓冲区中的所述解码数据,

其中所述已更正数据是经由所述第一类解码操作更正。

16.根据权利要求15所述的存储器存储装置,其中所述已更正数据不包括具有无法更正错误的数据单元。

17.根据权利要求11所述的存储器存储装置,其中复制到所述第一缓冲区的所述解码数据是基于对已更正数据以及对应于所述第一数据的所述原始解码数据所执行的第二类解码操作而产生。

18.根据权利要求11所述的存储器存储装置,其中所述第一类解码操作包括正常解码模式与擦除模式,而所述存储器控制电路单元还用以根据所述第一数据中具有无法更正错误的数据单元的总数,决定将所述第一类解码操作操作于所述正常解码模式或所述擦除模式。

19.根据权利要求11所述的存储器存储装置,其中所述第一数据是在所述至少一第一实体单元中受独立硬盘冗余阵列错误更正码保护。

20.根据权利要求11所述的存储器存储装置,其中所述第一类解码操作属于多讯框解码,而所述存储器控制电路单元还用以根据所述第一类解码操作的解码结果执行单讯框解码,以验证所述第一类解码操作对至少一错误比特的更正。

21.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元,其特征在于,其中所述存储器控制电路单元包括:

主机接口,用以连接至主机系统;

存储器接口,用以连接至所述可复写式非易失性存储器模块;

缓冲存储器;

错误检查与校正电路;以及

存储器管理电路,连接至所述主机接口、所述存储器接口、所述缓冲存储器及所述错误检查与校正电路,

其中所述存储器管理电路用以将第一数据暂存至所述缓冲存储器,其中所述缓冲存储器包括第一缓冲区与第二缓冲区,

其中所述存储器管理电路还用以将所述第二缓冲区的解码数据复制到所述第一缓冲区,

其中所述错误检查与校正电路用以于所述第一缓冲区中基于所复制的所述解码数据对所述第一数据执行第一类解码操作,其中所复制的所述解码数据不同于对应于所述第一数据的原始解码数据,

其中若所述第一类解码操作成功,所述存储器管理电路还用以输出已解码数据。

22.根据权利要求21所述的存储器控制电路单元,其中所述错误检查与校正电路还用以编码原始数据以产生对应于所述第一数据的所述原始解码数据,

其中所述存储器管理电路还用以将所述原始数据存储至所述至少一第一实体单元,

其中所述存储器管理电路还用以将对应于所述第一数据的所述原始解码数据存储于所述多个实体单元中的至少一第二实体单元。

23.根据权利要求21所述的存储器控制电路单元,其中所述存储器管理电路还用以指示从所述至少一第一实体单元读取所述原始数据并从所述多个实体单元中的至少一第二实体单元读取对应于所述第一数据的所述原始解码数据,

其中所述存储器管理电路还用以将所述原始数据与对应于所述第一数据的所述原始解码数据载入至所述缓冲存储器,

其中所述错误检查与校正电路还用以于所述第一缓冲区中基于对应于所述第一数据的所述原始解码数据对所述原始数据执行所述第一类解码操作。

24.根据权利要求23所述的存储器控制电路单元,其中在基于对应于所述第一数据的所述原始解码数据对所述原始数据执行所述第一类解码操作之前,所述存储器管理电路还用以将对应于所述第一数据的所述原始解码数据复制到所述第二缓冲区。

25.根据权利要求21所述的存储器控制电路单元,其中所述存储器控制电路单元还用以基于所述第二缓冲区中的所述解码数据对已更正数据执行第二类解码操作,以更新所述第二缓冲区中的所述解码数据,

其中所述已更正数据是经由所述第一类解码操作更正。

26.根据权利要求25所述的存储器控制电路单元,其中所述已更正数据不包括具有无法更正错误的数据单元。

27.根据权利要求21所述的存储器控制电路单元,其中复制到所述第一缓冲区的所述解码数据是基于对已更正数据以及对应于所述第一数据的所述原始解码数据所执行的第二类解码操作而产生。

28.根据权利要求21所述的存储器控制电路单元,其中所述第一类解码操作包括正常解码模式与擦除模式,而所述存储器管理电路还用以根据所述第一数据中具有无法更正错误的数据单元的总数,决定将所述第一类解码操作操作于所述正常解码模式或所述擦除模式。

29.根据权利要求21所述的存储器控制电路单元,其中所述第一数据是在所述至少一第一实体单元中受独立硬盘冗余阵列错误更正码保护。

30.根据权利要求21所述的存储器控制电路单元,其中所述第一类解码操作属于多讯框解码,而所述存储器控制电路单元还用以根据所述第一类解码操作的解码结果执行单讯框解码,以验证所述第一类解码操作对至少一错误比特的更正。

技术总结

本发明的一范例实施例提供一种解码方法、存储器存储装置及存储器控制电路单元,包括:将第一数据暂存至缓冲存储器,其中缓冲存储器包括第一缓冲区与第二缓冲区;将第二缓冲区的解码数据复制到第一缓冲区;在第一缓冲区中,基于所复制的解码数据对第一数据执行第一类解码操作,其中所复制的解码数据不同于对应于第一数据的原始解码数据;以及若第一类解码操作成功,输出已解码数据。藉此,可提高解码操作的效率。

技术研发人员:仇志良

受保护的技术使用者:群联电子股份有限公司

技术研发日:.09.14

技术公布日:.03.22

如果觉得《解码方法 存储器存储装置及存储器控制电路单元与流程》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。