非易失性存储器装置的操作方法与流程

文档序号:17357546发布日期:2019-04-09 21:49阅读:129来源:国知局

技术领域
:本发明是有关于一种操作方法,且特别是有关于一种非易失性存储器装置的操作方法。
背景技术
::一般使用与非快闪(NANDflash)存储器做为数据储存介质的硬盘,例如固态硬盘(solidstatedisk,SSD)、嵌入式快闪存储卡(EmbeddedMultiMediaCard,eMMC)或移动硬盘等,通常包括多个实体块(block),且每一个实体块会包括多个页面(page)。由于一个被写满的实体块在被抹除之前无法重复地再被写入数据,因此当一个主机要更新实体块中的数据时,则会先将新数据写入至另一个未被写满的实体块(暂存区块)。此另一个实体块会储存有效数据,而原先的实体块中储存的待更新的数据(原始数据)则会被无效化并留存于原本的实体块中。因此,当暂存区块的空间已不够用时,这与非快闪存储器便需要对原始数据与新数据进行重整。重整是将一个或是多个实体块上的有效数据搬移或复制至一个备用的实体块,借以让一个被写满有效及无效数据的实体块可以被抹除并于之后用以储存其他数据。所述重整操作为本领域技术人员所熟知,故不再赘述。然而,当这些实体块被重整时,倘若有断电事件发生,则这备用的实体块中可能会有已被写入重整数据却尚未完成重整操作的页面,而这些页面可能因此断电事件而造成数据损毁或错误。因此若实体块被重整时有断电事件发生,则硬盘可能会损失部份的数据。另一方面,一般来说,硬盘(如:固态硬盘、eMMC等)在使用时,需要使用信息表来记录逻辑地址至实体地址的映射关系。而在不断执行主机的众多数据存取指令或者重整指令的过程中,由于逻辑地址与实体地址的对应关系可被对应地改变,因此信息表的内容可被不断地更新。然而,随着固态硬盘所写入的数据增多,信息表所记录的内容也会随着增加。因此,传统固态硬盘需要使用非常大的储存空间来放置此信息表。此外,上述的硬盘可能具有单层存储单元(SingleLevelCell,SLC)NAND型快闪存储器、多层存储单元(MultiLevelCell,MLC)NAND型快闪存储器、三层存储单元(TripleLevelCell,TLC)NAND型快闪存储器或其他型快闪存储器。其中,三层存储单元快闪存储器具有较高的位错误率。技术实现要素:本发明提供一种操作方法,其可有效减少地址映射表(addressmappingtable)的数据量。本发明提出一种非易失性存储器装置的操作方法,非易失性存储器装置的非易失性存储器模块包括至少一实体块。此操作方法包括:将数据写入所述至少一实体块中;判断条件是否成立,其中所述条件包括所述数据的多个逻辑地址为连续且所述数据位在同一个实体块的多个连续页面中;以及当所述条件成立时,将所述数据的起始逻辑地址、所述数据的起始实体地址与所述数据的数据长度分别记录在执行长度映射表(run-lengthmappingtable)中的逻辑地址栏位、实体地址栏位以及长度栏位。基于上述,在将数据写入非易失性存储器模块的实体块时,存储器控制器可通过执行长度映射表,来记录具有连续逻辑地址且位在同一个实体块的多个连续页面中的重整数据,以有效减少地址映射表的数据量。附图说明图1是依照本发明的一实施例所绘示的非易失性存储器装置的方块示意图。图2是依照本发明的一实施例所绘示图1的存储器控制器的方块示意图。图3是依照本发明一实施例所绘示的非易失性存储器装置的操作方法流程示意图。图4与图5A至图5D为说明非易失性存储器装置进行重整的示意图。图6是依照本发明一实施例所绘示的非易失性存储器装置的操作方法流程示意图。图7A是依照本发明一实施例所绘示的第一重整数据的逻辑地址信息与实体地址信息的示意图。图7B是依照本发明一实施例所绘示的执行长度映射表的示意图。图7C是依照本发明一实施例所绘示的页映射表的示意图。图8是依照本发明一实施例所绘示的操作方法流程示意图。具体实施方式为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。图1是依照本发明的一实施例所绘示的非易失性存储器装置的方块示意图。请参照图1,非易失性存储器装置100例如是以快闪存储器(flashmemory)作为储存介质的快闪存储器储存装置,例如固态硬盘(SolidStateDisk,SSD)、嵌入式快闪存储卡(EmbeddedMultiMediaCard,eMMC)或移动硬盘等硬盘。在一些应用情境中,非易失性存储器装置100可做为储存放置各种快取数据(cachedata)的快取空间(cachespace)。在另一些应用情境中,非易失性存储器装置100可做为大容量储存设备(massstoragedevice)。此外,本实施例的非易失性存储器装置100可耦接于主机10,以供主机10存取数据,其中主机10可以是个人计算机、笔记型计算机、平板计算机、智能型手机或是其他计算平台/装置。非易失性存储器装置100可设置于主机10的内部,并与主机10电性连接。或者,非易失性存储器装置100也可以利用外接的方式与主机10电性连接,例如,通过通用序列总线(UniversalSerialBus,USB)等各式总线与主机10电性连接等等,本实施例不对其加以限制。非易失性存储器装置100包括一个存储器控制器110以及一或多个非易失性存储器模块120,其中存储器控制器110耦接于非易失性存储器模块120。本实施例并不限制非易失性存储器模块120的数量。存储器控制器110可以用硬件型式或固件型式实作之。例如,存储器控制器110可能包括多个逻辑门。存储器控制器110可根据主机10所下达的指令在非易失性存储器模块120中进行数据的写入、读取、抹除、重整与/或其他运作。非易失性存储器模块120具有至少一实体块以储存主机10所写入的数据。为了方便说明,在此以非易失性存储器模块120所包括的第一实体块122与第二实体块124为例,但本实施例并不限制实体块的数量。详细而言,第一实体块122具有至少一页面122p。第二实体块124具有至少一页面124p,其中属于同一个实体块的不同页面可被独立地写入,且属于同一个实体块的所有页面可以被同时地抹除。举例而言,每一实体块可由128个页面所组成,但不限于此。在其他实施例中,每一实体块也可由64个页面、256个页面或其他任意个页面所组成。在本实施例中,非易失性存储器模块120例如是单层存储单元(SingleLevelCell,SLC)NAND型快闪存储器、多层存储单元(MultiLevelCell,MLC)NAND型快闪存储器、三层存储单元(TripleLevelCell,TLC)NAND型快闪存储器或其他类型快闪存储器。其中,SLCNAND型快闪存储器的每个存储单元可储存1个位的数据,MLCNAND型快闪存储器的每个存储单元可储存2个位的数据,而TLCNAND型快闪存储器的每个存储单元可储存3个位的数据。图2是依照本发明的一实施例所绘示图1的存储器控制器110的方块示意图。请同时参照图1与图2,存储器控制器110包括微处理单元202、主机接口204、存储器接口206、缓冲存储器208以及错误检查与校正单元210。微处理单元202用以控制存储器控制器110的整体运作。例如,微处理单元202可以控制存储器控制器110以执行本实施例的操作方法(容后详述),来对非易失性存储器装置100中的非易失性存储器模块120进行重整,或者将数据写入非易失性存储器模块120中。此外,存储器控制器110会维护一个或多个逻辑转实体地址(logicaltophysicaladdress)的信息表(或称为地址映射表),以记录数据在主机10的逻辑地址与在非易失性存储器模块120中实体地址的映射关系。借此,当主机10欲存取某一逻辑地址时,微处理单元202便可根据所述信息表取得对应的实体地址,并于非易失性存储器模块120中的所述实体地址上存取数据。主机接口204是耦接于微处理单元202,并且用以接收主机10所传送的指令与数据。也就是说,主机10所传送的指令与数据会通过主机接口204来传送至微处理单元202。在本实施例中,主机接口204例如是相容于序列先进附件(SerialAdvancedTechnologyAttachment,SATA)标准的接口电路。然而,必须了解的是本发明不限于此。例如在其他实施例中,主机接口204亦可以是相容于并列先进附件(ParellelAdvancedTechnologyAttachment,PATA)标准、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394标准、高速周边零件连接接口(PeripheralComponentInterconnectExpress,PCIExpress)标准、通用序列总线(UniversalSerialBus,USB)标准、超高速一代(UltraHighSpeed-I,UHS-I)接口标准、超高速二代(UltraHighSpeed-II,UHS-II)接口标准、安全数字(SecureDigital,SD)接口标准、存储棒(MemoryStick,MS)接口标准、多媒体储存卡(MultiMediaCard,MMC)接口标准、小型快闪(CompactFlash,CF)接口标准、整合式驱动电子接口(IntegratedDeviceElectronics,IDE)标准或其他适合的数据传输标准的接口电路。存储器接口206耦接于微处理单元202并且用以存取非易失性存储器模块120。存储器接口206可以将数据信号转换为非易失性存储器模块120所能接受的格式。也就是说,微处理单元202可以将欲写入至非易失性存储器模块120的数据经由存储器接口206储存至非易失性存储器模块120中。缓冲存储器208耦接于微处理单元202并且用以暂存来自于主机10的数据与指令,或是储存微处理单元202对非易失性存储器模块120的管理信息(例如上述的信息表),或是暂存来自于非易失性存储器模块120的数据等。在此,缓冲存储器208例如是动态随机存取存储器(dynamicrandomaccessmemory,DRAM)、静态随机存取存储器(staticrandomaccessmemory,SRAM)或是其他易失性存储器(volatilememory)等。错误检查与校正单元210耦接于微处理单元202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当微处理单元202从主机10中接收到写入指令时,错误检查与校正单元210会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode),并且微处理单元202会将对应此写入指令的数据与对应的错误检查与校正码写入至非易失性存储器模块120中。之后,微处理单元202从非易失性存储器模块120中读取数据时会同时读取此数据对应的错误检查与校正码,而错误检查与校正单元210会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。底下即搭配上述非易失性存储器装置100来说明本实施例的操作方法各步骤。图3是依照本发明一实施例所绘示的存储器装置100的操作方法流程图。图4以及图5A至图5D为说明非易失性存储器装置100进行重整的示意图。请参照图1、图3与图4,于步骤S302,当存储器控制器110对非易失性存储器装置100进行重整时,存储器控制器110将已完成重整的第一重整数据写入第一实体块122的至少一个页面122p。例如在图4中,以标示为P1-0~P1-1的所述页面122p来存放已完成重整的重整数据D0,而以标示为P1-2~P1-x的所述页面122p来存放已完成重整的重整数据D1。重整数据D0与D1依序被写入所述至少一个页面122p,其中x为正整数。值得注意的是,对于多层存储单元(MultiLevelCell,MLC)及三层存储单元(TripleLevelCell,TLC)NAND型快闪存储器而言,其具有成对页面(PairPage)与多页面于同一个存储单元的特性,即一个存储单元中具有对应的两个页面或三个页面的位数据。另外,对于同一实体块而言,这些成对页面可能是连续或是不连续,其端视不同的设计而定。例如在图4中,假设标示为P1-x及P1-(x-1)的所述页面122p对应同一个存储单元,则此为连续的成对页面,而假设标示为P1-x及P1-(x-2)的所述页面122p对应同一个存储单元,则此为不连续的成对页面。此外,在本实施例中,若没有发生断电事件,则在将重整数据D1写入图4中标示为P1-2至P1-x的这些页面122p之后,存储器控制器110可从重整数据D1的最后一个页面122p所接续的页面,即自标示为P1-(x+1)的这个页面122p开始,继续储存下一笔重整数据。假设在将所述下一笔重整数据写入第一实体块122的过程中发生断电事件,使得所述下一笔重整数据未能完整写入第一实体块122。重新上电后,存储器控制器110可再一次将所述下一笔重整数据写入第一实体块122,以及进行后续数据重整操作。然而,在没有应用本实施例所述技术的情况下,重新上电后在将所述下一笔重整数据再一次写入第一实体块122的过程中,所述下一笔重整数据可能会发生错误/逸失。例如所述下一笔重整数据未完整地写入标示为P1-(x+1)的这个页面122p便发生断电事件,则重新上电后存储器控制器110可根据标示为P1-0至P1-x的这个页面122p中的对应信息而判断出重整数据D1已完整地写入到标示为P1-x的这个页面122p。在没有应用本实施例所述技术的情况下,重新上电后标示为P1-(x+1)的这个页面122p本身与它的成对页面(PairPage)的数据会发生错误/逸失。值得一提的是,存储器控制器110可提供一个信息表来记录对应于第一重整数据D0的至少一实体地址信息,其中实体地址信息分别指出第一实体块122中标示为P1-0~P1-1的所述页面122p的实体地址。因此,当主机10欲存取第一实体块122中的重整数据D0时,存储器控制器110可根据信息表而在第一实体块122中对重整数据D0进行存取。此外,当存储器控制器110将已完成重整的重整数据D0写入第一实体块122的其中一个页面122p时,存储器控制器110可利用一个指标,来记录目前已写入已完成重整的重整数据D0的后一个页面122p的实体地址。其中,指标例如是被储存在存储器控制器110的缓冲存储器208(绘示于图2)中,且可根据存储器控制器110所写入的实体块的页面进行更新,以记录相同或不同的实体块中页面的实体地址。假设在未进行本发明的步骤S304~S308的情况下,当在断电事件后再一次供电给非易失性存储器装置100时,非易失性存储器装置100可能会发生重整数据D1错误/逸失的问题。所述在未进行步骤S304~S308的情况下发生重整数据D1错误/逸失的原因说明如下。举例来说,如图4所示,倘若存储器控制器110将重整数据D1写入第一实体块122中标示为P1-x的页面122p时有一断电事件发生,使得存储器控制器110已执行的写入动作被中断,则除了正在写入的页面P1-x可能受损之外,也可能会连带影响同一存储单元中的其他成对页面(PairPage,例如标示为P1-(x-1)或P1-(x-2)的所述页面122p),而导致一个或多个页面数据错误。换言之,若重整过程中发生断电事件,则对于MLCNAND型快闪存储器而言,可能会产生连续或不连续成对页面的数据错误。或者,对于TLCNAND型快闪存储器而言,则可能会产生连续或不连续的三个页面的数据错误。本发明实施例的步骤S304~S308可以有效防止在断电与重新上电的过程中重整数据发生错误/逸失,以下即搭配图5A至图5D来进行说明。请参照图5A,存储器控制器110将数据D0写入第一实体块122中标示为P1-0或P1-1的页面122p,其中数据D0例如为已完成重整的重整数据。在将数据D0写入第一实体块122之后,存储器控制器110可继续储存下一笔重整数据至第一实体块122。在此将假设在将所述下一笔重整数据写入第一实体块122的过程中发生断电事件,使得所述下一笔重整数据未能完整写入第一实体块122。在于断电事件后再一次供电给非易失性存储器装置100时,如图5B所示,存储器控制器110可以进行步骤S304,以从多个自由实体块选择一个实体块(例如第二实体块124),并对第二实体块124进行抹除程序。在此,存储器控制器110例如是抹除第二实体块124中所储存的数据。例如,图5B所绘示的第二实体块124,表示于断电事件后再一次供电给非易失性存储器装置100时,第二实体块124中所储存的数据已被抹除。于步骤S306,在上述抹除程序完成后,存储器控制器110会搜寻在断电事件之前所完整写入第一实体块122的有效数据。例如,在重新上电后,存储器控制器110可根据页面122p中的对应信息,而判断出这些重整数据D0在断电事件之前已完整地写入到第一实体块122。因此,存储器控制器110在步骤S306中将第一实体块122在断电事件之前所完整写入的重整数据D0复制到第二实体块124的至少一个页面124p上,其中所述至少一个页面124p对应于所述至少一个页面122p。例如于图5C,在第二实体块124中标示为P2-0~P2-1的所述页面124p来存放从第一实体块122复制而来的重整数据D0。于步骤S308,存储器控制器110会继续对非易失性存储器装置100进行重整,并将再一次供电给非易失性存储器装置100之后所继续重整的第二重整数据写入第二实体块124,而不写入第一实体块122。例如在图5D中,在完成重整数据D0复制至第二实体块124之后,存储器控制器110可以继续对非易失性存储器装置100进行重整而获得第二重整数据D2,并将第二重整数据D2存放在第二实体块124中标示为P2-2~P2-y的所述页面124p上,其中y为正整数。在一实施例中,等到第二实体块124完成数据重整作业后,存储器控制器110还可选择性地对第一实体块122进行抹除程序,来释放第一实体块122的储存空间。此外,存储器控制器110还可更新信息表的实体地址信息。其中,实体地址信息分别指出对应于第二实体块124中标示为P2-0~P2-y的页面124p的实体地址。如此一来,存储器控制器110便可根据信息表而存取非易失性存储器装置100中经重整的数据(包括断电事件前所重整的第一重整数据D0,以及断电事件后再一次供电给非易失性存储器装置100所重整的第二重整数据D2)。在此说明的是,倘若存储器控制器110在将第二重整数据D2存入至第二实体块124的过程中,又有另一断电事件发生而使存储器控制器110正在进行的重整动作再一次中断时,则存储器控制器110会再一次执行与上述步骤S304~S306。亦即,在于断电事件后再一次供电给存储器装置100时,存储器控制器110会对另一个实体块进行初始化程序,以及在上述初始化程序完成后,存储器控制器110会再一次将第一实体块122在断电事件之前所写入的第一重整数据D0复制到所述另一个实体块对应的页面上。并且,存储器控制器110会继续对存储器装置100进行重整而获得第二重整数据D2,并将所述而获得第二重整数据D2写入所述另一个实体块。基于上述,由于在于断电事件后再一次供电给非易失性存储器装置100时,存储器控制器110会将已完成重整的第一重整数据D0从原先的第一实体块122复制到已经过抹除程序的第二实体块124。并且,存储器控制器110可将电源恢复供应后所重整的第二重整数据D2(即接续第一重整数据D0后的重整数据)写入第二实体块124,而不写入第一实体块122。如此一来,当存储器控制器110对非易失性存储器装置100进行重整时,若有断电事件又再次恢复供电的情况,则由于断电事件之前的第一重整数据D0被安全的保留于第一实体块122,因此存储器控制器110可避免于第一实体块122因断电被破坏所造成的错误,借以提高重整数据的正确性。值得一提的是,上述存储器控制器110在将已完成重整的重整数据写入实体块(例如实体块122、124或其他实体块)中的至少一页面时,还可通过执行长度映射表(run-lengthmappingtable),来记录具有连续逻辑地址且位在同一个实体块的多个连续页面中的重整数据,以减少用来储存重整数据的逻辑地址信息以及实体地址信息的空间。为了方便说明,底下以存储器控制器110将已完成重整的重整数据写入非易失性存储器模块120的至少一实体块时的步骤为例,来说明将重整数据写入实体块中的操作方法。图6是依照本发明一实施例所绘示的非易失性存储器装置的操作方法流程示意图。请同时参照图1与图6,于步骤S602,存储器控制器110将重整数据写入非易失性存储器模块120的至少一实体块,例如是第一实体块122或第二实体块124。于步骤S604,存储器控制器110会判断第一条件是否成立,其中第一条件包括所述重整数据的多个逻辑地址为连续且所述重整数据位在同一个实体块的多个连续页面中。举例来说,若存储器控制器110将具有多个连续逻辑地址的重整数据写入非易失性存储器模块120的第一实体块122的多个连续页面中,则第一条件成立。然而,若存储器控制器110将重整数据写入非易失性存储器模块120的第一实体块122的非连续页面,则第一条件不成立。当第一条件成立时,则如步骤S606所示,存储器控制器110会将重整数据的起始逻辑地址、重整数据的起始实体地址与重整数据的数据长度分别记录在执行长度映射表中的逻辑地址栏位、实体地址栏位以及长度栏位,其中存储器控制器110可根据重整数据的起始实体地址与终止实体地址而得知重整数据的数据长度。图7A是依照本发明一实施例所绘示被写入非易失性存储器模块120的重整数据的逻辑地址信息与实体地址信息的关系示意图。图7B是依照本发明一实施例所绘示的执行长度映射表的示意图。在图7B所示实施例中,执行长度映射表的逻辑地址栏位为逻辑页地址(logicalpageaddress)栏位,而执行长度映射表中的实体地址栏位包括实体块地址(physicalblockaddress)栏位以及实体页地址(physicalpageaddress)栏位。从图7A的逻辑地址信息可知重整数据的逻辑页地址为连续,例如逻辑地址为n1~n1+4。并且,根据图7A的实体地址信息可知重整数据是位在同一个实体块的多个连续页面中,例如实体块地址皆是为m1,而实体页地址为k1~k1+4。存储器控制器110可根据此重整数据的起始实体页地址k1与终止实体页地址k1+4而得知此重整数据的数据长度为5。因此,存储器控制器110在步骤S604会判断图7A所例举的重整数据符合第一条件,所以存储器控制器110在步骤S606将此重整数据的地址映射关系记录在执行长度映射表中。例如图7B所示,存储器控制器110会将此重整数据的起始逻辑页地址(在此例为n1)、实体块地址(在此例为m1)、起始实体页地址(在此例为k1)与数据长度(在此例为5)分别记录在执行长度映射表中的逻辑页地址栏位、实体块地址栏位、实体页地址栏位以及长度栏位。另一方面,当图6的步骤S604判断第一条件不成立时,则存储器控制器110会进行步骤S608。如步骤S608所示,存储器控制器110会将重整数据的所述多个逻辑地址与多个实体地址分别记录在页映射表(pagemappingtable)中的逻辑地址栏位与实体地址栏位。例如,图7C是依照本发明一实施例所绘示的页映射表的示意图。在图7C的页映射表中,重整数据位在不同实体块的非连续页面中,其中逻辑地址栏位的逻辑页地址栏位记录了重整数据的逻辑页地址为n1、n2、n3、n4与n5,实体地址栏位的实体块地址栏位记录了重整数据的实体块地址为m1、m2、m3、m4与m5,而实体地址栏位的实体页地址栏位记录了重整数据的实体页地址为k1、k2、k3、k4与k5。另需说明的是,上述图6的操作方法,不限定应用于重整数据的写入操作。例如,当存储器控制器110从主机10接收一数据写入指令而对应地将一笔数据写入非易失性存储器模块120后,存储器控制器110也可根据上述图6所示第一条件来进行判断,以选择利用执行长度映射表或者页映射表来记录数据的逻辑地址与实体地址的映射关系信息。亦即,当存储器控制器110将一笔数据写入非易失性存储器模块120的至少一实体块后,若图6的步骤S604判断第一条件成立,则存储器控制器110会选择利用执行长度映射表来记录数据的逻辑地址与实体地址的映射关系信息。然而,若图6的步骤S604判断第一条件不成立时,则存储器控制器110会选择利用页映射表来记录数据的逻辑地址与实体地址的映射关系信息。基于上述,本实施例的存储器控制器110在将数据写入非易失性存储器模块120的至少一实体块时,可通过执行长度映射表,来记录具有连续逻辑地址且位在同一个实体块的多个连续页面中的重整数据,以有效储存对应于重整数据的逻辑地址信息以及实体地址信息。借此,映射表的数据量可以大幅减少。值得一提的是,本实施例的非易失性存储器模块120可具有操作于单层存储单元(SingleLevelCell,SLC)模式的多个实体块以及操作于三层存储单元(TrinaryLevelCell,TLC)模式的多个实体块。在将数据写入TLC模式实体块的操作过程中,所述数据会被暂存于SLC模式的实体块中,而不会直接写入TLC模式实体块。当在非易失性存储器模块120内操作于SLC实体块之中的三个实体块的所有页面均被使用时,也就是所述三个SLC实体块的暂存空间均被用尽时,所述三个SLC实体块会进行重整,以将所述三个SLC实体块的数据重整/搬移至非易失性存储器模块120内操作于TLC模式的实体块中。在此,假设第一实体块122与第二实体块124是操作于TLC模式,则当非易失性存储器模块120内操作于SLC模式的实体块之中的三个实体块的所有页面均被使用时,存储器控制器110还可对所述三个SLC实体块进行重整,以将所述三个SLC实体块的数据重整至非易失性存储器模块120内操作于TLC模式的第一实体块122或第二实体块124中。底下再举一实施例来进行说明。图8是依照本发明一实施例所绘示的操作方法流程图。底下即搭配上述非易失性存储器装置100来说明本实施例的操作方法各步骤。请参照图1与图8,存储器控制器110在步骤S801中将数据写入操作于SLC模式的实体块其中之一。于步骤S802,存储器控制器110判断是否需要将SLC实体块的数据搬移至TLC实体块。当在非易失性存储器模块120内操作于SLC模式的多个实体块之中的三个实体块的所有页面均被使用时,也就是步骤S802的判断结果为“SLC实体块的数据需要搬移至TLC实体块”,存储器控制器110会接着进行步骤S803。在步骤S803中,存储器控制器110依据一第二条件而决定对所述三个SLC实体块进行“内部重整”或是“外部重整”,以将所述三个SLC实体块的数据重整至非易失性存储器模块120内操作于TLC模式的实体块中的一个择定实体块。反之,当所述三个SLC实体块尚有页面未被使用时,也就是步骤S802的判断结果为“SLC实体块的数据尚不需搬移至TLC实体块”,存储器控制器110会返回至步骤S801,以等待下一笔数据。于图8所示实施例中,步骤S803包含子步骤S804、S806与S808。于步骤S804,存储器控制器110会判断所述第二条件是否成立。此第二条件包括:非易失性存储器模块120内操作于TLC模式的实体块中任一个的抹除(erasing)次数已达第一门槛值,或是非易失性存储器模块120内操作于TLC模式的实体块中任一个的位错误率已达第二门槛值。例如,非易失性存储器模块120可以记录操作于TLC模式的实体块的抹除次数。并且/或者,存储器控制器110可以记录这些TLC实体块各自的位错误率。例如,当存储器控制器110从TLC模式的实体块中读取数据时,可通过错误检查与校正电路210对从TLC实体块读出的数据进行错误检查与校正(请参照于图2的相关说明),借以获得所述操作于TLC模式的实体块的位错误率。当步骤S804判断所述第二条件成立时,则非易失性存储器装置100进行所述外部重整,以将操作于SLC模式的所述三个实体块的数据重整至操作于TLC模式的所述择定实体块。所述外部重整如步骤S806所示。于步骤S806中,非易失性存储器模块120内的所述三个SLC实体块的数据会被读取至非易失性存储器模块120外部的存储器控制器110,并由所述存储器控制器110对所述三个SLC实体块的数据进行纠错(例如进行错误检查与校正),以及将纠错后的数据从所述存储器控制器110写入操作于TLC模式的所述择定实体块中(例如写入第一实体块122或第二实体块124中)。具体而言,存储器控制器110中的错误检查与校正电路210(绘示于图2)可对所述三个SLC实体块的数据进行纠错,并且经纠错的数据写入操作于TLC模式的第一实体块122或第二实体块124,以降低TLC实体块中数据的位错误率。在完成所述外部重整后,所述三个SLC实体块中的数据会被抹除以释放存储器空间。另一方面,当步骤S804判断所述第二条件不成立时,则非易失性存储器装置100进行所述内部重整,以将操作于SLC模式的所述三个实体块的数据重整至操作于TLC模式的所述择定实体块。与所述外部重整的差别在于,所述内部重整在将所述三个SLC实体块的数据搬移至TLC实体块的过程中并不会进行纠错作业。所述内部重整如步骤S808所示。于步骤S808中,由非易失性存储器模块120内部的控制电路将所述三个SLC实体块的数据重整至操作于TLC模式的所述择定实体块中(例如写入第一实体块122或第二实体块124中)。具体来说,非易失性存储器模块120内部的此控制电路可执行以硬件型式或固件型式实作的多个逻辑门或控制指令,以控制所述三个SLC实体块中的数据重整所分别写入的操作于TLC模式的第一实体块122或第二实体块124。也就是说,控制电路可根据预先设定的指令,以自动将数据重整写入对应的操作于TLC模式的实体块。借此,当进行数据重整以将所述三个SLC实体块中的数据写入TLC模式的实体块时,所述内部重整可具有较高的数据写入速度。在完成所述内部重整后,所述三个SLC实体块中的数据会被抹除以释放存储器空间。基于上述,非易失性存储器装置100在步骤S804中可根据第二条件的成立与否,判断是否通过非易失性存储器模块120外部的存储器控制器110来对非易失性存储器模块120进行数据重整作业,例如将所述三个SLC实体块中的数据搬移至TLC模式的实体块。在数据重整作业中,存储器控制器110在步骤S806中可以对写入于TLC实体块的数据进行纠错,以降低TLC实体块中数据的位错误率。或者,非易失性存储器装置100在步骤S808中通过非易失性存储器模块120内部的控制电路将数据直接从原本的实体块搬移至TLC实体块而不进行纠错,以获得较高的数据重整速度。借此,本实施例可同时兼顾数据写入的正确性以及数据写入速度。综上所述,在本实施例的非易失性存储器装置与其操作方法中,当在于断电事件后再一次供电给非易失性存储器装置时,存储器控制器110会将已完成重整的第一重整数据从第一实体块复制到已经过抹除程序的第二实体块,并且将电源恢复供应后所重整的第二重整数据接续第一重整数据写入第二实体块。如此一来,若有断电事件又再次恢复供电的情况,则存储器控制器110可避免于同一实体页重复写入重整数据所造成的错误,借以提高重整数据的正确性。此外,在本实施例的操作方法中,存储器控制器110在将数据写入非易失性存储器模块120的至少一实体块时,可通过执行长度映射表,来记录具有连续逻辑地址且位在同一个实体块的多个连续页面中的数据,以减少映射表的数据量。在本实施例另一操作方法可判断是否通过非易失性存储器模块120外部的存储器控制器110来对写入非易失性存储器模块120内TLC实体块的数据进行纠错,或者通过非易失性存储器模块120内部的控制电路将数据直接从原本的实体块搬移至TLC实体块而不进行纠错。借此,本实施例可同时兼顾数据写入的正确性以及数据写入速度。以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。附图中符号的简单说明如下:100:非易失性存储器装置10:主机110:存储器控制器120:非易失性存储器模块122、124:实体块122p、124p:页面202:微处理单元204:主机接口206:存储器接口208:缓冲存储器210:错误检查与校正单元D0:第一重整数据D1:重整数据D2:第二重整数据P1-0~P1-(x+1)、P2-0~P2-y:页面n1、n1+1~n1+4、n1、n2、n3、n4、n5:逻辑页地址m1、m2、m3、m4、m5:实体块地址k1、k1+1~k1+4、k2、k3、k4、k5:实体页地址S302~S308:非易失性存储器装置的操作方法各步骤S602~S608、S801~S808:操作方法各步骤。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1