数据合并方法、控制器与储存装置的制作方法

文档序号:6357524阅读:162来源:国知局

专利名称::数据合并方法、控制器与储存装置的制作方法
技术领域
:本发明涉及一种用于可复写式非挥发性存储器模块的数据合并方法及使用此方法的存储器控制器与存储器储存装置。
背景技术
:数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非挥发性存储器(rewritablenon-volatilememory)具有数据非挥发性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记型电脑。固态硬盘就是一种以快闪存储器模块作为储存媒体的储存装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。快闪存储器模块具有多个实体区块(physicalblock),且每一实体区块具有多个实体页面(physicalpage),其中在实体区块中写入数据时必须依据实体页面的顺序依序地写入数据。此外,已被写入数据的实体页面必需先被擦除后才能再次用于写入数据。特别是,实体区块为擦除的最小单位,并且实体页面为程式化(亦称写入)的最小单元。因此,一般来说,在快闪存储器模块的管理中,实体区块至少会被区分为数据区(dataarea)与闲置区(freearea)。数据区的实体区块(亦称为数据实体区块)是用以储存主机系统所储存的数据。具体来说,存储器管理电路会将主机系统所存取的逻辑存取位址转换为逻辑区块的逻辑页面并且将逻辑区块的逻辑页面映射至数据区的实体区块的实体页面。也就是说,在快闪存储器模块的管理中,数据区的实体区块是被视为已被使用的实体区块(例如,已储存主机系统所写入的数据)。例如,存储器管理电路会使用逻辑区块-实体区块映射表来记载逻辑区块与数据区的实体区块之间的映射关系,其中逻辑区块中的逻辑页面是依序的对应所映射的实体区块的实体页面。闲置区的实体区块(亦称为闲置实体区块)是用以轮替数据区中的实体区块。具体来说,如上所述,已写入数据的实体区块必须被擦除后才可再次用于写入数据,而闲置区的实体区块是被设计用于写入更新数据以替换原先映射逻辑区块的实体区块。基此,在闲置区中的实体区块为空或可使用的实体区块,即无记录数据或标记为已没用的无效数据。也就是说,数据区与闲置区的实体区块的实体页面是以轮替方式来映射逻辑区块的逻辑页面,以储存主机系统所写入的数据。例如,当主机系统欲写入更新页面数据的逻辑存取位址是对应储存装置的某一逻辑区块的某一逻辑页面时,储存装置的存储器管理电路会从闲置区中提取一个实体区块作为对应此逻辑区块的日志(log)实体区块,并且将此更新数据写入至此日志实体区块的实体页面中,由此缩短执行写入指令的时间。之后,当闲置区的实体区块快耗尽时,存储器管理电路会对此逻辑区块执行数据合并(Merge)程序。例如,在数据合并程序中,存储器管理电路会从闲置区中提取一个实体区块作为新数据实体区块,将属于此逻辑区块的所有最新页面数据写入至此新数据实体区块中并且将此逻辑区块重新映射至此实体区块。如上所述,在数据合并程序中,存储器管理电路必须将属于同一个逻辑区块的所有数据搬移(即,复制)至空的实体区块中,由此,执行数据合并程序会相当耗时并影响快闪存储器储存装置的存取效能。因此,缩短执行数据合并程序所需的时间,是此领域技术人员所致力的目标。
发明内容本发明提供一种数据合并方法、存储器控制器与存储器储存装置,其能够有效缩短执行数据合并程序所需的时间。本发明范例实施例提出一种数据合并方法,用于在可复写式非挥发性记忆模块中合并属于第一逻辑区块的数据,其中此可复写式非挥发性存储器模块具有多个实体区块,每一实体区块具有依序排列的多个实体页面,这些实体区块至少被分组为数据区与闲置区,数据区的实体区块映射多个逻辑区块,每一逻辑区块具有多个逻辑页面,上述第一逻辑区块为这些逻辑区块的其中之一,并且第一逻辑区块映射数据区的实体区块之中的第一实体区块。本数据合并方法包括从闲置区的实体区块中选择第二实体区块并且判断对应第一逻辑区块的有效逻辑页面数是否小于预先定义数目。本数据合并方法也包括,当对应第一逻辑区块的有效逻辑页面数小于预先定义数目时,在第二实体区块的启始实体页面中储存逻辑页面转实体页面映射表并且将属于第一逻辑区块的至少一有效页面数据写入至第二实体区块的至少一实体页面中。本数据合并方法还包括将第一逻辑区块重新映射至第二实体区块。在此,上述有效页面数据属于第一逻辑区块的至少一有效逻辑页面,逻辑页面转实体页面映射表记录第一逻辑区块的有效逻辑页面与用以写入有效页面数据的实体页面之间的映射关系。在本发明的一实施例中,上述的将属于第一逻辑区块的有效页面数据写入至第二实体区块的部分实体页面中的步骤包括接续于上述启始实体页面,将属于第一逻辑区块的有效页面数据写入至第二实体区块的实体页面中。在本发明的一实施例中,上述的数据合并方法还包括在将属于第一逻辑区块的有效页面数据写入至第二实体区块的实体页面中之后,在逻辑区块-实体区块映射表中标记映射第一逻辑区块的第二实体区块的储存状态为部分有效状态。在本发明的一实施例中,上述的数据合并方法还包括根据至少一整理指令识别第一逻辑区块的逻辑页面之中的至少一无效逻辑页面。在本发明的一实施例中,上述的数据合并方法还包括,当对应第一逻辑区块的有效逻辑页面数不小于预先定义数目时,将属于第一逻辑区块的多笔页面数据依序地写入至第二实体区块的实体页面中。在本发明的一实施例中,上述的数据合并方法还包括,当对应第一逻辑区块的有效逻辑页面数小于预先定义数目时,在第二实体区块的启始实体页面中储存实体页面转逻辑页面映射表,其中此实体页面转逻辑页面映射表记录用以写入有效页面数据的实体页面与第一逻辑区块的有效逻辑页面之间的映射关系。本发明范例实施例提出一种存储器控制器,用于控制可复写式非挥发性存储器模块,其中此可复写式非挥发性存储器模块具有多个实体区块,并且每一实体区块具有依序排列的多个实体页面。本存储器控制器包括主机界面、存储器界面与存储器管理电路。主机界面用以电性连接至主机系统。存储器界面用以电性连接至可复写式非挥发性存储器模块。存储器管理电路电性连接至主机界面与存储器界面,并且用以在可复写式非挥发性记忆模块中合并属于第一逻辑区块的数据。在此,存储器管理电路将这些实体区块至少分组为数据区与闲置区,并且配置多个逻辑区块以映射数据区的实体区块,其中每一逻辑区块具有多个逻辑页面,上述第一逻辑区块为这些逻辑区块的其中之一,并且第一逻辑区块映射数据区中的第一实体区块。此外,存储器管理电路从闲置区的实体区块中选择第二实体区块,并且判断对应第一逻辑区块的有效逻辑页面数是否小于预先定义数目。当对应第一逻辑区块的该有效逻辑页面数小于预先定义数目时,存储器管理电路在第二实体区块的启始实体页面中储存逻辑页面转实体页面映射表并且将属于第一逻辑区块的至少一有效页面数据写入至第二实体区块的至少一实体页面中。再者,存储器管理电路将第一逻辑区块重新映射至第二实体区块,其中上述有效页面数据属于第一逻辑区块的逻辑页面之中的至少一有效逻辑页面,并且逻辑页面转实体页面映射表记录第一逻辑区块的有效逻辑页面与用以写入有效页面数据的实体页面之间的映射关系。在本发明的一实施例中,上述的存储器管理电路,接续于启始实体页面,将属于第一逻辑区块的有效页面数据写入至第二实体区块的实体页面中。在本发明的一实施例中,在将属于第一逻辑区块的有效页面数据写入至第二实体区块的实体页面中之后,存储器管理电路在逻辑区块-实体区块映射表中标记映射第一逻辑区块的第二实体区块的储存状态为部分有效状态。在本发明的一实施例中,上述的存储器管理电路根据来自于主机系统的至少一整理指令识别第一逻辑区块的逻辑页面之中的至少一无效逻辑页面。在本发明的一实施例中,当对应第一逻辑区块的有效逻辑页面数不小于预先定义数目时,存储器管理电路将属于第一逻辑区块的多笔页面数据依序地写入至第二实体区块的实体页面中。在本发明的一实施例中,当对应第一逻辑区块的有效逻辑页面数小于预先定义数目时,存储器管理电路更在第二实体区块的启始实体页面中储存实体页面转逻辑页面映射表,其中此实体页面转逻辑页面映射表记录用以写入有效页面数据的实体页面与第一逻辑区块的有效逻辑页面之间的映射关系。本发明范例实施例提出一种存储器储存装置,其包连接器、可复写式非挥发性存储器模块与存储器控制器。连接器用以电性连接至主机系统。可复写式非挥发性存储器模块具有多个实体区块,其中每一实体区块具有依序排列的多个实体页面。存储器控制器电性连接至连接器与可复写式非挥发性存储器模块,并且用以在可复写式非挥发性记忆模块中合并属于第一逻辑区块的数据。在此,存储器控制器将这些实体区块至少分组为数据区与闲置区,并且配置多个逻辑区块以映射数据区的实体区块,其中每一逻辑区块具有多个逻辑页面,上述第一逻辑区块为这些逻辑区块的其中之一,并且第一逻辑区块映射数据区中的第一实体区块。此外,存储器控制器从闲置区的实体区块中选择第二实体区块,并且判断对应第一逻辑区块的有效逻辑页面数是否小于预先定义数目。当对应第一逻辑区块的有效逻辑页面数小于预先定义数目时,存储器控制器在第二实体区块的启始实体页面中储存逻辑页面转实体页面映射表并且将属于第一逻辑区块的至少一有效页面数据写入至第二实体区块的至少一实体页面中。再者,存储器控制器将第一逻辑区块重新映射至第二实体区块,其中上述有效页面数据属于第一逻辑区块的逻辑页面之中的至少一有效逻辑页面,并且逻辑页面转实体页面映射表记录第一逻辑区块的有效逻辑页面与用以写入有效页面数据的实体页面之间的多个映射关系。在本发明的一实施例中,上述的存储器控制器,接续于启始实体页面,将属于第一逻辑区块的有效页面数据写入至第二实体区块的至少一实体页面中。在本发明的一实施例中,上述的其中在将属于第一逻辑区块的有效页面数据写入至第二实体区块的实体页面中之后,存储器控制器在逻辑区块-实体区块映射表中标记映射第一逻辑区块的第二实体区块的储存状态为部分有效状态。在本发明的一实施例中,上述的存储器控制器根据来自于主机系统的至少一整理指令识别第一逻辑区块的逻辑页面之中的至少一无效逻辑页面。在本发明的一实施例中,当对应第一逻辑区块的有效逻辑页面数不小于预先定义数目时,存储器控制器将属于第一逻辑区块的多笔页面数据依序地写入至第二实体区块的实体页面中。在本发明的一实施例中,当对应第一逻辑区块的有效逻辑页面数小于预先定义数目时,存储器控制器更在第二实体区块的启始实体页面中储存实体页面转逻辑页面映射表,其中此实体页面转逻辑页面映射表记录用以写入有效页面数据的实体页面与第一逻辑区块的有效逻辑页面之间的映射关系。基于上述,本发明范例实施例的数据合并方法、存储器控制器与存储器储存装使能够有效地缩短执行数据合并程序的时间。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。图IA是根据本发明范例实施例显示主机系统与存储器储存装置。图IB是根据本发明范例实施例所显示的电脑、输入/输出装置与存储器储存装置的示意图。图IC是根据本发明另一范例实施例所显示的主机系统与存储器储存装置的示意图。图2是显示图IA所示的存储器储存装置的概要方框图。图3是根据本发明范例实施例所显示的存储器控制器的概要方框图。图4A与图4B是根据本发明范例实施例所显示管理可复写式非挥发性存储器模块的实体区块的示意图。图5图7是根据本发明范例实施例所显示的写入数据至可复写式非挥发性存储器模块的范例。图8是根据本发明范例实施例所显示的执行数据合并程序的范例。图9与图10是根据图8所示的状态所显示的逻辑页面转实体页面映射表与实体页面转逻辑页面映射表的范例。图11是根据另一范例所显示的实体页面转逻辑页面映射表。图12是根据本发明范例实施例所显示的执行数据合并程序的另一范例。图13是根据本发明范例实施例所显示的数据合并方法的流程图。附图标记1000:主机系统1100:电脑1102:微处理器1104:随机存取存储器1106:输入/输出装置1108:系统汇流排1110:数据传输界面1202:鼠标1204:键盘1206:显示器1208:印表机1212:随身碟1214:记忆卡1216:固态硬盘1310:数字相机1312SD卡1314:MMC卡1316:记忆棒1318:CF卡1320:嵌入式储存装置100:存储器储存装置102:连接器104:存储器控制器106:可复写式非挥发性存储器模块202:存储器管理电路204:主机界面206:存储器界面252:缓冲存储器254:电源管理电路256:错误检查与校正电路502:数据区504:闲置区、506:系统区508:取代区410(0)410(N):实体区块610(0)610(H):逻辑区块710(0)710(K):逻辑存取位址S1301、S1303、S1305、S1307、S1309、S1311、S1313:数据合并的步骤具体实施例方式一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非挥发性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。图IA是根据本发明范例实施例所显示的主机系统与存储器储存装置。请参照图1A,主机系统1000—般包括电脑1100与输入/输出(input/output,I/O)装置1106。电脑1100包括微处理器1102、随机存储器(randomaccessmemory,RAM)1104、系统汇流排1108与数据传输界面1110。输入/输出装置1106包括如图IB的鼠标1202、键盘1204、显示器1206与印表机1208。必须了解的是,图IB所示的装置非限制输A/输出装置1106,输入/输出装置1106可还包括其他装置。在本发明实施例中,存储器储存装置100是透过数据传输界面1110与主机系统1000的其他元件电性连接。藉由微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图IB所示的随身碟1212、记忆卡1214或固态硬盘(SolidStateDrive,SSD)1216等的可复写式非挥发性存储器储存装置。一般而言,主机系统1000可实质地为可与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数字相机、摄影机、通信装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,可复写式非挥发性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memorystick)1316、CF卡1318或嵌入式储存装置1320(如图IC所示)。嵌入式储存装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。图2是显示图IA所示的存储器储存装置的概要方框图。请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可复写式非挥发性存储器模块106。在本范例实施例中,连接器102是相容于串行先进附件(SerialAdvancedTechnologyAttachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394标准、高速周边零件连接界面(PeripheralComponentInterconnectExpress,PCIExpress)标准、通用串行总线(UniversalSerialBus,USB)标准、安全数字(SecureDigital,SD)界面标准、记忆棒(MemoryStick,MS)界面标准、多媒体储存卡(MultiMediaCard,MMC)界面标准、小型快闪(CompactFlash,CF)界面标准、集成驱动电子界面(IntegratedDeviceElectronics,IDE)标准或其他适合的标准。存储器控制器104用以执行以硬件形式或软件形式实现的多个逻辑闸或控制指令,并且根据主机系统1000的指令在可复写式非挥发性存储器模块106中进行数据的写入、读取、擦除与合并等运作。可复写式非挥发性存储器模块106是电性连接至存储器控制器104,并且具有多个实体区块以储存主机系统1000所写入的数据。在本范例实施例中,每一实体区块分别具有复数个实体页面,其中属于同一个实体区块的实体页面可被独立地写入且被同时地擦除。例如,每一实体区块是由128个实体页面所组成,并且每一实体页面的容量为4千字节(Kilobyte,KB)。然而,必须了解的是,本发明不限于此,每一实体区块是可由64个实体页面、256个实体页面或其他任意个实体页面所组成。更详细来说,实体区块为擦除的最小单位。亦即,每一实体区块含有最小数目之一并被擦除的记忆胞。实体页面为程式化的最小单元。即,实体页面为写入数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,写入数据的最小单位亦可以是实体扇区或其他大小。每一实体页面通常包括数据位元区与冗余位元区。数据位元区用以储存使用者的数据,而冗余位元区用以储存系统的数据(例如,错误检查与校正码)。在本范例实施例中,可复写式非挥发性存储器模块106为多阶记忆胞(MultiLevelCell,MLC)NAND快闪存储器模块。然而,本发明不限于此,可复写式非挥发性存储器模块106亦可是单阶记忆胞(SingleLevelCell,SLC)NAND快闪存储器模块、其他快闪存储器模块或其他具有相同特性的存储器模块。图3是根据本发明范例实施例所显示的存储器控制器的概要方框图。请参照图3,存储器控制器104包括存储器管理电路202、主机界面204与存储器界面206。存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,这些控制指令会被执行以根据本范例实施例的数据合并方法来整理可复写式非挥发性存储器模块106中的有效数据。在本范例实施例中,存储器管理电路202的控制指令是以软件型式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且这些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,这些控制指令会由微处理器单元来执行以进行数据的写入、读取与擦除等运作。在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程式码型式储存于可复写式非挥发性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码段,并且当存储器控制器104被使能时,微处理器单元会先执行此驱动码段来将储存于可复写式非挥发性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转这些控制指令以进行数据的写入、读取与擦除等运作。此外,在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以一硬件型式来实作。主机界面204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会透过主机界面204来传送至存储器管理电路202。在本范例实施例中,主机界面204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机界面204亦可以是相容于PATA标准、IEEE1394标准、PCIExpress标准、USB标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。存储器界面206是电性连接至存储器管理电路202并且用以存取可复写式非挥发性存储器模块106。也就是说,欲写入至可复写式非挥发性存储器模块106的数据会经由存储器界面206转换为可复写式非挥发性存储器模块106所能接受的格式。在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252。缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非挥发性存储器模块106的数据。在本发明一范例实施例中,存储器控制器104还包括电源管理电路254。电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。在本发明一范例实施例中,存储器控制器104还包括错误检查与校正电路256。错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非挥发性存储器模块106中。之后,当存储器管理电路202从可复写式非挥发性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。图4A与图4B是根据本发明范例实施例所显示管理可复写式非挥发性存储器模块的实体区块的示意图。请参照图4A,可复写式非挥发性存储器模块106具有实体区块410(0)410(N),并且存储器控制器104的存储器管理电路202会将实体区块410(0)410-(N)逻辑地分组为数据区(dataarea)502、闲置区(freearea)504、系统区(systemarea)506与取代区(replacementarea)508。逻辑上属于数据区502与闲置区504的实体区块是用以储存来自于主机系统1000的数据。具体来说,数据区502的实体区块(亦称为数据实体区块)是被视为已储存数据的实体区块,而闲置区504的实体区块(亦称为闲置实体区块)是用以写入新数据的实体区块。例如,当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路202会从闲置区504中提取实体区块作为日志(log)实体区块,并且将数据写入至此日志实体区块中。再例如,当对某一逻辑区块执行数据合并程序时,存储器管理电路202会从闲置区504中提取实体区块作为对应此逻辑区块的新数据实体区块来写入数据,并且替换原先映射此逻辑区块的数据实体区块。逻辑上属于系统区506的实体区块是用以记录系统数据。例如,系统数据包括关于可复写式非挥发性存储器模块的制造商与型号、可复写式非挥发性存储器模块的实体区块数、每一实体区块的实体页面数等。逻辑上属于取代区508中的实体区块是用于坏实体区块取代程序,以取代损坏的实体区块。具体来说,倘若取代区508中仍存有正常的实体区块并且数据区502的实体区块损坏时,存储器管理电路202会从取代区508中提取正常的实体区块来更换损坏的实体区块。基于上述,在存储器储存装置100的运作中,数据区502、闲置区504、系统区506与取代区508的实体区块会动态地变动。例如,用以轮替储存数据的实体区块会变动地属于数据区502或闲置区504。值得一提的是,在本范例实施例中,存储器管理电路202是以每一实体区块为单位来进行管理。然而,本发明不限于此,在另一范例实施例中,存储器管理电路202亦可将实体区块分组为多个实体单元,并且以实体单元为单位来进行管理。例如,每一实体单元可由同一存储器子模块或不同存储器子模块中的至少一个实体区块所组成。请参照图4B,存储器管理电路202会配置逻辑区块610(0)610(H)以映射数据区502的实体区块,其中每一逻辑区块具有多个逻辑页面并且这些逻辑页面是依序地映射对应的数据实体区块的实体页面。例如,在存储器储存装置100被格式化时,逻辑区块610(0)610(H)会初始地映射数据区502的实体区块410(0)410(F-I)。在本发明范例实施例中,存储器管理电路202会维护逻辑区块-实体区块映射表(logicalblock-physicalblockmappingtable)以记录逻辑区块610(0)610(H)与数据区502的实体区块之间的映射关系。此外,由于主机系统1000是以逻辑存取位址(例如,扇区(Sector))为单位来存取数据,当主机系统1000存取数据时存储器管理电路202会将对应存储器储存装置100的逻辑存取位址710(0)710(K)转换成对应的逻辑页面。例如,当主机系统1000欲存取某一逻辑存取位址时,存储器管理电路202会将主机系统1000所存取的逻辑存取位址转换为以对应的逻辑区块与逻辑页面所构成的多维位址,并且透过逻辑区块-实体区块映射表于对应的实体页面中存取数据。在本发明范例实施例中,存储器储存装置100被格式化时,存储器管理电路202会将初始地映射逻辑区块610(0)610(H)的所有实体区块的储存状态标记为“全部无效状态”。具体来说,如上所述,数据区502的实体区块会被视为已储存数据的实体区块。然而,实际上,在存储器储存装置100被格式化时,逻辑区块610(0)610(H)并未被使用来储存数据。因此,在初始地映射逻辑区块610(0)610(H)的所有实体区块的实体页面上的页面数据皆为无效页面数据。例如,存储器管理电路202会在逻辑区块-实体区块映射表中将逻辑区块所映射的实体区块的储存状态标记为“全部无效状态”,并且这些逻辑区块的逻辑页面会被标记为“无效逻辑页面”。经过上述初始化程序之后,存储器储存装置100就可接收主机系统1000的写入指令来写入数据。图5图7是根据本发明范例实施例所显示的写入数据至可复写式非挥发性存储器模块的范例。在此,假设逻辑区块所映射的实体区块的储存状态初始地皆为“全部无效状态”。请参照图5,当逻辑区块610(0)是映射至实体区块410(0)并且存储器控制器104从主机系统1000中接收到指示写入数据至逻辑区块610(0)的第24逻辑页面的写入指令时,存储器管理电路202会依据逻辑区块-实体区块映射表识别逻辑区块610(0)目前是映射至实体区块410(0)并且从闲置区504中提取(或选择)实体区块410(F)作为日志实体区块来写入属于逻辑区块610(0)的第24逻辑页面的有效页面数据。例如,存储器管理电路202会记录实体区块410(0)的第24实体页面中的数据已被更新并且更新的有效页面数据是储存于实体区块410(F)的第02实体页面中。在此,主机系统1000已对逻辑区块610(0)的第24逻辑页面写入数据,因此,存储器管理电路202会将逻辑区块610(0)的第24逻辑页面标记为“有效逻辑页面”。请参照图6,当在图5所示的状态下存储器控制器104从主机系统1000中接收到指示写入数据至逻辑区块610(0)的第6逻辑页面的写入指令时,存储器管理电路202会依据逻辑区块-实体区块映射表识别逻辑区块610(0)目前是映射至实体区块410(0)并且识别实体区块410(F)目前被用作为对应逻辑区块610(0)的日志实体区块。基此,存储器管理电路202会将属于逻辑区块610(0)的第6逻辑页面的有效页面数据依序地写入至实体区块410(F)。类似地,存储器管理电路202会记录实体区块410(0)的第6实体页面中的数据已被更新并且更新的有效页面数据是储存于实体区块410(F)的第3实体页面中。类似地,主机系统1000已对逻辑区块610(0)的第6逻辑页面写入数据,因此,存储器管理电路202会将逻辑区块610(0)的第6逻辑页面标记为“有效逻辑页面”。请参照图7,当在图6所示的状态下存储器控制器104从主机系统1000中接收到指示写入数据至逻辑区块610(0)的第0逻辑页面的写入指令时,存储器管理电路202会依据逻辑区块-实体区块映射表识别逻辑区块610(0)目前是映射至实体区块410(0)并且识别实体区块410(F)目前被用作为对应逻辑区块610(0)的日志实体区块。基此,存储器管理电路202会将属于逻辑区块610(0)的第0逻辑页面的有效页面数据依序地写入至实体区块410(F)。类似地,存储器管理电路202会记录实体区块410(0)的第0实体页面中的数据已被更新并且更新的有效页面数据是储存于实体区块410(F)的第4实体页面中。类似地,主机系统1000已对逻辑区块610(0)的第0逻辑页面写入数据,因此,存储器管理电路202会将逻辑区块610(0)的第0逻辑页面标记为“有效逻辑页面”。值得一提的是,在主机系统1000的作业系统的档案管理机制中,作业系统是透过档案配置表来管理储存于储存装置中的数据。特别是,在作业系统执行数据的删除运作的例子中,作业系统仅会于档案配置表中注记欲删除的逻辑存取位址中的数据已为无效,即完成删除数据的运作,而不会实际地将所储存的数据进行删除。之后,当作业系统欲在这些逻辑存取位址中写入数据时,作业系统会将数据直接写入。在本范例实施例中,存储器管理电路202会从主机系统1000中接收删除记录,其中此删除记录中会记载哪些逻辑存取位址中的数据已被删除的资讯。例如,在本范例实施例中,主机系统1000的作业系统为微软视窗作业系统7,并且微软视窗作业系统7是透过整理(trim)指令来传送删除记录,而主机界面206与存储器管理电路202可支援与识别此整理指令。在本范例实施例中,当接收到整理指令时,存储器管理电路202会根据整理(trim)指令将已被删除的逻辑页面标记为”无效逻辑页面”。基此,在本范例实施例中,当一个逻辑页面被标记为无效逻辑页面时,表示此逻辑页面未被主机系统1000写过或者储存于此逻辑页面上的数据已被主机系统1000删除。在本范例实施例中,为一个逻辑区块及其对应的数据实体区块提取日志实体区块来写入数据的运作(如图5、6与图7所示)称为开启(open)母子区块,并且原实体区块(例如,上述实体区块410(0))称为母实体区块而日志实体区块(例如,上述实体区块410(F))称为子实体区块。值得一提的是,闲置区504中实体区块的数目是有限的,基此,在存储器储存装置100运作期间,开启的母子区块的组数亦会受到限制。因此,当存储器储存装置100接收到来自于主机系统1000的写入指令时,倘若已开启母子区块的组数达到上限时,存储器管理电路202需执行数据合并程序(亦称为关闭母子区块)后才可执行此写入指令。图8是根据本发明范例实施例所显示的执行数据合并程序的范例,其显示在图7所示的状态下存储器管理电路202对逻辑区块610(0)执行数据合并程序。请参照图8,由于在逻辑区块610(0)中仅有部分逻辑页面为有效逻辑页面。基此,存储器管理电路202会从闲置区504提取实体区块410(F+1)作为新数据实体区块,建立逻辑页面转实体页面映射表与实体页面转逻辑页面映射表,并且将逻辑页面转实体页面映射表、实体页面转逻辑页面映射表和属于逻辑区块610(0)的有效页面数据写入至实体区块410(F+1)中。例如,存储器管理电路202会将所建立的逻辑页面转实体页面映射表与实体页面转逻辑页面映射表写入至实体区块410(F+1)的第0实体页面中,并且依序地将属于逻辑区块610(0)的第2、3、4、6与0逻辑页面的有效页面数据写入至实体区块410(F+1)的第I5实体页面中。在此,逻辑页面转实体页面映射表与实体页面转逻辑页面映射表是用以记录逻辑区块610(0)的逻辑页面与实体区块410(F+1)的实体页面之间的映射关系。图9与图10是根据图8所示的状态所显示的逻辑页面转实体页面映射表与实体页面转逻辑页面映射表的范例。请参照图9,透过逻辑页面转实体页面映射表902,存储器管理电路202可获知属于逻辑区块610(0)的有效逻辑页面(即,第2、3、4、6与0逻辑页面)的有效页面数据是分别地储存在实体区块410(F+1)中那个实体页面中。请参照图10,透过实体页面转逻辑页面映射表904,存储器管理电路202可获知实体区块410(F+1)的实体页面是分别储存属于逻辑区块610(0)的那个逻辑页面的有效页面数据。在完成数据的写入之后,存储器管理电路202会在逻辑区块-实体区块映射表中将逻辑区块610(0)重新映射至实体区块410(F+1)并且标记实体区块410(F+1)的储存状态为“部分有效状态”。之后,倘若主机系统1000欲读取逻辑区块610(0)的数据时,存储器管理电路202会根据逻辑区块-实体区块映射表示别逻辑区块610(0)目前是映射实体区块410(F+1)并且实体区块410(F+1)的储存状态为“部分有效状态”,由此,存储器管理电路202会从实体区块410(F+1)的第0实体页面中读取逻辑页面转实体页面映射表并且根据所读取的逻辑页面转实体页面映射表来读取数据。也就是说,在“部分有效状态”的实体区块中,所映射的逻辑区块的页面数据是非依序地被储存。因此,存储器管理电路202会建立与储存逻辑页面转实体页面映射表与实体页面转逻辑页面映射表,以提供识别逻辑页面与实体页面之间的映射关系。值得一提的是,如上所述,存储器管理电路202会根据整理指令将已被删除的逻辑页面标记为“无效逻辑页面”。在本发明范例实施例中,存储器管理电路202会一并调整实体页面转逻辑页面映射表并将更新后的实体页面转逻辑页面映射表储存于缓冲存储器252中,由此利于执行数据合并程序。例如,假设在图8所示的状态下,主机系统1000删除逻辑区块610(0)的第3逻辑页面的数据时,存储器管理电路202会将图10所示的实体页面转逻辑页面映射表904调整成如图11所示的实体页面转逻辑页面映射表904。具体来说,存储器管理电路202会搜寻存有数据的实体页面中编号最大的实体页面,将所搜寻到的实体页面(即,第5实体页面)的映射值复制到被删除的逻辑页面(即,第3逻辑页面)所以映射的实体页面(即,第2实体页面)并且将所搜寻到的实体页面(即,第5实体页面)的映射值改为空值。基此,当下一次执行数据合并时,存储器管理电路202会将第5实体页面中的页面数据复制到第2实体页面中,以致于实体页面中的有效页面数据是被依序地储存,由此可提升读取数据的效率。特别是,逻辑页面转实体页面映射表与实体页面转逻辑页面映射表必须占用此实体区块的储存空间来储存中。因此,仅当一个逻辑区块的有效逻辑页面数(即,在逻辑区块中有效逻辑页面的数目)小于预先定义数目时,图8所示的数据合并方式才会被执行。在此,预先定义数目是被设定为一个实体区块的页面数的二分之一。然而,必须了解的是,本发明不限于此。例如,在本发明另一范例实施例中,此预先定义数目可根据一个实体区块的页面数以及被用来储存逻辑页面转实体页面映射表与实体页面转逻辑页面映射表的实体页面的页面数来设定。例如,倘若需使用I个实体页面来储存逻辑页面转实体页面映射表与实体页面转逻辑页面映射表时,上述预先定义数目为一个实体区块的页面数减去I个页面数。必须了解的是,在本范例实施例中,如上所述,实体页面转逻辑页面映射表会被建立以提升读取数据的效率。然而,必须了解的是,在本发明另一范例实施例中,亦可仅建立逻辑页面转实体页面映射表来记录在“部分有效状态”的实体区块中逻辑页面与实体页面之间的映射关系,而无需建立实体页面转逻辑页面映射表。图12是根据本发明范例实施例所显示的执行数据合并程序的另一范例,其假设属于逻辑区块610(0)的第2、3、4、6、0逻辑页面的有效页面数据已储存于数据实体区块(SP,实体区块410(F+1))中,属于逻辑区块610(0)的第1、5、7(K-I)逻辑页面的有效页面数据已储存于日志实体区块(即,实体区块410(F+2))中并且存储器管理电路202需对逻辑区块610(0)执行数据合并程序。请参照图12,存储器管理电路202会识别对应逻辑区块610(0)的有效逻辑页面数不小于预先定义数目。基此,存储器管理电路202会从闲置区504提取实体区块410(F+3)作为新数据实体区块,将属于逻辑区块610(0)的所有有效页面数据写入至实体区块410(F+3)中。并且,在完成数据的写入之后,存储器管理电路202会在逻辑区块-实体区块映射表中将逻辑区块610(0)重新映射至实体区块410(F+3)并且将实体区块410(F+3)的储存状态标记为“全部有效状态”。之后,倘若主机系统1000欲读取逻辑区块610(0)的数据时,存储器管理电路202会根据逻辑区块一实体区块映射表示别逻辑区块610(0)目前是映射实体区块410(F+3)并且实体区块410(F+3)的储存状态为“全部有效状态”,由此,存储器管理电路202可根据页面的排列顺序直接读取数据。也就是说,当数据实体区块的储存状态被标记为“全部有效状态”时,逻辑区块的逻辑页面是根据排列顺序依序地映射实体区块的实体页面。图13是根据本发明范例实施例所显示的数据合并方法的流程图,其显示对映射数据实体区块(以下称为第一实体区块)的一个逻辑区块(以下称为第一逻辑区块)执行数据合并程序的步骤。请参照图13,在步骤S1301中,存储器控制器104会从闲置区504的实体区块中提取(或选择)实体区块(以下称为第二实体区块)。并且,在步骤S1303中,存储器控制器104判断对应第一逻辑区块的有效逻辑页面数是否小于预先定义数目。倘若对应第一逻辑区块的有效逻辑页面数小于预先定义数目时,在步骤S1305中,存储器控制器104会在第二实体区块的启始实体页面(即,第0实体页面)中储存对应的逻辑页面转实体页面映射表与实体页面转逻辑页面映射表。然后,在步骤S1307中,存储器控制器104会接续启始实体页面,将属于第一逻辑区块的有效逻辑页面的数据写入至第二实体区块的部分实体页面中。之后,在步骤S1309中,存储器控制器104会在逻辑区块-实体区块映射表中将第一逻辑区块重新映射至第二实体区块并且将第二实体区块的储存状态标记为部分有效状态。倘若对应第一逻辑区块的有效逻辑页面数不小于预先定义数目时,在步骤S1311中,存储器控制器104会将属于第一逻辑区块的页面数据依序地写入至第二实体区块的实体页面中。之后,在步骤S1313中,存储器控制器104会在逻辑区块-实体区块映射表中将第一逻辑区块重新映射至第二实体区块并且将第二实体区块的储存状态标记为全部有效状态。综上所述,本发明范例实施例的数据合并方法及使用此方法的存储器控制器与存储器储存装置能够在逻辑区块的逻辑页面非全部有效时,在执行数据合并程序时仅搬移部分页面数据(即,有效页面数据),由此,有效缩短执行数据合并所需的时间。虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属
技术领域
的普通技术人员,当可作些许的更动与润饰,而不脱离本发明的精神和范围。权利要求1.一种数据合并方法,用于在一可复写式非挥发性记忆模块中合并属于一第一逻辑区块的数据,其中该可复写式非挥发性存储器模块具有多个实体区块,每一所述实体区块具有依序排列的多个实体页面,所述实体区块至少被分组为一数据区与一闲置区,该数据区的所述实体区块映射多个逻辑区块,每一所述逻辑区块具有多个逻辑页面,该第一逻辑区块为所述逻辑区块的其中之一,并且该第一逻辑区块映射该数据区的所述实体区块之中的一第一实体区块,该数据合并方法包括从该闲置区的所述实体区块中选择一第二实体区块;判断对应该第一逻辑区块的一有效逻辑页面数是否小于一预先定义数目;当对应该第一逻辑区块的该有效逻辑页面数小于该预先定义数目时,在该第二实体区块的一启始实体页面中储存一逻辑页面转实体页面映射表并且将属于该第一逻辑区块的至少一有效页面数据写入至该第二实体区块的至少一实体页面中;以及将该第一逻辑区块重新映射至该第二实体区块,其中该至少一有效页面数据属于该第一逻辑区块的所述逻辑页面的中的至少一有效逻辑页面,其中该逻辑页面转实体页面映射表记录该第一逻辑区块的该至少一有效逻辑页面与该第二实体区块的该至少一实体页面之间的映射关系。2.根据权利要求I所述的数据合并方法,其中将属于该第一逻辑区块的该至少一有效页面数据写入至该第二实体区块的该至少一实体页面中的步骤包括接续于该启始实体页面,将属于该第一逻辑区块的该至少一有效页面数据写入至该第二实体区块的该至少一实体页面中。3.根据权利要求I所述的数据合并方法,还包括在将属于该第一逻辑区块的该至少一有效页面数据写入至该第二实体区块的该至少一实体页面中之后,在一逻辑区块-实体区块映射表中标记映射该第一逻辑区块的该第二实体区块的一储存状态为一部分有效状态。4.根据权利要求I所述的数据合并方法,还包括根据至少一整理指令识别该第一逻辑区块的所述逻辑页面之中的至少一无效逻辑页面。5.根据权利要求I所述的数据合并方法,还包括当对应该第一逻辑区块的该有效逻辑页面数不小于该预先定义数目时,将属于该第一逻辑区块的多笔页面数据依序地写入至该第二实体区块的所述实体页面中。6.根据权利要求I所述的数据合并方法,还包括当对应该第一逻辑区块的该有效逻辑页面数小于该预先定义数目时,在该第二实体区块的该启始实体页面中储存一实体页面转逻辑页面映射表,其中该实体页面转逻辑页面映射表记录该第二实体区块的该至少一实体页面与该第一逻辑区块的该至少一有效逻辑页面之间的映射关系。7.一种存储器控制器,用于控制一可复写式非挥发性存储器模块,其中该可复写式非挥发性存储器模块具有多个实体区块,并且每一所述实体区块具有依序排列的多个实体页面,该存储器控制器包括一主机界面,用以电性连接至一主机系统;一存储器界面,用以电性连接至该可复写式非挥发性存储器模块;以及一存储器管理电路,电性连接至该主机界面与该存储器界面,并且用以在该可复写式非挥发性记忆模块中合并属于一第一逻辑区块的数据,其中该存储器管理电路将所述实体区块至少分组为一数据区与一闲置区,其中该存储器管理电路配置多个逻辑区块以映射该数据区的所述实体区块,其中每一所述逻辑区块具有多个逻辑页面,该第一逻辑区块为所述逻辑区块的其中之一,并且该第一逻辑区块映射该数据区的所述实体区块之中的一第一实体区块,其中该存储器管理电路从该闲置区的所述实体区块中选择一第二实体区块,其中该存储器管理电路判断对应该第一逻辑区块的一有效逻辑页面数是否小于一预先定义数目,其中当对应该第一逻辑区块的该有效逻辑页面数小于该预先定义数目时,该存储器管理电路在该第二实体区块的一启始实体页面中储存一逻辑页面转实体页面映射表并且将属于该第一逻辑区块的至少一有效页面数据写入至该第二实体区块的至少一实体页面中,其中存储器管理电路将该第一逻辑区块重新映射至该第二实体区块,其中该至少一有效页面数据属于该第一逻辑区块的所述逻辑页面之中的至少一有效逻辑页面,其中该逻辑页面转实体页面映射表记录该第一逻辑区块的该至少一有效逻辑页面与该第二实体区块的该至少一实体页面之间的映射关系。8.根据权利要求7所述的存储器控制器,其中该存储器管理电路,接续于该启始实体页面,将属于该第一逻辑区块的该至少一有效页面数据写入至该第二实体区块的该至少一实体页面中。9.根据权利要求7所述的存储器控制器,其中在将属于该第一逻辑区块的该至少一有效页面数据写入至该第二实体区块的该至少一实体页面中之后,该存储器管理电路在一逻辑区块-实体区块映射表中标记映射该第一逻辑区块的该第二实体区块的一储存状态为一部分有效状态。10.根据权利要求7所述的存储器控制器,其中该存储器管理电路根据来自于该主机系统的至少一整理指令识别该第一逻辑区块的所述逻辑页面之中的至少一无效逻辑页面。11.根据权利要求7所述的存储器控制器,其中当对应该第一逻辑区块的该有效逻辑页面数不小于该预先定义数目时,该存储器管理电路将属于该第一逻辑区块的多笔页面数据依序地写入至该第二实体区块的所述实体页面中。12.根据权利要求7所述的存储器控制器,其中当对应该第一逻辑区块的该有效逻辑页面数小于该预先定义数目时,该存储器管理电路更在该第二实体区块的该启始实体页面中储存一实体页面转逻辑页面映射表,其中该实体页面转逻辑页面映射表记录该第二实体区块的该至少一实体页面与该第一逻辑区块的该至少一有效逻辑页面之间的映射关系。13.一种存储器储存装置,包括一连接器,用以电性连接至一主机系统;一可复写式非挥发性存储器模块,具有多个实体区块,其中每一所述实体区块具有依序排列的多个实体页面;以及一存储器控制器,电性连接至该连接器与该可复写式非挥发性存储器模块,用以在该可复写式非挥发性记忆模块中合并属于一第一逻辑区块的数据,其中该存储器控制器将所述实体区块至少分组为一数据区与一闲置区,其中该存储器控制器配置多个逻辑区块以映射该数据区的所述实体区块,其中每一所述逻辑区块具有多个逻辑页面,该第一逻辑区块为所述逻辑区块的其中之一,并且该第一逻辑区块映射该数据区的所述实体区块之中的一第一实体区块,其中该存储器控制器从该闲置区的所述实体区块中选择一第二实体区块,其中该存储器控制器判断对应该第一逻辑区块的一有效逻辑页面数是否小于一预先定义数目,其中当对应该第一逻辑区块的该有效逻辑页面数小于该预先定义数目时,该存储器控制器在该第二实体区块的一启始实体页面中储存一逻辑页面转实体页面映射表并且将属于该第一逻辑区块的至少一有效页面数据写入至该第二实体区块的至少一实体页面中,其中该存储器控制器将该第一逻辑区块重新映射至该第二实体区块,其中该至少一有效页面数据属于该第一逻辑区块的所述逻辑页面之中的至少一有效逻辑页面,其中该逻辑页面转实体页面映射表记录该第一逻辑区块的该至少一有效逻辑页面与该第二实体区块的该至少一实体页面之间的映射关系。14.根据权利要求13所述的存储器储存装置,其中该存储器控制器,接续于该启始实体页面,将属于该第一逻辑区块的该至少一有效页面数据写入至该第二实体区块的该至少一实体页面中。15.根据权利要求13所述的存储器储存装置,其中在将属于该第一逻辑区块的该至少一有效页面数据写入至该第二实体区块的该至少一实体页面中之后,该存储器控制器在一逻辑区块-实体区块映射表中标记映射该第一逻辑区块的该第二实体区块的一储存状态为一部分有效状态。16.根据权利要求13所述的存储器储存装置,其中该存储器控制器根据来自于该主机系统的至少一整理指令识别该第一逻辑区块的所述逻辑页面之中的至少一无效逻辑页面。17.根据权利要求13所述的存储器储存装置,其中当对应该第一逻辑区块的该有效逻辑页面数不小于该预先定义数目时,该存储器控制器将属于该第一逻辑区块的多笔页面数据依序地写入至该第二实体区块的所述实体页面中。18.根据权利要求13所述的存储器储存装置,其中当对应该第一逻辑区块的该有效逻辑页面数小于该预先定义数目时,该存储器控制器更在该第二实体区块的该启始实体页面中储存一实体页面转逻辑页面映射表,其中该实体页面转逻辑页面映射表记录该第二实体区块的该至少一实体页面与该第一逻辑区块的该至少一有效逻辑页面之间的映射关系。全文摘要本发明提供一种数据合并方法、控制器与储存装置,其中数据合并方法,用于在可复写式非挥发性记忆模块中合并属于第一逻辑区块的数据。本方法包括从可复写式非挥发性记忆模块的闲置区的实体区块中选择第二实体区块并且判断对应第一逻辑区块的有效逻辑页面数是否小于预先定义数目。本方法也包括,当对应第一逻辑区块的有效逻辑页面数小于预先定义数目时,在第二实体区块的启始实体页面中储存对应的页面映射表并且将属于第一逻辑区块的至少一有效页面数据写入至第二实体区块的至少一实体页面中。基此,本方法可有效地缩短执行数据合并所需的时间。文档编号G06F12/06GK102736985SQ20111008380公开日2012年10月17日申请日期2011年3月30日优先权日2011年3月30日发明者赵伟程申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1