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

文档序号:15739321发布日期:2018-10-23 22:01阅读:196来源:国知局
本发明涉及一种用于可复写式非易失性存储器模块的数据写入方法、存储器控制电路单元与存储器存储装置。
背景技术
::数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记型电脑。固态硬盘就是一种以快闪存储器模块作为存储媒体的存储器存储装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。在反及(NAND)型快闪存储器模块中,实体程序化单元是由排列在同一条字元线上的数个存储单元所组成。依据每个存储单元可存储的位元数,NAND型快闪存储器模块可区分为单阶存储单元(SingleLevelCell,SLC)NAND型快闪存储器模块、多阶存储单元(MultiLevelCell,MLC)NAND型快闪存储器模块与三阶存储单元(TrinaryLevelCell,TLC)NAND型快闪存储器模块,其中SLCNAND型快闪存储器模块的每个存储单元可存储1个位元的数据(即,“1”与“0”),MLCNAND型快闪存储器模块的每个存储单元可存储2个位元的数据并且TLCNAND型快闪存储器模块的每个存储单元可存储3个位元的数据。由于SLCNAND型快闪存储器模块的每个存储单元可存储1个位元的数据,因此,在SLCNAND型快闪存储器模块中,排列在同一条字元线上的数个存储单元是对应一个实体程序化单元。相对于SLCNAND型快闪存储器模块来说,MLCNAND型快闪存储器模块的每个存储单元的浮动闸存储层可存储2个位元的数据,其中每一个存储状态(即,“11”、“10”、“01”与“00”)包括最低有效位元(LeastSignificantBit,LSB)以及最高有效位元(MostSignificantBit,MSB)。例如,存储状态中从左侧算起的第1个位元的值为LSB,而从左侧算起的第2个位元的值为MSB。因此,排列在同一条字元线上的数个存储单元可组成2个实体程序化单元,其中由此些存储单元的LSB所组成的实体程序化单元称为下实体程序化单元(lowphysicalprogrammingunit),并且由此些存储单元的MSB所组成的实体程序化单元称为上实体程序化单元(upperphysicalprogrammingunit)。特别是,当程序化上实体程序化单元发生错误时,下实体程序化单元所存储的数据也可能因此遗失。类似地,在TLCNAND型快闪存储器模块中的每个存储单元可存储3个位元的数据,其中每一个存储状态(即,“111”、“110”、“101”、“100”、“011”、“010”、“001”与“000”)包括左侧算起的第1个位元的LSB、从左侧算起的第2个位元的中间有效位元(CenterSignificantBit,CSB)以及从左侧算起的第3个位元的MSB。因此,排列在同一条字元线上的数个存储单元可组成3个实体程序化单元,其中由此些存储单元的LSB所组成的实体程序化单元称为下实体程序化单元,由此些存储单元的CSB所组成的实体程序化单元称为中实体程序化单元,并且由此些存储单元的MSB所组成的实体程序化单元称为上实体程序化单元。特别是,在TLCNAND型快闪存储器模块中,若要确保一条字元线上的数据可稳定的被存储,必须对此字元线完成三次程序化。例如,对第一条字元线上的存储单元进行第一次的程序化后,第一条字元线上的存储单元会处于第一状态(firststate)。而在对第二条字元线上的存储单元进行程序化的同时第一条字元线上的存储单元会再次被程序化。此时,第一条字元线上的存储单元会处于模糊状态(foggystate)。然后,在对第三条字元线上的存储单元进行程序化的同时第一、第二条字元线上的存储单元会再次被程序化,此时,第一条字元线上的存储单元会处于良好状态(finestate)。再者,在对第四条字元线上的存储单元进行程序化的同时第二、第三条字元线上的存储单元会再次被程序化。此时,第二条字元线上的存储单元会处于良好状态,由此第一条字元线上的存储单元中的数据才能被确保是稳定的存储。随着每个存储单元可存储的位元增加,同时也使得识别每个存储单元的存储状态的时间也随之增加。因此,如何有效地提升执行读取指令的效率,缩短读取数据的时间,是此领域技术人员所关注的课题。技术实现要素:本发明提供一种数据写入方法、存储器控制电路单元与存储器存储装置,其有效地提高可复写式非易失性存储器模块的读取效能。本发明的一范例实施例提出一种用于可复写式非易失性存储器模块的数据写入方法,其中可复写式非易失性存储器模块具有多数个实体抹除单元,实体抹除单元之中的每一个实体抹除单元具有多数个实体程序化单元,此些实体程序化单元至少被区分为第一实体程序化单元与第二实体程序化单元,并且从第一实体程序化单元中读取数据的时间短于从第二实体程序化单元中读取数据的时间。本数据写入方法包括:记录对应多笔数据的多数个特征参数;根据此些特征参数,识别上述多笔数据之中的第一数据为常读取数据;以及将第一数据程序化至上述多数个实体抹除单元之中的第一实体抹除单元的第一实体程序化单元。在本发明的一范例实施例中,上述数据写入方法还包括根据上述特征参数,整理上述多笔数据,以产生对应上述多笔数据的写入顺序;以及依据此写入顺序,将上述多笔数据程序化至第一实体抹除单元中。在本发明的一范例实施例中,上述数据写入方法还包括配置多数个逻辑地址以映射至少部分的所述多数个实体程序化单元,其中所述多笔数据分别地被存储至所述多数个逻辑地址的其中一个逻辑地址。并且,上述记录对应此些数据的特征参数的步骤包括:建立读取计数表,并且在读取计数表中记录每一个逻辑地址的读取次数;以及将存储此些数据的逻辑地址的读取次数分别地作为对应此些数据的特征参数。在本发明的一范例实施例中,上述根据特征参数,整理上述数据,以产生对应此些数据的写入顺序的步骤包括:从读取计数表中获取存储此些数据的逻辑地址的读取次数;以及根据存储此些数据的逻辑地址的读取次数,排列存储此些数据的逻辑地址以产生上述写入顺序。在本发明的一范例实施例中,上述数据写入方法还包括:将第二数据程序化至第一实体抹除单元的第二实体程序单元中,其中存储第一数据的逻辑地址的读取次数大于存储第二数据的逻辑地址的读取次数。在本发明的一范例实施例中,上述依据写入顺序,将上述第一数据程序化至第一实体抹除单元的第一实体程序化单元中的步骤包括:使用单层存储单元模式,将第一数据程序化至第一实体抹除单元中;以及将上述第二数据程序化至第一实体抹除单元的第二实体程序化单元中的步骤包括:使用多层存储单元模式,将第二数据程序化至第一实体抹除单元中。在本发明的一范例实施例中,上述数据写入方法还包括:从上述实体抹除单元之中选取至少两个实体抹除单元来执行有效数据收集操作;以及从此至少两个实体抹除单元中读取上述数据。在本发明的一范例实施例中,上述数据写入方法还包括:从主机系统中接收多笔写入指令,其中此些写入指令分别指示存储上述数据至上述逻辑地址的其中之一。在本发明的一范例实施例中,上述对应数据的特征参数为对应数据的读取次数、对应数据的读取频率或对应数据的读取时间间隔。本发明的一范例实施例提出存储器控制电路单元,其包括主机接口、存储器接口与存储器管理电路。主机接口用以连接至主机系统。存储器接口用以连接至可复写式非易失性存储器模块,其中可复写式非易失性存储器模块具有多数个实体抹除单元,实体抹除单元之中的每一个实体抹除单元具有多数个实体程序化单元,此些实体程序化单元至少被区分为第一实体程序化单元与第二实体程序化单元,并且从第一实体程序化单元中读取数据的时间短于从第二实体程序化单元中读取数据的时间。存储器管理电路连接至该主机接口与该存储器接口,并且用以记录对应多笔数据的多数个特征参数,并且根据此些特征参数,识别上述多笔数据之中的第一数据为常读取数据。此外,上述存储器管理电路还用以下达指令序列以将第一数据程序化至上述多数个实体抹除单元之中的第一实体抹除单元的第一实体程序化单元。在本发明的一范例实施例中,上述存储器管理电路还用以根据上述特征参数,整理上述多笔数据,以产生对应上述多笔数据的写入顺序,并且依据此写入顺序,将上述多笔数据程序化至第一实体抹除单元中。在本发明的一范例实施例中,上述存储器管理电路还用以配置多数个逻辑地址以映射至少部分的所述多数个实体程序化单元,其中所述多笔数据分别地被存储至所述多数个逻辑地址的其中一个逻辑地址。并且,在记录对应此些数据的特征参数的运作中,上述存储器管理电路建立读取计数表,在读取计数表中记录每一个逻辑地址的读取次数并且将存储此些数据的逻辑地址的读取次数分别地作为对应此些数据的特征参数。在本发明的一范例实施例中,在根据特征参数,整理上述数据,以产生对应此些数据的写入顺序的运作中,上述存储器管理电路从读取计数表中获取存储此些数据的逻辑地址的读取次数,并根据存储此些数据的逻辑地址的读取次数,排列存储此些数据的逻辑地址以产生上述写入顺序。在本发明的一范例实施例中,上述存储器管理电路还用以将第二数据程序化至第一实体抹除单元的第二实体程序单元中,其中存储第一数据的逻辑地址的读取次数大于存储第二数据的逻辑地址的读取次数。在本发明的一范例实施例中,上述存储器管理电路是使用单层存储单元模式,将第一数据程序化至第一实体抹除单元中,以及使用多层存储单元模式,将上述第二数据程序化至第一实体抹除单元中。在本发明的一范例实施例中,上述存储器管理电路还用以从上述实体抹除单元之中选取至少两个实体抹除单元来执行有效数据收集操作并且从此至少两个实体抹除单元中读取上述数据。在本发明的一范例实施例中,上述存储器管理电路还用以从主机系统中接收多笔写入指令,其中此些写入指令分别指示存储上述数据至上述逻辑地址的其中之一。本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元用以连接至主机系统。可复写式非易失性存储器模块具有多数个实体抹除单元,实体抹除单元之中的每一个实体抹除单元具有多数个实体程序化单元,此些实体程序化单元至少被区分为第一实体程序化单元与第二实体程序化单元,并且从第一实体程序化单元中读取数据的时间短于从第二实体程序化单元中读取数据的时间。存储器控制电路单元连接至连接接口单元与可复写式非易失性存储器模块,并且用以记录对应多笔数据的多数个特征参数,并且根据此些特征参数,识别上述多笔数据之中的第一数据为常读取数据。此外,上述存储器管理电路还用以将第一数据程序化至上述多数个实体抹除单元之中的第一实体抹除单元的第一实体程序化单元。在本发明的一范例实施例中,上述存储器控制电路单元还用以根据上述特征参数,整理上述多笔数据,以产生对应上述多笔数据的写入顺序,并且依据此写入顺序,将上述多笔数据程序化至第一实体抹除单元中。在本发明的一范例实施例中,上述存储器控制电路单元还用以配置多数个逻辑地址以映射至少部分的所述多数个实体程序化单元,其中所述多笔数据分别地被存储至所述多数个逻辑地址的其中一个逻辑地址。并且,在记录对应此些数据的特征参数的运作中,上述存储器控制电路单元建立读取计数表,在读取计数表中记录每一个逻辑地址的读取次数并且将存储此些数据的逻辑地址的读取次数分别地作为对应此些数据的特征参数。在本发明的一范例实施例中,在根据特征参数,整理上述数据,以产生对应此些数据的写入顺序的运作中,上述存储器控制电路单元从读取计数表中获取存储此些数据的逻辑地址的读取次数,并根据存储此些数据的逻辑地址的读取次数,排列存储此些数据的逻辑地址以产生上述写入顺序。在本发明的一范例实施例中,上述存储器控制电路单元还用以将第二数据程序化至第一实体抹除单元的第二实体程序单元中,其中存储第一数据的逻辑地址的读取次数大于存储第二数据的逻辑地址的读取次数。在本发明的一范例实施例中,上述存储器控制电路单元是使用单层存储单元模式,将第一数据程序化至第一实体抹除单元中,以及使用多层存储单元模式,将上述第二数据程序化至第一实体抹除单元中。在本发明的一范例实施例中,上述存储器控制电路单元还用以从上述实体抹除单元之中选取至少两个实体抹除单元来执行有效数据收集操作并且从此至少两个实体抹除单元中读取上述数据。在本发明的一范例实施例中,上述存储器控制电路单元还用以从主机系统中接收多笔写入指令,其中此些写入指令分别指示存储上述数据至上述逻辑地址的其中之一。基于上述,本范例实施例的数据写入方法、存储器控制电路单元与存储器存储装置是在执行写入操作时,根据数据的特征,整理写入数据的顺序,以将常读取的数据程序化至读取速度较快的实体程序化单元中,由此有效地提高读取效能。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1是根据一范例实施例所显示的主机系统与存储器存储装置;图2是根据一范例实施例所显示的电脑、输入/输出装置与存储器存储装置的示意图;图3是根据一范例实施例所显示的主机系统与存储器存储装置的示意图;图4是根据一范例实施例所显示的存储器存储装置的概要方块图;图5A与图5B是根据一范例实施例所显示的存储单元存储架构与实体抹除单元的示意图;图6是根据一范例实施例所显示的存储器控制电路单元的概要方块图;图7与图8是根据第一范例实施例所显示的管理实体区块的范例示意图;图9是根据本发明一范例实施例所显示的读取计数表的范例;图10是根据本发明一范例实施例所显示的执行写入指令的范例;图11是根据本发明一范例实施例显示的有效数据收集操作的范例;图12是根据本发明一范例实施例所显示的数据写入方法的流程图。附图标记说明:10:存储器存储装置11:主机系统12:输入/输出(I/O)装置110:系统总线111:处理器112:随机存取存储器(RAM)113:只读存储器(ROM)114:数据传输接口20:主机板201:随身盘202:记忆卡203:固态硬盘204:无线存储器存储装置205:全球定位系统模块206:网络接口卡207:无线传输装置208:键盘209:荧幕210:喇叭30:存储器存储装置31:主机系统32:SD卡33:CF卡34:嵌入式存储装置341:嵌入式多媒体卡342:嵌入式多芯片封装存储装置402:连接接口单元404:存储器控制电路单元406:可复写式非易失性存储器模块410(0)~410(N):实体抹除单元502:存储器管理电路504:主机接口506:存储器接口508:缓冲存储器510:电源管理电路512:错误检查与校正电路602:数据区604:闲置区606:系统区608:取代区LBA(0)~LBA(H):逻辑区块地址LZ(0)~LZ(M):逻辑区域D0~D5:数据900:读取计数表901:逻辑地址栏位902:读取次数栏位S1201:记录对应此些数据的特征参数的步骤S1203:依据对应此些数据的特征参数,识别此些数据之中的常读数据的步骤S1205:将识别为常读取的数据程序化至下实体程序化单元中的步骤具体实施方式一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。图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)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(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为三阶存储单元(TrinaryLevelCell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个数据位元的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406也可是多阶存储单元(MultiLevelCell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个数据位元的快闪存储器模块)或其他具有相同特性的存储器模块。图5A与图5B是根据本范例实施例所显示的存储单元存储架构与实体抹除单元的范例示意图。请参照图5A,可复写式非易失性存储器模块406的每个存储单元的存储状态可被识别为“111”、“110”、“101”、“100”、“011”、“010”、“001”或“000”(如图5A所示),其中左侧算起的第1个位元为LSB、从左侧算起的第2个位元为CSB以及从左侧算起的第3个位元为MSB。此外,排列在同一条字元线上的数个存储单元可组成3个实体程序化单元,其中由此些存储单元的LSB所组成的实体程序化单元称为第一实体程序化单元(以下也称为下实体程序化单元),由此些存储单元的MSB所组成的实体程序化单元称为第二实体程序化单元(以下也称为上实体程序化单元),并且由此些存储单元的CSB所组成的实体程序化单元称为第三实体程序化单元(以下也称为中实体程序化单元)。请参照图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的控制指令是以韧件型式来实作。例如,存储器管理电路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的实体抹除单元。并且,当此作为作动实体抹除单元的实体抹除单元被写满时,存储器控制电路单元404(或存储器管理电路502)会再从闲置区604中提取空的实体抹除单元作为作动实体抹除单元,以继续写入对应来自于主机系统11的写入指令的更新数据。此外,当闲置区604中可用的实体抹除单元的数目小于预设值时,存储器控制电路单元404(或存储器管理电路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、主机接口504、存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512所执行的操作,也可参考为由存储器控制电路单元404所执行。在本范例实施例中,在执行来自于主机系统11的写入指令时,存储器管理电路502会根据对应欲写入的数据的特征参数,识别出常读取的数据(以下也称为常读数据),并且将常读数据程序化至下实体程序化单元中。在此,常读数据是指依据特征参数而反映出比其他数据(以下也称为非常读数据)更频繁被读取的数据。例如,存储器管理电路502会根据对应欲写入的数据的特征参数,来整理数据并产生对应此些数据的写入顺序,之后,再根据此写入顺序下达指令序列来将所整理的数据程序化至可复写式非易失性存储器模块406中。例如,在本范例实施例中,存储器管理电路502会建立读取计数表以记录每个逻辑地址的读取次数,并且以存储数据的逻辑地址的读取次数作为此数据的特征参数。也就是说,存储器管理电路502会根据存储此些数据的每个逻辑地址的读取次数,整理欲存储的数据以产生对应的写入顺序,并且根据此写入顺序将数据程序化至可复写式非易失性存储器模块406中。图9是根据本发明一范例实施例所显示的读取计数表的范例。请参照图9,读取计数表900包括逻辑地址栏位901与读取次数栏位902。逻辑地址栏位901记录每个逻辑地址的编号,并且读取次数栏位902记录对应逻辑地址的读取次数。例如,每当主机系统11对逻辑地址下达读取指令时,对应此逻辑地址的读取次数加1。在本范例实施例中,在存储器存储装置10上电后,存储器管理电路502会从可复写式非易失性存储器模块406中载入读取计数表900且依据主机系统11下达的读取指令更新读取计数表900;并且在存储器存储装置10断电前,存储器管理电路502会将读取计数表900回存至可复写式非易失性存储器模块406中。例如,读取计数表900会被存储在系统区606中。必须了解的是,尽管在本范例实施例中,是以逻辑地址的读取次数作为对应数据的特征参数,然而本发明不限于此,在另一范例实施例中,也可以逻辑地址的读取频率、读取时间间隔作为对应数据的特征参数。在本范例实施例中,当存储器存储装置10从主机系统11接收到写入指令与欲存储的数据时,存储器管理电路502会将此些数据暂存至缓冲存储器508。然后,存储器存储装置10会根据写入指令所指示的逻辑地址,从读取计数表900获取对应的读取次数,并且依据所获取的读取次数来排列欲存储的数据。特别是,根据此排列顺序,存储至读取次数较高的逻辑地址的数据会被程序化至下实体程序化单元中,由此在执行读取指令时,可大幅提升从常被读取的逻辑地址上读取数据的速度,并且缩短执行读取指令的时间。图10是根据本发明一范例实施例所显示的执行写入指令的范例。请参照图10,假设记体存储装置10从主机系统11中接收到一或多个写入指令且此写入指令指示依序地将数据D0存储至逻辑地址LA0、将数据D1存储至逻辑地址LA1、将数据D2存储至逻辑地址LA2、将数据D3存储至逻辑地址LA3、将数据D4存储至逻辑地址LA4且将数据D5存储至逻辑地址LA5。在此范例中,存储器管理电路502会先将数据D0~D5暂存在缓冲存储器508中,并且根据写入指令从读取计数表900中获取逻辑地址LA0~LA5的读取次数。如图9所示,逻辑地址LA0的读取次数为0,逻辑地址LA1的读取次数为5,逻辑地址LA2的读取次数为300,逻辑地址LA3的读取次数为10,逻辑地址LA4的读取次数为20并且逻辑地址LA5的读取次数为10。基此,存储器管理电路502会将原收到写入指令的顺序(即,逻辑地址LA0、逻辑地址LA1、逻辑地址LA2、逻辑地址LA3、逻辑地址LA4、逻辑地址LA5)调整为新的写入顺序(即,逻辑地址LA2、逻辑地址LA3、逻辑地址LA0、逻辑地址LA4、逻辑地址LA5、逻辑地址LA1)。然后,存储器管理电路502会从闲置区604中提取一个实体抹除单元(例如,实体抹除单元410(F),以下也可参考为第一实体抹除单元),并且依序地将存储至逻辑地址的数据D2(以下也可参考为第一数据)程序化至实体抹除单元410(F)的第0个实体程序化单元,将存储至逻辑地址的数据D3程序化至实体抹除单元410(F)的第1个实体程序化单元,且将存储至逻辑地址的数据D0(以下也可参考为第二数据)程序化至实体抹除单元410(F)的第2个实体程序化单元。在此,第0~2个实体程序化单元也可参考为第一实体程序化单元组。接着,存储器管理电路502会,将存储至逻辑地址的数据D4程序化至实体抹除单元410(F)的第3个实体程序化单元,将存储至逻辑地址的数据D5程序化至实体抹除单元410(F)的第4个实体程序化单元,以及将存储至逻辑地址的数据D1程序化至实体抹除单元410(F)的第5个实体程序化单元。在此,第3~5个实体程序化单元也可参考为第一实体程序化单元组。也就是说,在此范例中,依照逻辑地址的读取次数,由大到小,存储在具最大读取次数的两个逻辑地址的数据D2与数据D4会被程序化至下实体程序化单元,存储在具次大读取次数的两个逻辑地址的数据D3与数据D5会被程序化至中实体程序化单元并且存储在具较小读取次数的两个逻辑地址的数据D0与数据D1会被程序化至上实体程序化单元。图10的范例是根据将被识别为常读的数据与其他数据一起程序化在同一个实体程序化单元组中,然而,本发明不限于此。在另一范例实施例中,存储器管理电路502也可使用单层存储单元模式(SLCmode)、下实体程序化单元程序化模式(lowerphysicalprogrammingunitprogrammingmode)或混合程序化模式(mixtureprogrammingmode)来将数据D2与数据D4程序化至实体程序化单元组中,并且使用多层存储单元模式来将数据D3、数据D5、数据D0与数据D1程序化至实体程序化单元组中。在此,若是以单层存储单元模式来使用可复写式非易失性存储器模块406,则每一个存储单元只存储一个位元数据。若是以下实体程序化模式来使用可复写式非易失性存储器模块406,则可复写式非易失性存储器模块406中只有属于下实体程序化单元的实体程序化单元会被程序化,而下实体程序化单元所对应的上实体程序化单元可以不被程序化。若是以混合程序化模式来使用可复写式非易失性存储器模块406,则有效数据(或真实数据)会被程序化至属于下实体程序化单元的实体程序化单元中,而不会被程序化至属于上实体程序化单元的实体程序化单元中。此外,若是以混合程序化模式来使用可复写式非易失性存储器模块406,则对应于有效数据(或真实数据)的无效数据(或虚拟数据)会被程序化至属于上实体程序化单元的实体程序化单元中。图10的范例是在执行写入指令时,重新整理欲存储数据的写入顺序,然而,本发明不限于此,在执行有效数据收集操作时,也可以此方式将较常读取的数据程序化至下实体程序化单元中。图11是根据本发明一范例实施例显示的有效数据收集操作的范例。请参照图11,假设实体抹除单元410(0)、实体抹除单元410(1)与实体抹除单元410(2)被选择来进行有效数据收集操作,并且实体抹除单元410(0)存储有属于逻辑地址LA0的有效数据D0与属于逻辑地址LA1的有效数据D1,实体抹除单元410(1)存储有属于逻辑地址LA2的有效数据D2,而实体抹除单元410(2)存储有属于逻辑地址LA5的有效数据D,其中虚线部分表示无效数据。在此范例中,存储器管理电路502会分别地从实体抹除单元410(0)、实体抹除单元410(1)与实体抹除单元410(2)中读取数据D0、D1、D2与D5,将数据D0、D1、D2与D5暂存在缓冲存储器508中,并且依据逻辑-实体映射表从读取计数表900中获取逻辑地址LA0、LA1、LA2与LA5的读取次数。如图9所示,逻辑地址LA0的读取次数为0,逻辑地址LA1的读取次数为5,逻辑地址LA2的读取次数为300,并且逻辑地址LA5的读取次数为10。基此,存储器管理电路502会将原读取数据的顺序(即,逻辑地址LA0、逻辑地址LA1、逻辑地址LA2、逻辑地址LA5)调整为新的写入顺序(即,逻辑地址LA2、逻辑地址LA1、逻辑地址LA0、逻辑地址LA5)。然后,存储器管理电路502会从闲置区604中提取一个实体抹除单元(例如,实体抹除单元410(F+1)),并且依序地将存储至逻辑地址的数据D2程序化至实体抹除单元410(F)的第0个实体程序化单元,将存储至逻辑地址的数据D1程序化至实体抹除单元410(F)的第1个实体程序化单元,将存储至逻辑地址的数据D0程序化至实体抹除单元410(F)的第2个实体程序化单元,以及将存储至逻辑地址的数据D5程序化至实体抹除单元410(F)的第3个实体程序化单元。也就是说,在此范例中,依照逻辑地址的读取次数,由大到小,存储在具最大读取次数的两个逻辑地址的数据D2与数据D5会被程序化至下实体程序化单元,存储在具次大读取次数的逻辑地址的数据D1会被程序化至中实体程序化单元并且存储在具较小读取次数的逻辑地址的数据D0会被程序化至上实体程序化单元。在图10与图11的范例中,通过在程序化数据前,依据对应数据的特征参数(例如,逻辑地址的读取次数)调整写入数据的顺序,将常读取的数据程序化至读取速度较快的下实体程序化单元中,可有效地缩短执行读取指令的时间。必须了解的是,图10与图11所示的范例是在执行写入指令与有效数据收集操作,直接根据逻辑地址的读取次数来依序调整写入顺序,以将常读取的数据程序化至读取速度较快的下实体程序化单元中。然而,在另一范例实施例中,存储器管理电路502也可在逻辑地址的读取次数大于预定门槛值时,才将对应的数据识别为常读取的数据,并调整写入顺序,以将此数据程序化至读取速度较快的下实体程序化单元中。再者,尽管在图10与图11的范例中,存储器管理电路502会依据逻辑地址的读取次数来依序调整写入顺序,然而本发明不限于此,在另一范例实施例中,存储器管理电路502也可仅识别出常读数据,并将此数据程序化至读取速度较快的下实体程序化单元中,至于其他非常读数据则可无需按照逻辑地址的读取次数来进行排序。也就是说,当识别出欲写入的数据是非常读数据时,存储器管理电路502可将此数据程序化至上实体程序化单、中实体程序化单元或下实体程序化单元。例如,倘若识别出常读取的数据且预定程序化的实体程序化单元不是下实体程序化单元时,存储器管理电路502会将被识别为常读取的数据程序化邻近的下一个下实体程序化单元中并且将此预定程序化的实体程序化单元填入虚拟数据(dummydata)。图12是根据本发明一范例实施例所显示的数据写入方法的流程图。请参照图12,当欲程序化多笔数据时,在步骤S1201中,存储器管理电路502会记录对应此些数据的特征参数。如前所述,例如,存储器管理电路502会建立读取计数表900来记录逻辑地址的读取次数,并且以存储此些数据的逻辑地址的读取次数作为对应此些数据的特征参数。在步骤S1203中,依据对应此些数据的特征参数,识别此些数据之中的常读数据,并且在步骤S1205中,存储器管理电路502会将识别为常读取的数据程序化至下实体程序化单元中。综上所述,本发明范例实施例的数据写入方法、存储器控制电路单元与存储器存储装置,会根据数据的特征重新排列写入数据的顺序,以将较常读取的数据程序化至读取速度较快的实体程序化单元中,由此有效地提高读取效能。虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属
技术领域
:中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视后附的申请专利范围所界定的为准。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1