存储器储存装置、其存储器控制器与有效数据识别方法

文档序号:6428916阅读:148来源:国知局

专利名称::存储器储存装置、其存储器控制器与有效数据识别方法
技术领域
:本发明涉及一种识别有效数据的方法,且尤其涉及一种在断电后亦能识别出有效数据的方法,及实行此方法的存储器储存装置与存储器控制器。
背景技术
:闪速存储器(FlashMemory)具有数据非易失性、省电、体积小与无机械结构等的特性,因此被广泛地应用于各种电子装置。也有越来越多如存储卡或移动存储器等可携式储存装置是以闪速存储器作为其中的储存媒体。一般来说,存储器储存装置的闪速存储器会划分为多个实体区块且这些实体区块会分组为数据区(dataarea)与闲置区(sparearea)。属于数据区的实体区块会储存由写入指令所写入的有效数据,而闲置区中的实体区块是用以在执行写入指令时替换数据区中的实体区块。具体来说,当存储器储存装置接受到主机的写入指令而欲对数据区的实体区块进行写入时,存储器储存装置会从闲置区中提取一实体区块并且将在数据区中欲写入的实体区块中的有效旧数据与欲写入的新数据写入提取自闲置区的实体区块,且将已写入新数据的实体区块关联为数据区,并将原本数据区的实体区块进行抹除并关联为闲置区。为了实现上述运作方式,存储器储存装置会提供逻辑区块给主机以进行数据存取。具体来说,存储器储存装置会维护一逻辑区块-实体区块对应表(logicalblock-physicalblockmappingtable)来记录逻辑区块与数据区中的实体区块的对应关系。同时,当存储器储存装置执行写入指令而使数据区的实体区块与闲置区的实体区块进行轮替时,存储器储存装置会更新逻辑与实体区块对应表,以利后续正确存取。然而,为了提升数据写入的速度并避免无谓的数据搬移动作,存储器储存装置在从闲置区提取实体区块并且将在数据区中欲写入的实体区块中的有效旧数据与欲更新的数据写入提取自闲置区的实体区块后,不会立刻将数据区中欲写入的实体区块中的所有有效数据搬移至提取自闲置区的实体区块并抹除数据区中欲写入的实体区块,而会使数据区中欲写入的实体区块与提取自闲置区的实体区块暂时地维持一母子暂态关系。其中,数据区中的实体区块称为母实体区块,而提取自闲置区的实体区块称为子实体区块。但由于主机每次写入的数据的数据量不尽相同,为了使写入动作更有效率,一个母实体区块可能同时具有数个子实体区块,例如用以写入连续数据的子实体区块,以及用以写入少量数据的子实体区块等。基此,可能有分别属于不同实体区块的实体页面会对应至同一个逻辑页面。一般来说,存储器储存装置会维护一记录表来记录逻辑页面最新对应至哪个实体页面。但不正常断电可能会造成记录表遗失或内容更新不及,因而导致在重新供给电力后,虽能找出对应至某一逻辑页面的实体页面有哪些,但却无法辨别该逻辑页面的最新有效数据是储存在哪一个实体页面之中。
发明内容本发明提供一种有效数据识别方法,能在存储器储存装置不正常断电并重新取得电力后,正确地识别出有效数据的记录位置。本发明提供一种存储器控制器,据以在存储器储存装置不正常断电并重新取得电力后,正确地识别出有效数据的记录位置。本发明提供一种存储器储存装置,其在不正常断电并重新取得电力后,仍能正确地识别出有效数据的记录位置。本发明提出一种有效数据识别方法,用于具有可复写式非易失性存储器芯片的存储器储存装置。其中,可复写式非易失性存储器芯片包括多个实体区块,各实体区块包括多个实体页面,各实体页面包括数据位元区与冗余位元区,且上述实体区块至少分组为数据区与闲置区。此方法包括配置多个逻辑区块以映射数据区中的实体区块,其中各逻辑区块包括多个逻辑页面。此方法还包括接收主机系统欲写入上述逻辑页面中的一特定逻辑页面的数据时,选择一替换实体区块并将数据写入替换实体区块中的特定实体页面,以及在特定实体页面记录上一次写入特定逻辑页面的先前数据被写入的实体页面的地址。其中,替换实体区块是提取自闲置区并且映射特定逻辑页面所属的逻辑区块。从另一观点来看,本发明提出一种存储器控制器,用于管理存储器储存装置中的可复写式非易失性存储器芯片。此可复写式非易失性存储器芯片包括多个实体区块,各实体区块包括多个实体页面,且各实体页面包括数据位元区与冗余位元区。此存储器控制器包括主机系统接口、存储器接口,以及存储器管理电路。主机系统接口用以耦接主机系统。存储器接口用以耦接可复写式非易失性存储器芯片。存储器管理电路耦接至主机系统接口与存储器接口,存储器管理电路用以将上述实体区块至少分组为数据区与闲置区,并配置多个逻辑区块以映射数据区中的实体区块,其中各逻辑区块包括多个逻辑页面。存储器管理电路还用以在通过主机系统接口接收主机系统欲写入上述逻辑页面中的一特定逻辑页面的数据时,选择替换实体区块并将数据写入替换实体区块中的特定实体页面,以及在特定实体页面记录上一次写入特定逻辑页面的先前数据被写入的实体页面的地址。其中替换实体区块是提取自闲置区并且映射特定逻辑页面所属的逻辑区块。从又一观点来看,本发明提出一种存储器储存装置,包括可复写式非易失性存储器芯片、连接器,以及存储器控制器。其中,复写式非易失性存储器芯片包括多个实体区块,各实体区块包括多个实体页面,且各实体页面包括数据位元区与冗余位元区。连接器用以耦接主机系统。存储器控制器耦接至可复写式非易失性存储器芯片与连接器,存储器控制器用以将上述实体区块至少分组为数据区与闲置区,并配置多个逻辑区块以映射数据区中的实体区块,其中各逻辑区块包括多个逻辑页面。存储器控制器还用以在通过连接器接收主机系统欲写入上述逻辑页面中的一特定逻辑页面的数据时,选择替换实体区块并将数据写入替换实体区块中的特定实体页面,以及在特定实体页面记录上一次写入特定逻辑页面的先前数据被写入的实体页面的地址。其中替换实体区块是提取自闲置区并且映射特定逻辑页面所属的逻辑区块。基于上述,本发明在主机系统要将数据写入一逻辑页面时,在对应的实体页面记录上一次写入该逻辑页面的数据是被写入至哪个实体页面。如此,即便存储器储存装置遭逢不正常断电,在重新启动后亦能根据实体页面记录的信息,从对应相同逻辑页面的所有实体页面中找出具有最新有效数据的实体页面,从而避免不正常断电造成的数据遗失情况。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。图IA是根据本发明一范例实施例显示的使用存储器储存装置的主机系统的示意图。图IB是根据本发明范例实施例所显示的计算机、输入/输出装置与存储器储存装置的示意图。图IC是根据本发明另一范例实施例所显示的主机系统与存储器储存装置的示意图。图2是显示图IA所示的存储器储存装置的概要方框图。图3是根据本发明的一范例实施例显示的存储器控制器的概要方框图。图4A与图4B是根据本发明的一范例实施例所显示的管理实体区块的示意图。图5A至图5C是根据本发明的一范例实施例所显示的可复写式非易失性存储器芯片的运作示意图。图6是根据本发明的一范例实施例所显示的实体区块的实体页面的示意图。图7是根据本发明的一范例实施例所显示的写入特定逻辑页面的运作示意图。图8A、8B是根据本发明的一范例实施例所显示的有效数据识别方法的流程图。附图标记1000:主机系统1100:计算机1102:微处理器1104:随机存取存储器1106:输入/输出装置1108:系统总线1110:数据传输接口1202:鼠标1204:键盘1206:显示器1208:打印机1212:移动存储器1214:存储卡1216:固态硬盘1310:数码相机1312:SD卡1314:MMC卡1316:记忆棒1318:CF卡1320:嵌入式储存装置100:存储器储存装置102:连接器104:存储器控制器106:可复写式非易失性存储器芯片1041:主机系统接口1043:存储器管理电路1045:存储器接口3002:缓冲存储器·3004电源管理电路3006:错误检查与校正电路410(0)410(N):实体区块502:数据区504:闲置区506:系统区508:取代区610(0)610(F_1):逻辑区块600:特定实体页面620:数据位元区640:冗余位元区641:第一记录区643:第二记录区645:第三记录区710:母实体区块720、730、740:子实体区块710(O)710(3)、720(O)720(3)、730(O)730(3)、740(O)740(3):实体页面S810S860、S870S890:本发明的一实施例所述的有效数据识别方法的各步骤具体实施例方式—般而言,存储器储存装置(亦称,存储器储存系统)包括存储器芯片与控制器(亦称,控制电路)。通常存储器储存装置会与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。另外,亦有存储器储存装置是包括嵌入式存储器与可执行于主机系统上以实质地作为此嵌入式存储器的控制器的软件。图IA是根据本发明一范例实施例所显示的使用存储器储存装置的主机系统的示意图。主机系统1000包括计算机1100与输入/输出(Input/Output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(RandomAccessMemory,RAM)1104、系统总线1108以及数据传输接口1110。输入/输出装置1106包括如图IB所示的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。在本发明范例实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件耦接。藉由微处理器1102、随机存取存储器1104以及输入/输出装置1106的运作,主机系统1000可将数据写入至存储器储存装置100,或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图IB所示的存储卡1214、移动存储器1212、或固态硬盘(SolidStateDrive,SSD)1216。一般而言,主机系统1000为可储存数据的任意系统。虽然在本范例实施例中主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中,主机系统1000亦可以是手机、数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机1310时,存储器储存装置则为其所使用的安全数位(SecureDigital,SD)卡1312、多媒体记忆(MultimediaCard,MMC)卡1314、记忆棒(MemoryStick)1316、紧凑式闪存(CompactFlash,CF)卡1318或嵌入式储存装置1320(如图IC所示)。嵌入式储存装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接耦接于主机系统的基板上。图2是显示图IA所示的存储器储存装置100的方框图。请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可复写式非易失性存储器芯片106。连接器102耦接至存储器控制器104,并且用以耦接主机系统1000。在本范例实施例中,连接器102所支援的传输接口种类为通用串行总线(UniversalSerialBus,USB)接口。然而在其他范例实施例中,连接器102的传输接口种类也可以是串行高级技术附件(SerialAdvancedTechnologyAttachment,SATA)接口、多媒体储存卡(MultimediaCard,MMC)接口、平行先进附件(ParallelAdvancedTechnologyAttachment,PATA)接口、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394接口、高速周边零件连接接口(PeripheralComponentInterconnectExpress,PCIExpress)接口、安全数位(SecureDigital,SD)接口、记忆棒(MemoryStick,MS)接口、紧凑式闪存(CompactFlash,CF)接口,或整合驱动电子(IntegratedDriveElectronics,IDE)接口等任何适用的接口,在此并不加以限制。存储器控制器104会执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并根据主机系统1000的指令在可复写式非易失性存储器芯片106中进行数据的写入、读取与抹除等运作。其中,存储器控制器104还特别用以根据本范例实施例的有效数据识别方法,在存储器储存装置100断电并重新取得电力之后,识别有效数据的储存位置。本范例实施例的有效数据识别方法将于后配合图示再作说明。可复写式非易失性存储器芯片106耦接至存储器控制器104。可复写式非易失性存储器芯片106用以储存如文件配置表(FileAllocationTable,FAT)或增强型文件系统(NewTechnologyFileSystem,NTFS)等文件系统信息,以及储存如文字、影像或声音文件等一般性数据。举例来说,可复写式非易失性存储器芯片106为多阶存储单元(MultiLevelCell,MLC)NAND闪速存储器芯片,但本发明不限于此,可复写式非易失性存储器芯片106也可以是单阶存储单元(SingleLevelCell,SLC)NAND闪速存储器芯片、其他闪速存储器芯片或任何具有相同特性的存储器芯片。图3是根据本发明一范例实施例所显示的存储器控制器的概要方框图。请参照图3,存储器控制器104包括主机系统接口1041、存储器管理电路1043,以及存储器接口1045。主机系统接口1041耦接至存储器管理电路1043,并通过连接器102以耦接主机系统1000。主机系统接口1041用以接收与识别主机系统1000所传送的指令与数据。据此,主机系统1000所传送的指令与数据会通过主机系统接口1041而传送至存储器管理电路1043。在本范例实施例中,主机系统接口1041对应连接器102而为USB接口,而在其他范例实施例中,主机系统接口1041也可以是SATA接口、MMC接口、PATA接口、IEEE1394接口、PCIExpress接口、SD接口、MS接口、CF接口、IDE接口或符合其他接口标准的接口。存储器管理电路1043用以控制存储器控制器104的整体运作。具体来说,存储器管理电路1043具有多个控制指令,在存储器储存装置100运作时,上述控制指令会被执行以实现本范例实施例的有效数据识别方法。在一范例实施例中,存储器管理电路1043的控制指令是以固件型式来实作。例如,存储器管理电路1043具有微处理器单元(未示出)与只读存储器(未示出),且上述控制指令是被烧录在只读存储器中。当存储器储存装置100运作时,上述控制指令会由微处理器单元来执行以完成本范例实施例的有效数据识别方法。在本发明另一范例实施例中,存储器管理电路1043的控制指令亦可以程序码型式储存于可复写式非易失性存储器芯片106的特定区域(例如,可复写式非易失性存储器芯片106中专用于存放系统数据的系统区)中。此外,存储器管理电路1043具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。其中,只读存储器具有驱动码段,并且当存储器控制器104被使能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器芯片106中的控制指令载入至存储器管理电路1043的随机存取存储器中。之后,微处理器单元会运转上述控制指令以执行本范例实施例的有效数据识别方法。此外,在本发明另一范例实施例中,存储器管理电路1043的控制指令亦可以一硬件型式来实作。存储器接口1045耦接至存储器管理电路1043,以使存储器控制器104与可复写式非易失性存储器芯片106相耦接。据此,存储器控制器104可对可复写式非易失性存储器芯片106进行相关运作。也就是说,欲写入至可复写式非易失性存储器芯片106的数据会经由存储器接口1045转换为可复写式非易失性存储器芯片106所能接受的格式。在本发明的一范例实施例中,存储器控制器104还包括缓冲存储器3002。缓冲存储器3002可以是静态随机存取存储器(StaticRandomAccessMemory,SRAM)、或动态随机存取存储器(DynamicRandomAccessMemory,DRAM)等,本发明并不加以限制。缓冲存储器3002耦接至存储器管理电路1043,用以暂存来自于主机系统1000的数据,或暂存来自于可复写式非易失性存储器芯片106的数据。在本范例实施例中,缓冲存储器3002亦会暂存存储器储存装置100在运作中产生的系统数据,例如逻辑区块-实体区块映射表(logicalblock-physicalblockmappingtable)等等。在本发明另一范例实施例中,存储器控制器104还包括电源管理电路3004。电源管理电路3004耦接至存储器管理电路1043,用以控制存储器储存装置100的电源。在本发明又一范例实施例中,存储器控制器104还包括错误检查与校正电路3006。错误检查与校正电路3006耦接至存储器管理电路1043,用以执行错误检查与校正程序以确保数据的正确性。具体而言,当存储器管理电路1043接收到来自主机系统1000的写入指令时,错误检查与校正电路3006会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode),且存储器管理电路1043会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器芯片106。之后当存储器管理电路1043从可复写式非易失性存储器芯片106中读取数据时,会同时读取此数据对应的错误检查与校正码,且错误检查与校正电路3006会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。图4A与图4B是根据本发明的一范例实施例所绘示的管理实体区块的示意图。请参照图4A,可复写式非易失性存储器芯片106包括实体区块410(O)410(N),其中,每一实体区块包括多个实体页面。而存储器控制器104的存储器管理电路1043会将实体区块410(O)410(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。其中,图4A所标示的F、S、R与N为正整数,代表各区配置的实体区块数量,其可由存储器储存装置100的制造商依据所使用的可复写式非易失性存储器芯片106的容量来设定。逻辑上属于数据区502与闲置区504的实体区块是用以储存来自于主机系统1000的数据。具体来说,数据区502的实体区块是被视为已储存数据的实体区块,而闲置区504的实体区块是用以替换数据区502的实体区块。换句话说,闲置区504的实体区块为空或可使用的实体区块(无记录数据或标记为已没用的无效数据)。当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路1043会从闲置区504中提取实体区块,并且将数据写入至所提取的实体区块中,以替换数据区502的实体区块。逻辑上属于系统区506的实体区块是用以记录系统数据。举例来说,系统数据包括关于可复写式非易失性存储器芯片106的制造商与型号、可复写式非易失性存储器芯片106的实体区块数、每一实体区块的实体页面数,以及逻辑区块-实体区块映射表等。逻辑上属于取代区508中的实体区块是用以在数据区502、闲置区504或系统区506中的实体区块损毁时,取代损坏的实体区块。具体而言,倘若取代区508中仍存有正常的实体区块且数据区502的实体区块损坏时,存储器管理电路1043会从取代区508中提取正常的实体区块来更换数据区502中损坏的实体区块。请参照图4B,在本范例实施例中,存储器管理电路1043会配置数个逻辑区块610(0)610(F-1),且逻辑区块610(0)610(F_1)会映射至数据区502的实体区块410(0)410(F-I)。详言之,各逻辑区块所包括的逻辑页面会依序地映射至相对应的实体区块中的实体页面,且各逻辑页面所具有的多个逻辑扇区会映射至对应的实体页面中的实体扇区。存储器管理电路1043将所配置的逻辑区块提供给主机系统1000,并维护逻辑区块-实体区块映射表以记录逻辑区块610(O)610(F-I)与数据区502的实体区块410(0)410(F-1)之间的映射关系。因此当主机系统1000欲读取某一逻辑地址时,存储器管理电路1043可将主机系统1000所欲读取的逻辑地址转换为对应的逻辑区块、逻辑页面或逻辑扇区,并且通过逻辑区块-实体区块映射表于对应的实体区块的实体页面中读取数据。图5A至图5C是根据本发明的一范例实施例所绘示的可复写式非易失性存储器芯片的运作示意图。请同时参照图5A至图5C,在本范例实施例中,假设逻辑区块610(O)是映射至实体区块410(O),当存储器控制器104接收到来自主机系统1000的写入指令而欲将数据写入至属于逻辑区块610(O)的逻辑页面时,存储器管理电路1043会依据逻辑区块-实体区块映射表识别逻辑区块610(O)目前是映射至实体区块410(0),并且从闲置区504提取实体区块410(F)作为替换实体区块以轮替实体区块410(0)。然而,当存储器管理电路1043将新数据写入至实体区块410(F)的同时,存储器管理电路1043不会立刻将实体区块410(0)中的所有有效数据搬移至实体区块410(F)而抹除实体区块410(0)。具体来说,如图5A所示,存储器管理电路1043会将实体区块410(O)中在欲写入的实体页面之前的有效数据(例如,实体区块410(O)的第O实体页面与第I实体页面中的数据)复制至实体区块410(F)的第O实体页面与第I实体页面中,并且如图5B所示,将新数据写入至实体区块410(F)的第2实体页面与第3实体页面中。此时,存储器管理电路1043即完成写入的运作。因为实体区块410(0)中的有效数据有可能在下个操作(例如,写入指令)中变成无效,因此立刻将实体区块410(0)中的有效数据搬移至实体区块410(F)可能会造成无谓的搬移。此外,数据必须依序地写入至实体区块内的实体页面,因此,存储器管理电路1043仅会先搬移欲写入实体页面之前的有效数据。在本范例实施例中,暂时地维持实体区块410(0)与实体区块410(F)的母子暂态关系的运作称为开启(open)母子区块,且原实体区块(即实体区块410(0))称为母实体区·块而替换实体区块(即实体区块410(F))称为子实体区块。之后,当需要将实体区块410(0)与实体区块410(F)的内容合并(merge)时,存储器管理电路1043才会将实体区块410(O)与实体区块410(F)的数据整并至一个实体区块,由此提升实体区块的使用效率。在此,合并母子区块的运作称为数据合并程序或关闭(close)母子区块。例如,如图5C所示,当进行关闭母子区块时,存储器管理电路1043会将实体区块410(O)中剩余的有效数据(即,实体区块410(O)的第4实体页面第(K)实体页面中的数据)复制至替换实体区块410(F)的第4实体页面第(K)实体页面中,然后将实体区块410(O)抹除并关联至闲置区504,同时,将实体区块410(F)关联至数据区502。也就是说,存储器管理电路1043会在逻辑区块-实体区块映射表中将逻辑区块610(0)重新映射至实体区块410(F)。此外,在本范例实施例中,存储器管理电路1043会建立闲置区实体区块表(未示出)来记录目前被关联至闲置区的实体区块。值得一提的是,闲置区504中实体区块的数目是有限的,基此,在存储器储存装置100运作期间,开启的母子区块的组数亦会受到限制。因此,当存储器储存装置100接收到来自于主机系统1000的写入指令时,倘若已开启母子区块的组数达到上限时,存储器管理电路1043需关闭至少一组目前已开启的母子区块(即,执行关闭母子区块运作)以执行此写入指令。必须特别说明的是,在本范例实施例中,实体区块410(0)可能同时与多个提取自闲置区504的替换实体区块具有母子暂态关系。换言之,每一母实体区块可能有多个子实体区块,而每个子实体区块系对应不同(或相同)型态的数据写入模式。存储器管理电路1043会维护一母子区块对应表来记录母实体区块与子实体区块的对应关系。举例来说,当主机系统1000欲将连续数据写入属于逻辑区块610(O)的一逻辑页面时,存储器管理电路1043会依据逻辑区块-实体区块映射表识别逻辑区块610(0)目前是映射至实体区块410(O),并从闲置区504提取一个替换实体区块以写入上述连续数据。尔后,倘若主机系统1000欲对上述连续数据进行更新(例如进行回写),存储器管理电路1043会再从闲置区504提取另一个替换实体区块来写入此次要更新的数据。之后,若主机系统1000要再写入该逻辑页面,且欲写入的数据的数据量小于一门槛值,存储器管理电路1043将再从闲置区504提取另一个替换实体区块来写入数据。在本范例实施例中,每当主机系统1000下达写入指令时,存储器管理电路1043可适时提取新的替换实体区块,或者将数据写入已提取的替换实体区块。倘若一母实体区块具有一个以上的替换实体区块(即,子实体区块),存储器管理电路1043将根据主机系统1000欲写入的数据的数据量来选择替换实体区块以写入数据。正因如此,在针对母实体区块与其所具有的各子实体区块进行关闭母子区块的运作之前,母实体区块的有效数据会散布在其所具有的各子实体区块中。也正因为在主机系统1000每次要将数据写入一逻辑页面时,存储器管理电路1043可根据欲写入的数据的数据量来选择替换实体区块以储存写入数据,因此在主机系统1000对某一逻辑页面进行多次数据写入的操作后,可能有数个属于相同或不同替换实体区块的实体页面会对应至该逻辑页面。对此,存储器管理电路1043每次将数据写入替换实体区块中的实体页面时,会在缓冲存储器3002记录对应该逻辑页面的一页面对应信息,以记录目前该逻辑页面的最新有效数据是记录在哪个实体页面。其中,页面对应信息记录的是此实体页面的地址。各种在存储器储存装置100运作过程中所产生的变数、页面对应信息、或对应表都是暂存在缓冲存储器3002,在存储器储存装置100被正常关闭电源的情况下,该些信息将被写入可复写式非易失性存储器芯片106的系统区506。待下次电源启动后,再由系统区506将运作相关的信息读回缓冲存储器3002以供存储器管理电路1043查用。然而,若存储器储存装置100遭逢不正常断电,缓冲存储器3002中的系统信息可能来不及写入系统区506,为了避免在重新启动存储器储存装置100的电源后,因缓冲存储器3002缺乏正确的系统信息而导致数据遗失,在本范例实施例中,存储器管理电路1043在通过主机系统接口1041接收主机系统1000欲写入一逻辑页面(以下称之为特定逻辑页面)的数据时,除了选择替换实体区块并将数据写入替换实体区块中的特定实体页面之外,还会判断主机系统1000是否曾经写入此特定逻辑页面。若是,存储器管理电路1043会在特定实体页面记录上一次写入特定逻辑页面的先前数据是被写入哪个实体页面。若主机系统1000未曾写入此特定逻辑页面,存储器管理电路1043则不需进行上述记录动作,或者,存储器管理电路1043也可将一特定信息写入特定实体页面以代表并无先前数据。其中,存储器管理电路1043选择的替换实体区块映射特定逻辑页面所属的逻辑区块。替换实体区块可以是因应此次写入指令而从闲置区504提取出的实体区块,或是在之前接获主机系统1000的写入指令时便已从闲置区504提取出的实体区块。以下将以图6来说明存储器管理电路1043对特定实体页面进行写入的方式。请参阅图6,在本范例实施例中,特定实体页面600包括数据位元区620与冗余位元区640。其中,冗余位元区640包括第一记录区641、第二记录区643以及第三记录区645。举例来说,当特定实体页面600的容量为8千字节(Kilobyte,KB)时,冗余位元区640的容量有22字节。在本范例实施例中,存储器管理电路1043将数据写入特定实体页面600的数据位元区620。并且,存储器管理电路1043可根据缓冲存储器3002所记录的页面对应信息得知上一次写入特定逻辑页面的先前数据被写入的实体页面的地址,进而在冗余位元区340的第一记录区341记录先前数据被写入的实体页面的地址。在完成上述动作后,存储器管理电路1043会将缓冲存储器3002中的页面对应信息更新为特定实体页面的地址。除此之外,存储器管理电路1043会在冗余位元区340第二记录区643记录特定逻辑页面的地址。换言之,查看冗余位元区640的内容便可知道特定实体页面600是对应至哪个逻辑页面。而第三记录区645则可用来储存数据的错误检查与校正码。必须特别说明的是,图6所示的数据位元区620与冗余位元区640中各记录区的配置方式并不用以限制本发明的范围。在本发明的其他范例实施例中,每一实体页面所包括的数据位元区与冗余位元区也可为其他的配置方式。在本范例实施例中,存储器储存装置100在运作期间只要接获主机系统1000的写入指令,存储器管理电路1043都将以上述方式在适当的实体页面中记录数据以及上一次写入相同逻辑页面的先前数据被写入的实体页面的地址。在另一范例实施例中,唯有当接获主机系统1000欲写入某些特定的逻辑页面的写入指令时,方以上述方式在适当的实体页面中记录上一次写入相同逻辑页面的先前数据被写入的实体页面的地址。举例来说,存储器管理电路1043在判断主机系统1000欲写入的逻辑页面的地址符合一预设范围(例如,逻辑地址O至1000)时,才在此逻辑页面曾被主机系统1000写入的情况下,于适当的实体页面记录上一次写入此逻辑页面的先前数据被写入的实体页面的地址。当存储器储存装置100被重新启动之后,存储器管理电路1043为了判断特定逻辑页面的最新有效数据储存在哪个实体页面,会先根据逻辑区块-实体区块映射表取得映射特定逻辑页面所属的逻辑区块的实体区块(即,母实体区块),再根据母子区块对应表取得母实体区块的所有子实体区块(该些子实体区块也映射特定逻辑页面所属的逻辑区块的实体区块)。对于所有映射特定逻辑页面所属的逻辑区块的实体区块,存储器管理电路1043可查看其中各实体页面的冗余位元区所记录的内容,以找出对应特定逻辑页面的所有实体页面。例如,若一实体页面的冗余位元区的第二记录区记录的是特定逻辑页面的地址,则判定该实体页面对应特定逻辑页面。根据存储器管理电路1043写入数据的机制,假设存储器管理电路1043因应主机系统1000欲写入一逻辑页面而将数据储存至实体页面P1。之后,倘若主机系统1000再次写入相同的逻辑页面,则有另一实体页面的冗余位元区会记录实体页面Pl所相对应的实体页面地址。亦即,只要实体页面的地址有被记录在其他实体页面的冗余位元区,即表示被记录地址的实体页面所储存的并不是最新的有效数据。因此,存储器管理电路1043在所有对应特定逻辑页面的实体页面中,找出相对应的实体页面地址未被记录在其他实体页面的冗余位元区的实体页面(在本范例实施例中,此实体页面可称为第一实体页面),并判定特定逻辑页面的有效数据写入在所找出的实体页面。如此一来,即便存储器储存装置100是遭逢不正常断电而导致暂存在缓冲存储器3002的系统信息无法存入可复写式非易失性存储器芯片106的系统区506,在重新启动存储器储存装置100后,存储器管理电路1043也可以利用各实体页面的冗余位元区所记录的实体页面地址信息,找出特定逻辑页面的最新有效数据的存放位置。图7是根据本发明的一范例实施例所绘示的写入特定逻辑页面的运作示意图。如图7所示,在本范例实施例中假设每个实体区块具有四个实体页面,且图7所示箭头上的数字是表示因应主机系统1000的写入指令来储存数据的顺序。详言之,假设主机系统1000要写入的特定逻辑页面是映射母实体区块710的实体页面710(I),而母实体区块710有3个子实体区块(即,子实体区块720、730、740)。首先,若存储器管理电路1043将数据写入子实体区块720的实体页面720(1),实体页面720(1)的冗余位元区会记录上一个有效数据被写入的实体页面地址(即,实体页面710(1)的地址)。接着,倘若主机系统1000欲再次写入特定逻辑页面,且存储器管理电路1043将数据写入子实体区块730的实体页面730(0),实体页面730(0)的冗余位元区会记录实体页面720(1)的地址。尔后,若主机系统1000要再写入特定逻辑页面,且存储器管理电路1043将数据写入子实体区块730的实体页面730(2),实体页面730(2)的冗余位元区会记录实体页面730(O)的地址。以此类推,实体页面740(I)的冗余位元区会记录实体页面730(2)的地址、实体页面730(3)的冗余位元区会记录实体页面740(I)的地址、实体页面720(2)的冗余位元区会记录实体页面730(3)的地址,而实体页面740(3)的冗余位元区会记录实体页面720(2)的地址。在图7中以网点标示的8个实体页面均对应同一个特定逻辑页面,然而仅有实体页面740(3)所记录的数据是最新的有效数据。在存储器储存装置100重新启动后,存储器管理电路1043会取得对应特定逻辑页面的8个实体页面,其中,由于只有实体页面740(3)的地址并未被记录在其他实体页面的冗余位元区,因此存储器管理电路1043判定实体页面740(3)所记录的数据为特定逻辑页面的有效数据。在一范例实施例中,存储器管理电路1043在识别出特定逻辑页面的有效数据的储存位置后,将不会对实体区块进行合并操作。在另一实施例中,存储器管理电路1043会将所有映射特定逻辑页面所属的逻辑区块的实体区块整并为新实体区块,并建立特定逻辑页面所属的逻辑区块与新实体区块的映射关系。亦即,存储器管理电路1043将所有映射特定逻辑页面所属的逻辑区块的实体区块中的有效数据复制至新实体区块,再将新实体区块关联至数据区502,以及将其他实体区块中的数据抹除并关联至闲置区504。图8A、8B是根据本发明的一范例实施例所绘示的有效数据识别方法的流程图。首先如图8A的步骤S810所示,存储器控制器104中的存储器管理电路1043配置多个逻辑区块以映射可复写式非易失性存储器芯片106的数据区502中的实体区块,其中各逻辑区块包括多个逻辑页面。接着在步骤S820中,存储器控制器104接收主机系统1000欲写入上述逻辑页面中的某一逻辑页面的数据。并如步骤S830所示,存储器管理电路1043选择一替换实体区块并将数据写入替换实体区块中的一实体页面。在步骤S840中,存储器管理电路1043判断主机系统1000是否曾写过此逻辑页面。若是,则如步骤S850所示,存储器管理电路1043在此实体页面记录上一次写入相同逻辑页面的先前数据被写入的实体页面的地址。若否,则如步骤S860所示,存储器管理电路1043在此实体页面标注不存在先前数据。标注不存在先前数据的方式例如是不在实体页面的冗余位元区记录任何信息,或是在冗余位元区写入一特定信息以代表无先前数据。在本范例实施例中,存储器管理电路1043在存储器储存装置100运作的期间会针对主机系统1000下达的写入指令而执行步骤S820至步骤S860的动作。在另一范例实施例中,存储器管理电路1043可针对符合特殊条件的逻辑页面(例如,地址符合预设范围的逻辑页面)才执行步骤S840至步骤S860的动作。尔后,倘若存储器储存装置100遭逢不正常断电,并如图SB的步骤S870所示,存储器储存装置100被重新启动。若存储器管理电路1043要识别一特定逻辑页面的有效数据的储存位置,如步骤S880所示,存储器管理电路1043在所有对应至特定逻辑页面的实体页面中,找出第一实体页面,此第一实体页面相对应的实体页面地址未被记录于其他对应至特定逻辑页面的实体页面中。最后在步骤S890中,存储器管理电路1043判定特定逻辑页面的有效数据写入在所找出的第一实体页面。对于每个逻辑页面,存储器管理电路1043都能通过步骤S880与步骤S890的动作以找出其最新的有效数据储存在哪个实体页面。综上所述,本发明所述的有效数据识别方法、存储器储存装置与存储器控制器在主机系统欲写入某一逻辑页面的数据时,在对应的实体页面记录上一次更新相同逻辑页面的数据是被写入哪个实体页面。基此,无论存储器储存装置的电源是否被正常关闭,待下次重新启动存储器储存装置后,都能藉由实体页面所记录的信息而在对应同一个逻辑页面的数个实体页面中,找出记录最新有效数据的实体页面。如此一来,可防范存储器储存装置被异常断电而造成数据遗失或错误的情况。虽然本发明已以实施例揭示如上,任何所属
技术领域
中的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。权利要求1.一种有效数据识别方法,用于具有一可复写式非易失性存储器芯片的一存储器储存装置,该可复写式非易失性存储器芯片包括多个实体区块,各该些实体区块包括多个实体页面,各该些实体页面包括一数据位元区与一冗余位元区,且该些实体区块至少分组为一数据区与一闲置区,该方法包括配置多个逻辑区块以映射该数据区中的该些实体区块,其中各该些逻辑区块包括多个逻辑页面;接收一主机系统欲写入该些逻辑页面中的一特定逻辑页面的一数据;选择一替换实体区块并将该数据写入该替换实体区块中的一特定实体页面,其中该替换实体区块是提取自该闲置区并且映射该特定逻辑页面所属的逻辑区块;以及在该特定实体页面记录上一次写入该特定逻辑页面的一先前数据被写入的实体页面的地址。2.根据权利要求I所述的有效数据识别方法,其中还包括在将该数据写入该特定实体页面时,将该数据写入该特定实体页面的该数据位元区;在该特定实体页面的该冗余位元区的一第一记录区记录该先前数据被写入的实体页面的地址;以及在该特定实体页面的该冗余位元区一第二记录区记录该特定逻辑页面的地址。3.根据权利要求2所述的有效数据识别方法,其中还包括当该存储器储存装置被重新启动之后,在所有对应至该特定逻辑页面的实体页面中,找出一第一实体页面,其中该第一实体页面相对应的实体页面地址未被记录于其他对应至该特定逻辑页面的实体页面中;以及判定该特定逻辑页面的一有效数据写入在该第一实体页面。4.根据权利要求3所述的有效数据识别方法,其中在所有对应至该特定逻辑页面的实体页面中,找出该第一实体页面的步骤包括取得所有映射该特定逻辑页面所属的逻辑区块的实体区块;以及依据所取得的实体区块中的各实体页面的该冗余位元区所记录的内容,在所有对应至该特定逻辑页面的实体页面中,找出相对应的实体页面地址未被记录在其他实体页面的该冗余位元区的实体页面以作为该第一实体页面。5.根据权利要求3所述的有效数据识别方法,其中在判定该特定逻辑页面的该有效数据写入在所找出的实体页面的步骤之后,该方法还包括将所有映射该特定逻辑页面所属的逻辑区块的实体区块整并为一新实体区块;以及建立该特定逻辑页面所属的逻辑区块与该新实体区块的映射关系。6.根据权利要求I所述的有效数据识别方法,其中在选择该替换实体区块并将该数据写入该替换实体区块中的该特定实体页面的步骤之后,该方法还包括判断该特定逻辑页面是否曾被该主机系统写入,以在判定该特定逻辑页面曾被该主机系统写入时,才执行在该特定实体页面记录上一次写入该特定逻辑页面的该先前数据被写入的实体页面的地址的步骤;以及若判定该特定逻辑页面未曾被该主机系统写入,则在该特定实体页面标注不存在该先前数据。7.根据权利要求I所述的有效数据识别方法,其中在该特定实体页面记录上一次写入该特定逻辑页面的该先前数据被写入的实体页面的地址的步骤是在判定该特定逻辑页面的地址符合一预设范围时才执行。8.根据权利要求I所述的有效数据识别方法,其中该存储器储存装置包括一缓冲存储器,该方法还包括根据该缓冲存储器所记录的一页面对应信息取得该先前数据被写入的实体页面的地址;以及在该特定实体页面记录该先前数据被写入的实体页面之后,将该页面对应信息更新为该特定实体页面的地址。9.根据权利要求I所述的有效数据识别方法,其中接收该主机系统欲写入该特定逻辑页面的该数据时选择该替换实体区块的步骤包括若该替换实体区块的数量大于1,则根据该数据的数据量选择其中一个替换实体区块来写入该数据。10.一种存储器控制器,用于管理一存储器储存装置中的一可复写式非易失性存储器芯片,该可复写式非易失性存储器芯片包括多个实体区块,各该些实体区块包括多个实体页面,且各该些实体页面包括一数据位元区与一冗余位元区,该存储器控制器包括一王机系统接口,用以I禹接一王机系统;一存储器接口,用以耦接该可复写式非易失性存储器芯片;以及一存储器管理电路,耦接至该主机系统接口与该存储器接口,该存储器管理电路用以将该些实体区块至少分组为一数据区与一闲置区,并配置多个逻辑区块以映射该数据区中的该些实体区块,其中各该些逻辑区块包括多个逻辑页面,该存储器管理电路还用以在通过该主机系统接口接收该主机系统欲写入该些逻辑页面中的一特定逻辑页面的一数据时,选择一替换实体区块并将该数据写入该替换实体区块中的一特定实体页面,以及在该特定实体页面记录上一次写入该特定逻辑页面之一先前数据被写入的实体页面的地址,其中该替换实体区块是提取自该闲置区并且映射该特定逻辑页面所属的逻辑区块。11.根据权利要求10所述的存储器控制器,其中该存储器管理电路还用以将该数据写入该特定实体页面的该数据位元区,在该特定实体页面的该冗余位元区的一第一记录区记录该先前数据被写入的实体页面的地址,以及在该特定实体页面的该冗余位元区一第二记录区记录该特定逻辑页面的地址。12.根据权利要求11所述的存储器控制器,其中当该存储器储存装置被重新启动之后,该存储器管理电路还用以在所有对应至该特定逻辑页面的实体页面中找出一第一实体页面,其中该第一实体页面相对应的实体页面地址未被记录于其他对应至该特定逻辑页面的实体页面中,并判定该特定逻辑页面的一有效数据写入在该第一实体页面。13.根据权利要求12所述的存储器控制器,其中该存储器管理电路还用以取得所有映射该特定逻辑页面所属的逻辑区块的实体区块,以及依据所取得的实体区块中的各实体页面的该冗余位元区所记录的内容,在所有对应至该特定逻辑页面的实体页面中,找出相对应的实体页面地址未被记录在其他实体页面的该冗余位元区的实体页面以作为该第一实体页面。14.根据权利要求12所述的存储器控制器,其中该存储器管理电路还用以在判定该特定逻辑页面的该有效数据写入在所找出的实体页面之后,将所有映射该特定逻辑页面所属的逻辑区块的实体区块整并为一新实体区块,并建立该特定逻辑页面所属的逻辑区块与该新实体区块的映射关系。15.根据权利要求10所述的存储器控制器,其中该存储器管理电路判断该特定逻辑页面是否曾被该主机系统写入,以在判定该特定逻辑页面曾被该主机系统写入时,在该特定实体页面记录上一次写入该特定逻辑页面的该先前数据被写入的实体页面的地址,若判定该特定逻辑页面未曾被该主机系统写入,该存储器管理电路在该特定实体页面标注不存在该先前数据。16.根据权利要求10所述的存储器控制器,其中该存储器管理电路在该特定逻辑页面的地址符合一预设范围时,才在该特定实体页面记录该先前数据被写入的实体页面的地址。17.一种存储器储存装置,包括一可复写式非易失性存储器芯片,包括多个实体区块,各该些实体区块包括多个实体页面,且各该些实体页面包括一数据位元区与一冗余位元区;一连接器,用以耦接一主机系统;以及一存储器控制器,耦接至该可复写式非易失性存储器芯片与该连接器,该存储器控制器用以将该些实体区块至少分组为一数据区与一闲置区,并配置多个逻辑区块以映射该数据区中的该些实体区块,其中各该些逻辑区块包括多个逻辑页面,该存储器控制器还用以在通过该连接器接收该主机系统欲写入该些逻辑页面中的一特定逻辑页面的一数据时,选择一替换实体区块并将该数据写入该替换实体区块中的一特定实体页面,以及在该特定实体页面记录上一次写入该特定逻辑页面的一先前数据被写入的实体页面的地址,其中该替换实体区块是提取自该闲置区并且映射该特定逻辑页面所属的逻辑区块。18.根据权利要求17所述的存储器储存装置,其中该存储器控制器还用以将该数据写入该特定实体页面的该数据位元区,在该特定实体页面的该冗余位元区的一第一记录区记录该先前数据被写入的实体页面的地址,以及在该特定实体页面的该冗余位元区一第二记录区记录该特定逻辑页面的地址。19.根据权利要求18所述的存储器储存装置,其中当该存储器储存装置被重新启动之后,该存储器控制器还用以在所有对应至该特定逻辑页面的实体页面中找出一第一实体页面,其中该第一实体页面相对应的实体页面地址未被记录于其他对应至该特定逻辑页面的实体页面中,并判定该特定逻辑页面的一有效数据写入在该第一实体页面。20.根据权利要求19所述的存储器储存装置,其中该存储器控制器还用以取得所有映射该特定逻辑页面所属的逻辑区块的实体区块,以及依据所取得的实体区块中的各实体页面的该冗余位元区所记录的内容,在所有对应至该特定逻辑页面的实体页面中,找出相对应的实体页面地址未被记录在其他实体页面的该冗余位元区的实体页面以作为该第一实体页面。21.根据权利要求19所述的存储器储存装置,其中该存储器控制器还用以在判定该特定逻辑页面的该有效数据写入在所找出的实体页面之后,将所有映射该特定逻辑页面所属的逻辑区块的实体区块整并为一新实体区块,并建立该特定逻辑页面所属的逻辑区块与该新实体区块的映射关系。22.根据权利要求17所述的存储器储存装置,其中该存储器控制器判断该特定逻辑页面是否曾被该主机系统写入,以在判定该特定逻辑页面曾被该主机系统写入时,在该特定实体页面记录上一次写入该特定逻辑页面的该先前数据被写入的实体页面的地址,若判定该特定逻辑页面未曾被该主机系统写入,该存储器控制器在该特定实体页面标注不存在该先前数据。23.根据权利要求17所述的存储器储存装置,其中该存储器控制器在该特定逻辑页面的地址符合一预设范围时,才在该特定实体页面记录该先前数据被写入的实体页面的地址。24.根据权利要求17所述的存储器储存装置,其中该存储器控制器还包括一缓冲存储器,用以记录一页面对应信息,其中该存储器控制器还用以根据该页面对应信息取得该先前数据被写入的实体页面的地址,并且在该特定实体页面记录该先前数据被写入的实体页面之后,将该页面对应信息更新为该特定实体页面的地址。25.根据权利要求17所述的存储器储存装置,其中该存储器控制器还用以在该替换实体区块的数量大于I时,根据该数据的数据量选择其中一个替换实体区块来写入该数据。全文摘要一种存储器储存装置、存储器控制器与有效数据识别方法,此装置的可复写式非易失性存储器芯片的各实体区块有多个实体页面。此方法包括配置多个逻辑区块以映射部分实体区块,各逻辑区块有多个逻辑页面。在接收主机系统欲写入特定逻辑页面的数据时,选择替换实体区块并将数据写入其中的特定实体页面,并在特定实体页面记录前次写入特定逻辑页面的先前数据被写入的实体页面地址。据此,能从对应至同一逻辑页面的数个实体页面中识别出最新的有效数据的储存地址。文档编号G06F12/02GK102890655SQ201110203479公开日2013年1月23日申请日期2011年7月20日优先权日2011年7月20日发明者赵伟程申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1