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

文档序号:12005526阅读:332来源:国知局
本发明是有关于一种数据写入方法,且特别是有关于用于可复写式非易失性存储器模块的数据写入方法及使用此方法的存储器控制器与存储器储存装置。
背景技术
:数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本型计算机。固态硬盘就是一种以闪存作为储存媒体的储存装置。因此,近年闪存产业成为电子产业中相当热门的一环。依据每个存储单元可储存的位数,与非(NAND)型闪存可区分为单阶储存单元(SingleLevelCell,SLC)NAND型闪存、多阶储存单元(MultiLevelCell,MLC)NAND型闪存与三阶储存单元(TrinaryLevelCell,TLC)NAND型闪存,其中SLCNAND型闪存的每个存储单元可储存1个位的数据(即,“1”与“0”),MLCNAND型闪存的每个存储单元可储存2个位的数据并且TLCNAND型闪存的每个存储单元可储存3个位的数据。在NAND型闪存中,物理页面是由排列在同一条字线上的数个存储单元所组成。由于SLCNAND型闪存的每个存储单元可储存1个位的数据,因此,在SLCNAND型闪存中,排列在同一条字线上的数个存储单元是对应一个物理页面。相对于SLCNAND型闪存来说,MLCNAND型闪存的每个存储单元的浮动门储存层可储存2个位的数据,其中每一个储存状态(即,“11”、“10”、“01”与“00”)包括最低有效位(LeastSignificantBit,LSB)以及最高有效位(MostSignificantBit,MSB)。例如,储存状态中从左侧算起的第1个位的值为LSB,而从左侧算起的第2个位的值为MSB。因此,排列在同一条字线上的数个存储单元可组成2个物理页面,其中由此些存储单元的LSB所组成的物理页面称为下物理页面(lowphysicalpage),并且由此些存储单元的MSB所组成的物理页面称为上物理页面(upperphysicalpage)。特别是,下物理页面的写入速度会快于上物理页面的写入速度,并且当编程上物理页面发生错误时,下物理页面所储存的数据亦可能因此遗失。类似地,在TLCNAND型闪存中,的每个存储单元可储存3个位的数据,其中每一个储存状态(即,“111”、“110”、“101”、“100”、“011”、“010”、“001”与“000”)包括每一个储存状态包括左侧算起的第1个位的LSB、从左侧算起的第2个位的中间有效位(CenterSignificantBit,CSB)以及从左侧算起的第3个位的MSB。因此,排列在同一条字线上的数个存储单元可组成3个物理页面,其中由此些存储单元的LSB所组成的物理页面称为下物理页面,由此些存储单元的CSB所组成的物理页面称为中物理页面,并且由此些存储单元的MSB所组成的物理页面称为上物理页面。特别是,对排列在同一条字线上的数个存储单元进行编程时,仅能选择仅编程下物理页面或者同时编程下物理页面、中物理页面与上物理页面,否则所储存的数据可能会遗失。基于上述,如何提升每一存储单元可储存多个位的闪存的可靠度与效能是本领域技术人员所致力的目标。技术实现要素:本发明提供一种数据写入方法、存储器控制器与存储器储存装置,其能够提升数据存取的效率及可靠度。本发明一范例实施例提出一种数据写入方法,用于一可复写式非易失性存储器模块,其中此可复写式非易失性存储器模块具有多个物理区块,每一物理区块具有依序排列的多个物理页面组,每一物理页面组具有一下物理页面与一上物理页面,写入数据至下物理页面的速度快于写入数据至上物理页面的速度。本数据写入方法包括:将此些物理区块至少分割(partition)为一数据区与一暂存区,并且根据数据区的物理区块来配置多个逻辑区块,其中每一逻辑区块具有多个逻辑页面。本数据写入方法还包括:接收一更新数据,其中此更新数据欲被写入至此些逻辑区块之中的第一逻辑区块。本数据写入方法还包括从暂存区的物理区块之中提取多个物理区块作为对应第一逻辑区块的暂存物理区块组的暂存物理区块;仅使用此暂存物理区块组的暂存物理区块的下物理页面来写入此更新数据;以及从暂存物理区块组的暂存物理区块中将第一逻辑区块的所有逻辑页面的有效数据搬移至数据区的物理区块之中的第一物理区块中,其中第一逻辑区块的所有逻辑页面的有效数据会依序地被写入至第一物理区块的每一物理页面组的下物理页面与上物理页面中并且第一物理区块的每一物理页面组的下物理页面与上物理页面会同时被编程。在本发明的一实施例中,上述的数据区的物理区块和暂存区的物理区块是彼此独立地被操作。在本发明的一实施例中,每一物理页面组的物理页面还包括一中物理页面,并且写入数据至下物理页面的速度快于写入数据至中物理页面的速度。并且,上述的从暂存区的物理区块之中提取物理区块作为对应第一逻辑区块的暂存物理区块组的暂存物理区块的步骤包括:从暂存区的物理区块之中提取3个物理区块作为对应第一逻辑区块的暂存物理区块组的第一暂存物理区块、第二暂存物理区块与第三暂存物理区块。在本发明的一实施例中,上述的仅使用暂存物理区块组的物理区块的下物理页面来写入更新数据的步骤包括:将更新数据之中的第一部分数据写入至第一暂存物理区块的下物理页面中;在将第一部分数据写入至第一暂存物理区块的下物理页面中之后,将更新数据之中的第二部分数据写入至第二暂存物理区块的下物理页面中;以及在将第二部分数据写入至第二暂存物理区块的下物理页面中之后,将更新数据之中的第三部分有效数据写入至第三暂存物理区块的下物理页面中。在本发明的一实施例中,上述的数据写入方法还包括:判断暂存区的物理区块之中未被使用的物理区块的数目是否小于一预设阈值;以及当暂存区的物理区块之中未被使用的物理区块的数目小于此预设阈值时,从暂存物理区块组中将第一逻辑区块的所有逻辑页面的有效数据搬移至第一物理区块中。在本发明的一实施例中,上述的数据写入方法还包括:在从暂存物理区块组中将第一逻辑区块的所有逻辑页面的有效数据搬移至第一物理区块中之前,对第一物理区块执行一抹除运作。在本发明的一实施例中,上述的数据写入方法还包括:在从暂存物理区块组中将第一逻辑区块的所有逻辑页面的有效数据搬移至第一物理区块中之后,将第一逻辑区块映射至第一物理区块并且对此暂存物理区块组的暂存物理区块执行一抹除运作。本发明一范例实施例提出一种存储器控制器,用于控制可复写式非易失性存储器模块,其中此可复写式非易失性存储器模块具有多个物理区块,每一物理区块具有依序排列的多个物理页面组,每一该些物理页面组具有一下物理页面与一上物理页面,并且写入数据至下物理页面的速度快于写入数据至上物理页面的速度。本存储器控制器包括主机系统、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块。存储器管理电路电性连接至主机接口与存储器接口,并且用以将此些物理区块至少分割(partition)为一数据区与一暂存区。此外,存储器管理电路还用以根该数据区的物理区块来配置多个逻辑区块,其中每一逻辑区块具有多个逻辑页面。另外,存储器管理电路还用以从主机系统接收一更新数据,其中此更新数据欲被写入至逻辑区块之中的第一逻辑区块。再者,存储器管理电路还用以从暂存区的物理区块之中提取多个物理区块作为对应第一逻辑区块的暂存物理区块组的多个暂存物理区块,并且仅使用暂存物理区块组的暂存物理区块的下物理页面来写入此更新数据。并且,存储器管理电路还用以从暂存物理区块组的暂存物理区块中将第一逻辑区块的所有逻辑页面的有效数据搬移至数据区的该些物理区块之中的第一物理区块中,其中第一逻辑区块的所有逻辑页面的有效数据会依序地被写入至第一物理区块的每一物理页面组的下物理页面与上物理页面中并且第一物理区块的每一物理页面组的下物理页面与上物理页面会同时被编程。在本发明的一实施例中,上述的存储器管理电路独立地操作数据区的物理区块和暂存区的物理区块。在本发明的一实施例中,每一物理页面组还具有一中物理页面,并且写入数据至下物理页面的速度快于写入数据至中物理页面的速度。此外,存储器管理电路从暂存区的物理区块之中提取3个物理区块作为对应第一逻辑区块的暂存物理区块组的一第一暂存物理区块、一第二暂存物理区块与一第三暂存物理区块。在本发明的一实施例中,上述的存储器管理电路将更新数据之中的第一部分数据写入至第一暂存物理区块的下物理页面中。此外,存储器管理电路在将第一部分数据写入至第一暂存物理区块的下物理页面中之后,将更新数据之中的第二部分数据写入至第二暂存物理区块的下物理页面中。再者,存储器管理电路在将第二部分数据写入至第二暂存物理区块的下物理页面中之后,将更新数据之中的第三部分数据写入至第三暂存物理区块的下物理页面中。在本发明的一实施例中,上述的存储器管理电路还用以判断暂存区的物理区块之中未被使用的物理区块的数目是否小于一预设阈值,其中当暂存区的物理区块之中未被使用的物理区块的数目小于预设阈值时,存储器管理电路从暂存物理区块组中将第一逻辑区块的所有逻辑页面的有效数据搬移至第一物理区块中。在本发明的一实施例中,上述的存储器管理电路还用以在从暂存物理区块组中将第一逻辑区块的所有逻辑页面的有效数据搬移至第一物理区块中之前,对第一物理区块执行抹除运作。在本发明的一实施例中,上述的存储器管理电路还用以在从暂存物理区块组中将第一逻辑区块的所有逻辑页面的有效数据搬移至第一物理区块中之后,将第一逻辑区块映射至第一物理区块并且对此暂存物理区块组的暂存物理区块执行抹除运作。本发明一范例实施例提出一种存储器储存装置,其包括连接器、可复写式非易失性存储器模块与存储器控制器。连接器用以电性连接至主机系统。可复写式非易失性存储器模块具有多个物理区块,每一物理区块具有依序排列的多个物理页面组,每一物理页面组具有一下物理页面与一上物理页面,并且写入数据至下物理页面的速度快于写入数据至上物理页面的速度。存储器控制器电性连接至连接器与可复写式非易失性存储器模块,并且用以将此些物理区块至少分割(partition)为一数据区与一暂存区。此外,存储器控制器还用以根该数据区的物理区块来配置多个逻辑区块,其中每一逻辑区块具有多个逻辑页面。另外,存储器控制器还用以从主机系统接收一更新数据,其中此更新数据欲被写入至逻辑区块之中的第一逻辑区块。再者,存储器控制器还用以从暂存区的物理区块之中提取多个物理区块作为对应第一逻辑区块的暂存物理区块组的多个暂存物理区块,并且仅使用暂存物理区块组的暂存物理区块的下物理页面来写入此更新数据。并且,存储器控制器还用以从暂存物理区块组的暂存物理区块中将第一逻辑区块的所有逻辑页面的有效数据搬移至数据区的该些物理区块之中的第一物理区块中,其中第一逻辑区块的所有逻辑页面的有效数据会依序地被写入至第一物理区块的每一物理页面组的下物理页面与上物理页面中并且第一物理区块的每一物理页面组的下物理页面与上物理页面会同时被编程。在本发明的一实施例中,上述的存储器控制器独立地操作数据区的物理区块和暂存区的物理区块。在本发明的一实施例中,每一物理页面组还具有一中物理页面,并且写入数据至下物理页面的速度快于写入数据至中物理页面的速度。此外,存储器控制器从暂存区的物理区块之中提取3个物理区块作为对应第一逻辑区块的暂存物理区块组的一第一暂存物理区块、一第二暂存物理区块与一第三暂存物理区块。在本发明的一实施例中,上述的存储器控制器将更新数据之中的第一部分数据写入至第一暂存物理区块的下物理页面中。此外,存储器控制器在将第一部分数据写入至第一暂存物理区块的下物理页面中之后,将更新数据之中的第二部分数据写入至第二暂存物理区块的下物理页面中。再者,存储器控制器在将第二部分数据写入至第二暂存物理区块的下物理页面中之后,将更新数据之中的第三部分数据写入至第三暂存物理区块的下物理页面中。在本发明的一实施例中,上述的存储器控制器还用以判断暂存区的物理区块之中未被使用的物理区块的数目是否小于一预设阈值,其中当暂存区的物理区块之中未被使用的物理区块的数目小于预设阈值时,存储器控制器从暂存物理区块组中将第一逻辑区块的所有逻辑页面的有效数据搬移至第一物理区块中。在本发明的一实施例中,上述的存储器控制器还用以在从暂存物理区块组中将第一逻辑区块的所有逻辑页面的有效数据搬移至第一物理区块中之前,对第一物理区块执行抹除运作。在本发明的一实施例中,上述的存储器控制器还用以在从暂存物理区块组中将第一逻辑区块的所有逻辑页面的有效数据搬移至第一物理区块中之后,将第一逻辑区块映射至第一物理区块并且对此暂存物理区块组的暂存物理区块执行抹除运作。基于上述,本发明范例实施例的数据写入方法、存储器控制器与存储器储存装置能够有效地提升储存数据的可靠度与速度。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。附图说明图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。图1B是根据本发明一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。图1C是根据本发明另一范例实施例所绘示的主机系统与存储器储存装置的示意图。图2是绘示图1A所示的存储器储存装置的概要方块图。图3A与图3B是根据本范例时实施例所绘示的存储单元储存架构与物理区块的范例示意图。图4是根据一范例实施例所绘示的存储器控制器的概要方块图。图5是根据一范例实施例所绘示管理可复写式非易失性存储器模块的物理区块的示意图。图6是根据一范例所绘示的写入数据的示意图。图7是根据一范例所绘示的数据合并程序的示意图。图8是根据另一范例所绘示的写入数据的示意图。图9是根据本发明范例实施例的数据写入方法所绘示的配置可复写式非易失性存储器模块的流程图。图10是根据本发明范例实施例的数据写入方法所绘示的将数据暂存至暂存区与执行数据合并的流程图。[主要元件标号说明]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:可复写式非易失性存储器模块302:存储器管理电路304:主机接口306:存储器接口308:缓冲存储器310:电源管理电路312:错误检查与校正电路502:取代区504:暂存区506:数据区410(0)~410(N):物理区块610(0)~610(H):逻辑区块S901、S903:配置可复写式非易失性存储器模块的步骤S1001、S1003、S1005、S1007、S1009、S1011、S1013:写入数据与执行数据合并程序的步骤具体实施方式一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。请参照图1A,主机系统1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(randomaccessmemory,RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其它装置。在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其它元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身盘1212、存储卡1214或固态硬盘(SolidStateDrive,SSD)1216等的可复写式非易失性存储器储存装置。一般而言,主机系统1000可实质地为可与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memorystick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。图2是绘示图1A所示的存储器储存装置的概要方块图。请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。在本范例实施例中,连接器102是相容于序列先进附件(SerialAdvancedTechnologyAttachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394标准、平行先进附件(ParallelAdvancedTechnologyAttachment,PATA)标准、高速外围零件连接接口(PeripheralComponentInterconnectExpress,PCIExpress)标准、通用序列总线(UniversalSerialBus,USB)标准、安全数字(SecureDigital,SD)接口标准、存储棒(MemoryStick,MS)接口标准、多媒体储存卡(MultiMediaCard,MMC)接口标准、小型快闪(CompactFlash,CF)接口标准、集成式驱动电子接口(IntegratedDeviceElectronics,IDE)标准或其它适合的标准。存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取、抹除与合并等运作。可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且具有多个物理区块以储存主机系统1000所写入的数据。在本范例实施例中,每一物理区块分别具有多个物理页面组并且每一物理页面组包括由位于同一条字线的存储单元所构成的至少一个物理页面,其中属于同一个物理区块的物理页面必须被同时地抹除。更详细来说,物理区块为抹除的最小单位。亦即,每一物理区块含有最小数目的一并被抹除的存储单元。每一物理页面通常包括数据位区与冗余位区。数据位区用以储存使用者的数据,而冗余位区用以储存系统的数据(例如,错误检查与校正码)。在本范例实施例中,每一物理区块是由258个物理页面所组成,并且每一物理页面的容量为8千字节(Kilobyte,KB)。然而,必须了解的是,本发明不限于此。在本范例实施例中,可复写式非易失性存储器模块106为一三阶储存单元(TrinaryLevelCell,TLC)NAND型闪存模块。然而,必须了解的是,可复写式非易失性存储器模块106并非限于TLCNAND型闪存模块。在本发明另一范例实施例中,可复写式非易失性存储器模块106亦可是其它具有相同特性的存储器模块。图3A与图3B是根据本范例时实施例所绘示的存储单元储存架构与物理区块的范例示意图。请参照图3A,可复写式非易失性存储器模块106的每个存储单元的储存状态可被识别为“111”、“110”、“101”、“100”、“011”、“010”、“001”或“000”(如图3A所示),其中左侧算起的第1个位为LSB、从左侧算起的第2个位为CSB以及从左侧算起的第3个位为MSB。此外,排列在同一条字线上的数个存储单元可组成3个物理页面,其中由此些存储单元的LSB所组成的物理页面称为下物理页面,由此些存储单元的CSB所组成的物理页面称为中物理页面,并且由此些存储单元的MSB所组成的物理页面称为上物理页面。请参照图3B,一个物理区块是由多个物理页面组所组成,其中每个物理页面组包括由排列在同一条字线上的数个存储单元所组成的下物理页面、中物理页面与上物理页面。例如,在物理区块中,属于下物理页面的第0个物理页面、属于中物理页面页面的第1个物理页面和属于上物理页面的第2个物理页面会被视为一个物理页面组。类似地,第3、4、5个物理页面会被视为一个物理页面组,并且以此类堆其它物理页面亦是依据此方式被区分为多个物理页面组。图4是根据一范例实施例所绘示的存储器控制器的概要方块图。必须了解的是,图4所绘示的存储器控制器仅为一个范例,本发明不限于此。请参照图4,存储器控制器104包括存储器管理电路302、主机接口304、存储器接口306、缓冲存储器308、电源管理电路310、错误检查与校正电路312。存储器管理电路302用以控制存储器控制器104的整体运作。具体来说,存储器管理电路302具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。在本范例实施例中,存储器管理电路302的控制指令是以固件型式来实作。例如,存储器管理电路302具有微处理器单元(未绘示)与只读存储器(未绘示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。在本发明另一范例实施例中,存储器管理电路302的控制指令亦可以程序码型式储存于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路302具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模块106中的控制指令加载至存储器管理电路302的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。此外,在本发明另一范例实施例中,存储器管理电路302的控制指令亦可以一硬件型式来实作。例如,存储器管理电路302包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块106的物理区块;存储器写入单元用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取单元用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除单元用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。主机接口304是电性连接至存储器管理电路302并且用以接收与识别主机系统1000所传送的指令与数据。在本范例实施例中,主机接口304是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口304亦可以是兼容于PATA标准、IEEE1394标准、PCIExpress标准、USB标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其它适合的数据传输标准。存储器接口306是电性连接至存储器管理电路302并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口306转换为可复写式非易失性存储器模块106所能接受的格式。缓冲存储器308是电性连接至存储器管理电路302并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。例如,缓冲存储器302可以是静态随机存取存储器、动态随机存取存储器等。电源管理电路310是电性连接至存储器管理电路302并且用以控制存储器储存装置100的电源。错误检查与校正电路312是电性连接至存储器管理电路302并且用以执行一错误校正程序以确保数据的正确性。具体来说,当主机接口304从主机系统1000中接收到主机写入指令时,错误检查与校正电路会为对应此主机写入指令的写入数据(亦称为更新数据)产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode),并且存储器管理电路302会将此更新数据与对应的错误校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路302从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误校正码,并且错误检查与校正电路312会依据此错误校正码对所读取的数据执行错误校正程序。图5是根据一范例实施例所绘示管理可复写式非易失性存储器模块的物理区块的示意图。请参照图5,可复写式非易失性存储器模块106具有物理区块410(0)~410(N),并且存储器控制器104的存储器管理电路302会将物理区块410(0)~410(N)分割(partition)为取代区(replacementarea)502、暂存区(sparearea)504与数据区(dataarea)506。取代区502的物理区块是用于坏物理区块取代程序,以取代损坏的物理区块。具体来说,倘若取代区502中仍存有正常的物理区块并且数据区506或暂存区504的物理区块损坏时,存储器管理电路302会从取代区502中提取正常的物理区块来取代损坏的物理区块。暂存区504的物理区块是用于暂存主机系统1000所写入的数据。详细的写入方法,将配合图示说明如后。值得一提的是,在本范例实施例中,存储器管理电路302是使用单页模式来操作暂存区504的物理区块。具体来说,在单页模式中,仅下物理页面会被用来储存数据。也就是说,在单页模式中,存储器管理电路302仅会对下物理页面进行数据的写入、读取、抹除等运作。数据区506的物理区块是用于储存主机系统1000所写入的数据。具体来说,存储器管理电路302会将主机系统1000所存取的逻辑存取地址转换为对应的逻辑区块与对应的逻辑页面并且将此逻辑区块的逻辑页面映射至数据区的物理区块的物理页面。也就是说,数据区506的物理区块是被视为已被使用的物理区块(例如,已储存主机系统所写入的数据)。例如,存储器管理电路302会使用逻辑区块-物理区块映射表(logicalblock-physicalblockmappingtable)来记载逻辑区块与数据区506的物理区块之间的映射关系,其中逻辑区块中的逻辑页面可依序地对应所映射的物理区块的物理页面。例如,在本范例实施例中,逻辑区块610(0)~610(H)会被配置以映射数据区506的物理区块,其中一个逻辑区块的容量等于一个物理区块的容量并且数据区506的物理区块的数量必须大于或等于逻辑区块的数量。也就是说,在数据区506的物理区块的数量会攸关存储器储存装置100的容量。在本范例实施例中,逻辑区块610(0)~610(H)的数量是等于数据区506的物理区块。在本范例实施例中,存储器管理电路302是使用多页模式来操作数据区506的物理区块。具体来说,在多页模式中,下物理页面、中物理页面与上物理页面皆会被用来储存数据,并且在将数据写入至数据区506的物理区块时同一个物理页面组的物理页面皆会被编程。也就是说,当使用多页模式来写入数据时,存储器管理电路302会对一个物理页面组的下物理页面、中物理页面与上物理页面执行编程。值得一提的,在一范例实施例中,使用多页模式来操作数据区506的物理区块时,同一个物理页面组的物理页面会同时地或阶段性地被编程。再者,相较于以单页模式来操作的物理区块,以多页模式来操作的物理区块的使用寿命较短。具体来说,每个物理区块能够被写入或抹除的次数是有限的,当一个物理区块被写入的次数超过一临界值时,此物理区块能就会损坏而无法在被写入数据,其中对应以多页模式来操作的物理区块的临界值会低于对应以单页模式来操作的物理区块的临界值。如上所述,暂存区504的物理区块与数据区506的物理区块是通过使用不同的模式来操作,因此,当一个物理区块被划分至暂存区504或数据区506后,此物理区块将仅能用于特定分割区。也就是说,存储器管理电路302会独立地操作数据区506的物理区块和暂存区504的物理区块,而不会混用此些物理区块。例如,当一个物理区块被划分至暂存区504后,存储器管理电路302会以单页模式于暂存区504中操作此物理区块,直到此物理区块损坏为止;或者当一个物理区块被划分至数据区506后,存储器管理电路302会以多页模式于数据区506中操作此物理区块,直到此物理区块不再属于数据区506。图6是根据一范例所绘示的写入数据的示意图。请参照图6,当存储器储存装置100从主机系统1000中接收到将更新数据储存至逻辑区块610(0)的第0~257个逻辑页面的写入指令时,存储器管理电路302会从暂存区504中提取物理区块410(R+1)~410(R+3)作为对应逻辑区块610(0)的暂存物理区块组的第一至第三暂存物理区块来写入属于逻辑区块610(0)的更新数据。具体来说,由于暂存区504的物理区块仅能以单页模式来编程,因此,3个暂存物理区块的容量才能够储存一个逻辑区块的所有逻辑页面的数据。之后,在一范例实施例中,存储器管理电路302会将欲储存至逻辑区块610(0)的第0~85个逻辑页面的更新数据(亦称为第一部分数据)依序地写入至第一暂存物理区块410(R+1)的下物理页面、将欲储存至逻辑区块610(0)的第86~171个逻辑页面的更新数据(亦称为第二部分数据)依序地写入至第二暂存物理区块410(R+2)的下物理页面以及将欲储存至逻辑区块610(0)的第172~257个逻辑页面的更新数据(亦称为第三部分数据)依序地写入至第三暂存物理区块410(R+3)的下物理页面中。值得一提的是,当连续地写入大量数据时,上述依据第一暂存物理区块、第二暂存物理区块与第三暂存物理区块的页面顺序来写入数据可利用快取编程(cacheprogramming)指令可有效地提升写入数据的速度。在另一范例实施例中,存储器管理电路302会将欲储存至逻辑区块610(0)的各个逻辑页面的更新数据经过再整理或排列后,再同时写入至第一暂存物理区块410(R+1)的下物理页面、第二暂存物理区块410(R+2)的下物理页面以及第三暂存物理区块410(R+3)的下物理页面中。在本范例实施例中,当将主机系统1000欲储存的更新数据写入至暂存区504后,存储器管理电路302就会传送通知已完成指令的回复(Response)给主机系统1000。并且,之后,当存储器储存装置100属于闲置状态一段时间(例如,30秒未从主机系统1000中接收到任何指令)或者暂存区504空的物理区块的数目小于预设阈值时,存储器管理电路302才会从暂存区504中将属于同一个逻辑区块的有效数据搬移至数据区506。例如,预设阈值会被设定为3。然而,必须了解的是,本发明不限于此,预设阈值亦可以是其它适当的数值。在此,从暂存区504中将属于同一个逻辑区块的有效数据搬移至数据区506的运作称为数据合并运作。图7是根据一范例所绘示的数据合并程序的示意图。假设暂存区504的暂存物理区块410(R+1)~410(R+3)已储存逻辑区块610(0)的所有逻辑页面的有效数据(如图6所示)并且存储器管理电路302选择对逻辑区块610(0)进行数据合并运作。请参照图7,首先,存储器管理电路302会从数据区504中提取一个物理区块410(T+1)。具体来说,存储器管理电路302会从数据区504中选择一个空的物理区块或者所储存的数据为无效数据的物理区块。特别是,倘若所提取的物理区块是储存无效数据的物理区块时,存储器管理电路302会先对此物理区块执行抹除运作。也就是说,物理区块上的无效数据必须先被抹除。之后,存储器管理电路302会从第一暂存物理区块410(R+1)的下物理页面中将属于逻辑区块610(0)的第0~85逻辑页面的有效数据搬移至物理区块410(T+1)的对应页面(例如,第0~85物理页面)。接着,存储器管理电路302会从第二暂存物理区块410(R+2)的下物理页面中将属于逻辑区块610(0)的第86~171逻辑页面的有效数据搬移至物理区块410(T+1)的对应页面(例如,第86~171物理页面)。然后,存储器管理电路302会从第三暂存物理区块410(R+3)的下物理页面中将属于逻辑区块610(0)的第172~257逻辑页面的有效数据搬移至物理区块410(T+1)的对应页面(例如,第172~257物理页面)。值得一提的是,如上所述,数据区506的物理区块是以多页模式来操作,因此,写入至物理区块410(T+1)是以物理页面组为单位来同时或阶段性地编程。具体来说,在一范例实施例中,物理区块410(T+1)的第0、1、2个物理页面会同时地被编程以写入属于逻辑区块610(0)的第0、1、2个逻辑页面的数据;物理区块410(T+1)的第3、4、5个物理页面会同时地被编程以写入属于逻辑区块610(0)的第3、4、5个逻辑页面的数据;并且以此类推其它逻辑页面的数据皆是以物理页面组为单位被写入至物理区块410(T+1)中。最后,存储器管理电路302会在逻辑区块-物理区块映射表中将逻辑区块610(0)映射至物理区块410(T+1)并且对暂存物理区块410(R+1)~410(R+3)执行抹除运作。也就是说,在执行下一个写入指令时,已被抹除的物理区块410(R+1)~410(R+3)就可再被选择作为欲写入的逻辑区块的暂存物理区块。图8是根据另一范例所绘示的写入数据的示意图。请参照图8,假设数据区506的物理区块410(T+1)已储存有属于逻辑区块610(0)的所有逻辑页面的数据并且主机系统1000欲更新逻辑区块610(0)的第3~5个逻辑页面中的数据时,同样地,存储器管理电路302会从暂存区504中提取3个物理区块作为对应逻辑区块610(0)的第一至第三暂存物理区块(例如,物理区块410(R+1)~410(R+3))来写入属于逻辑区块610(0)的数据。之后,存储器管理电路302会从物理区块410(T+1)的第0~2物理页面中将未被更新的数据(即,属于逻辑区块610(0)的第0~2个逻辑页面的数据,且亦称为有效数据)依序地复制到第一暂存物理区块410(R+1)的下物理页面(即,第0、3、6个物理页面)。然后,存储器管理电路302会将欲储存至逻辑区块610(0)的第3~5个逻辑页面的数据依序地写入至第一暂存物理区块410(R+1)的下物理页面(即,第9、12、15个物理页面)。特别是,在将逻辑区块610(0)的第3~5个逻辑页面的数据写入至暂存区504之后,存储器管理电路302就会传送通知已完成指令的回复给主机系统1000,而不会继续复制其它有效数据。更详细来说,由于其它有效数据有可能在下个操作(例如,写入指令)中变成无效,因此立刻将其它有效数据搬移至暂存区504可能会造成无谓的搬移。之后,倘若欲储存属于另一个逻辑区块的数据至暂存区504并且暂存区504无足够空的物理区块(例如,暂存区504的空的物理区块数目小于预设阈值)时,存储器管理电路302才会从物理区块410(T+1)的第6~257物理页面中将有效数据依序地复制到暂存物理区块410(R+1)~410(R+3)的下物理页面然后执行数据合并程序。在本范例实施例中,当一个逻辑区块的数据被暂存至暂存区504且尚未被搬移至数据区506时,此逻辑区块称为已更新逻辑区块。特别是,当主机系统1000欲读取已更新逻辑区块中的数据时,存储器管理电路302会判断暂存区504中是否存有主机系统1000欲读取的逻辑页面。当暂存区504中存有主机系统1000欲读取的逻辑页面的数据时,存储器管理电路302会从暂存区504的对应暂存物理区块中读取此数据并且将所读取的数据传送给主机系统1000。倘若暂存区504中无存有主机系统1000欲读取的逻辑页面的数据时,存储器管理电路302会从数据区506的对应物理区块中读取此数据并且将所读取的数据传送给主机系统1000。也就是说,更新数据皆会先被暂存至暂存区504,因此,暂存区504所储存的数据必然是最新的数据。特别是,倘若存储器储存装置100发生异常断电时,存储器管理电路302亦可根据物理区块是属于暂存区504或数据区506而识别所储存的数据的是否为最新的数据。图9是根据本发明范例实施例的数据写入方法所绘示的配置可复写式非易失性存储器模块的流程图。请参照图9,在步骤S901中,存储器管理电路302会将可复写式非易失性存储器模块的物理区块至少分割(partition)为数据区与暂存区。例如,可复写式非易失性存储器模块的物理区块会被分割为取代区502、暂存区504与数据区506。特别是,暂存区504的物理区块与数据区506的物理区块会被独立地操作,其中暂存区504的物理区块是以单页模式来存取并且数据区506的物理区块是以多页模式来存取。在步骤S903中,存储器管理电路302会根据所分割的数据区的物理区块配置多个逻辑区块,以对应主机系统1000所存取的逻辑存取地址。具体来说,逻辑区块的数目会根据所分割的数据区506的物理区块的数目来决定。例如,在一范例实施例中,逻辑区块的数目是等于物理区块的数目,或者在另一范例实施例中,逻辑区块的数目亦可以小于物理区块的数目。图10是根据本发明范例实施例的数据写入方法所绘示的将数据暂存至暂存区与执行数据合并的流程图。请参照图10,在步骤S1001中,存储器管理电路302会从主机系统1000中接收欲储存至一个逻辑区块(以下称为第一逻辑区块)的更新数据。在步骤S1003中,存储器管理电路302会判断暂存区504中未被使用的物理区块的数目是否小于预设阈值。倘若暂存区504中未被使用的物理区块的数目非小于预设阈值时,在步骤S1005中,存储器管理电路302会从暂存区504中选择多个空的物理区块作为对应第一逻辑区块的暂存物理区块组的暂存物理区块。例如,在本范例实施例中,可复写式非易失性存储器模块为TLCNAND型闪存模块,存储器管理电路302会从暂存区504中选择3个物理区块作为对应第一逻辑区块的第一暂存物理区块、第二暂存物理区块与第三暂存物理区块。必须了解的是,本发明不限于此,在可复写式非易失性存储器模块为MLCNAND型闪存模块的例子中,存储器管理电路302会从暂存区504中选择2个物理区块作为对应第一逻辑区块的第一暂存物理区块与第二暂存物理区块。然后,在步骤S1007中,存储器管理电路302会依序地使用对应第一逻辑区块的暂存物理区块组的暂存物理区块的下物理页面来写入更新数据。写入更新数据至暂存物理区块的下物理页面的方法已配合图6与图8详细描述如上,在此不再重复说明。倘若在暂存区504中未被使用的物理区块的数目小于预设阈值时,在步骤S1009中,存储器管理电路302会从数据区504中选择一个物理区块(以下称为第一物理区块)。然后,在步骤S1011中,存储器管理电路302将属于同一个逻辑区块的有效数据从对应此逻辑区块的暂存物理区块组中搬移至第一物理区块。值得一提的是,倘若第一物理区块储存有无效数据时,在执行步骤S1011之前,存储器管理电路302会对第一物理区块执行抹除运作。之后,在步骤S1013中,存储器管理电路302会对已完成数据搬移的暂存物理区块组的暂存物理区块执行抹除运作。也就是说,在步骤S1009、步骤S1011与步骤S1013中,存储器管理电路302会选择其中一个已更新逻辑区块(例如,上述第一逻辑区块)来执行数据合并程序以释放已被使用的暂存物理区块,之后,步骤S1005才可继续被执行。综上所述,在本发明范例实施例,主机系统欲写入的数据会先暂存至以单页模式操作的暂存区,因此,根据本范例实施例的数据写入方法、存储器控制器与存储器储存装置能够有效地提升写入数据的速度。此外,由于欲写入的数据是先暂存在暂存区中,并且,之后再以物理页面组(即,由位于同一条字线的多个存储单元所组成的下物理页面、中物理页面与上物理页面)为单位编程至数据区的物理区块,因此,可有效地提升储存数据的可靠度。特别是,倘若主机系统持续地对同一个逻辑区块重复执行写入时,由于数据是在暂存区中被更新,因此,根据本范例实施例的数据写入方法、存储器控制器与存储器储存装置能够有效地减少数据区的物理区块的磨损。虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属
技术领域
中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1