CN102033811B - 用于管理闪存多个区块的方法和相关记忆装置及其控制器 - Google Patents
用于管理闪存多个区块的方法和相关记忆装置及其控制器 Download PDFInfo
- Publication number
- CN102033811B CN102033811B CN 200910179753 CN200910179753A CN102033811B CN 102033811 B CN102033811 B CN 102033811B CN 200910179753 CN200910179753 CN 200910179753 CN 200910179753 A CN200910179753 A CN 200910179753A CN 102033811 B CN102033811 B CN 102033811B
- Authority
- CN
- China
- Prior art keywords
- block
- page
- blocks
- flash memory
- data
- 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
Images
Landscapes
- Read Only Memory (AREA)
Abstract
本发明提供一种用于管理闪存的多个区块的方法以及相关的记忆装置及其控制器,所述方法包括:从所述多个区块中筛选出具有无效页的至少第一区块;以及移动所述第一区块中的一部分有效页的数据至第二区块,其中所述第一区块中的全部有效页的数据并非一次就都被移动至所述第二区块。本发明还提供相关的记忆装置及其控制器,其中所述控制器包括:只读存储器,用于储存程序代码;以及微处理器,用于执行所述程序代码以控制对所述闪存的存取以及管理所述多个区块。所述控制器从该多个区块中筛选出所述第一区块,并且移动所述第一区块中的所述部分有效页的数据至所述第二区块。
Description
技术领域
本发明涉及闪存(Flash Memory)的存取(Access),更具体地说,涉及一种用于管理闪存的多个区块的方法以及相关的记忆装置及其控制器。
背景技术
近年来由于闪存的技术不断地发展,各种便携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)被广泛地实施于诸多应用。因此,这些便携式记忆装置中的闪存的存取控制也就成为相当热门的话题。
以常用的NAND型闪存而言,其主要可区分为单层单元闪存(SingleLevel Cell,SLC)与多层单元闪存(Multiple Level Cell,MLC)。单层单元闪存中的每个被当作记忆单元的晶体管只有两种电荷值,分别用于表示逻辑值0与逻辑值1。另外,多层单元闪存中的每个被当作记忆单元的晶体管的储存能力则被充分利用,是采用较高的电压来驱动,以通过不同级别的电压在一个晶体管中记录两组位信息(例如:00、01、11、10);理论上,多层单元闪存的记录密度可以达到单层单元闪存的记录密度的两倍以上,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。
与单层单元闪存相比,由于多层单元闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多层单元闪存很快地成为市场上的便携式记忆装置竞相采用的主流。依据相关技术,进一步增加多层单元闪存的记录密度以超越单层单元闪存的记录密度的两倍是有可能的。然而,多层单元闪存的不稳定性所导致的问题也一一出现。应当注意的是,上述这种增加多层单元闪存的记录密度的方法有些副作用;例如:存储器耐用度(endurance)降低、读取/写入速度变慢、容易发生读取/写入错误等,还会导致某些种类的便携式记忆装置(例如:符合SD标准的记忆卡)在应用上出现困难。
尤其是,随着记录密度的提升,每一区块的页数就相应地增加了。于是,当便携式记忆装置进行合并运作(Merging Operation)时,就因页数过多而无法达到SD标准的时间限制(Time Out)的规定。因此,需要一种新颖的方法来加强控制和管理闪存的数据存取,以确保便携式记忆装置在记录密度提升的情况下可以正常地运作。
发明内容
因此,本发明的目的之一在于提供一种用于管理闪存(Flash Memory)的多个区块的方法以及相关的记忆装置及其控制器,以解决上述问题。
本发明的另一目的在于提供一种用于管理闪存的多个区块的方法以及相关的记忆装置及其控制器,以减少所述闪存中的区块的合并运作(MergingOperation)的次数,甚至可以不必进行合并运作。
本发明的较佳实施例中提供一种用于管理闪存的多个区块的方法,所述方法包括:从所述多个区块中筛选出具有无效页的至少一第一区块;以及移动所述第一区块中的一部分有效页的数据至一第二区块,其中所述第一区块中的全部有效页的数据并非一次就都被移动至所述第二区块。
本发明在提供上述方法的同时,还对应地提供一种记忆装置,包括:一闪存,所述闪存包含多个区块;以及一控制器,用于存取所述闪存以及管理所述多个区块,其中所述控制器从所述多个区块中筛选出具有无效页的至少一第一区块,并且移动所述第一区块中的一部分有效页的数据至一第二区块;其中所述第一区块中的全部有效页的数据并非一次就都被移动至所述第二区块。
本发明在提供上述方法的同时,还对应地提供一种记忆装置的控制器,所述控制器用于存取一闪存,所述闪存包含多个区块,所述控制器包括:一只读存储器,用于储存一程序代码;以及一微处理器,用于执行所述程序代码以控制对所述闪存的存取以及管理所述多个区块;其中通过所述微处理器执行所述程序代码的所述控制器从所述多个区块中筛选出具有无效页的至少一第一区块,并且移动所述第一区块中的一部分有效页的数据至一第二区块;以及所述第一区块中的全部有效页的数据并非一次就都被移动至所述第二区块。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是依据本发明一第一实施例的一种记忆装置的示意图。
图2是依据本发明一实施例的一种用于管理闪存的多个区块的方法的流程图。
图3是图2所示的方法在一实施例中所涉及的某些区块的示意图。
图4是图2所示的方法在另一实施例中所涉及的某些区块的示意图。
图5是图2所示的方法在另一实施例中所涉及的某区块的示意图。
图6是图2所示的方法在另一实施例中所涉及的某区块的示意图。
【主要组件符号说明】
100记忆装置 110存储器控制器 112微处理器 112C程序代码
112M只读存储器 114控制逻辑 116缓冲存储器 118接口逻辑
120闪存 910用于管理一闪存的多个区块的方法
912,914步骤 A、B、C、D、E区块
P12(A)、P55(A)、P90(A)、P12(H1)、P39(H1)、P40(H2)、P75(H3)、P80(H3)对应于一页的数据
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参考图1,图1是依据本发明一第一实施例的一种记忆装置100的示意图。其中本实施例的记忆装置100尤其为便携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)。记忆装置100包括:一闪存(Flash Memory)120;以及一控制器,用于存取闪存120,其中该控制器例如一存储器控制器110。依据本实施例,存储器控制器110包括一微处理器112、一只读存储器(Read OnlyMemory,ROM)112M、一控制逻辑114、一缓冲存储器116、与一接口逻辑118。只读存储器用于储存一程序代码112C,而微处理器112则用于执行程序代码112C以控制对闪存120的存取(Access)。请注意到,程序代码112C也需储存在缓冲存储器116或任何形式的存储器内。
一般情况下,闪存120包括多个区块(Block),而该控制器(例如:通过微处理器112执行程序代码112C的存储器控制器110)对闪存120进行抹除数据的操作是以区块为单位来进行抹除。另外,一区块可记录特定数量的页(Page),其中该控制器对闪存120进行写入数据的运作是以页为单位来进行写入。
在实际操作中,通过微处理器112执行程序代码112C的存储器控制器110可利用其本身内部的组件来进行诸多控制操作,例如:利用控制逻辑114来控制闪存120的存取操作(尤其是对至少一区块或至少一页的存取操作)、利用缓冲存储器116进行所需的缓冲处理、以及利用接口逻辑118来与一主装置(HostDevice)交互。
依据本实施例,除了能存取闪存120,该控制器还能妥善地管理该多个区块。更明确地说,该控制器可从该多个区块中筛选出具有无效页(Invalid Page)的至少一第一区块,并且移动该第一区块中的一部分有效页(Valid Page)的数据至一第二区块,以增进其区块管理的效能。也就是说,读取第一区块中的一部分有效页,并将其复制至第二区块。其中该第一区块中的全部有效页的数据并非一次就都被移动至该第二区块。此外,在一区块中的有效页是指储存有最新/有效信息的页面,区块中的有效页实际链接至某一逻辑地址;而在一区块中的无效页是指储存较旧/无效信息的页面,区块中的无效页则无实际链接至某一逻辑地址。例如:主装置要求存储器控制器110将逻辑页面地址为LPA 1的一页信息Data 1储存至闪存120,而闪存120将该信息Data 1储存至闪存120的第一实体区块的第一实体页,由于该第一实体页储存逻辑页面地址为LPA 1的最新信息,故该第一实体页为一有效页。随后,主装置要求存储器控制器110将逻辑页面地址LPA 1的一页更新信息Data 2储存至闪存120,而闪存120将该更新信息Data 2储存至闪存120的第一实体区块的第二实体页,或其它实体区块的实体页内,由于第一实体区块的第一实体页所储存的信息(Data 1)并非逻辑页面地址LPA 1最新信息,故该第一实体页成为一无效页。相关细节可参考图2来进一步说明。
图2为依据本发明一实施例的一种用于管理一闪存的多个区块的方法910的流程图。该方法可应用于图1所示的记忆装置100,尤其是上述的控制器(例如:通过微处理器112执行程序代码112C的存储器控制器110)。另外,该方法可通过利用图1所示的记忆装置100来实施,尤其是通过利用上述的控制器(例如:通过微处理器112执行程序代码112C的存储器控制器110)来实施。该方法说明如下:
在步骤912中,上述的控制器(例如:通过微处理器112执行程序代码112C的存储器控制器110)从该多个区块中筛选出具有无效页的至少一第一区块。依据本实施例,该控制器会记录该多个区块的至少一部分区块的无效页的数量,并随时更新该至少一部分区块当中各个区块的无效页的数量。如此,该控制器就可以依据该至少一部分区块的无效页的数量,从该多个区块中筛选出具有无效页的该至少一第一区块。
依据本实施例,当步骤912所选出的区块的无效页愈多,则该控制器愈能增进其区块管理的效能。例如:该控制器可从该多个区块中筛选出具有较多无效页的区块,作为该至少一第一区块;又例如:该控制器可从该多个区块中筛选出具有最多无效页的区块,作为该至少一第一区块。
在步骤914中,该控制器移动该第一区块中的一部分有效页的数据至一第二区块,其中该第一区块中的全部有效页的数据并非一次就都被移动至该第二区块。依据本实施例,当接收到来自上述的主装置的一写入命令时,该控制器将对应于该写入命令的数据写入该第二区块,并且移动该第一区块中的该部分有效页的数据至该第二区块。例如:该控制器可在将对应于该写入命令的数据写入该第二区块之前、或是之后,移动该第一区块中的该部分有效页的数据至该第二区块。如此,该控制器可分批移动该第一区块中的有效页的数据至该第二区块。
依据本实施例,该控制器能记录该多个区块的至少一部分(或全部)区块的无效页的数量并随时更新该至少一部分区块(或全部)中各个区块的无效页的数量,且能依据该至少一部分区块(或全部)的无效页的数量,从该多个区块中筛选出具有无效页的该至少一第一区块。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的一变化例,该控制器会记录该多个区块的至少一部分区块(或全部)的有效页的数量,并随时更新该至少一部分(或全部)区块当中各个区块的有效页的数量,以及依据该至少一部分(或全部)区块的有效页的数量,从该多个区块中筛选出具有无效页的该至少一第一区块。
另外,在本实施例中,该控制器通过利用该写入命令来触发上述移动该第一区块中的该部分有效页的数据至该第二区块的操作。这只是为了说明的目的而已,并非对本发明的限制;该控制器也可依据其他事件的发生、或至少一条件的成立,来触发上述移动该第一区块中的该部分有效页的数据至该第二区块的运操作。例如:该至少一条件包括:一定时器指出目前时间已达到一预定时间或一预定周期、或一计数器指出目前该第一区块中的有效页的数据被分批移动至该第二区块的执行次数尚未达到一预定次数、或一标识指出该第一区块中的有效页的数据尚未全部被移动至该第二区块、或目前闪存120中的空白/可写入的存储器空间(区块或页面)不足、或是需进行合并运作(Merging Operation)时。
与现有技术相比,由于本发明的存储器控制器110是及早进行预防性的措施,常常将各个区块中的有效页的空间重新回收以供进一步使用,故本发明可减少进行合并运作(Merging Operation)的次数。因此,本发明可提供便携式记忆装置较高的效能。另外,本发明的存储器控制器110可将该第一区块中的有效页的数据分批移动至该第二区块;因此,本发明可避免现有技术中因页数过多而无法达到SD标准的时间限制(Time Out)的规定的问题。
图3为图2所示的方法在一实施例中所涉及的某些区块的示意图,其中本实施例为图2所示的实施例的变化例。在此,区块A、B分别代表上述的第一区块与第二区块。存储器控制器110可将第一区块A中的有效页(区块中的斜线部分,例如:除了P12(A),P55(A),P90(A)之外的部分)的数据分批移动至第二区块B。本实施例中,存储器控制器110在接收到来自上述的主装置的一写入命令H1时,先将第一区块A中的一部分有效页(例如位于第一至十二页Fpage(0)A~Fpage(11)A的有效页)的数据移动至第二区块B的第一至十二页Fpage(0)B~Fpage(11)B,并修改相关逻辑实体地址链接表,将原本链接至第一区块A中位于第一至十二页Fpage(0)A~Fpage(11)A的逻辑地址(例如逻辑页面地址LPA 100~111)重新链接至第二区块B的第一至十二页Fpage(0)B~Fpage(11)B。此后,若主装置欲读取这些逻辑地址(例如逻辑页面地址LPA 100~111)的数据时,存储器控制器110则会查找修改后的逻辑实体地址链接表,并读取储存在第二区块B的第一至十二页Fpage(0)B~Fpage(11)B的数据并回复给主装置;实际操作中,可将第一区块A中位于第一至十二页Fpage(0)A~Fpage(11)A的有效页标示为无效页(而非立即被抹除),故第一至十二页Fpage(0)A~Fpage(11)A可视为被移动或删除。其次,存储器控制器110将对应于写入命令H1的数据P12(H1)写入第二区块B的第十三页Fpage(12)B。
然后,存储器控制器110在接收到来自该主装置的一写入命令H2时,先将第一区块A中另一部分有效页(例如位于第十四至四十页Fpage(13)A~Fpage(39)A的有效页)的数据移动至第二区块B的第十四至四十页Fpage(13)B~Fpage(39)B,并修改相关逻辑实体地址链接表,将原本链接至第一区块A中位于第十四至四十页Fpage(13)A~Fpage(39)A的逻辑地址(例如逻辑页面地址LPA 313~339)重新链接至第二区块B的第十四至四十页Fpage(13)B~Fpage(39)B。此后,若主装置欲读取这些逻辑地址(例如逻辑页面地址LPA 313~339)的数据时,存储器控制器110则会查找修改后的逻辑实体地址链接表,并读取储存在第二区块B的第十四至四十页Fpage(13)B~Fpage(39)B的数据并回复给主装置;实际操作中,可将第一区块A中位于第十四至四十页Fpage(13)A~Fpage(39)A的有效页标示为无效页(而非立即被抹除),故第十四至四十页Fpage(13)A~Fpage(39)A可视为被移动或删除。接着,存储器控制器110将对应于写入命令H2的数据P40(H2)写入第二区块B的第四十一页Fpage(40)B。
接下来,存储器控制器110在接收到来自该主装置的一写入命令H3时,先将第一区块A中另外两部分有效页(分别位于第四十一至五十五页Fpage(40)A~Fpage(54)A、以及位于第五十七至七十五页Fpage(56)A~Fpage(74)A)的数据移动至第二区块B的第四十二至七十五页Fpage(41)B~Fpage(74)B,并修改相关逻辑实体地址链接表,将原本链接至第四十一至五十五页Fpage(40)A~Fpage(54)A、以及第五十七至七十五页Fpage(56)A~Fpage(74)A)的逻辑地址(例如逻辑页面地址LPA 740~754、以及LPA 256~274)重新链接至第二区块B的第四十二至七十五页Fpage(41)B~Fpage(74)B。此后,若主装置欲读取这些逻辑地址(例如逻辑页面地址LPA 740~754、以及LPA 256~274)的数据时,存储器控制器110则会查找修改后的逻辑实体地址链接表,并读取储存在第二区块B的第四十二至七十五页Fpage(41)B~Fpage(74)B的数据并回复给主装置;实际操作中,可将第一区块A中分别位于第四十一至五十五页Fpage(40)A~Fpage(54)A、以及位于第五十七至七十五页Fpage(56)A~Fpage(74)A的该两部分标示为无效页,故均可视为被移动或删除。接着,存储器控制器110将对应于写入命令H3的数据P75(H3)写入第二区块B的第七十六页Fpage(75)B。请注意到,在此实施例中,存储器控制器110可将第一区块A中的数据移动到第二区块B中的任何记忆页,而无需移动到相对应的页面位置,例如,存储器控制器110将第一区块A中第四十一至五十五页Fpage(40)A~Fpage(54)A的数据移动到第二区块B中第四十二至五十六页Fpage(41)B~Fpage(55)B,而非将其移动至第二区块B中第四十一至五十五页Fpage(40)B~Fpage(54)B。
此后,存储器控制器110也可依据其他事件的发生、或上述的至少一条件的成立,来触发移动第一区块A中剩下的有效页(分别位于第七十六至九十页Fpage(75)A~Fpage(89)A、以及位于第九十二至一百二十八页Fpage(91)A~Fpage(127)A)的数据至第二区块B的操作。
在本实施例中,存储器控制器110可依据第一区块A中无效页的位置Fpage(12)A来决定某一次(例如第一次)移动有效页的数据量,亦可依据第一区块A的一预定移出数据量(例如第十四至四十Fpage(13)A~Fpage(39)A页,27页)来决定某一次(例如第二次)移动有效页的数据量,也可以依据第二区块B的一预定移入数据量(例如第四十一至五十五页Fpage(40)A~Fpage(54)A及第五十七至七十五页Fpage(56)A~Fpage(74)A,共34页)来决定某一次(例如第三次)移动有效页的数据量。然而,这只是为了说明的目的而已,并非对本发明的限制。请注意到,移动有效页的数量限制依据闪存的相关规范,例如SD卡的相关规范中规定写入512字节(Byte)的数据需在250微秒(ms)内完成,如此一来,存储器控制器110必须计算从区块A将N个有效页面的数据移动到区块B所需的时间,再加上将一笔新的512字节(Byte)数据写入区块B的时间,以期望在250微秒内完成。如此一来,存储器控制器110即可推算N值的上限,也即移动有效页的数量限制。
依据本实施例的一变化例,存储器控制器110可依据该第二区块的至少一预定主装置数据写入位置来决定某一次移动有效页的数据量及其移动时间点。图4为图2所示的方法在另一实施例中所涉及的某些区块的示意图,其中本实施例为图2所示的实施例的另一变化例,也为图3所示的实施例的变化例。在此,区块A、C分别代表上述的第一区块与第二区块。在本实施例中,存储器控制器110可依据第二区块C的至少一预定主装置数据写入位置来决定某一次移动有效页的数据量。例如:该至少一预定主装置数据写入位置包含多个具有相等间隔或接近相等间隔的位置;又例如:该至少一预定主装置数据写入位置包含多个对应于相等数据移动量或接近相等数据移动量的位置。
如图4所示,本实施例的第二区块C中来自第一区块A的有效页的数据(即第二区块C中的阴影区域)区分为三个部分,且这三个部分分别占有大约相同的比例。另外,上述对应于写入命令H1的数据P12(H1)在本实施例中被写入第四十页Fpage(39)C,故可重新标示为P39(H1)。对应于写入命令H2的数据P40(H2)在本实施例中也被写入第四十一页Fpage(40)C,故仍标示为P40(H2)。此外,上述对应于写入命令H3的数据P75(H3)在本实施例中被写入第八十一页Fpage(80)C,故可重新标示为P80(H3)。本实施例与前述实施例/变化例类似之处不再重复赘述。
图5为图2所示的方法在另一实施例中所涉及的某区块的示意图,其中本实施例为图2所示的实施例的另一变化例,也为图4所示的实施例的变化例。在此,图5所示的区块D代表上述的第二区块。
如图5所示,本实施例的第二区块D中来自第一区块A的有效页的数据(即第二区块D中的阴影区域)实质上被区分为三等分,并且存储器控制器110分批移动第一区块A中的有效页的数据,总共进行三次移动操作,其中在此期间,存储器控制器110总共接收到来自该主装置的两个写入命令H11与H12。另外,存储器控制器110在接收到写入命令H11时,先将第一区块A中的前三分的一的有效页移动至第二区块D,接着写入对应于写入命令H11的数据。然后,存储器控制器110在接收到写入命令H12时,将第一区块A中的后续的三分之一的有效页移动至第二区块D,接着写入对应于写入命令H12的数据。此外,存储器控制器110可依据其他事件的发生、或上述的至少一条件的成立,来触发移动第一区块A中的最后三分之一的有效页的数据至第二区块D的运作。本实施例与前述实施例/变化例类似之处不再重复赘述。
图6为图2所示的方法在另一实施例中所涉及的某区块的示意图,其中本实施例为图2所示的实施例的另一变化例,也为图5所示的实施例的变化例。在此,图6所示的区块E代表上述的第二区块。本实施例与图5所示实施例的差异说明如下。
如图6所示,本实施例的第二区块E中来自第一区块A的有效页的数据(即第二区块E中的阴影区域)大约区分为五等分,并且存储器控制器110分批移动第一区块A中的有效页的数据,总共进行五次移动操作,其中在此期间,存储器控制器110总共接收到来自该主装置的两个写入命令H11与H12。另外,存储器控制器110于接收到写入命令H11时,会将对应于写入命令H11的数据分批写入第二区块E,尤其是分两次写入第二区块E。类似地,存储器控制器110于接收到写入命令H12时,会将对应于写入命令H12的数据分批写入第二区块E,尤其是分两次写入第二区块E。本实施例与前述实施例/变化例类似之处不再重复赘述。
此外,若将本发明应用在拥有多个平面(plane)的闪存上,将可获得更佳的效果。由于在写入拥有多个平面(例如两个平面)的闪存时,可以同时写入多个记忆页(例如同时写入两个记忆页),如此一来,在移动数据时(例如移动半个区块的数据)或写入数据时,则可在更短的时效内完成。从而,不易超过快闪记忆卡所规定的时限。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (15)
1.一种用于管理闪存的多个区块的方法,其特征在于,包括:
从所述多个区块中筛选出具有无效页的至少一第一区块;以及
当接收到来自一主装置的一写入命令时,将对应于所述写入命令的数据写入第二区块,并且在将对应于所述写入命令的数据写入所述第二区块之前或者之后,移动所述第一区块中的一部分有效页的数据至一第二区块中对应所述第一区块中的所述部分有效页的记忆页,其中所述第一区块中的全部有效页的数据并非一次就都被移动至所述第二区块;
其中从所述多个区块中筛选出具有无效页的所述至少一第一区块的步骤还包括:
从所述多个区块中筛选出具有较多无效页的区块,作为所述至少一第一区块;
其中移动所述第一区块中的所述部分有效页的数据至所述第二区块的步骤还包括:
修改一逻辑实体地址链接表,使原本链接至所述第一区块中的所述部分有效页的至少一逻辑地址重新链接至所述第二区块的至少一记忆页。
2.根据权利要求1所述的用于管理闪存的多个区块的方法,其特征在于,其中从所述多个区块中筛选出具有无效页的所述至少一第一区块的步骤还包括:
依据所述多个区块的至少一部分区块的有效页的数量或无效页的数量,从所述多个区块中筛选出具有无效页的所述至少一第一区块。
3.根据权利要求2所述的用于管理闪存的多个区块的方法,其特征在于,其中所述至少一部分区块包括所述多个区块的全部区块。
4.根据权利要求2所述的用于管理闪存的多个区块的方法,其特征在于,还包括:
记录所述至少一部分区块的无效页的数量。
5.根据权利要求2所述的用于管理闪存的多个区块的方法,其特征在于,还包括:
记录所述至少一部分区块的有效页的数量。
6.根据权利要求1所述的用于管理闪存的多个区块的方法,其特征在于,其中从所述多个区块中筛选出具有无效页的所述至少一第一区块的步骤还包括:
从所述多个区块中筛选出具有最多无效页的区块,作为所述至少一第一区块。
7.根据权利要求1所述的用于管理闪存的多个区块的方法,其特征在于,还包括:
将所述第一区块中的所述部分有效页重新标示为无效页。
8.根据权利要求1所述的用于管理闪存的多个区块的方法,其特征在于,其中移动所述第一区块中的所述部分有效页的数据至所述第二区块的步骤还包括:
将所述第一区块中的所述部分有效页的数据移动至所述第二区块的任意记忆页,而无需将所述部分有效页的数据移动到所述第二区块中对应所述第一区块中的所述部分有效页的记忆页。
9.一种用于管理闪存的多个区块的装置,其特征在于,包括:
第一模块,用于对所述闪存的存取以及管理所述多个区块;包括通过从所述多个区块中筛选出具有无效页的至少一第一区块,当接收到来自一主装置的一写入命令时,将对应于所述写入命令的数据写入第二区块,并且在将对应于所述写入命令的数据写入所述第二区块之前或者之后,移动所述第一区块中的一部分有效页的数据至一第二区块中对应所述第一区块中的所述部分有效页的记忆页;所述第一区块中的全部有效页的数据并非一次就都被移动至所述第二区块;
该第一模块还用于从所述多个区块中筛选出具有较多无效页的区块,作为所述至少一第一区块;
其中,该第一模块还用于修改一逻辑实体地址链接表,使原本链接至所述第一区块中的所述部分有效页的至少一逻辑地址重新链接至所述第二区块的至少一记忆页的单元。
10.根据权利要求9所述的用于管理闪存的多个区块的装置,其特征在于,该第一模块还用于依据所述多个区块的至少一部分区块的有效页的数量或无效页的数量,从所述多个区块中筛选出具有无效页的所述至少一第一区块的单元。
11.根据权利要求10所述的用于管理闪存的多个区块的装置,其特征在于,其中所述至少一部分区块包含所述多个区块的全部区块。
12.根据权利要求10所述的用于管理闪存的多个区块的装置,其特征在于,所述第一模块还包括记录所述至少一部分区块的无效页的数量的单元。
13.根据权利要求10所述的用于管理闪存的多个区块的装置,其特征在于,所述第一模块还包括记录所述至少一部分区块的有效页的数量的单元。
14.根据权利要求9所述的用于管理闪存的多个区块的装置,其特征在于,所述第一模块还包括从所述多个区块中筛选出具有最多无效页的区块,作为所述至少一第一区块的单元。
15.根据权利要求9所述的用于管理闪存的多个区块的装置,其特征在于,所述第一模块还包括将所述第一区块中的所述部分有效页重新标示为无效页的单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910179753 CN102033811B (zh) | 2009-09-24 | 2009-09-24 | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910179753 CN102033811B (zh) | 2009-09-24 | 2009-09-24 | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102033811A CN102033811A (zh) | 2011-04-27 |
CN102033811B true CN102033811B (zh) | 2013-04-17 |
Family
ID=43886736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910179753 Active CN102033811B (zh) | 2009-09-24 | 2009-09-24 | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102033811B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226517A (zh) * | 2012-01-31 | 2013-07-31 | 上海华虹集成电路有限责任公司 | 对Nandflash的物理块按无效页数量进行动态排序的方法 |
CN103761193B (zh) * | 2013-12-17 | 2016-09-14 | 记忆科技(深圳)有限公司 | 抑制逻辑页碎片产生的方法及系统 |
TWI545571B (zh) * | 2014-02-18 | 2016-08-11 | 慧榮科技股份有限公司 | 存取快閃記憶體的方法及相關的控制器與記憶裝置 |
KR102425470B1 (ko) * | 2015-04-06 | 2022-07-27 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI653538B (zh) * | 2017-11-13 | 2019-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置與記憶體裝置之資料處理方法 |
CN108132967A (zh) * | 2017-12-01 | 2018-06-08 | 五八有限公司 | App页面的展示方法、装置、终端以及存储介质 |
CN110888593B (zh) * | 2018-09-07 | 2024-01-26 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN110888591B (zh) * | 2018-09-07 | 2023-05-30 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1967504A (zh) * | 2005-11-18 | 2007-05-23 | 凌阳科技股份有限公司 | 闪存的控制装置与方法 |
CN101320594A (zh) * | 2008-05-21 | 2008-12-10 | 深圳市硅格半导体有限公司 | 一种闪存芯片的物理操作方法 |
CN101354918A (zh) * | 2007-07-25 | 2009-01-28 | 慧荣科技股份有限公司 | 存储装置以及平均使用一快闪式存储器的区块的方法 |
-
2009
- 2009-09-24 CN CN 200910179753 patent/CN102033811B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1967504A (zh) * | 2005-11-18 | 2007-05-23 | 凌阳科技股份有限公司 | 闪存的控制装置与方法 |
CN101354918A (zh) * | 2007-07-25 | 2009-01-28 | 慧荣科技股份有限公司 | 存储装置以及平均使用一快闪式存储器的区块的方法 |
CN101320594A (zh) * | 2008-05-21 | 2008-12-10 | 深圳市硅格半导体有限公司 | 一种闪存芯片的物理操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102033811A (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102033811B (zh) | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 | |
JP5002201B2 (ja) | メモリシステム | |
CN103562883B (zh) | 存储器装置中的动态存储器高速缓存大小调整 | |
KR960004738B1 (ko) | 불휘발성 반도체 메모리 장치 | |
US8131911B2 (en) | Data writing method, and flash storage system and controller using the same | |
CN110806984B (zh) | 在存储器系统中搜索有效数据的设备和方法 | |
US20080162792A1 (en) | Caching device for nand flash translation layer | |
US20100082878A1 (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method | |
CN103324503A (zh) | 一种数据烧录系统及方法 | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
US20110093649A1 (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
TWI450271B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
CN103473182B (zh) | 非挥发性存储器存取方法及非挥发性存储器控制器 | |
CN102592670A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN101266828B (zh) | 混合型闪存存储装置及其操作方法 | |
CN101894077B (zh) | 一种数据存储方法及系统 | |
KR100542175B1 (ko) | 정보 기억 장치 | |
CN110489050A (zh) | 数据储存装置及系统信息的编程方法 | |
CN117555478A (zh) | 一种基于闪存的模拟eeprom读写方法 | |
CN110489051A (zh) | 数据储存装置及系统信息的编程方法 | |
CN102033812B (zh) | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 | |
CN208444289U (zh) | 基于片上flash存储器的otp控制器 | |
JP2008084184A (ja) | メモリコントローラ | |
CN103456354B (zh) | 一种非易失性存储器差分存储格的方法和装置 | |
TWI417889B (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 |