CN103077124B - 数据写入方法、存储器控制器与存储器储存装置 - Google Patents
数据写入方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN103077124B CN103077124B CN201110327405.2A CN201110327405A CN103077124B CN 103077124 B CN103077124 B CN 103077124B CN 201110327405 A CN201110327405 A CN 201110327405A CN 103077124 B CN103077124 B CN 103077124B
- Authority
- CN
- China
- Prior art keywords
- physical blocks
- blocks
- data
- logical
- physical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明提出一种数据写入方法、存储器控制器与存储器储存装置。本方法包括提取一个实体区块作为用于多个已更新实体区块的备用实体区块。本方法也包括,当主机系统欲写入更新数据至某个逻辑区块的某个逻辑页面且在对应此逻辑区块的已更新实体区块的替换实体区块中对应此逻辑页面的实体页面已储存数据时,将备用实体区块独立地指派给此已更新实体区块并且将此更新数据写入至备用实体区块中。基此,本方法能够在无需执行数据合并程序下完成数据写入,由此缩短执行写入指令的时间。
Description
技术领域
本发明涉及一种数据写入方法,且特别是有关于用于可复写式非易失性存储器模组的数据写入方法及使用此方法的存储器控制器与存储器储存装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本式计算机。固态硬盘就是一种以闪速存储器作为储存媒体的储存装置。因此,近年闪速存储器产业成为电子产业中相当热门的一环。
闪速存储器储存系统具有多个实体区块(physicalblock),且每一实体区块具有多个实体页面(physicalpage),其中在实体区块中写入数据时必须依据实体页面的顺序依序地写入数据。此外,已被写入数据的实体页面必需先被抹除后才能再次用于写入数据。特别是,实体区块为抹除的最小单位,并且实体页面为编程(亦称写入)的最小单元。因此,在闪速存储器储存系统的管理中,实体区块会被区分为数据区与闲置区。
数据区的实体区块是用以储存主机系统所储存的数据。具体来说,控制电路会将主机系统所存取的逻辑存取地址转换为逻辑区块的逻辑页面并且将逻辑区块的逻辑页面映射至数据区的实体区块的实体页面。也就是说,闪速存储器模组的管理上数据区的实体区块是被视为已被使用的实体区块(例如,已储存主机系统所写入的数据)。例如,控制电路会使用逻辑区块-实体区块映射表来记载逻辑区块与数据区的实体区块的映射关系,其中逻辑区块中的逻辑页面是依序的对应所映射的实体区块的实体页面。
闲置区的实体区块是用以轮替数据区中的实体区块。具体来说,如上所述,已写入数据的实体区块必须被抹除后才可再次用于写入数据,而闲置区的实体区块是被设计用于写入更新数据以替换原先映射逻辑区块的实体区块。基此,在闲置区中的实体区块为空或可使用的区块,即无记录数据或标记为已没用的无效数据。
由数据区的实体区块与闲置区的实体区块是以轮替方式来以储存主机系统所写入的数据。为了让主机系统能够顺利地存取以轮替方式储存数据的实体区块,闪速存储器储存系统会提供逻辑区块并且将主机系统所存取的逻辑存取地址对应至此些逻辑区块内的逻辑页面。具体来说,闪速存储器储存系统会将主机所存取的逻辑存取地址转换至对应的逻辑区块,并且通过在逻辑区块-实体区块映射表(logicalblock-physicalblockmappingtable)中记录与更新逻辑区块与数据区的实体区块之间的映射关系来反映实体区块的轮替。所以,主机仅需依据逻辑存取地址进行存取,而闪速存储器储存系统会依据逻辑区块-实体区块映射表在所映射的实体区块上进行数据的读取或写入。
具体来说,当主机系统欲将数据储存于一逻辑存取地址时,闪速存储器储存系统的控制电路会识别此逻辑存取地址所属的逻辑区块,从闲置区中提取一实体区块并且将新数据写入至从闲置区中提取的实体区块(亦称为子实体区块或替换实体区块),以替换原先映射此逻辑区块的实体区块(亦称为母实体区块)。在此,一个逻辑区块映射母实体区块和子实体区块的运作称为开启母子区块运作,并且映射同一个逻辑区块的母实体区块与子实体区块称为母子区块组。一般来说,由于闲置区的实体区块是有限的,因此在闪速存储器储存系统中,母子区块组的数目是会受到限制。例如,在闪速存储器储存系统中,同时仅允许运作3组母子区块组。之后,当主机系统欲写入数据至非处于开启母子区块运作的状态的另一个逻辑区块时,闪速存储器储存系统必须进行数据合并程序,以将映射某一个逻辑区块的母子区块组的有效数据合并(即,将属于此逻辑区块的数据都合并至一个实体区块中)。
随着一个逻辑区块的容量越来越大并且主机系统频繁地仅更新一个逻辑区块内部分逻辑页面的数据时,闪速存储器储存系统必须花费很长的时间来进行上述数据合并程序以执行下一个写入指令,因此,会造成延迟执行写入指令的时间并且闪速存储器储存系统的效能低落。因此,如何有效地写入数据以缩短执行写入指令所需的时间,是此领域技术人员所致力的目标。
发明内容
本发明提供一种数据写入方法、存储器控制器与存储器储存装置,其能够有效地缩短执行写入指令的时间。
基此,本发明一范例实施例提出一种数据写入方法,用于一可复写式非易失性存储器模组,其中此可复写式非易失性存储器模组具有多个实体区块,每一实体区块具有多个实体页面,此些实体区块至少被分组为一数据区与一闲置区,多个逻辑区块被配置以映射数据区的实体区块,每一逻辑区块具有多个逻辑页面,多个实体区块分别地从该闲置区中被提取作为对应数据区的实体区块之中的多个已更新实体区块的多个替换实体区块。本数据写入方法包括从闲置区中提取至少一实体区块作为用于已更新实体区块的一备用实体区块。本数据写入方法也包括从主机系统中接收写入指令与对应此写入指令的更新数据,其中此写入指令指示从上述逻辑页面之中的第一逻辑页面开始写入此更新数据,此第一逻辑页面属于上述逻辑区块之中的第一逻辑区块,并且第一逻辑区块映射上述已更新实体区块之中的第一已更新实体区块。本数据写入方法还包括判断此些替换实体区块之中对应第一已更新实体区块的第一替换实体区块是否存有属于第一逻辑页面的数据。本数据写入方法还包括,当第一替换实体区块存有属于第一逻辑页面的数据时,将备用实体区块独立地指派给第一已更新实体区块并且将此更新数据写入至备用实体区块中,其中此备用实体区块仅储存属于同一个逻辑区块的数据。
在本发明的一实施例中,上述的数据写入方法还包括,当第一替换实体区块未存有属于第一逻辑页面的数据时,将此更新数据写入至对应第一已更新实体区块的第一替换实体区块中。
在本发明的一实施例中,上述的数据写入方法还包括:从闲置区中提取一实体区块作为对应第一已更新实体区块的暂存实体区块;以及将属于第一逻辑区块且数据量小于一个实体页面的大小的数据暂存至暂存实体区块中。
在本发明的一实施例中,上述的数据写入方法还包括在将该备用实体区块独立地指派给该第一已更新实体区块并且将该更新数据写入至该备用实体区块中之后,执行下述步骤,其中此些步骤包括:将第一逻辑区块重新映射至备用实体区块以将备用实体区块关联至数据区;对第一已更新实体区块与第一替换实体区块执行抹除运作;并且将抹除后的第一已更新实体区块与第一替换实体区块关联至闲置区。
在本发明的一实施例中,上述的数据写入方法还包括,当第一替换实体区块存有属于第一逻辑页面的数据时,执行下述步骤,其中此些步骤包括:从第一已更新实体区块与第一替换实体区块中复制属于第一逻辑区块的有效数据至备用实体区块;将第一逻辑区块重新映射至备用实体区块以将备用实体区块关联至数据区;对第一已更新实体区块与第一替换实体区块执行抹除运作;并且将抹除后的第一已更新实体区块与第一替换实体区块关联至闲置区。
本发明另一范例实施例,提出一种数据写入方法,用于可复写式非易失性存储器模组,其中此可复写式非易失性存储器模组具有多个实体区块,每一实体区块具有多个实体页面,此些实体区块至少被分组为数据区与闲置区,多个逻辑区块被配置以映射数据区的实体区块,每一逻辑区块具有多个逻辑页面,多个实体区块分别地从闲置区中被提取作为对应数据区的实体区块之中的多个已更新实体区块的多个替换实体区块。本数据写入方法包括从闲置区中提取至少一实体区块作为用于已更新实体区块的一备用实体区块。本数据写入方法也包括从主机系统中接收写入指令与对应此写入指令的更新数据,其中此写入指令指示从上述逻辑页面之中的第一逻辑页面开始写入此更新数据,此第一逻辑页面属于上述逻辑区块之中的第一逻辑区块,并且第一逻辑区块映射上述已更新实体区块之中的第一已更新实体区块。本数据写入方法还包括判断第一逻辑页面是否为第一逻辑区块的起始逻辑页面,并且当该第一逻辑页面为该第一逻辑区块的该起始逻辑页面时,还判断更新数据的大小是否等于一个实体区块容量。本数据写入方法还包括,当更新数据的大小等于一个实体区块容量时,将备用实体区块独立地指派给第一已更新实体区块并且将更新数据写入至备用实体区块中,其中备用实体区块仅储存属于同一个逻辑区块的数据。
在本发明的一实施例中,上述的数据写入方法还包括,当更新数据的大小非等于一个实体区块容量时,对第一已更新实体区块执行一数据合并程序并且从闲置区中提取一个空的实体区块来写入更新数据。
在本发明的一实施例中,上述的数据写入方法还包括,当该第一逻辑页面非为该第一逻辑区块的该起始逻辑页面,判断在对应第一已更新实体区块的第一替换实体区块中映射第一逻辑页面的实体页面是否存有数据。上述数据写入方法还包括,当在对应第一已更新实体区块的第一替换实体区块中映射第一逻辑页面的实体页面未存有数据时,将此更新数据写入至对应第一已更新实体区块的第一替换实体区块中;以及当在对应第一已更新实体区块的第一替换实体区块中映射第一逻辑页面的实体页面存有数据时,对第一已更新实体区块执行一数据合并程序并且从闲置区中提取一个空的实体区块来写入更新数据。
在本发明的一实施例中,上述的数据写入方法还包括从闲置区中提取一实体区块作为对应第一已更新实体区块的暂存实体区块;以及将属于第一逻辑区块且数据量小于一个实体页面的大小的数据暂存至此暂存实体区块中。
在本发明的一实施例中,上述的数据写入方法还包括:在将备用实体区块独立地指派给第一已更新实体区块并且将此更新数据写入至备用实体区块中之后,执行下述步骤,其中此些步骤包括:将第一逻辑区块重新映射至备用实体区块以将备用实体区块关联至数据区;以及对第一已更新实体区块与第一替换实体区块执行抹除运作并且将抹除后的第一已更新实体区块与第一替换实体区块关联至闲置区。
本发明另一范例实施例提出一种存储器控制器,用于控制可复写式非易失性存储器模组,其中此可复写式非易失性存储器模组具有多个实体区块,并且每一实体区块具有多个实体页面。本存储器控制器包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模组。存储器管理电路电性连接至主机接口与存储器接口,并且用以将此些实体区块至少分组为数据区与闲置区。在此,存储器管理电路配置多个逻辑区块以映射数据区的实体区块,且每一逻辑区块具有多个逻辑页面。此外,存储器管理电路分别地从闲置区中提取多个实体区块作为对应数据区的实体区块之中的多个已更新实体区块的多个替换实体区块,并且从闲置区中提取至少一实体区块作为用于此些已更新实体区块的一备用实体区块。另外,存储器管理电路从主机系统中接收写入指令与对应此写入指令的更新数据,其中此写入指令指示从此些逻辑页面之中的第一逻辑页面开始写入此更新数据,第一逻辑页面属于此些逻辑区块之中的第一逻辑区块,第一逻辑区块映射此些已更新实体区块之中的第一已更新实体区块。再者,存储器管理电路判断此些替换实体区块之中对应第一已更新实体区块的第一替换实体区块是否存有属于第一逻辑页面的数据。当第一替换实体区块存有属于第一逻辑页面的数据时,存储器管理电路将备用实体区块独立地指派给第一已更新实体区块并且将此更新数据写入至此备用实体区块中,其中此备用实体区块仅储存属于同一个逻辑区块的数据。
在本发明的一实施例中,当第一替换实体区块未存有属于第一逻辑页面的数据时,上述的存储器管理电路将此更新数据写入至对应第一已更新实体区块的第一替换实体区块中。
在本发明的一实施例中,上述的存储器管理电路从闲置区中提取一实体区块作为对应第一已更新实体区块的一暂存实体区块,并且将属于第一逻辑区块且数据量小于一个实体页面的大小的数据暂存至此暂存实体区块中。
本发明另一范例实施例提出一种存储器控制器,用于控制可复写式非易失性存储器模组,其中此可复写式非易失性存储器模组具有多个实体区块,并且每一实体区块具有多个实体页面。本存储器控制器包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模组。存储器管理电路电性连接至主机接口与存储器接口,并且用以将此些实体区块至少分组为数据区与闲置区。在此,存储器管理电路配置多个逻辑区块以映射数据区的实体区块,且每一逻辑区块具有多个逻辑页面。此外,存储器管理电路分别地从闲置区中提取多个实体区块作为对应数据区的实体区块之中的多个已更新实体区块的多个替换实体区块,并且从闲置区中提取至少一实体区块作为用于此些已更新实体区块的一备用实体区块。另外,存储器管理电路从主机系统中接收写入指令与对应此写入指令的更新数据,其中此写入指令指示从此些逻辑页面之中的第一逻辑页面开始写入此更新数据,第一逻辑页面属于此些逻辑区块之中的第一逻辑区块,第一逻辑区块映射此些已更新实体区块之中的第一已更新实体区块。再者,存储器管理电路判断此些替换实体区块之中对应第一已更新实体区块的第一替换实体区块是否存有属于第一逻辑页面的数据。当第一替换实体区块存有属于第一逻辑页面的数据时,上述的存储器管理电路还用以判断第一逻辑页面是否为第一逻辑区块的一起始逻辑页面。当第一逻辑页面为第一逻辑区块的起始逻辑页面时,上述的存储器管理电路还判断此更新数据的大小是否等于一个实体区块容量。当此更新数据的大小等于一个实体区块容量时,上述的存储器管理电路将此备用实体区块独立地指派给第一已更新实体区块并且将此更新数据写入至备用实体区块中,其中此备用实体区块仅储存属于同一个逻辑区块的数据。
在本发明的一实施例中,当更新数据的大小非等于一个实体区块容量时,存储器管理电路对第一已更新实体区块执行数据合并程序并且从闲置区中提取一个空的实体区块来写入此更新数据。
在本发明的一实施例中,当第一逻辑页面非为第一逻辑区块的起始逻辑页面时,存储器管理电路还判断在对应第一已更新实体区块的第一替换实体区块中映射第一逻辑页面的实体页面是否存有数据。当在对应第一已更新实体区块的第一替换实体区块中映射第一逻辑页面的实体页面未存有数据时,存储器管理电路将此更新数据写入至对应第一已更新实体区块的第一替换实体区块中;以及当在对应第一已更新实体区块的第一替换实体区块中映射第一逻辑页面的实体页面存有数据时,存储器管理电路对第一已更新实体区块执行数据合并程序并且从闲置区中提取一个空的实体区块来写入此更新数据。
在本发明的一实施例中,上述的存储器管理电路从闲置区中提取一个实体区块作为对应第一已更新实体区块的暂存实体区块,并且将属于第一逻辑区块且数据量小于一个实体页面的大小的数据暂存至此暂存实体区块中。
本发明另一范例实施例提出一种存储器储存装置,其包括连接器、可复写式非易失性存储器模组与存储器控制器。连接器用以电性连接至主机系统。可复写式非易失性存储器模组具有多个实体区块并且每一实体区块具有多个实体页面。存储器控制器电性连接至连接器与可复写式非易失性存储器模组,并且用以将此些实体区块至少分组为数据区与闲置区。在此,存储器控制器配置多个逻辑区块以映射数据区的实体区块,且每一逻辑区块具有多个逻辑页面。此外,存储器控制器分别地从闲置区中提取多个实体区块作为对应数据区的实体区块之中的多个已更新实体区块的多个替换实体区块,并且从闲置区中提取至少一实体区块作为用于此些已更新实体区块的一备用实体区块。另外,存储器控制器从主机系统中接收写入指令与对应此写入指令的更新数据,其中此写入指令指示从此些逻辑页面之中的第一逻辑页面开始写入此更新数据,第一逻辑页面属于此些逻辑区块之中的第一逻辑区块,第一逻辑区块映射此些已更新实体区块之中的第一已更新实体区块。再者,存储器控制器判断此些替换实体区块之中对应第一已更新实体区块的第一替换实体区块是否存有属于第一逻辑页面的数据。当第一替换实体区块存有属于第一逻辑页面的数据时,存储器控制器将备用实体区块独立地指派给第一已更新实体区块并且将此更新数据写入至此备用实体区块中,其中此备用实体区块仅储存属于同一个逻辑区块的数据。
在本发明的一实施例中,当第一替换实体区块未存有属于第一逻辑页面的数据时,上述的存储器控制器将此更新数据写入至对应第一已更新实体区块的第一替换实体区块中。
在本发明的一实施例中,上述的存储器控制器从闲置区中提取一实体区块作为对应第一已更新实体区块的一暂存实体区块,并且将属于第一逻辑区块且数据量小于一个实体页面的大小的数据暂存至此暂存实体区块中。
本发明另一范例实施例提出一种存储器储存装置,其包括连接器、可复写式非易失性存储器模组与存储器控制器。连接器用以电性连接至主机系统。可复写式非易失性存储器模组具有多个实体区块并且每一实体区块具有多个实体页面。存储器控制器电性连接至连接器与可复写式非易失性存储器模组,并且用以将此些实体区块至少分组为数据区与闲置区。在此,存储器控制器配置多个逻辑区块以映射数据区的实体区块,且每一逻辑区块具有多个逻辑页面。此外,存储器控制器分别地从闲置区中提取多个实体区块作为对应数据区的实体区块之中的多个已更新实体区块的多个替换实体区块,并且从闲置区中提取至少一实体区块作为用于此些已更新实体区块的一备用实体区块。另外,存储器控制器从主机系统中接收写入指令与对应此写入指令的更新数据,其中此写入指令指示从此些逻辑页面之中的第一逻辑页面开始写入此更新数据,第一逻辑页面属于此些逻辑区块之中的第一逻辑区块,第一逻辑区块映射此些已更新实体区块之中的第一已更新实体区块。再者,存储器控制器判断此些替换实体区块之中对应第一已更新实体区块的第一替换实体区块是否存有属于第一逻辑页面的数据。当第一替换实体区块存有属于第一逻辑页面的数据时,上述的存储器控制器还用以判断第一逻辑页面是否为第一逻辑区块的一起始逻辑页面。当第一逻辑页面为第一逻辑区块的起始逻辑页面时,上述的存储器控制器还判断此更新数据的大小是否等于一个实体区块容量。当此更新数据的大小等于一个实体区块容量时,上述的存储器控制器将此备用实体区块独立地指派给第一已更新实体区块并且将此更新数据写入至备用实体区块中,其中此备用实体区块仅储存属于同一个逻辑区块的数据。
在本发明的一实施例中,当更新数据的大小非等于一个实体区块容量时,上述的存储器控制器对第一已更新实体区块执行数据合并程序并且从闲置区中提取一个空的实体区块来写入此更新数据。
在本发明的一实施例中,当第一逻辑页面非为第一逻辑区块的起始逻辑页面时,上述的存储器控制器还判断在对应第一已更新实体区块的第一替换实体区块中映射第一逻辑页面的实体页面是否存有数据。当在对应第一已更新实体区块的第一替换实体区块中映射第一逻辑页面的实体页面未存有数据时,上述的存储器控制器将此更新数据写入至对应第一已更新实体区块的第一替换实体区块中;以及当在对应第一已更新实体区块的第一替换实体区块中映射第一逻辑页面的实体页面存有数据时,上述的存储器控制器对第一已更新实体区块执行数据合并程序并且从闲置区中提取一个空的实体区块来写入此更新数据。
在本发明的一实施例中,上述的存储器控制器从闲置区中提取一个实体区块作为对应第一已更新实体区块的暂存实体区块,并且将属于第一逻辑区块且数据量小于一个实体页面的大小的数据暂存至此暂存实体区块中。
基于上述,上述范例实施例的数据写入方法、存储器控制器与存储器储存装置能够有效地在执行写入指令时避免执行数据合并,由此缩短执行写入指令的时间。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据第一范例实施例所显示的主机系统与存储器储存装置。
图1B是根据本发明第一范例实施例所显示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据本发明另一范例实施例所显示的主机系统与存储器储存装置的示意图。
图2是显示图1A所示的存储器储存装置的概要方框图。
图3是根据第一范例实施例所显示的存储器控制器的概要方框图。
图4A与图4B是根据第一范例实施例所显示管理可复写式非易失性存储器模组的实体区块的示意图。
图5~图6是根据第一范例实施例所显示的使用替换实体区块来写入更新数据的范例。
图7是根据第一范例实施例所显示的执行数据合并的范例。
图8A与图8B是根据本发明第一范例实施例所显示的配置与指派备用实体区块的范例示意图。
图9是根据本发明第一范例实施例所显示的使用备用实体区块来写入更新数据的范例。
图10是根据本发明第一范例实施例所显示的数据写入方法的流程图。
图11是根据本发明第二范例实施例所显示的数据写入方法的流程图。
附图标记:
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:系统区
508:取代区
410(0)~410(N):实体区块
610(0)~610(H):逻辑区块
710(0)~710(K):逻辑存取地址
S1001、S1003、S1005、S1007、S1009、S1011、S1013、S1015、S1017、S1019:数据写入的步骤
S1101、S1103、S1105、S1107、S1109、S1111、S1113、S1115、S1117、S1119、S1121、S1123、S1125、S1127:数据写入的步骤
具体实施方式
[第一范例实施例]
一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模组与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图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是相容于安全数码(SecureDigital,SD)接口标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394标准、平行先进附件(ParallelAdvancedTechnologyAttachment,PATA)标准、高速周边零件连接接口(PeripheralComponentInterconnectExpress,PCIExpress)标准、通用序列总线(UniversalSerialBus,USB)标准、序列先进附件(SerialAdvancedTechnologyAttachment,SATA)标准、记忆棒(MemoryStick,MS)接口标准、多媒体储存卡(MultiMediaCard,MMC)接口标准、小型闪速(CompactFlash,CF)接口标准、整合式驱动电子接口(IntegratedDeviceElectronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模组106中进行数据的写入、读取、抹除与合并等运作。
可复写式非易失性存储器模组106是电性连接至存储器控制器104,并且具有多个实体区块以储存主机系统1000所写入的数据。在本范例实施例中,每一实体区块分别具有多个实体页面,其中属于同一个实体区块的实体页面可被独立地写入且被同时地抹除。例如,每一实体区块是由128个实体页面所组成,并且每一实体页面的容量为4千位元组(Kilobyte,KB)。然而,必须了解的是,本发明不限于此。
更详细来说,实体区块为抹除的最小单位。亦即,每一实体区块含有最小数目之一并被抹除的存储单元。实体页面为编程的最小单元。即,实体页面为更新数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,更新数据的最小单位亦可以是实体扇区或其他大小。每一实体页面通常包括数据位元区与冗余位元区。数据位元区用以储存使用者的数据,而冗余位元区用以储存系统的数据(例如,错误检查与校正码)。
在本范例实施例中,可复写式非易失性存储器模组106为多阶存储单元(MultiLevelCell,MLC)NAND闪速存储器模组。然而,本发明不限于此,可复写式非易失性存储器模组106亦可是单阶层存储单元(SingleLevelCell,SLC)NAND闪速存储器模组、其他闪速存储器模组或其他具有相同特性的存储器模组。
图3是根据第一范例实施例所显示的存储器控制器的概要方框图。必须了解的是,图3所显示的存储器控制器仅为一个范例,本发明不限于此。
请参照图3,存储器控制器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是相容于SD标准。然而,必须了解的是本发明不限于此,主机接口304亦可以是相容于PATA标准、IEEE1394标准、PCIExpress标准、USB标准、SATA标准、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会依据此错误校正码对所读取的数据执行错误校正程序。
图4A与图4B是根据第一范例实施例所显示管理可复写式非易失性存储器模组的实体区块的示意图。
请参照图4A,可复写式非易失性存储器模组106具有实体区块410(0)~410(N),并且存储器控制器104的存储器管理电路302会将实体区块410(0)~410(N)逻辑地分组为(或指派至)数据区(dataarea)502、闲置区(sparearea)504、系统区(systemarea)506与取代区(replacementarea)508。
逻辑上属于数据区502与闲置区504的实体区块是用以储存来自于主机系统1000的数据。具体来说,数据区502的实体区块(亦称为数据实体区块)是被视为已储存数据的实体区块,而闲置区504的实体区块(亦称为闲置实体区块)是用以写入新数据的实体区块。例如,当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路302会从闲置区504中提取实体区块,整理欲写入的数据并且将数据写入至所提取的实体区块中。再例如,当对某一逻辑区块执行数据合并程序时,存储器管理电路302会从闲置区504中提取实体区块作为对应此逻辑区块的新数据实体区块,从可复写式非易失性存储器模组106中读取属于此逻辑区块的有效数据,整理此些有效数据,将整理后的有效数据写入至新数据实体区块中,并且将此逻辑区块重新映射至新数据实体区块。特别是,在完成数据合并程序后,存储器管理电路302会将储存无效数据的数据实体区块重新关联(或回收)至闲置区504,以作为下次写入新数据之用。例如,存储器管理电路302会在将实体区块关联至闲置区504之前对此实体区块执行抹除运作或者当实体区块从闲置区504中被提取时对此实体区块执行抹除运作,以使得从闲置区504中所提取的实体区块为可用于写入数据的空实体区块。
逻辑上属于系统区506的实体区块是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模组的制造商与型号、可复写式非易失性存储器模组的实体区块数、每一实体区块的实体页面数等。
逻辑上属于取代区508中的实体区块是用于坏实体区块取代程序,以取代损坏的实体区块。具体来说,倘若取代区508中仍存有正常的实体区块并且数据区502的实体区块损坏时,存储器管理电路302会从取代区508中提取正常的实体区块来更换损坏的实体区块。
基于上述,在存储器储存装置100的运作中,数据区502、闲置区504、系统区506与取代区508的实体区块会动态地变动。例如,用以轮替储存数据的实体区块会变动地属于数据区502或闲置区504。
值得一提的是,在本范例实施例中,存储器管理电路302是以每一实体区块为单位来进行管理。然而,本发明不限于此,在另一范例实施例中,存储器管理电路302亦可将实体区块分组为多个实体单元,并且以实体单元为单位来进行管理。例如,每一实体单元可由同一存储器芯片(die)或不同存储器芯片中的至少一个实体区块所组成。
请参照图4B,存储器管理电路302会配置逻辑区块610(0)~610(H)以映射数据区502的实体区块,其中每一逻辑区块具有多个逻辑页面并且此些逻辑页面是依序地映射对应的数据实体区块的实体页面。例如,在存储器储存装置100被格式化时,逻辑区块610(0)~610(H)会初始地映射数据区502的实体区块410(0)~410(F-1)。
在本发明范例实施例中,存储器管理电路302会维护逻辑区块-实体区块映射表(logicalblock-physicalblockmappingtable)以记录逻辑区块610(0)~610(H)与数据区502的实体区块之间的映射关系。此外,主机系统1000是以逻辑存取地址为单位来存取数据。例如,一个逻辑存取地址为一个逻辑扇区(Sector)。当主机系统1000存取数据时,存储器管理电路302会将对应存储器储存装置100的逻辑存取地址710(0)~710(K)转换成对应的逻辑页面内的地址。例如,当主机系统1000欲存取某一逻辑存取地址时,存储器管理电路302会将主机系统1000所存取的逻辑存取地址转换为以对应的逻辑区块、逻辑页面与逻辑偏移(offset)所构成的多维地址,并且通过逻辑区块-实体区块映射表于对应的实体页面中存取数据。在此,偏移是用以定位在一个逻辑页面(或实体页面)中的一个逻辑(或实体)地址,其是定义为此逻辑(或实体)地址与此逻辑页面(或实体页面)的起始地址之间的距离,其中此逻辑(或实体)地址亦称为逻辑(或实体)偏移地址。
图5~图6是根据第一范例实施例所显示的使用替换实体区块来写入更新数据的范例。
请同时参照图5~图6,例如,在逻辑区块610(0)是映射至实体区块410(0)的映射状态下,当存储器控制器104从主机系统1000中接收到写入指令而欲写入更新数据至属于逻辑区块610(0)的逻辑页面时,存储器控制器104会依据逻辑区块-实体区块映射表识别逻辑区块610(0)目前是映射至实体区块410(0)并且从闲置区504中提取实体区块410(F)来写入更新数据。然而,在写入更新数据至实体区块410(F)的过程中,存储器控制器104不会立刻将实体区块410(0)中的所有有效数据搬移至实体区块410(F)而抹除实体区块410(0)。具体来说,存储器管理电路302会从实体区块410(0)中读取欲写入实体页面之前的有效数据(即,实体区块410(0)的第0实体页面与第1实体页面中的数据)。之后,存储器管理电路302会将实体区块410(0)中欲写入实体页面之前的有效数据写入至实体区块410(F)的第0实体页面与第1实体页面中(如图5所示),并且将新数据写入至实体区块410(F)的第2~4个实体页面中(如图6所示)。此时,存储器控制器104即完成写入的运作。因为实体区块410(0)中的有效数据有可能在下个操作(例如,写入指令)中变成无效,因此立刻将实体区块410(0)中的有效数据搬移至实体区块410(F)可能会造成无谓的搬移。此外,数据必须依序地写入至实体区块内的实体页面,因此,存储器管理电路302仅会先搬移欲写入实体页面之前的有效数据(即,储存在实体区块410(0)的第0实体页面与第1实体页面中数据),并且暂不搬移其余有效数据(即,储存在实体区块410(0)的第5~K实体页面中数据)。也就是说,实体区块410(0)与实体区块410(F)的实体页面是依序映射逻辑区块610(0)的逻辑页面。
在本范例实施例中,暂时地维持此等暂态关系的运作称为开启(open)母子区块,并且原实体区块(例如,上述实体区块410(0))称为母实体区块或已更新实体区块而用以替换母实体区块的实体区块(例如,上述实体区块410(F))称为子实体区块或替换实体区块。在此,用以储存属于同一个逻辑区块的数据的母实体区块与子实体区块称为母子区块组。
值得一提的是,闲置区504中实体区块的数目是有限的,基此,在存储器储存装置100运作期间,已开启的母子区块组的数目亦会受到限制。也就是说,在存储器储存装置100运作期间,已开启的母子区块组的数目不能大于一母子区块数门槛值。例如,在本范例实施例中,母子区块数门槛值被设定为3,但本发明不限于此。因此,当存储器储存装置100接收到来自于主机系统1000的写入指令时,倘若已开启母子区块组的数目达到母子区块数门槛值时,存储器控制器104需执行数据合并(datamerge)运作以关闭至少一组目前已开启的母子区块组后才可执行此写入指令。具体来说,在数据合并(datamerge)运作中,存储器控制器104会将母实体区块与子实体区块的数据整并至一个实体区块。
图7是根据第一范例实施例所显示的执行数据合并的范例。
请参照图7,倘若需要将图6所示的实体区块410(0)与实体区块410(F)的有效数据合并时,存储器管理电路302会从实体区块410(0)中读取剩余的有效数据(即,实体区块410(0)的第5~K实体页面中的数据),并且将实体区块410(0)中剩余的有效数据写入至实体区块410(F)的第5实体页面~第K实体页面中。之后,存储器管理电路302会将实体区块410(F)关联至数据区502。也就是说,存储器管理电路302会在逻辑区块-实体区块映射表中将逻辑区块610(0)重新映射至实体区块410(F)。此外,存储器管理电路302会对实体区块410(0)执行抹除操作,并且将抹除后的实体区块410(0)关联至闲置区504。例如,在本范例实施例中,存储器管理电路302会建立闲置区实体区块表(未显示)来记录目前被关联至闲置区504的实体区块。
值得一提的是,由于可复写式非易失性存储器模组的编程规范要求必须从每一实体区块的起始实体页面开始写入至最后一个实体页面并且每个位元仅能程式一次(即由仅能“1”变为“0”),因此,一旦子实体区块的实体页面已被写入属于某个逻辑页面的数据后主机系统1000欲再次将更新数据写入此逻辑页面时,此子实体区块无法继续被用来写入此更新数据。例如,如图6所示,当对应母实体区块410(0)的子实体区块410(F)已储存属于逻辑区块610(0)的第0逻辑页面的数据且主机系统1000欲储存更新数据至逻辑区块610(0)的第0逻辑页面时,在子实体区块410(F)中映射逻辑区块610(0)的第0逻辑页面的实体页面(即,第0实体页面)无法继续被用来写入此更新数据。此时,在本范例实施例中,存储器管理电路302会从闲置区504中提取一个实体区块作为可用于所有母实体区块的备用实体区块(preparedphysicalblock)。特别是,当一个逻辑区块的某一个逻辑页面的数据已被储存在对应的子实体区块中且主机系统1000欲储存更新数据至此逻辑页面时,存储器管理电路302会独立地指派此备用实体区块给映射此逻辑区块的母实体区块并且将更新数据写入至此备用实体区块中。值得一提的是,尽管在本范例实施例中是以配置一个实体区块作为所有母实体区块的备用实体区块为例来进行说明,然而,本发明不限于此。在本发明另一范例实施例中,作为所有母实体区块的备用实体区块的数目亦可以是其他数目,例如,每一个母实体区块均配置一个实体区块作为每一个母实体区块的备用实体区块。
图8A与图8B是根据本发明第一范例实施例所显示的配置与指派备用实体区块的范例示意图。
请参照图8A,在此范例中,假设逻辑区块610(0)~610(H)目前是依序地映射数据区502的实体区块410(0)~410(F-1)并且存储器管理电路302已对逻辑区块610(0)~610(2)执行开启母子区块运作(即,如图5~6所示的运作),其中实体区块410(F)从闲置区504中被提取作为对应实体区块410(0)的子实体区块,实体区块410(F+1)从闲置区504中被提取作为对应实体区块410(1)的子实体区块并且实体区块410(F+2)从闲置区504中被提取作为对应实体区块410(2)的子实体区块。也就是说,实体区块410(F)已被写入属于逻辑区块610(0)的部分逻辑页面的有效数据,实体区块410(F+1)已被写入属于逻辑区块610(1)的部分逻辑页面的有效数据并且实体区块410(F+2)已被写入属于逻辑区块610(2)的部分逻辑页面的有效数据。
特别是,存储器管理电路302会在闲置区504中保留一个实体区块(例如,实体区块410(F+3))作为用于母实体区块(即,实体区块410(0)~410(2))的备用实体区块。
更详细来说,在存储器储存装置100的运作过程中,由于可复写式非易失性存储器模组106是以实体页面为编程的单位,存储器管理电路302亦可能从闲置区504中提取实体区块来作为其他用途。例如,存储器管理电路302会从闲置区504中提取实体区块作为暂存实体区块(temporaryphysicalblock),来储存数据量小于一个实体页面的大小的更新数据。也就是说,存储器管理电路302会判断更新数据是否为小于一个实体页面的大小的小数据,并且将小数据先暂存至从闲置区504中提取的一个实体区块(例如,实体区块410(S-1))。之后,再将小数据汇整成一个实体页面的数据来写入至子实体区块。因此,在本范例实施例中,存储器管理电路302会监控闲置区504中的实体区块的数量,并且保持闲置区504中至少还有一个实体区块可被提取作为备用实体区块。
请参照图8B,假设主机系统1000欲储存更新数据至逻辑区块610(0)的某个逻辑页面并且子实体区块410(F)中映射此逻辑页面已储存有数据时,存储器管理电路302会指派所配置的备用实体区块(即,实体区块410(F+3))给母实体区块410(0)并且将更新数据写入至实体区块410(F+3)中。
在本范例实施例中,当备用实体区块指派给一个母实体区块后,存储器管理电路302仅会将属于此母实体区块所映射的逻辑区块的数据写入至此备用实体区块。特别是,存储器管理电路302会依序地将备用实体区块的实体页面映射逻辑区块的逻辑页面来写入属于此逻辑区块的数据。
图9是根据本发明第一范例实施例所显示的使用备用实体区块来写入更新数据的范例。
请参照图9,当属于逻辑区块610(0)的第0~4页面的数据已被写入至子实体区块410(F)中(如图6所示)且主机系统1000欲储存下一笔更新数据至逻辑区块610(0)的第1逻辑页面时,存储器管理电路302会指派备用实体区块410(F+3)给实体区块410(0),将属于逻辑区块610(0)的第0逻辑页面的有效数据从实体区块410(F)的第0实体页面复制到实体区块410(F+3)的第0实体页面,并且将属于逻辑区块610(0)的第1逻辑页面的更新数据写入至实体区块410(F+3)的第1实体页面。
也就是说,在指派备用实体区块之后,存储器管理电路302会依序的使用备用实体区块的实体页面来映射一个逻辑区块的逻辑页面来写入属于此逻辑区块的数据。也就是说,备用实体区块只可被指派给一个母实体区块并且被当作此母实体区块的额外子实体区块来操作。
特别是,在备用实体区块被写入属于一个逻辑区块的所有有效数据之后,存储器管理电路302会在逻辑区块-实体区块映射表中将此逻辑区块重新映射至此备用实体区块(即,将此备用实体区块关联至数据区502),对原先映射此逻辑区块的母实体区块与对应的子实体区块执行抹除运作,并且将抹除后的实体区块关联至闲置区504。然后,存储器管理电路302会从闲置区504中提取一个空的实体区块作为新的备用实体区块。
例如,如图9所示,倘若主机系统1000依序地储存更新数据至逻辑区块610的的第2~K逻辑页面之后,存储器管理电路302会直接地将逻辑区块610(0)重新映射至实体区块410(F+3)并且对实体区块410(0)与实体区块410(F)执行抹除运作。又例如,当需要执行数据合并程序时,逻辑区块610(0)的其他有效数据(即,属于逻辑区块610(0)的第2~K逻辑页面的数据)会从实体区块410(0)或实体区块410(F)中搬移到实体区块410(F+3)并且逻辑区块610(0)会被重新映射至实体区块410(F+3)。也就是说,备用实体区块会被关联至数据区504变成映射逻辑区块610(0)的实体区块。此外,实体区块410(0)与实体区块410(F)会被执行抹除运作并且抹除后的实体区块410(0)与实体区块410(F)会被关联至闲置区。
图10是根据本发明第一范例实施例所显示的数据写入方法的流程图。
请参照图10,在步骤S1001中,存储器管理电路302会从主机系统1000中接收写入指令与对应此写入指令的更新数据。
在步骤S1003中,存储器管理电路302会识别写入指令所指示的逻辑存取地址所对应的逻辑区块(以下称为第一逻辑区块)与逻辑页面(以下称为第一逻辑页面)。然后,在步骤S1005中,存储器管理里电路202会判断是否已对第一逻辑区块执行开启母子区块运作。
倘若未对第一逻辑区块执行开启母子区块运作时,在步骤S1007中,存储器管理电路302会判断已开启母子区块组的数目是否达到母子区块数门槛值。倘若已开启母子区块组的数目未达到母子区块数门槛值时,在步骤S1009中,存储器管理电路302会从闲置区504中提取一个实体区块作为子实体区块来写入此更新数据。倘若已开启母子区块组的数目已达到母子区块数门槛值时,在步骤S1011中,存储器管理电路302会选择一个已开启母子区块运作的逻辑区块来执行数据合并程序。并且,在步骤S1011之后,步骤S1009会被执行。使用子实体区块来写入更新数据的方法已配合图5与图6描述如上并且执行数据合并程序的方法已配合图7详细描述如上,在此不再重复描述。
倘若已对第一逻辑区块执行开启母子区块运作时,在步骤S1013中,存储器管理电路302会判断在对应映射第一逻辑区块的母实体区块(以下称为第一已更新实体区块)的子实体区块(以下称为第一替换实体区块)中映射第一逻辑页面的实体页面是否存有数据。倘若在第一替换实体区块中映射第一逻辑页面的实体页面未存有数据时,在步骤S1015中,存储器管理电路302会继续使用第一替换实体区块来写入此更新数据。倘若在第一替换实体区块中映射第一逻辑页面的实体页面存有数据时,在步骤S1017中,存储器管理电路302会从闲置区504中提取一个实体区块作为备用实体区块并且独立地指派此备用实体区块给第一已更新实体区块。然后,在步骤S1019中,存储器管理电路302将此更新数据写入至此备用实体区块中。使用备用实体区块来写入更新数据的方法已配合图9详细描述如上,在此不再重复描述。
在另一范例实施例中,在步骤S1019之后,存储器管理电路302还可将第一逻辑区块的其他有效数据搬移至备用实体区块并且将第一逻辑区块重新映射至此备用实体区块。之后,存储器管理电路302可对第一已更新实体区块与第一替换实体区块执行抹除运作并将抹除后的实体区块关联至闲置区504。值得一提的是,存储器管理电路302亦可在下一次执行写入指令时,才执行上述将第一逻辑区块的其他有效数据搬移至备用实体区块、重新映射第一逻辑区块及抹除实体区块等运作。
此外,在另一范例实施例中,在步骤S1019之后,存储器管理电路302还可判断备用实体区块是否已被写满。并且,倘若备用实体区块已被写满时,存储器管理电路302还会将第一逻辑区块重新映射至此备用实体区块,对第一已更新实体区块与第一替换实体区块执行抹除运作并将抹除后的实体区块关联至闲置区504。
[第二范例实施例]
第二范例实施例的硬件架构是类似于第一范例实施例的硬件架构,其差异之处仅在于使用备用实体区块来写入更新数据的时机。具体来说,在已对欲储存更新数据的逻辑区块开启母子区块运作的情况下,当在对应映射此逻辑区块的母实体区块的子实体区块中映射欲写入此更新数据的逻辑页面的实体页面存有数据时,第一范例实施例的存储器管理电路就会指派备用实体区块来写入此更新数据。然而,在第二范例实施例中,当已对欲储存更新数据的逻辑区块开启母子区块运作时,存储器管理电路则会判断欲写入更新数据的逻辑页面是否为逻辑区块的起始逻辑页面且更新数据的大小是否等于一个实体区块的大小,其中仅当欲写入更新数据的逻辑页面为逻辑区块的起始逻辑页面且更新数据的大小等于一个实体区块的大小时,存储器管理电路才会使用备用实体区块来写入更新数据。以下仅针对第一范例实施例与第二范例实施例的差异之处进行描述。
图11是根据本发明第二范例实施例所显示的数据写入方法的流程图。
请参照图11,在步骤S1101中,存储器管理电路302会从主机系统1000中接收写入指令与对应此写入指令的更新数据。
在步骤S1103中,存储器管理电路302会识别写入指令所指示的逻辑存取地址所对应的逻辑区块(以下称为第一逻辑区块)与逻辑页面(以下称为第一逻辑页面)。然后,在步骤S1105中,存储器管理里电路202会判断是否已对第一逻辑区块执行开启母子区块运作。
倘若未对第一逻辑区块执行开启母子区块运作时,在步骤S1107中,存储器管理电路302会判断已开启母子区块组的数目是否达到母子区块数门槛值。倘若已开启母子区块组的数目未达到母子区块数门槛值时,在步骤S1109中,存储器管理电路302会从闲置区504中提取一个实体区块作为子实体区块来写入此更新数据。倘若已开启母子区块组的数目已达到母子区块数门槛值时,在步骤S1111中,存储器管理电路302会选择一个已开启母子区块运作的逻辑区块来执行数据合并程序。并且,在步骤S1111之后,执行步骤S1109。使用子实体区块来写入更新数据的方法已配合图5与图6描述如上并且执行数据合并程序的方法已配合图7详细描述如上,在此不再重复描述。
倘若已对第一逻辑区块执行开启母子区块运作时,在步骤S1113中,存储器管理电路302会判断第一逻辑页面是否为第一逻辑区块的起始逻辑页面。具体来说,存储器管理电路302会判断第一逻辑页面是否为第一逻辑区块的第0逻辑页面。
倘若第一逻辑页面非为第一逻辑区块的起始逻辑页面时,在步骤S1115中,存储器管理电路302会判断在对应映射第一逻辑区块的母实体区块(以下称为第一已更新实体区块)的子实体区块(以下称为第一替换实体区块)中映射第一逻辑页面的实体页面是否存有数据。倘若在第一替换实体区块中映射第一逻辑页面的实体页面未存有数据时,在步骤S1117中,存储器管理电路302会继续使用第一替换实体区块来写入此更新数据。倘若在第一替换实体区块中映射第一逻辑页面的实体页面存有数据时,在步骤S1119中,存储器管理电路302会对第一已更新实体区块与第一替换实体区块执行数据合并程序(如图7所示)并且从闲置区504中提取一个空的实体区块作为新的子实体区块来写入此更新数据(如图5与6所示)。
倘若第一逻辑页面为第一逻辑区块的起始逻辑页面时,在步骤S1121中,存储器管理电路302会判断更新数据的大小是否等于一个实体区块的大小。例如,主机系统1000是以扇区为单位传送欲储存的更新数据给存储器储存装置100,并且此些更新数据会暂存于缓冲存储器308中。特别是,存储器管理电路302会在接收完对应目前写入指令的所有欲储存的更新数据后,判断对应目前写入指令的更新数据是否等于一个实体区块的大小。
倘若更新数据的大小非等于一个实体区块的大小时,步骤S1119会被执行。
倘若更新数据的大小等于一个实体区块的大小时,在步骤S1123中,存储器管理电路302会从闲置区504中提取一个实体区块作为备用实体区块并且独立地指派此备用实体区块给第一已更新实体区块。然后,在步骤S1125中,存储器管理电路302将此更新数据写入至此备用实体区块中。最后,在步骤S1127中,存储器管理电路302会将第一逻辑区块重新映射至此备用实体区块,对第一已更新实体区块与第一替换实体区块执行抹除运作并将抹除后的实体区块关联至闲置区504。
综上所述,本发明一范例实施例的数据写入方法、存储器控制器与存储器储存装置额外地为已更新实体区块配置备用实体区块,其中当更新数据无法被写入至替换实体区块时,更新数据会被写入至备用实体区块中,由此避免执行数据合并程序,而缩短执行写入指令的时间。此外,在本发明另一范例实施例中,在已对逻辑区块执行开启母子区块运作的情况下,当更新数据欲被储存至此逻辑区块的所有逻辑页面时,此更新数据会被直接地写入至备用实体区块中,由此避免执行数据合并程序,而缩短执行写入指令的时间。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。
Claims (24)
1.一种数据写入方法,用于一可复写式非易失性存储器模组,其中该可复写式非易失性存储器模组具有多个实体区块,每一该些实体区块具有多个实体页面,该些实体区块至少被分组为一数据区与一闲置区,多个逻辑区块被配置以映射该数据区的该些实体区块,每一该些逻辑区块具有多个逻辑页面,多个实体区块分别地从该闲置区中被提取作为对应该数据区的该些实体区块之中的多个已更新实体区块的多个替换实体区块,该数据写入方法包括:
从该闲置区中提取至少一实体区块作为用于该些已更新实体区块的一备用实体区块;
从一主机系统中接收一写入指令与对应该写入指令的一更新数据,其中该写入指令指示从该些逻辑页面之中的一第一逻辑页面开始写入该更新数据,该第一逻辑页面属于该些逻辑区块之中的一第一逻辑区块,并且该第一逻辑区块映射该些已更新实体区块之中的一第一已更新实体区块;
判断该些替换实体区块之中对应该第一已更新实体区块的一第一替换实体区块是否存有属于该第一逻辑页面的数据;以及
当该第一替换实体区块存有属于该第一逻辑页面的数据时,将该备用实体区块独立地指派给该第一已更新实体区块并且将该更新数据写入至该备用实体区块中,
其中该备用实体区块仅储存属于同一个逻辑区块的数据。
2.根据权利要求1所述的数据写入方法,其中还包括:
当该第一替换实体区块未存有属于该第一逻辑页面的数据时,将该更新数据写入至对应该第一已更新实体区块的该第一替换实体区块中。
3.根据权利要求1所述的数据写入方法,其中还包括:
从该闲置区中提取一实体区块作为对应该第一已更新实体区块的一暂存实体区块;以及
将属于该第一逻辑区块且数据量小于一个实体页面的大小的数据暂存至该暂存实体区块中。
4.根据权利要求1所述的数据写入方法,其中还包括:
在将该备用实体区块独立地指派给该第一已更新实体区块并且将该更新数据写入至该备用实体区块中之后,执行下述步骤:
将该第一逻辑区块重新映射至该备用实体区块以将该备用实体区块关联至该数据区;以及
对该第一已更新实体区块与该第一替换实体区块执行一抹除运作并且将抹除后的该第一已更新实体区块与该第一替换实体区块关联至该闲置区。
5.根据权利要求1所述的数据写入方法,其中还包括:
当该第一替换实体区块存有属于该第一逻辑页面的数据时,执行下述步骤:
从该第一已更新实体区块与该第一替换实体区块中复制属于该第一逻辑区块的有效数据至该备用实体区块;
将该第一逻辑区块重新映射至该备用实体区块以将该备用实体区块关联至该数据区;以及
对该第一已更新实体区块与该第一替换实体区块执行一抹除运作并且将抹除后的该第一已更新实体区块与该第一替换实体区块关联至该闲置区。
6.一种数据写入方法,用于一可复写式非易失性存储器模组,其中该可复写式非易失性存储器模组具有多个实体区块,每一该些实体区块具有多个实体页面,该些实体区块至少被分组为一数据区与一闲置区,多个逻辑区块被配置以映射该数据区的该些实体区块,每一该些逻辑区块具有多个逻辑页面,多个实体区块分别地从该闲置区中被提取作为对应该数据区的该些实体区块之中的多个已更新实体区块的多个替换实体区块,该数据写入方法包括:
从该闲置区中提取至少一实体区块作为用于该些已更新实体区块的一备用实体区块;
从一主机系统中接收一写入指令与对应该写入指令的一更新数据,其中该写入指令指示从该些逻辑页面之中的一第一逻辑页面开始写入该更新数据,该第一逻辑页面属于该些逻辑区块之中的一第一逻辑区块,并且该第一逻辑区块映射该些已更新实体区块之中的一第一已更新实体区块;
判断该第一逻辑页面是否为该第一逻辑区块的一起始逻辑页面;
当该第一逻辑页面为该第一逻辑区块的该起始逻辑页面时,判断该更新数据的一大小是否等于一个实体区块容量;以及
当该更新数据的该大小等于一个实体区块容量时,将该备用实体区块独立地指派给该第一已更新实体区块并且将该更新数据写入至该备用实体区块中,
其中该备用实体区块仅储存属于同一个逻辑区块的数据。
7.根据权利要求6所述的数据写入方法,其中还包括:
当该更新数据的该大小非等于一个实体区块容量时,对该第一已更新实体区块执行一数据合并程序并且从该闲置区中提取一个空的实体区块来写入该更新数据。
8.根据权利要求6所述的数据写入方法,其中还包括:
当该第一逻辑页面非为该第一逻辑区块的该起始逻辑页面,判断在对应该第一已更新实体区块的一第一替换实体区块中映射该第一逻辑页面的实体页面是否存有数据;
当在对应该第一已更新实体区块的该第一替换实体区块中映射该第一逻辑页面的该实体页面未存有数据时,将该更新数据写入至对应该第一已更新实体区块的该第一替换实体区块中;以及
当在对应该第一已更新实体区块的该第一替换实体区块中映射该第一逻辑页面的该实体页面存有数据时,对该第一已更新实体区块执行一数据合并程序并且从该闲置区中提取一个空的实体区块来写入该更新数据。
9.根据权利要求6所述的数据写入方法,其中还包括:
从该闲置区中提取一实体区块作为对应该第一已更新实体区块的一暂存实体区块;以及
将属于该第一逻辑区块且数据量小于一个实体页面的大小的数据暂存至该暂存实体区块中。
10.根据权利要求6所述的数据写入方法,其中还包括:
在将该备用实体区块独立地指派给该第一已更新实体区块并且将该更新数据写入至该备用实体区块中之后,执行下述步骤:
将该第一逻辑区块重新映射至该备用实体区块以将该备用实体区块关联至该数据区;以及
对该第一已更新实体区块与一第一替换实体区块执行一抹除运作并且将抹除后的该第一已更新实体区块与该第一替换实体区块关联至该闲置区。
11.一种存储器控制器,用于控制一可复写式非易失性存储器模组,其中该可复写式非易失性存储器模组具有多个实体区块,并且每一该些实体区块具有多个实体页面,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模组;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,并且用以将该些实体区块至少分组为一数据区与一闲置区,
其中该存储器管理电路配置多个逻辑区块以映射该数据区的该些实体区块,且每一该些逻辑区块具有多个逻辑页面,
其中该存储器管理电路分别地从该闲置区中提取多个实体区块作为对应该数据区的该些实体区块之中的多个已更新实体区块的多个替换实体区块,
其中该存储器管理电路从该闲置区中提取至少一实体区块作为用于该些已更新实体区块的一备用实体区块,
其中该存储器管理电路从该主机系统中接收一写入指令与对应该写入指令的一更新数据,
其中该写入指令指示从该些逻辑页面之中的一第一逻辑页面开始写入该更新数据,该第一逻辑页面属于该些逻辑区块之中的一第一逻辑区块,并且该第一逻辑区块映射该些已更新实体区块之中的一第一已更新实体区块,
其中该存储器管理电路判断该些替换实体区块之中对应该第一已更新实体区块的一第一替换实体区块是否存有属于该第一逻辑页面的数据,
其中当该第一替换实体区块存有属于该第一逻辑页面的数据时,该存储器管理电路将该备用实体区块独立地指派给该第一已更新实体区块并且将该更新数据写入至该备用实体区块中,
其中该备用实体区块仅储存属于同一个逻辑区块的数据。
12.根据权利要求11所述的存储器控制器,其中当该第一替换实体区块未存有属于该第一逻辑页面的数据时,该存储器管理电路将该更新数据写入至对应该第一已更新实体区块的该第一替换实体区块中。
13.根据权利要求11所述的存储器控制器,
其中该存储器管理电路从该闲置区中提取一实体区块作为对应该第一已更新实体区块的一暂存实体区块,并且将属于该第一逻辑区块且数据量小于一个实体页面的大小的数据暂存至该暂存实体区块中。
14.一种存储器控制器,用于控制一可复写式非易失性存储器模组,其中该可复写式非易失性存储器模组具有多个实体区块,并且每一该些实体区块具有多个实体页面,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模组;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,并且用以将该些实体区块至少分组为一数据区与一闲置区,
其中该存储器管理电路配置多个逻辑区块以映射该数据区的该些实体区块,且每一该些逻辑区块具有多个逻辑页面,
其中该存储器管理电路分别地从该闲置区中提取多个实体区块作为对应该数据区的该些实体区块之中的多个已更新实体区块的多个替换实体区块,
其中该存储器管理电路从该闲置区中提取至少一实体区块作为用于该些已更新实体区块的一备用实体区块,
其中该存储器管理电路从该主机系统中接收一写入指令与对应该写入指令的一更新数据,
其中该写入指令指示从该些逻辑页面之中的一第一逻辑页面开始写入该更新数据,该第一逻辑页面属于该些逻辑区块之中的一第一逻辑区块,并且该第一逻辑区块映射该些已更新实体区块之中的一第一已更新实体区块,
其中该存储器管理电路判断该些替换实体区块之中对应该第一已更新实体区块的一第一替换实体区块是否存有属于该第一逻辑页面的数据,
其中当该第一替换实体区块存有属于该第一逻辑页面的数据时,该存储器管理电路判断该第一逻辑页面是否为该第一逻辑区块的一起始逻辑页面,
其中当该第一逻辑页面为该第一逻辑区块的该起始逻辑页面时,该存储器管理电路判断该更新数据的一大小是否等于一个实体区块容量,
其中当该更新数据的该大小等于一个实体区块容量时,该存储器管理电路将该备用实体区块独立地指派给该第一已更新实体区块并且将该更新数据写入至该备用实体区块中,
其中该备用实体区块仅储存属于同一个逻辑区块的数据。
15.根据权利要求14所述的存储器控制器,其中当该更新数据的该大小非等于一个实体区块容量时,该存储器管理电路对该第一已更新实体区块执行一数据合并程序并且从该闲置区中提取一个空的实体区块来写入该更新数据。
16.根据权利要求14所述的存储器控制器,其中当该第一逻辑页面非为该第一逻辑区块的该起始逻辑页面时,该存储器管理电路判断在对应该第一已更新实体区块的一第一替换实体区块中映射该第一逻辑页面的实体页面是否存有数据,
其中当在对应该第一已更新实体区块的该第一替换实体区块中映射该第一逻辑页面的该实体页面未存有数据时,该存储器管理电路将该更新数据写入至对应该第一已更新实体区块的该第一替换实体区块中,
其中当在对应该第一已更新实体区块的该第一替换实体区块中映射该第一逻辑页面的该实体页面存有数据时,该存储器管理电路对该第一已更新实体区块执行一数据合并程序并且从该闲置区中提取一个空的实体区块来写入该更新数据。
17.根据权利要求14所述的存储器控制器,其中该存储器管理电路从该闲置区中提取一实体区块作为对应该第一已更新实体区块的一暂存实体区块,并且将属于该第一逻辑区块且数据量小于一个实体页面的大小的数据暂存至该暂存实体区块中。
18.一种存储器储存装置,包括:
一连接器,用以电性连接至一主机系统;
一可复写式非易失性存储器模组,具有多个实体区块并且每一该些实体区块具有多个实体页面;以及
一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模组,并且用以将该些实体区块至少分组为一数据区与一闲置区,
其中该存储器控制器配置多个逻辑区块以映射该数据区的该些实体区块,且每一该些逻辑区块具有多个逻辑页面,
其中该存储器控制器分别地从该闲置区中提取多个实体区块作为对应该数据区的该些实体区块之中的多个已更新实体区块的多个替换实体区块,
其中该存储器控制器从该闲置区中提取至少一实体区块作为用于该些已更新实体区块的一备用实体区块,
其中该存储器控制器从该主机系统中接收一写入指令与对应该写入指令的一更新数据,
其中该写入指令指示从该些逻辑页面之中的一第一逻辑页面开始写入该更新数据,该第一逻辑页面属于该些逻辑区块之中的一第一逻辑区块,并且该第一逻辑区块映射该些已更新实体区块之中的一第一已更新实体区块,
其中该存储器控制器判断该些替换实体区块之中对应该第一已更新实体区块的一第一替换实体区块是否存有属于该第一逻辑页面的数据,
其中当该第一替换实体区块存有属于该第一逻辑页面的数据时,该存储器控制器将该备用实体区块独立地指派给该第一已更新实体区块并且将该更新数据写入至该备用实体区块中,
其中该备用实体区块仅储存属于同一个逻辑区块的数据。
19.根据权利要求18所述的存储器储存装置,其中当该第一替换实体区块未存有属于该第一逻辑页面的数据时,该存储器控制器将该更新数据写入至对应该第一已更新实体区块的该第一替换实体区块中。
20.根据权利要求18所述的存储器储存装置,
其中该存储器控制器从该闲置区中提取一实体区块作为对应该第一已更新实体区块的一暂存实体区块,并且将属于该第一逻辑区块且数据量小于一个实体页面的大小的数据暂存至该暂存实体区块中。
21.一种存储器储存装置,包括:
一连接器,用以电性连接至一主机系统;
一可复写式非易失性存储器模组,具有多个实体区块并且每一该些实体区块具有多个实体页面;以及
一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模组,并且用以将该些实体区块至少分组为一数据区与一闲置区,
其中该存储器控制器配置多个逻辑区块以映射该数据区的该些实体区块,且每一该些逻辑区块具有多个逻辑页面,
其中该存储器控制器分别地从该闲置区中提取多个实体区块作为对应该数据区的该些实体区块之中的多个已更新实体区块的多个替换实体区块,
其中该存储器控制器从该闲置区中提取至少一实体区块作为用于该些已更新实体区块的一备用实体区块,
其中该存储器控制器从该主机系统中接收一写入指令与对应该写入指令的一更新数据,
其中该写入指令指示从该些逻辑页面之中的一第一逻辑页面开始写入该更新数据,该第一逻辑页面属于该些逻辑区块之中的一第一逻辑区块,并且该第一逻辑区块映射该些已更新实体区块之中的一第一已更新实体区块,
其中该存储器控制器判断该些替换实体区块之中对应该第一已更新实体区块的一第一替换实体区块是否存有属于该第一逻辑页面的数据,
其中当该第一替换实体区块存有属于该第一逻辑页面的数据时,该存储器控制器判断该第一逻辑页面是否为该第一逻辑区块的一起始逻辑页面,
其中当该第一逻辑页面为该第一逻辑区块的该起始逻辑页面时,该存储器控制器判断该更新数据的一大小是否等于一个实体区块容量,
其中当该更新数据的该大小等于一个实体区块容量时,该存储器控制器将该备用实体区块独立地指派给该第一已更新实体区块并且将该更新数据写入至该备用实体区块中,
其中该备用实体区块仅储存属于同一个逻辑区块的数据。
22.根据权利要求21所述的存储器储存装置,其中当该更新数据的该大小非等于一个实体区块容量时,该存储器控制器对该第一已更新实体区块执行一数据合并程序并且从该闲置区中提取一个空的实体区块来写入该更新数据。
23.根据权利要求21所述的存储器储存装置,其中当该第一逻辑页面非为该第一逻辑区块的该起始逻辑页面,该存储器控制器判断在对应该第一已更新实体区块的一第一替换实体区块中映射该第一逻辑页面的实体页面是否存有数据,
其中当在对应该第一已更新实体区块的该第一替换实体区块中映射该第一逻辑页面的该实体页面未存有数据时,该存储器控制器将该更新数据写入至对应该第一已更新实体区块的该第一替换实体区块中,
其中当在对应该第一已更新实体区块的该第一替换实体区块中映射该第一逻辑页面的该实体页面存有数据时,该存储器控制器对该第一已更新实体区块执行一数据合并程序并且从该闲置区中提取一个空的实体区块来写入该更新数据。
24.根据权利要求21所述的存储器储存装置,其中该存储器控制器从该闲置区中提取一实体区块作为对应该第一已更新实体区块的一暂存实体区块,并且将属于该第一逻辑区块且数据量小于一个实体页面的大小的数据暂存至该暂存实体区块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110327405.2A CN103077124B (zh) | 2011-10-25 | 2011-10-25 | 数据写入方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110327405.2A CN103077124B (zh) | 2011-10-25 | 2011-10-25 | 数据写入方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103077124A CN103077124A (zh) | 2013-05-01 |
CN103077124B true CN103077124B (zh) | 2015-11-18 |
Family
ID=48153656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110327405.2A Active CN103077124B (zh) | 2011-10-25 | 2011-10-25 | 数据写入方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103077124B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484630A (zh) * | 2015-08-31 | 2017-03-08 | 晨星半导体股份有限公司 | 快闪存储器的存取方法及相关的存储器控制器与电子装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201037713A (en) * | 2009-04-01 | 2010-10-16 | Phison Electronics Corp | Data management method and flash memory stroage system and controller using the same |
CN102053796A (zh) * | 2009-11-10 | 2011-05-11 | 群联电子股份有限公司 | 闪存储存系统、闪存控制器与数据处理方法 |
CN102122233A (zh) * | 2010-01-08 | 2011-07-13 | 群联电子股份有限公司 | 区块管理与数据写入方法、闪存储存系统与控制器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7631138B2 (en) * | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
TWI435329B (zh) * | 2009-12-15 | 2014-04-21 | Phison Electronics Corp | 快閃記憶體管理方法、快閃記憶體控制器與儲存系統 |
TWI440044B (zh) * | 2010-03-01 | 2014-06-01 | Phison Electronics Corp | 記憶體管理與寫入方法、記憶體控制器與記憶體儲存系統 |
TWI446349B (zh) * | 2010-03-04 | 2014-07-21 | Phison Electronics Corp | 非揮發性記憶體存取方法、系統,與非揮發性記憶體控制器 |
-
2011
- 2011-10-25 CN CN201110327405.2A patent/CN103077124B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201037713A (en) * | 2009-04-01 | 2010-10-16 | Phison Electronics Corp | Data management method and flash memory stroage system and controller using the same |
CN102053796A (zh) * | 2009-11-10 | 2011-05-11 | 群联电子股份有限公司 | 闪存储存系统、闪存控制器与数据处理方法 |
CN102122233A (zh) * | 2010-01-08 | 2011-07-13 | 群联电子股份有限公司 | 区块管理与数据写入方法、闪存储存系统与控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN103077124A (zh) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI454911B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN104679437B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN104423888B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
US20090150597A1 (en) | Data writing method for flash memory and controller using the same | |
TWI436212B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN103377129B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102890655B (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN102592670B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103678162B (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102866861B (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102968385B (zh) | 数据写入方法、存储器控制器与储存装置 | |
CN102567221B (zh) | 数据管理方法、存储器控制器与存储器储存装置 | |
CN103577344B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102915273B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102999437B (zh) | 数据搬移方法、存储器控制器与存储器储存装置 | |
CN102800357B (zh) | 程序码载入与存取方法、存储器控制器与存储器储存装置 | |
CN103365790B (zh) | 存储器控制器、存储装置与数据写入方法 | |
CN102890653A (zh) | 指令执行方法、存储器控制器与存储器储存装置 | |
TWI446170B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN102467459B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103019952B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103077124B (zh) | 数据写入方法、存储器控制器与存储器储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |