数据写入方法、存储器控制电路单元以及存储器存储装置与流程

文档序号:21961653发布日期:2020-08-25 18:45阅读:259来源:国知局
本发明涉及一种数据写入方法、存储器控制电路单元以及存储器存储装置。
背景技术
::数字相机、移动电话与mp3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。依据每个存储单元可存储的比特数,nand型快闪存储器模块可分为单阶存储单元(singlelevelcell,slc)nand型快闪存储器模块、多阶存储单元(muitilevelcell,mlc)nand型快闪存储器模块以及三阶存储单元(trinarylevelcell,tlc)nand型快闪存储器模块,其中slcnand型快闪存储器模块的每个存储单元可存储1个比特的数据(即,“1”与“0”),mlcnand型快闪存储器模块的每个存储单元可存储2个比特的数据,tlcnand型快闪存储器模块的每个存储单元可存储3个比特的数据。此外,mlcnand型快闪存储器模块与tlcnand型快闪存储器模块的存储单元也可以用来模拟slcnand型快闪存储器模块,且mlcnand型快闪存储器模块与tlcnand型快闪存储器模块中用来模拟slcnand型快闪存储器模块的存储单元仅存储1个比特的数据。一般来说,可以选择mlc或tlcnand快闪存储器模块中的某些物理抹除单元来模拟slcnand型快闪存储器模块。在将数据写入至mlc或tlcnand快闪存储器模块的过程中,可以选择被用来模拟slcnand型快闪存储器模块的物理抹除单元中的某个物理程序化单元组,并使用第一程序化模式(也称为,单页程序化模式)来将数据写入至所选择的物理程序化单元组中以使得所选择的物理程序化单元组的多个存储单元之中的每一个存储单元存储仅1个比特数据。例如,所选择的物理程序化单元组的多个存储单元中仅使用最低有效比特(leastsignificantbit,lsb)来存储数据。也就是说,若是以mlc或tlcnand快闪存储器模块来模拟slcnand型快闪存储器模块时,在使用第一程序化模式进行写入时只有“下物理程序化单元”能够用以写入(或存储)数据。此外,对应该被用来写入数据的下物理程序化单元的中物理程序化单元及上物理程序化单元并不会被用来存储数据。需注意的是,由于对下物理程序化单元进行写入的速度较快,故使用mlc或tlcnand快闪存储器模块来模拟slcnand型快闪存储器模块时,通常可以有较高的写入效能。然而,基于快闪存储器物理上的特性,在使用mlcnand型快闪存储器模块(或tlcnand型快闪存储器模块)来模拟slcnand型快闪存储器模块时,通常会造成快闪存储器模块的损耗,进而降低快闪存储器模块的寿命。例如,该些用来模拟slcnand型快闪存储器模块的物理抹除单元的抹除次数(或频率)可能较高,进而造成快闪存储器模块的损耗。基于上述,如何避免因模拟slcnand型快闪存储器模块而降低快闪存储器模块的寿命是此领域技术人员所致力的目标。技术实现要素:本发明提出一种数据写入方法,用于存储器存储装置,所述存储器存储装置具有可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个区域,所述多个区域中的每一个区域包括多个物理抹除单元,所述多个物理抹除单元中的每一个物理抹除单元具有多个存储单元。所述数据写入方法包括:从主机系统接收写入指令;以及根据第一区域的写入放大因子判断将对应所述写入指令的数据写入至所述第一区域或第二区域中,其中若判断将所述数据写入至所述第二区域中,则在写入所述数据后将所写入的数据复制至所述第一区域中。在本发明的一实施例中,根据所述第一区域的所述写入放大因子判断将对应所述写入指令的所述数据写入至所述第一区域或所述第二区域中的步骤包括:在所述写入放大因子大于预设阈值时,将所述数据写入至所述第二区域中;以及在所述写入放大因子不大于所述预设阈值时,将所述数据写入至所述第一区域中。在本发明的一实施例中,若判断将所述数据写入至所述第一区域中时,使用第一程序化模式及第二程序化模式对所述第一区域中所述多个存储单元进行程序化。在本发明的一实施例中,以所述第一程序化模式所程序化的存储单元的存储比特数小于以所述第二程序化模式所程序化的存储单元的存储比特数。在本发明的一实施例中,使用所述第一程序化模式及所述第二程序化模式对所述第一区域中所述多个存储单元进行程序化的步骤包括:使用所述第一程序化模式对所述第一区域中所述多个存储单元进行程序化;以及以复制回操作使用所述第二程序化模式将写入所述第一区域的所述多个物理抹除单元的数据复制至所述第一区域的所述多个物理抹除单元其中之一中。在本发明的一实施例中,若判断将所述数据写入至所述第二区域中时,使用第一程序化模式对所述第二区域中所述多个存储单元进行程序化。在本发明的一实施例中,在写入所述数据后将所写入的数据复制至所述第一区域中的步骤包括:以复制回操作使用所述第二程序化模式将写入所述第二区域的所述多个物理抹除单元的数据复制至所述第一区域的所述多个物理抹除单元其中之一中。在本发明的一实施例中,所述方法还包括:根据所述可复写式非易失性存储器模块的生命周期参数判断执行第一写入模式或第二写入模式,在所述第一写入模式中,将对应所述数据写入至所述第一区域,以及在所述第二写入模式中,根据所述第一区域的所述写入放大因子判断将所述数据写入至所述第一区域或所述第二区域中。在本发明的一实施例中,所述第一区域的存储单元的存储比特数大于所述第二区域的存储单元的存储比特数。在本发明的一实施例中,所述多个区域分别具有对应的存储容量,并且在计算所述可复写式非易失性存储器模块的空间大小时,所述空间大小不包括所述第二区域对应的所述存储容量。本发明提出一种存储器控制电路单元,所述存储器控制电路单元包括主机接口、存储器接口以及存储器管理电路。所述主机接口用以耦接至主机系统。存储器接口用以耦接至可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个区域,所述多个区域中的每一个区域包括多个物理抹除单元,所述多个物理抹除单元中的每一个物理抹除单元具有多个存储单元。存储器管理电路耦接至所述主机接口与所述存储器接口。所述存储器管理电路用以从所述主机系统接收写入指令,并且所述存储器管理电路还用以根据第一区域的写入放大因子判断将对应所述写入指令的数据写入至所述第一区域或第二区域中,其中若判断将所述数据写入至所述第二区域中,则在写入所述数据后将所写入的数据复制至所述第一区域中。在本发明的一实施例中,所述存储器管理电路还用以在根据所述第一区域的所述写入放大因子判断将对应所述写入指令的所述数据写入至所述第一区域或所述第二区域中的运作中,在所述写入放大因子大于预设阈值时,将所述数据写入至所述第二区域中,并且在所述写入放大因子不大于所述预设阈值时,将所述数据写入至所述第一区域中。在本发明的一实施例中,若判断将所述数据写入至所述第一区域中时,所述存储器管理电路还用以使用第一程序化模式及第二程序化模式对所述第一区域中所述多个存储单元进行程序化。在本发明的一实施例中,所述存储器管理电路以所述第一程序化模式所程序化的存储单元的存储比特数小于以所述第二程序化模式所程序化的存储单元的存储比特数。在本发明的一实施例中,所述存储器管理电路还用以在使用所述第一程序化模式及所述第二程序化模式对所述第一区域中所述多个存储单元进行程序化的运作中,使用所述第一程序化模式对所述第一区域中所述多个存储单元进行程序化,并且以复制回操作使用所述第二程序化模式将写入所述第一区域的所述多个物理抹除单元的数据复制至所述第一区域的所述多个物理抹除单元其中之一中。在本发明的一实施例中,若判断将所述数据写入至所述第二区域中时,所述存储器管理电路还用以使用第一程序化模式对所述第二区域中所述多个存储单元进行程序化。在本发明的一实施例中,在写入所述数据后将所写入的数据复制至所述第一区域中的运作中,所述存储器管理电路还用以以复制回操作使用所述第二程序化模式将写入所述第二区域的所述多个物理抹除单元的数据复制至所述第一区域的所述多个物理抹除单元其中之一中。在本发明的一实施例中,所述存储器管理电路还用以根据所述可复写式非易失性存储器模块的生命周期参数判断执行第一写入模式或第二写入模式,在所述第一写入模式中,将对应所述数据写入至所述第一区域,并且在所述第二写入模式中,根据所述第一区域的所述写入放大因子判断将所述数据写入至所述第一区域或所述第二区域中。在本发明的一实施例中,所述第一区域的存储单元的存储比特数大于所述第二区域的存储单元的存储比特数。在本发明的一实施例中,所述多个区域分别具有对应的存储容量,并且所述存储器管理电路在计算所述可复写式非易失性存储器模块的空间大小时,所述空间大小不包括所述第二区域对应的所述存储容量。本发明提出一种存储器存储装置,所述存储器存储装置包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。所述连接接口单元用以耦接至主机系统。所述可复写式非易失性存储器模块包括多个区域,所述多个区域中的每一个区域包括多个物理抹除单元,所述多个物理抹除单元中的每一个物理抹除单元具有多个存储单元。所述存储器控制电路单元耦接至所述连接接口单元与所述可复写式非易失性存储器模块所述存储器控制电路单元用以从所述主机系统接收写入指令,并且所述存储器控制电路单元还用以根据第一区域的写入放大因子判断将对应所述写入指令的数据写入至所述第一区域或第二区域中,其中若判断将所述数据写入至所述第二区域中,则在写入所述数据后将所写入的数据复制至所述第一区域中。在本发明的一实施例中,所述存储器控制电路单元还用以在根据所述第一区域的所述写入放大因子判断将对应所述写入指令的所述数据写入至所述第一区域或所述第二区域中的运作中,在所述写入放大因子大于预设阈值时,将所述数据写入至所述第二区域中,并且在所述写入放大因子不大于所述预设阈值时,将所述数据写入至所述第一区域中。在本发明的一实施例中,若判断将所述数据写入至所述第一区域中时,所述存储器控制电路单元还用以使用第一程序化模式及第二程序化模式对所述第一区域中所述多个存储单元进行程序化。在本发明的一实施例中,所述存储器控制电路单元以所述第一程序化模式所程序化的存储单元的存储比特数小于以所述第二程序化模式所程序化的存储单元的存储比特数。在本发明的一实施例中,所述存储器控制电路单元还用以在使用所述第一程序化模式及所述第二程序化模式对所述第一区域中所述多个存储单元进行程序化的运作中,使用所述第一程序化模式对所述第一区域中所述多个存储单元进行程序化,并且以复制回操作使用所述第二程序化模式将写入所述第一区域的所述多个物理抹除单元的数据复制至所述第一区域的所述多个物理抹除单元其中之一中。在本发明的一实施例中,若判断将所述数据写入至所述第二区域中时,所述存储器控制电路单元还用以使用第一程序化模式对所述第二区域中所述多个存储单元进行程序化。在本发明的一实施例中,在写入所述数据后将所写入的数据复制至所述第一区域中的运作中,所述存储器控制电路单元还用以以复制回操作使用所述第二程序化模式将写入所述第二区域的所述多个物理抹除单元的数据复制至所述第一区域的所述多个物理抹除单元其中之一中。在本发明的一实施例中,所述存储器控制电路单元还用以根据所述可复写式非易失性存储器模块的生命周期参数判断执行第一写入模式或第二写入模式,在所述第一写入模式中,将对应所述数据写入至所述第一区域,并且在所述第二写入模式中,根据所述第一区域的所述写入放大因子判断将所述数据写入至所述第一区域或所述第二区域中。在本发明的一实施例中,所述第一区域的存储单元的存储比特数大于所述第二区域的存储单元的存储比特数。在本发明的一实施例中,所述多个区域分别具有对应的存储容量,并且所述存储器控制电路单元在计算所述可复写式非易失性存储器模块的空间大小时,所述空间大小不包括所述第二区域对应的所述存储容量。基于上述,本发明实施例的数据写入方法、存储器控制电路单元以及存储器存储装置可以计算动态区当前的写入放大因子,并根据所计算出的写入放大因子动态地决定将数据写入动态区或静态区。藉此,本发明实施例通过调整数据写入动态区或静态区的比例影响写入放大因子的数值,可控制动态区及静态区的寿命来避免静态区先达到寿命终点,而达成两个区域同时达到寿命终点的效果。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。附图说明图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图;图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图;图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图;图4是根据一范例实施例所示出的主机系统与存储器存储装置的概要方块图;图5a与图5b是根据本范例实施例所示出的存储单元存储架构与物理抹除单元的范例示意图;图6是根据一范例实施例所示出的存储器控制电路单元的概要方块图;图7与图8是根据一范例实施例所示出的管理物理抹除单元的范例示意图;图9是根据一范例实施例所示出的管理物理抹除单元的范例示意图;图10是根据一范例实施例所示出的数据写入方法的流程图;图11是根据一范例实施例所示出的数据写入方法的流程图。具体实施方式现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。图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可例如是随身盘201、存储卡202、固态硬盘(solidstatedrive,ssd)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(nearfieldcommunicationstorage,nfc)存储器存储装置、无线传真(wi-fi)存储器存储装置、蓝牙(bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,ibeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110耦接至全球定位系统(globalpositioningsystem,gps)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式i/o装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的sd卡32、cf卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embeddedmmc,emmc)341和/或嵌入式多芯片封装存储装置(embeddedmultichippackage,emcp)342等各类型将存储器模块直接耦接于主机系统的基板上的嵌入式存储装置。图4是根据一范例实施例所示出的主机系统与存储器存储装置的概要方块图。请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。在本范例实施例中,连接接口单元402是相容于串行高级附件(serialadvancedtechnologyattachment,sata)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并行高级附件(paralleladvancedtechnologyattachment,pata)标准、电气和电子工程师协会(instituteofelectricalandelectronicengineers,ieee)1394标准、高速周边零件连接接口(peripheralcomponentinterconnectexpress,pciexpress)标准、通用串行总线(universalserialbus,usb)标准、超高速一代(ultrahighspeed-i,uhs-i)接口标准、超高速二代(ultrahighspeed-ii,uhs-ii)接口标准、安全数位(securedigital,sd)接口标准、存储棒(memorystick,ms)接口标准、多芯片封装(multi-chippackage)接口标准、多媒体存储卡(multimediacard,mmc)接口标准、嵌入式多媒体存储卡(embeddedmultimediacard,emmc)接口标准、通用快闪存储器(universalflashstorage,ufs)接口标准、嵌入式多芯片封装(embeddedmultichippackage,emcp)接口标准、小型快闪(compactflash,cf)接口标准、整合式驱动电子接口(integrateddeviceelectronics,ide)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于包含存储器控制电路单元的芯片外。存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。可复写式非易失性存储器模块406是耦接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406具有物理抹除单元410(0)~410(n)。例如,物理抹除单元410(0)~410(n)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理抹除单元分别具有多个物理程序化单元,其中属于同一个物理抹除单元的物理程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一物理抹除单元是可由64个物理程序化单元、256个物理程序化单元或其他任意个物理程序化单元所组成。更详细来说,物理抹除单元为抹除的最小单位。也即,每一物理抹除单元含有最小数目之一并被抹除的存储单元。物理程序化单元为程序化的最小单元。即,物理程序化单元为写入数据的最小单元。每一物理程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个物理存取地址用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,控制资讯与错误更正码)。在本范例实施例中,每一个物理程序化单元的数据比特区中会包含8个物理存取地址,且一个物理存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的物理存取地址,本发明并不限制物理存取地址的大小以及个数。例如,在一范例实施例中,物理抹除单元为物理区块,并且物理程序化单元为物理页面或物理扇区,但本发明不以此为限。在本范例实施例中,可复写式非易失性存储器模块406可以是单阶存储单元(singlelevelcell,slc)nand型快闪存储器模块(即,一个存储单元中可存储1个数据比特的快闪存储器模块)、多阶存储单元(multilevelcell,mlc)nand型快闪存储器模块(即,一个存储单元中可存储2个数据比特的快闪存储器模块)、三阶存储单元(triplelevelcell,tlc)nand型快闪存储器模块(即,一个存储单元中可存储3个数据比特的快闪存储器模块)、四阶存储单元(quadlevelcell,qlc)nand型快闪存储器模块(即,一个存储单元中可存储4个数据比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。图5a与图5b是根据本范例实施例所示出的存储单元存储架构与物理抹除单元的范例示意图。请参照图5a,可复写式非易失性存储器模块406的每个存储单元的存储状态可被识别为“111”、“110”、“101”、“100”、“011”、“010”、“001”或“000”(如图5a所示),其中左侧算起的第1个比特为lsb、从左侧算起的第2个比特为csb以及从左侧算起的第3个比特为msb。此外,排列在同一条字线上的数个存储单元可组成3个物理程序化单元,其中由此些存储单元的lsb所组成的物理程序化单元称为下物理程序化单元,由此些存储单元的csb所组成的物理程序化单元称为中物理程序化单元,并且由此些存储单元的msb所组成的物理程序化单元称为上物理程序化单元。请参照图5b,一个物理抹除单元是由多个物理程序化单元组所组成,其中每个物理程序化单元组包括由排列在同一条字线上的数个存储单元所组成的下物理程序化单元、中物理程序化单元与上物理程序化单元。例如,在物理抹除单元中,属于下物理程序化单元的第0个物理程序化单元、属于中物理程序化单元的第1个物理程序化单元和属于上物理程序化单元的第2个物理程序化单元会被视为一个物理程序化单元组。类似地,第3、4、5个物理程序化单元会被视为一个物理程序化单元组,并且以此类推其他物理程序化单元也是依据此方式被区分为多个物理程序化单元组。也就是说,在图5b的范例实施例中,物理抹除单元总共有258个物理程序化单元,且由于排列在同一条字线上的数个存储单元所组成的下物理程序化单元、中物理程序化单元与上物理程序化单元会组成一个物理程序化单元组,故图5b的物理抹除单元总共可以分成86个物理程序化单元组。然而需注意的是,本发明并不用于限定物理抹除单元中的物理程序化单元或物理程序化单元组的个数。图6是根据一范例实施例所示出的存储器控制电路单元的概要方块图。请参照图6,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512。存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502或任何包含于存储器控制电路单元404中的电路元件的操作时,等同于说明存储器控制电路单元404的操作。在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。图7与图8是根据一范例实施例所示出的管理物理抹除单元的范例示意图。必须了解的是,在此描述可复写式非易失性存储器模块406的物理抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作物理抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的物理抹除单元的实际位置并未更改,而是逻辑上对可复写式非易失性存储器模块的物理抹除单元进行操作。请参照图7,存储器控制电路单元404(或存储器管理电路502)会将物理抹除单元410(0)~410(n)逻辑地分组为数据区602、闲置区604、系统区606与取代区608。每个区域分别具有对应的存储容量。逻辑上属于数据区602与闲置区604的物理抹除单元是用以存储来自于主机系统11的数据。具体来说,数据区602的物理抹除单元是被视为已存储数据的物理抹除单元,而闲置区604的物理抹除单元是用以替换数据区602的物理抹除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器控制电路单元404(或存储器管理电路502)会使用从闲置区604中提取物理抹除单元来写入数据,以替换数据区602的物理抹除单元。逻辑上属于系统区606的物理抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的物理抹除单元数、每一物理抹除单元的物理程序化单元数等。逻辑上属于取代区608中的物理抹除单元是用于坏物理抹除单元取代程序,以取代损坏的物理抹除单元。具体来说,倘若取代区608中仍存有正常的物理抹除单元并且数据区602的物理抹除单元损坏时,存储器控制电路单元404(或存储器管理电路502)会从取代区608中提取正常的物理抹除单元来更换损坏的物理抹除单元。特别是,数据区602、闲置区604、系统区606与取代区608的物理抹除单元的数量会根据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置10的运作中,物理抹除单元关联至数据区602、闲置区604、系统区606与取代区608的分组关系会动态地变动。例如,当闲置区604中的物理抹除单元损坏而被取代区608的物理抹除单元取代时,则原本取代区608的物理抹除单元会被关联至闲置区604。请参照图8,存储器控制电路单元404(或存储器管理电路502)会配置逻辑区块地址lba(0)~lba(h)以映射数据区602的物理抹除单元,其中每一逻辑区块地址具有多个逻辑地址以映射对应的物理抹除单元的物理程序化单元。并且,当主机系统11欲写入数据至逻辑地址或更新存储于逻辑地址中的数据时,存储器控制电路单元404(或存储器管理电路502)会从闲置区604中提取一个物理抹除单元作为作动物理抹除单元来写入数据,以轮替数据区602的物理抹除单元。并且,当此作为作动物理抹除单元的物理抹除单元被写满时,存储器管理电路502会再从闲置区604中提取空的物理抹除单元作为作动物理抹除单元,以继续写入对应来自于主机系统1000的写入指令的更新数据。此外,当闲置区604中可用的物理抹除单元的数目小于预设值时,存储器管理电路502会执行垃圾搜集(garbagecollection)操作(也称为,有效数据合并操作)来整理数据区602中的有效数据,以将数据区602中无存储有效数据的物理抹除单元重新关联至闲置区604。为了识别每个逻辑地址的数据被存储在哪个物理程序化单元,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会记录逻辑地址与物理程序化单元之间的映射关系。例如,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会在可复写式非易失性存储器模块406中存储逻辑-物理映射表来记录每一逻辑地址所映射的物理程序化单元。当欲存取数据时存储器控制电路单元404(或存储器管理电路502)会将逻辑-物理映射表载入至缓冲存储器508来维护,并且依据逻辑-物理映射表来写入或读取数据。值得一提的是,由于缓冲存储器508的容量有限无法存储记录所有逻辑地址的映射关系的映射表,因此,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会将逻辑区块地址lba(0)~lba(h)分组为多个逻辑区域lz(0)~lz(m),并且为每一逻辑区域配置一个逻辑-物理映射表。特别是,当存储器控制电路单元404(或存储器管理电路502)欲更新某个逻辑区块地址的映射时,对应此逻辑区块地址所属的逻辑区域的逻辑-物理映射表会被载入至缓冲存储器508来被更新。具体来说,若对应此逻辑区块地址所属的逻辑区域的逻辑-物理映射表未被暂存在缓冲存储器508中(即,缓冲存储器508中所暂存的逻辑-物理映射表未记录欲更新的逻辑区块地址的映射时,存储器控制电路单元404(或存储器管理电路502)会执行映射表交换操作(mappingtableswappingoperation)以将目前暂存在缓冲存储器508中逻辑-物理映射表回存至可复写式非易失性存储器模块406,并且将记录有欲更新的逻辑区块地址所映射的逻辑-物理映射表载入至缓冲存储器508中。在本发明另一范例实施例中,存储器管理电路502的控制指令也可以程式码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。此外,在本发明另一范例实施例中,存储器管理电路502的控制指令也可以硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是耦接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块406的物理抹除单元;存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。请再参照图6,主机接口504是耦接至存储器管理电路502并且用以耦接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于sata标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于pata标准、ieee1394标准、pciexpress标准、usb标准、uhs-i接口标准、uhs-ii接口标准、sd标准、ms标准、mmc标准、cf标准、ide标准或其他适合的数据传输标准。存储器接口506是耦接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。缓冲存储器508是耦接至存储器管理电路502并且用以暂存来自于主机系统11的暂存数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路510是耦接至存储器管理电路502并且用以控制存储器存储装置10的电源。错误检查与校正电路512是耦接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。例如,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(errorcheckingandcorrectingcode,ecccode),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。值得一提的是,在本范例实施例中,存储器管理电路502会在不同的状态使用不同的程序化模式来将数据程序化至可复写式非易失性存储器模块406。例如,存储器管理电路502可使用单页程序化模式(也称为,第一程序化模式)或多页程序化模式(也称为,第二程序化模式)来将数据程序化至物理抹除单元。在此,基于单页程序化模式来程序化存储单元的程序化速度会高于基于多页程序化模式来程序化存储单元的程序化速度(即,使用多页程序化模式来程序化数据的所需操作时间大于使用单页程序化模式来程序化数据的所需操作时间),而基于单页程序化模式而被存储的数据的可靠度也往往高于基于多页程序化模式而被存储的数据的可靠度。单页程序化模式例如是单阶存储单元(singlelayermemorycell,slc)程序化模式、下物理程序化(lowerphysicalprogramming)模式、混合程序化(mixtureprogramming)模式及少阶存储单元(lesslayermemorycell)程序化模式的其中之一。更详细来说,在单阶存储单元模式中,一个存储单元只存储一个比特的数据。在下物理程序化模式中,只有下物理程序化单元会被程序化,而此下物理程序化单元所对应的上物理程序化单元可不被程序化。在混合程序化模式中,有效数据(或,真实数据)会被程序化于下物理程序化单元中,而同时虚拟数据(dummydata)会被程序化至存储有效数据的下物理程序化单元所对应的上物理程序化单元中。在少阶存储单元模式中,一个存储单元存储第一数目的比特的数据,例如,此第一数目可设为“1”。多页程序化模式例如是多阶存储单元(mlc)程序化模式、三阶(tlc)存储单元程序化模式或类似模式。在多页程序化模式中,一个存储单元存储有一第二数目的比特的数据,其中此第二数目等于或大于“2”。例如,此第二数目可设为2或3。在另一范例实施例中,上述单页程序化模式中的第一数目与多页程序化模式中的第二数目皆可以是其他数目,只要满足第二数目大于第一数目即可。换句话说,构成第一类物理抹除单元的每一个存储单元在使用单页程序化模式程序化后所存储的比特数据的数目(也即第一数目)会小于构成第二类物理抹除单元的每一个存储单元在使用多页程序化模式程序化后所存储的比特数据的数目(也即第二数目)。基于上述,使用多页程序化模式程序化的存储单元所存储的数据比特数大于使用单页程序化模式程序化的存储单元所存储的数据比特数,因此,使用多页程序化模式所程序化的物理抹除单元的数据容量会大于使用单页程序化模式。需先说明的是,以下说明存储器控制电路单元404的操作时,可视为说明存储器管理电路502的操作。图9是根据一范例实施例所示出的管理物理抹除单元的范例示意图。当可复写式非易失性存储器模块406在刚出厂时,为了增加使用的效率,会设定可以使用单页程序化模式来对可复写式非易失性存储器模块406中的存储单元来程序化。请参照图9,存储器控制电路单元404会将物理抹除单元910(0)~910(n)逻辑地分组为静态区902(也称为,第二区)与动态区904(也称为,第一区),并且静态区902与动态区904分别具有对应的存储容量。逻辑上属于静态区902与动态区904的物理抹除单元是用以存储来自于主机系统11的数据。其中静态区902包括单阶存储单元,而动态区904包括多阶存储单元、三阶存储单元或其他可存储2个以上比特数的存储单元。换言之,动态区904的存储单元的存储比特数大于所述静态区902的存储单元的存储比特数。具体来说,存储器控制电路单元404使用单页程序化模式将数据程序化至静态区902的物理抹除单元,而存储器控制电路单元404则可以使用单页程序化模式或多页程序化模式来将数据程序化至动态区904的物理抹除单元。一般来说,每个可复写式非易失性存储器模块406的写入放大因子(writeamplificationfactor,waf)的最佳化值是在出厂前,由可复写式非易失性存储器模块406的开发厂商对可复写式非易失性存储器模块406执行联合电子装置工程委员会(jointelectrondeviceengineeringcouncil,jedec)所规范的测试操作后所获得。并且,写入放大因子的最佳化值会因为静态区902与动态区904包括的物理抹除单元的数量不同而有所改变。举例来说,可复写式非易失性存储器模块406的写入放大因子的最佳化值例如可依据nand型快闪存储器模块划分的不同区域中物理抹除单元的物理抹除单元数量、预设抹除次数上限以及复制回因子计算获得。更详细来说,写入放大因子为用以反应实际写入nand型快闪存储器模块的数据量与主机要求写入的数据量关系的参数,在本范例实施例中,写入放大因子的最佳化值例如可以经由下述公式(1)计算出:“waf”为写入放大因子的最佳化值。“area1blk”为第一划分区的物理抹除单元数量。“area1pe”为第一划分区的预设抹除次数上限。“area1factor”为复制回(copyback)操作影响的物理抹除单元数量,例如qlc为5,tlc为4。“area2blk”为第二划分区的物理抹除单元数量。“area2pe”为第二划分区的预设抹除次数上限。“impactfactor”为使用环境影响参数,其最小值为area1factor,例如qlc为5,tlc为4,而最大值会因使用环境或产品的不同而调整,例如应用在企业/消费者产品或测试程序等情况而有所不同。以单阶存储单元(slc)与四阶存储单元(qlc)配合为例,写入放大因子的最佳化值例如可以经由下述公式(2)计算出:“waf”为写入放大因子的最佳化值。“qlcblk”为动态区904的物理抹除单元数量。“qlcpe”为动态区904的预设抹除次数上限。“qlcfactor”为复制回操作影响的物理抹除单元数量,例如qlc为5。“slcblk”为静态区902的物理抹除单元数量。“slcpe”为动态区904的预设抹除次数上限。“impactfactor”为使用环境影响参数,其最小值为qlcfactor,而最大值会因使用环境或产品的不同而调整,因此在此例中,“impactfactor”例如是5~n。在本范例实施例中,存储器控制电路单元404在从主机系统11接收写入指令后,会周期性地计算动态区904当前的写入放大因子,并根据所计算出的写入放大因子动态地判断存储器控制电路单元404将对应写入指令的数据写入至动态区904或静态区902中。其中,可复写式非易失性存储器模块406当前的写入放大因子可依据主机系统11写入的数据量及写入动态区904的数据量计算而得。主机系统11写入的数据量及写入动态区904的数据量可记录在记体存储装置10中。具体而言,存储器控制电路单元404可依据写入指令程序化物理抹除单元。在本范例实施例中,存储器控制电路单元404在每程序化一个物理抹除单元后计算动态区904当前的写入放大因子。一般来说,存储器控制电路单元404程序化动态区904会增加写入放大因子,而程序化静态区902会降低写入放大因子。详细而言,存储器控制电路单元404判断动态区904当前的写入放大因子是否大于预设阈值。当存储器控制电路单元404判断动态区904当前的写入放大因子不大于(即,小于或等于)预设阈值时,将后续写入指令对应的数据写入至动态区904中。相反地,当存储器控制电路单元404判断动态区904当前的写入放大因子大于预设阈值时,将后续写入指令对应的数据写入至静态区902中。在本范例实施例中,预设阈值例如是前述写入放大因子的最佳化值。在其他实施例中,预设阈值也可以设置为其他数值,本发明不在此限制。在本实施例中,若存储器控制电路单元404判断将数据写入至动态区904中,则存储器控制电路单元404会使用单页程序化模式及多页程序化模式对动态区904中的存储单元进行程序化。更详细来说,存储器控制电路单元404会使用单页程序化模式对动态区904中的存储单元进行程序化。之后,存储在动态区904的数据会被以复制回(copyback)操作使用多页程序化模式将写入动态区904的多个物理抹除单元的数据复制至动态区904的物理抹除单元其中之一中。复制回操作为在物理抹除单元之间搬移数据的操作。举例而言,存储器控制电路单元404例如可以复制回操作,将动态区904中四个使用单页程序化模式程序化的物理抹除单元的数据,使用多页程序化模式复制至动态区904中的一个物理抹除单元中。须注意的是,所属
技术领域
:技术人员应当知晓如何执行复制回操作,故在此便不赘述。此外,在另一实施例中,若存储器控制电路单元404判断将数据写入至静态区902中,则。存储器控制电路单元404会在写入数据后将所写入的数据复制至动态区904中。其中,存储器控制电路单元404在将数据写入至静态区902中时,会使用单页程序化模式对静态区902中的存储单元进行程序化。更详细来说,存储器控制电路单元404会使用单页程序化模式对静态区902中的存储单元进行程序化。之后,存储在静态区902的数据会被以复制回操作使用多页程序化模式将写入静态区902的多个物理抹除单元的数据复制至动态区904的物理抹除单元其中之一中。举例而言,存储器控制电路单元404例如可以复制回操作,将静态区902中四个使用单页程序化模式程序化的物理抹除单元的数据,使用多页程序化模式复制至动态区904中的一个物理抹除单元中。须注意的是,所属
技术领域
:技术人员应当知晓如何执行复制回操作,故在此便不赘述。在另一范例实施例中,存储器控制电路单元404可在存储器存储装置10生命周期后期的时候才开始利用写入放大因子判断数据的写入区域,因此存储器控制电路单元404利用可复写式非易失性存储器模块406当前的生命周期参数来决定是否开始利用写入放大因子判断数据的写入区域。在本实施例中,生命周期参数可以是写入兆字节(terabyteswritten,tbw)、抹除次数(program/erasecount,p/ecount)及(biterrorrate)其中之一或其组合,本发明不在此限制。具体而言,存储器控制电路单元404根据可复写式非易失性存储器模块406的生命周期参数判断执行一般写入模式(也称为,第一写入模式)或特殊写入模式(也称为,第二写入模式)。例如,存储器控制电路单元404从主机系统接收写入指令后,会判断生命周期参数是否大于预设周期阈值。若存储器控制电路单元404判断生命周期参数不大于预设周期阈值,代表存储器存储装置10尚在其生命周期前期。因此存储器控制电路单元404执行一般写入模式,也即,直接将数据写入至动态区904中。相反地,若存储器控制电路单元404判断生命周期参数大于预设周期阈值,代表存储器存储装置10已进入其生命周期后期。因此存储器控制电路单元404执行特殊写入模式,也即,根据动态区904的写入放大因子判断先将数据写入至动态区904或静态区902中。须注意的是,特殊写入模式的具体说明如前所述,故在此便不赘述。需说明的是,预设周期阈值可在出厂时预先设置。以写入兆字节为例,写入兆字节对应的预设周期阈值例如是40t(terabyte),本发明不在此限制。在另一范例实施例中,本发明在存储器存储装置10与主机系统11连接时,可提供存储器存储装置10的可用存储器空间大小供使用者检视。具体而言,存储器控制电路单元404出厂时具有实际的总空间大小。然而,前述范例实施例中说明若将数据写入至静态区902中,则在写入数据后将所写入的数据复制至动态区904。换言之,静态区902实际上仅用于暂存数据。因此在本范例实施例中,在计算可复写式非易失性存储器模块406的空间大小时,所述空间大小不包括静态区902对应的存储容量。图10是根据一范例实施例所示出的数据写入方法的流程图。在步骤s1002,从主机系统接收写入指令。在步骤s1004,根据第一区域的写入放大因子判断将对应写入指令的数据写入至第一区域或第二区域中,其中若判断将数据写入至第二区域中,则在写入数据后将所写入的数据复制至第一区域中。图11是根据一范例实施例所示出的数据写入方法的流程图。在步骤s1102,从主机系统接收写入指令。在步骤s1104,判断生命周期参数是否大于预设周期阈值。如果判断生命周期参数不大于预设周期阈值(步骤s1104,判断为否),则在步骤s1106将数据写入至第一区域。如果判断生命周期参数大于预设周期阈值(步骤s1104,判断为是),则在步骤s1108判断写入放大因子是否大于预设阈值。如果判断写入放大因子不大于预设阈值(步骤s1108,判断为否),则在步骤s1110将数据写入至第一区域。如果判断写入放大因子大于预设阈值(步骤s1108,判断为是),则在步骤s1112将数据写入至第二区域。值得注意的是,图10及图11中各步骤可以实作为多个程式码或电路,本发明不加以限制。此外,图10及图11的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。综上所述,本发明实施例的数据写入方法、存储器控制电路单元以及存储器存储装置可以计算动态区当前的写入放大因子,并根据所计算出的写入放大因子动态地决定将数据写入动态区或静态区。本发明实施例通过调整数据写入动态区或静态区的比例影响写入放大因子的数值。藉此,可控制动态区及静态区的寿命来避免静态区先达到寿命终点,而达成两个区域同时达到寿命终点的效果,并可使存储器存储装置的寿命达到最大及最佳化。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1