CN102033812B - 用于管理闪存多个区块的方法和相关记忆装置及其控制器 - Google Patents
用于管理闪存多个区块的方法和相关记忆装置及其控制器 Download PDFInfo
- Publication number
- CN102033812B CN102033812B CN 200910179754 CN200910179754A CN102033812B CN 102033812 B CN102033812 B CN 102033812B CN 200910179754 CN200910179754 CN 200910179754 CN 200910179754 A CN200910179754 A CN 200910179754A CN 102033812 B CN102033812 B CN 102033812B
- Authority
- CN
- China
- Prior art keywords
- page
- physical blocks
- block
- address
- link information
- 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
- Memory System (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型闪存的相关产业而言,是非常好的消息。
与单层单元闪存相比,由于多层单元闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多层单元闪存很快地成为市场上的便携式记忆装置竞相采用的主流。然而,多层单元闪存的不稳定性所导致的问题也一一浮现。例如:依据相关技术,一旦闪存因使用多时而质量变差,使用者的数据就可能随时会遗失。尤其是,与单层单元闪存相比,多层单元闪存中的每一区块的抹除次数(Erase Count)的上限相对地低,这会使得上述的不稳定性的问题更加突出。
需要注意的是,闪存的每一区块的抹除次数的上限往往随着新的制造技术的采用而降低。然而,制造技术的进展往往是闪存制造厂商降低成本的重要手段;在此状况下,上述的不稳定性的问题将会更加严重。因此,需要一种新颖的方法来加强控管闪存的数据存取,以确保使用者数据的完整性。
发明内容
因此,本发明的目的之一在于提供一种用于管理一闪存的多个区块的方法以及相关的记忆装置及其控制器,以解决上述问题。
本发明的另一目的在于提供一种用于管理一闪存的多个区块的方法以及相关的记忆装置及其控制器,以增进运作效能并减少所述闪存中的区块的合并运作的次数,甚至可以不必进行合并运作。
本发明的又一目的在于提供一种用于管理一闪存的多个区块的方法以及相关的记忆装置及其控制器,以减缓闪存中的区块的抹除次数的增加速率。因此,通过利用本发明所实现的便携式记忆装置会拥有较长的使用寿命。
本发明的较佳实施例中提供一种用于管理一闪存的多个区块的方法,所述方法包括:针对一逻辑区块地址记录/更新链接信息,其中所述链接信息包括链接至所述逻辑区块地址的多个实体区块地址,且每一实体区块地址代表所述多个区块中的一区块;以及当所述多个实体区块地址中的一实体区块地址所代表的区块已无有效页时,选择性地抹除所述区块并从所述链接信息中移除所述实体区块地址。
本发明于提供上述方法的同时,也对应地提供一种记忆装置,其包括有:一闪存,所述闪存包括多个区块;以及一控制器,用于存取所述闪存以及管理所述多个区块,其中所述控制器针对一逻辑区块地址记录/更新链接信息,而所述链接信息包括链接至所述逻辑区块地址的多个实体区块地址,且每一实体区块地址代表所述多个区块中的一区块;其中当所述多个实体区块地址中的一实体区块地址所代表的区块已无有效页时,所述控制器选择性地抹除所述区块并从所述链接信息中移除所述实体区块地址。
本发明在提供上述方法的同时,还对应地提供一种记忆装置的控制器,所述控制器系用于存取一闪存,所述闪存包括多个区块,所述控制器包括有:一只读存储器,用于储存一程序代码;以及一微处理器,用于执行所述程序代码以控制对所述闪存的存取以及管理所述多个区块;其中通过所述微处理器执行所述程序代码的所述控制器针对一逻辑区块地址记录/更新链接信息,而所述链接信息包括链接至所述逻辑区块地址的多个实体区块地址,且每一实体区块地址代表所述多个区块中的一区块;以及当所述多个实体区块地址中的一实体区块地址所代表的区块已无有效页时,通过所述微处理器执行所述程序代码的所述控制器选择性地抹除所述区块并从所述链接信息中移除所述实体区块地址。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为依据本发明一第一实施例的一种记忆装置的示意图。
图2为依据本发明一实施例的一种用于管理一闪存的多个区块的方法的流程图。
图3为图2所示的方法在一实施例中所涉及的链接信息的示意图。
【主要组件符号说明】
100记忆装置 110存储器控制器 112微处理器
112C程序代码 112M只读存储器 114控制逻辑
116缓冲存储器 118接口逻辑 120闪存
300-i链接信息 318-i实体区块地址表 320-i逻辑实体页链接表
910用于管理一闪存的多个区块的方法
912,914步骤 Current_PPage当前空白页位置
LB(0),LB(1),…,LB(i),…,LB(n)逻辑区块地址
LPage(0),LPage(1),...,LPage(m-1)逻辑页地址
Page_Link_Table指向逻辑实体页链接表的指针
PBA_Count实体区块地址的数量
PBA(0),PBA(1),…,PBA(N)实体区块地址
PBAT(0),PBAT(1),…,PBAT(N)实体区块地址表索引
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参考图1,图1为依据本发明一第一实施例的一种记忆装置100的示意图,其中本实施例的记忆装置100可为便携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)。记忆装置100包括:一闪存(Flash Memory)120;以及一控制器,用于存取(Access)闪存120,其中该控制器例如一存储器控制器110。依据本实施例,存储器控制器110包括一微处理器112、一只读存储器(Read Only Memory,ROM)112M、一控制逻辑114、一缓冲存储器116、与一接口逻辑118。只读存储器用于储存一程序代码112C,而微处理器112则用于执行程序代码112C以控制对闪存120的存取。请注意到,程序代码112C也需储存在缓冲存储器116或任何形式的存储器内。
一般情况下,闪存120包括多个区块(Block),而该控制器(例如:通过微处理器112执行程序代码112C的存储器控制器110)对闪存120进行抹除数据的运作以区块为单位来进行抹除。另外,一区块可记录特定数量的页(Page),其中该控制器对闪存120进行写入数据的运作以页为单位来进行写入。
实际操作中,通过微处理器112执行程序代码112C的存储器控制器110可利用其本身内部的组件来进行诸多控制运作,例如:利用控制逻辑114来控制闪存120的存取运作(尤其是对至少一区块或至少一页的存取运作)、利用缓冲存储器116进行所需的缓冲处理、以及利用接口逻辑118来与一主装置(HostDevice)交互。
依据本实施例,除了能存取闪存120,该控制器还能妥善地管理该多个区块。更明确而言,在写入/更新数据时,该控制器可针对一逻辑区块地址记录/更新链接信息,其中该链接信息包括链接至该逻辑区块地址的多个实体区块地址,且每一实体区块地址代表该多个区块中的一区块。另外,当该多个实体区块地址中的一实体区块地址所代表的区块已无有效页(Valid Page)时,选择性地抹除该区块并从该链接信息中移除该实体区块地址。
在此,一有效页代表具有有效数据的数据页,尤其是代表实际链接至某一逻辑页地址的一第一实体页。由于该控制器对闪存120进行抹除数据的运作以区块为单位来进行抹除,故当该控制器针对该逻辑页地址更新数据时,会将更新的数据写入一第二实体页,并将该逻辑页地址与该第一实体页之间的链接关系取代为该逻辑页地址与该第二实体页之间的链接关系。如此,该控制器取消该逻辑页地址与该第一实体页之间的链接关系。于是,该第一实体页就不再是有效页,乃是被视为无效页(Invalid Page)。
图2为依据本发明一实施例的一种用于管理一闪存的多个区块的方法910的流程图。该方法可应用于图1所示的记忆装置100,尤其是上述的控制器(例如:通过微处理器112执行程序代码112C的存储器控制器110)。另外,该方法可通过利用图1所示的记忆装置100来实施,尤其是通过利用上述的控制器来实施。该方法说明如下:
在步骤912中,上述的控制器(例如:通过微处理器112执行程序代码112C的存储器控制器110)针对一逻辑区块地址记录/更新链接信息,其中该链接信息包括链接至该逻辑区块地址的多个实体区块地址,且每一实体区块地址代表该多个区块中的一区块。尤其是,该链接信息还包括目前实体页位置信息,用于指出针对该逻辑区块地址最新写入的实体页的位置。另外,该链接信息还包括其它信息可供参考。于是,当该控制器日后要针对该逻辑区块地址进行存取时,即可依据该链接信息来存取属于该逻辑区块地址的数据。
在步骤914中,当该多个实体区块地址中的一实体区块地址所代表的区块已无有效页时,该控制器选择性地抹除该区块并从该链接信息中移除该实体区块地址。例如:当该实体区块地址所代表的区块已无有效页时,该控制器立即抹除该区块并从该链接信息中移除该实体区块地址。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的一变化例,当该实体区块地址所代表的区块已无有效页时,该控制器基于一特定事件的发生来触发抹除该区块并移除该实体区块地址的运作。这样,该控制器等到该特定事件的发生才抹除该区块并从该链接信息中移除该实体区块地址。依据本实施例的另一变化例,当该些实体区块地址所代表的区块当中已无有效页的区块的数量已达一预定值时,该控制器一并抹除这些已无有效页的区块并从该链接信息中移除其实体区块地址。依据本实施例的另一变化例,当该些实体区块地址所代表的区块的数量已达一预定值时,该控制器将该些实体区块地址所代表的区块中的至少一部分区块的有效页合并(Merge)到至少一新的空白区块,且抹除该至少一部分区块并从该链接信息中移除其实体区块地址。尤其是在本变化例中,该至少一部分区块为该些实体区块地址所代表的区块当中具有最少(或较少)有效页的一个或多个区块。
依据本实施例,该链接信息还包括页链接信息。该控制器会依据该页链接信息来判定该实体区块地址所代表的区块是否已无有效页。尤其是,该页链接信息包括一逻辑实体页链接表;这样,在该逻辑实体页链接表中,该控制器就可以针对属于该逻辑区块地址的一逻辑页地址记录/更新相对应的一实体区块地址或其代表信息,并记录/更新相对应的一实体页地址。关于该链接信息的实施细节,请参考图3来进一步说明。
图3为图2所示的方法在一实施例中所涉及的链接信息300-i的示意图。在步骤912中,上述的控制器(例如:通过微处理器112执行程序代码112C的存储器控制器110)可针对任一逻辑区块地址LB(i)记录/更新链接信息,其中i=0、1、...、或n。如图3所示,链接信息300-i包括:目前实体页位置信息例如当前空白页位置Current_PPage、指向逻辑实体页链接表320-i的一指针Page_Link_Table、链接至逻辑区块地址LB(i)的多个实体区块地址(例如:图3所示的实体区块地址PBA(0)、PBA(1)、...、与PBA(N))的数量PBA_Count、以及具有该多个实体区块地址的一实体区块地址表318-i。当前空白页位置Currrent_PPage用来标示最新一页资料应写入哪一个实体页。在本实施例中,实体区块地址PBA(0)、PBA(1)、...、与PBA(N)分别代表实体区块0、1、...、与N。该控制器依序使用了实体区块0、1、...、与N储存属于逻辑区块地址LB(i)的数据,并且依序在实体区块地址表318-i记录了实体区块地址PBA(0)、PBA(1)、...、与PBA(N)。这只是为了说明的目的而已,并非对本发明的限制。在实际操作中,实体区块地址表318-i中可储存任何被该控制器针对逻辑区块地址LB(i)写入数据的实体区块的实体区块地址。尤其是,该控制器可随时在实体区块地址表318-i中新增或移除任何实体区块地址,并可根据需要重新调整实体区块地址表318-i中的实体区块地址的位置。
一般而言,实体区块地址表318-i中的实体区块地址可为该多个区块中的任何部分的区块的实体区块地址,且该些实体区块地址的顺序不需要和该多个区块中的任何部分的区块的顺序相同,并且实体区块地址表318-i中的任两相邻字段内的两实体区块地址不必是连续的。例如:在多次针对逻辑区块地址LB(i)进行数据存取之后,该控制器依序在实体区块地址表318-i记录了实体区块地址PBA(1024)、PBA(20)、PBA(8)、PBA(74)、...等,分别代表实体区块1024、20、8、74、...等,就是当时仍用于储存属于逻辑区块地址LB(i)的数据的实体区块。
在本实施例中,该控制器首先使用实体区块地址PBA(0)所代表的实体区块0来写入/更新属于逻辑区块地址LB(i)的数据,并将实体区块地址PBA(0)记录在实体区块地址表318-i,其中实体区块地址表318-i中最初只有实体区块地址PBA(0),且数量PBA_Count的初始值等于1。在这个过程中,该控制器在逻辑实体页链接表320-i中记录/更新多组实体区块地址表索引与实体页地址,以便日后可以找到属于逻辑区块地址LB(i)的数据,其中逻辑实体页链接表320-i的每一列(或项目)包括一组实体区块地址表索引与实体页地址,且由上至下的各列(或项目)分别对应于属于逻辑区块地址LB(i)的各个逻辑页地址LPage(0)、LPage(1)、...、与LPage(m-1)。
请注意,本实施例的实体区块地址表索引选自图3右上角所示的实体区块地址表索引PBAT(0)、PBAT(1)、...、与PBAT(N),而该控制器可依据实体区块地址表索引PBAT(0)、PBAT(1)、...、与PBAT(N)于实体区块地址表318-i当中分别查找出实体区块地址PBA(0)、PBA(1)、...、与PBA(N)。这样,逻辑实体页链接表320-i中所储存的每一实体区块地址表索引为一相对应的实体区块地址的代表信息(索引信息),其中该代表信息的典型数据量小于该相对应的实体区块地址的数据量,故在逻辑实体页链接表320-i中储存该代表信息(而不直接储存该相对应的实体区地段地址)有助于节省储存空间并提升整体运作效能。另外,本实施例的实体区块地址表索引PBAT(0)、PBAT(1)、...、与PBAT(N)分别为0、1、...、与N,也即实体区块地址表318-i各字段的顺位,故实际应用中实体区块地址表318-i不必储存有实体区块地址表索引PBAT(0)、PBAT(1)、...、与PBAT(N)。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的一变化例,实体区块地址表索引PBAT(0)、PBAT(1)、...、与PBAT(N)可为别的数值。依据本实施例的另一变化例,该控制器在逻辑实体页链接表320-i中直接储存该相对应的实体区块地址(而不储存该代表信息);也就是说,该控制器在逻辑实体页链接表320-i中记录/更新多组实体区块地址与实体页地址,以便日后可以找到属于逻辑区块地址LB(i)的数据,其中逻辑实体页链接表320-i的每一列(或项目)包括一组实体区块地址与实体页地址。
依据本实施例,在建立实体区块地址表318-i的过程之初,当实体区块地址PBA(0)所代表的实体区块已完全写入(Fully Programmed)时,该控制器接着使用实体区块地址PBA(1)所代表的实体区块来写入/更新属于逻辑区块地址LB(i)的数据,并将实体区块地址PBA(1)记录于实体区块地址表318-i,其中此时实体区块地址表318-i中只有实体区块地址PBA(0)及PBA(1),且数量PBA_Count的值被更改为2。此情况下,一旦该控制器必须针对逻辑区块地址LB(i)的某一逻辑页地址更新数据,例如针对逻辑页地址LPage(m0)更新数据,则该控制器更新逻辑实体页链接表320-i中对应于逻辑页地址LPage(m0)的一组实体区块地址表索引与实体页地址,其中该实体区块地址表索引由PBAT(0)更新为PBAT(1),且该实体页地址由实体区块0的一旧数据页的地址更新为实体区块1的一新数据页的地址。也即,该控制器以实体区块地址表318-i中顺位较后面的一实体区块(即实体区块地址表索引较大的实体区块)的相关链接信息更新实体区块地址表318-i中顺位较前面的一实体区块(即实体区块地址表索引较小的实体区块)的相关链接信息。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的一变化例,当一特定区块的实体页是以相对应逻辑区块的逻辑页的相同的顺序被连续地写入时,该控制器可将该相对应逻辑区块的链接信息中的指针Page_Link_Table设为空(Null)值,以避免指向任何逻辑实体页链接表。
类似地,在本实施例中,当实体区块地址PBA(j-1)所代表的实体区块已完全写入时,该控制器使用实体区块地址PBA(j)所代表的实体区块来写入/更新属于逻辑区块地址LB(i)的数据,并将实体区块地址PBA(j)记录于实体区块地址表318-i,其中此时实体区块地址表318-i中储存有实体区块地址PBA(0)、PBA(1)、...、与PBA(j),且数量PBA_Count的值被更改为(j+1)。此情况下,一旦该控制器必须针对逻辑区块地址LB(i)的某一逻辑页地址更新数据,例如针对逻辑页地址LPage(m1)更新数据,则该控制器更新逻辑实体页链接表320-i中对应于逻辑页地址LPage(m1)的一组实体区块地址表索引与实体页地址,其中该实体区块地址表索引更新为PBAT(j),且该实体页地址更新为实体区块j的一新数据页的地址。
如此,上述的运作扩增了实体区块地址表318-i,其中参数j由1变化至N。于是,当j=N时,实体区块地址表318-i中储存有实体区块地址PBA(0)、PBA(1)、...、与PBA(N),且数量PBA_Count的值被更改为(N+1)。
随着数量PBA_Count的值不断地增加,实体区块地址表318-i中所储存的各个实体区块地址会逐一满足步骤914所述的执行条件。于是,当该些实体区块地址中的任一实体区块地址所代表的区块已无有效页时,该控制器即可选择性地抹除该区块并从该链接信息中移除该实体区块地址。这样,本发明的方法以及相关的记忆装置及其控制器可大幅地减少合并运作(Merging Operation)以及无效数据页的垃圾集中(Garbage Collection)运作的负担。
依据本实施例,当链接信息300-i指出有K个实体区块地址链接至逻辑区块地址LB(i)时,关于无效数据页的垃圾集中运作的负担大约减为(1/K)倍,即其效能约为现有技术的K倍。尤其是,当K大于一个区块的页数(例如m)时,关于无效数据页的垃圾集中运作的负担就可以完全去除,且不需要进行合并运作。因此,本发明的方法以及相关的记忆装置及其控制器可减缓闪存120中的区块的抹除次数(Erase Count)的增加速率。
与现有技术相比,本发明的方法以及相关的记忆装置及其控制器可增进运作效能并减少闪存中的区块的合并运作的次数,甚至可以不必进行合并运作。另外,本发明的方法以及相关的记忆装置及其控制器可以减缓闪存中的区块的抹除次数的增加速率。因此,通过利用本发明所实现的便携式记忆装置会拥有较长的使用寿命。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (24)
1.一种用于管理闪存的多个区块的方法,其特征在于,该方法包括:
针对一逻辑区块地址记录/更新链接信息,其中所述链接信息包括链接至所述逻辑区块地址的多个实体区块地址,且每一实体区块地址代表所述多个区块中的一区块;以及
当所述多个实体区块地址中的一实体区块地址所代表的区块已无有效页时,选择性地抹除所述已无有效页的实体区块并从所述链接信息中移除所述已无有效页的实体区块地址。
2.根据权利要求1所述的用于管理闪存的多个区块的方法,其特征在于,其中所述链接信息还包括目前实体页位置信息,用于指出针对所述逻辑区块地址最新写入的实体页的位置。
3.根据权利要求1所述的用于管理闪存的多个区块的方法,其特征在于,其中所述链接信息还包括页链接信息;以及所述方法还包括:
依据所述页链接信息来判定所述实体区块地址所代表的区块是否已无有效页。
4.根据权利要求3所述的用于管理闪存的多个区块的方法,其特征在于,其中所述页链接信息包括一逻辑实体页链接表;以及针对所述逻辑区块地址记录/更新所述链接信息的步骤还包括:
在所述逻辑实体页链接表中,针对属于所述逻辑区块地址的一逻辑页地址记录/更新相对应的一实体区块地址或其代表信息,并记录/更新相对应的一实体页地址。
5.根据权利要求4所述的用于管理闪存的多个区块的方法,其特征在于,其中针对所述逻辑页地址记录/更新相对应的所述实体区块地址或其代表信息,并记录/更新相对应的所述实体页地址的步骤还包括:
以一实体区块地址表中顺位较后面的一实体区块的一相关链接信息更新所述实体区块地址表中顺位较前面的一实体区块的一相关链接信息。
6.根据权利要求4所述的用于管理闪存的多个区块的方法,其特征在于,其中所述页链接信息还包括指向所述逻辑实体页链接表的一指针。
7.根据权利要求1所述的用于管理闪存的多个区块的方法,其特征在于,其中所述链接信息还包括所述多个实体区块地址的数量。
8.根据权利要求1所述的用于管理闪存的多个区块的方法,其特征在于,其中选择性地抹除所述已无有效页的实体区块并从所述链接信息中移除所述已无有效页的实体区块地址的步骤还包括:
当所述实体区块地址所代表的区块已无有效页时,立即抹除所述区块并从所述链接信息中移除所述实体区块地址。
9.根据权利要求1所述的用于管理闪存的多个区块的方法,其特征在于,其中选择性地抹除所述已无有效页的实体区块并从所述链接信息中移除所述已无有效页的实体区块地址的步骤还包括:
当所述实体区块地址所代表的区块已无有效页时,基于一特定事件的发生来触发抹除所述区块并移除所述实体区块地址的运作。
10.根据权利要求1所述的用于管理闪存的多个区块的方法,其特征在于,其中选择性地抹除所述已无有效页的实体区块并从所述链接信息中移除所述已无有效页的实体区块地址的步骤还包括:
当所述实体区块地址所代表的区块当中已无有效页的区块的数量已达一预定值时,一并抹除这些已无有效页的区块并从所述链接信息中移除其实体区块地址。
11.根据权利要求1所述的用于管理闪存的多个区块的方法,其特征在于,其中选择性地抹除所述已无有效页的实体区块并从所述链接信息中移除所述已无有效页的实体区块地址的步骤还包括:
当所述多个实体区块地址所代表的区块的数量已达一预定值时,将所述多个实体区块地址所代表的区块中的至少一部分区块的有效页合并到至少一新的空白区块,且抹除所述至少一部分区块并从所述链接信息中移除其实体区块地址。
12.根据权利要求1所述的用于管理闪存的多个区块的方法,其特征在于,还包括:
当一特定区块的实体页是以相对应逻辑区块的逻辑页的相同的顺序被连续地写入时,将所述相对应逻辑区块的链接信息中的一指针设为空值,以避免指向任何逻辑实体页链接表。
13.一种用于管理闪存的多个区块的装置,包括:
第一模块:用于针对一逻辑区块地址记录/更新链接信息,其中所述链接信息包括链接至所述逻辑区块地址的多个实体区块地址,且每一实体区块地址代表所述多个区块中的一区块;
第二模块:用于当所述多个实体区块地址中的一实体区块地址所代表的区块已无有效页时,选择性地抹除所述已无有效页的实体区块并从所述链接信息中移除所述已无有效页的实体区块地址。
14.根据权利要求13所述的用于管理闪存的多个区块的装置,其特征在于,其中所述链接信息还包括目前实体页位置信息,用于指出针对所述逻辑区块地址最新写入的实体页的位置。
15.根据权利要求13所述的用于管理闪存的多个区块的装置,其特征在于,其中所述链接信息还包括页链接信息;所述用于管理闪存的多个区块的装置还包括第三模块:用于依据所述页链接信息来判定所述实体区块地址所代表的区块是否已无有效页。
16.根据权利要求15所述的用于管理闪存的多个区块的装置,其特征在于,其中所述页链接信息包括一逻辑实体页链接表;所述第一模块还用于在所述逻辑实体页链接表中,针对属于所述逻辑区块地址的一逻辑页地址记录/更新相对应的一实体区块地址或其代表信息,并记录/更新相对应的一实体页地址。
17.根据权利要求16所述的用于管理闪存的多个区块的装置,其特征在于,所述第一模块还用于以一实体区块地址表中顺位较后面的一实体区块的一相关链接信息更新所述实体区块地址表中顺位较前面的一实体区块的一相关链接信息。
18.根据权利要求16所述的用于管理闪存的多个区块的装置,其特征在于,其中所述页链接信息还包括指向所述逻辑实体页链接表的一指针。
19.根据权利要求13所述的用于管理闪存的多个区块的装置,其特征在于,其中所述链接信息还包括所述多个实体区块地址的数量。
20.根据权利要求13所述的用于管理闪存的多个区块的装置,其特征在于,所述第二模块还用于当所述实体区块地址所代表的区块已无有效页时,立即抹除所述区块并从所述链接信息中移除所述实体区块地址。
21.根据权利要求13所述的用于管理闪存的多个区块的装置,其特征在于,所述第二模块还用于当所述实体区块地址所代表的区块已无有效页时,基于一特定事件的发生来触发抹除所述区块并移除所述实体区块地址的运作。
22.根据权利要求13所述的用于管理闪存的多个区块的装置,其特征在于,所述第二模块还用于当所述实体区块地址所代表的区块当中已无有效页的区块的数量已达一预定值时,一并抹除这些已无有效页的区块并从所述链接信息中移除其实体区块地址。
23.根据权利要求13所述的用于管理闪存的多个区块的装置,其特征在于,所述第二模块还用于当所述些实体区块地址所代表的区块的数量已达一预定值时,将所述些实体区块地址所代表的区块中的至少一部分区块的有效页合并到至少一新的空白区块,且抹除所述至少一部分区块并从所述链接信息中移除其实体区块地址。
24.根据权利要求13所述的用于管理闪存的多个区块的装置,其特征在于,所述用于管理闪存的多个区块的装置还包括第四模块:用于当一特定区块的实体页是以相对应逻辑区块的逻辑页的相同的顺序被连续地写入时,将所述相对应逻辑区块的链接信息中的一指针设为空值,以避免指向任何逻辑实体页链接表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910179754 CN102033812B (zh) | 2009-09-24 | 2009-09-24 | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910179754 CN102033812B (zh) | 2009-09-24 | 2009-09-24 | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102033812A CN102033812A (zh) | 2011-04-27 |
CN102033812B true CN102033812B (zh) | 2013-04-10 |
Family
ID=43886737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910179754 Active CN102033812B (zh) | 2009-09-24 | 2009-09-24 | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102033812B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123609B (zh) * | 2013-03-13 | 2015-07-15 | 中国科学院上海微***与信息技术研究所 | 存储器的分块管理方法 |
TWI659304B (zh) * | 2017-10-20 | 2019-05-11 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
CN110780812B (zh) * | 2019-09-27 | 2021-08-24 | 苏州浪潮智能科技有限公司 | 一种硬盘数据置无效方法与装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123116A (zh) * | 2006-08-09 | 2008-02-13 | 安国国际科技股份有限公司 | 存储装置及其读写方法 |
CN101147133A (zh) * | 2005-02-16 | 2008-03-19 | 桑迪士克股份有限公司 | 闪速存储器中的直接文件数据编程及删除 |
-
2009
- 2009-09-24 CN CN 200910179754 patent/CN102033812B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101147133A (zh) * | 2005-02-16 | 2008-03-19 | 桑迪士克股份有限公司 | 闪速存储器中的直接文件数据编程及删除 |
CN101123116A (zh) * | 2006-08-09 | 2008-02-13 | 安国国际科技股份有限公司 | 存储装置及其读写方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102033812A (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10204042B2 (en) | Memory system having persistent garbage collection | |
CN102667736B (zh) | 存储器管理装置及存储器管理方法 | |
CN104750625B (zh) | 数据储存装置以及快闪存储器控制方法 | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
EP2605142B1 (en) | Lba bitmap usage | |
CN100501868C (zh) | 基于NAND Flash存储器文件***的实现方法 | |
US7818493B2 (en) | Adaptive block list management | |
CN100385416C (zh) | 资料区块的资料管理方法及其相关资料存取*** | |
EP1909184A2 (en) | Mapping information managing apparatus and method for non-volatile memory supporting different cell types | |
CN100583293C (zh) | 存储装置及其读写方法 | |
CN103019958A (zh) | 使用数据属性来管理固态存储器里的数据的方法 | |
CN102033811B (zh) | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 | |
CN102135942A (zh) | 一种存储设备中实现损耗均衡的方法及存储设备 | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
CN102819494B (zh) | 一种闪存顺序写入时的优化方法 | |
CN101634967A (zh) | 用于闪存的区块管理方法、储存***与控制器 | |
CN103365786A (zh) | 数据存储方法、装置和*** | |
CN109669889B (zh) | 一种轻量型Nor Flash闪存控制方法和装置 | |
US8954646B2 (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
US20110093649A1 (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
CN102033812B (zh) | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 | |
CN100456263C (zh) | 在税控收款机中使用闪存时处理坏块的方法 | |
CN101894077B (zh) | 一种数据存储方法及*** | |
CN102169464A (zh) | 一种用于非易失性存储器的缓存方法、装置及智能卡 | |
CN106155914A (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 |