储存单元管理方法及系统的制作方法

文档序号:6458148阅读:125来源:国知局
专利名称:储存单元管理方法及系统的制作方法
技术领域
本发明有关于一种储存单元管理方法及系统,且特别有关 于一种可以将储存单元的实体区块进行分类管理的储存单元管 理方法及系统。
背景技术
在对于储存单元,如非易失性存储器进行储存管理时,数据通常依据页面映射(Page Mapping)与区块映射(Block Mapping)等模式进行储存与定位。在页面映射模式中,储存单元中的数据以逻辑页面为单位 进行储存,且具有相应的页面映射表。页面映射表中以逻辑页 面为索引,且以实体页面为表项(项目内容)。当采用页面映射 的储存系统处理读写命令时,则可以直接查找以及更新页面映 射表以完成相关数据页面的定位。在区块映射模式中,储存单 元中的数据以逻辑区块为单位进行储存,且具有相应的区块映 射表。区块映射表中以逻辑区块为索引,且以实体区块为表项。 当采用区块映射的储存系统处理读写命令时,则可以直接查找 以及更新区块映射表以完成相关数据页面的定位。然而,对于 重写命令,必须先分配一个区块,且将要求的页面写入分配的 区块中。之后,再将逻辑区块中其他的页面复制至此分配的区 块中。近年来,随着集成电路技术的发展,储存单元的页面/区块 尺寸已经大幅提高。此外,高密度储存单元,如NAND(与非) 快闪存储器中每个区块的各个页面必须依照顺序写入,不能随 机写入。另外,由于NAND快闪存储器具有以页面为单位读写、以区块为单位删除以及在写之前必须删除的特点,因此,采用 区块映射的储存系统处理写入命令时都必须对原有数据区块进 行一次删除。当区块尺寸增大后将导致写入性能大大降低。其 次,页面映射模式中数据的分布非常复杂与繁乱。当空闲区块 用尽时,数据合并以获取新空闲区块的过程将会非常复杂。
因此, 一些储存管理系统提出可以结合区块映射与页面映 射的混合型映射模式。在这些系统中,储存单元中可以包括分 别相应区块映射与页面映射的区域,且各个区域的使用仅能通 过数据合并操作来进行切换。虽然具有混合型映射模式的储存 管理系统可以提供较大的弹性来储存数据,然而,在实际使用
存在许多未利用的实体页面,进而使得储存单元中数据的分布 非常复杂与繁乱。类似地,进行相关数据合并时亦会造成系统
的效能负担。

发明内容
有鉴于此,本发明提供储存单元管理方法及系统。 本发明所述的储存单元管理方法,用以管理包括多个实体 区块的储存单元,其中每一实体区块具有多个区块种类定义中 的一个区块种类定义。首先,取得至少一第一写入命令,其中 第 一 写入命令要求对于相应至少 一逻辑区块的至少 一逻辑页面 进行数据写入操作。判断储存单元中是否存在具有多个区块种 类定义中的一第一区块定义的一候选区块,其中依据第一区块 定义逻辑区块的逻辑页面无法映射至候选区块。若候选区块存 在,将第一区块定义转换为区块种类定义中的一第二区块定义。 将一数据写入具有第二区块定义的候选区块中的 一特定页面, 且记录逻辑区块的逻辑页面与候选区块的特定页面的一映射关系。
本发明所述的储存单元管理系统包括一储存单元与一处理 模块。储存单元包括多个实体区块,每一实体区块具有多个区 块种类定义中的一个区块种类定义。处理模块取得至少一第一 写入命令,其中第一写入命令要求对于相应至少一逻辑区块的 至少 一 逻辑页面进行数据写入操作。处理模块判断储存单元中 是否存在具有多个区块种类定义中的一第一区块定义的一候选 区块,其中依据第一区块定义逻辑区块的逻辑页面无法映射至 候选区块。若候选区块存在,处理模块将第一区块定义转换为 区块种类定义中的一第二区块定义,且将一数据写入具有第二 区块定义的候选区块中的一特定页面,并记录逻辑区块的逻辑 页面与候选区块的特定页面的 一 映射关系。
本发明上述方法可以通过程序码方式收录于实体介质中。 当程序码被机器载入且执行时,机器变成用以实行本发明的装 置。
本发明所述的储存单元管理方法及系统,可以将储存单元 的实体区块进行分类管理,以更有效率地利用储存单元。


图l为 一示意图系显示依据本发明实施例的储存单元管理 系统。
图2为 一 示意图系显示依据本发明实施例的储存单元中的 实体区块。
图3为一示意图系显示依据本发明实施例的映射目录项目 的格式。
图4为一示意图系显示依据本发明实施例的区块映射表项 目的格式。图5为 一示意图系显示依据本发明实施例的页面映射区块 表项目的格式。
图6为 一示意图系显示依据本发明实施例的页面映射表项
目的格式。
图7A至图7D为流程图系显示依据本发明实施例的储存单 元管理方法。
图8为 一示意图系显示依据本发明实施例的写入命令的格式。
具体实施例方式
为使本发明的上述目的、特征和优点能更明显易懂,下文 特举实施例,并配合所附图示,详细说明如下。
图l显示依据本发明实施例的储存单元管理系统。 依据本发明实施例的储存单元管理系统100包括一储存单 元110、 一存储器120与一处理模块130。储存单元110可以是一 非易失性存储器,如NAND快闪存储器。储存单元110中的数据 可以以区块映射模式与页面映射模式分别以区块与页面为单位 进行储存。值得注意的是,在本发明中储存单元110的实体区块 可以具有不同的区块种类定义,以分类进行管理。图2显示储存
单元110的实体区块。在此实施例中,区块种类定义可以包括一 数据区块定义、 一连续区块定义、 一奉献区块定义与一共享区 块定义。储存单元110中的每一实体区块可以分别具有上述区块 种类定义中的一个,且可以进行转换。其中,具有数据区块定 义的实体区块lll是依据区块映射模式储存数据,且实体区块中 的所有页面都已经被写入数据。具有连续区块定义的实体区块 112中从第一个页面开始的多个页面是依据区块映射模式储存 数据,且实体区块中存在至少一个未写入数据的页面。具有奉献区块定义的实体区块1 1 3中的数据皆是对应至同 一 个逻辑区 块,从第一个页面开始的多个页面是依据区块映射模式储存数 据,且存在至少一页面并不依据区块映射模式储存数据。具有 共享区块定义的实体区块114中的数据是依据页面映射模式储 存数据,且对应至至少二特定逻辑区块。值得注意的是,储存
单元110亦可包括并未指定区块种类定义的空闲实体区块(未显
示)。区块种类定义间的转换将于后进行说明。
另外,储存单元110亦包括一映射目录、多个区块映射表、
多个页面映射区块表以及多个页面映射表。
映射目录系映射使用者数据的根目录。映射目录包含多个 项目,其中一映射目录编号可以作为映射目录中各个项目的索
引,且每一项目可以指向相应一既定大小,如256MB^f吏用者凄史 据的包含一部分区块映射表的一页面。图3显示依据本发明实施 例的映射目录项目的格式。如图3所示,映射目录项目300包括 一 "blnCache"栏位310、 一 "CachedBmtNumber"栏位320与 一 "BmtPageLocation,,栏位330。 "blnCache"栏位310记录相 应的区块映射表页面是否在存储器120中。举例来说,若区块映 射表页面已经在存储器120中,则"blnCache"栏位310中记 录,T,;若区块映射表页面不在存储器120中,则"blnCache" 栏位310中记录"0"。对于已经在存储器120中的区块映射表页 面,"CachedBmtNumber,,栏位320记录相应此区块映射表页面 在存储器120中的地址。对于不在存储器120中的区块映射表页 面,贝'J " CachedBmtNumber " 栏位320为 "Invalid "。 "BmtPageLocation"栏位330记录区块映射表页面在储存单元 IIO上的实体储存地址。
区块映射表包含多个项目,其中一逻辑区块编号可以作为 区块映射表中各个项目的索引,且每一项目记录相应此逻辑区块的数据的存储位置信息。图4显示依据本发明实施例的区块映 射表项目的格式。如图4所示,区块映射表项目400包括一
"bPageMapped"栏位410与一 "Blocklnfo"栏位420。如前所 述,储存单元110中的数据可以是以区块映射模式或页面映射模 式进行储存。因此,"bPageMapped"栏位410用以记录一逻辑 区块所釆用的映射模式。举例来说。若区块是采用区块映射模 式,则"bPageMapped"栏位410中记录"0";若区块是采用页 面映射模式,则"bPageMapped"栏位410中记录"1" 。 " Blocklnfo" 栏位420则记录详细的映射信息。其中,对于采用区块映射模式 的逻辑区块,"Blocklnfo"栏位420中记录相应^t据区块的实体 位置,如实体区块编号。对于采用页面映射模式的逻辑区块,
"Blocklnfo"栏位420中记录一页面映射区块编号,用以表示 此逻辑区块为第几个页面映射区块。
页面映射区块表包含多个项目,其中页面映射区块编号可 以作为页面映射区块表中各个项目的索引,且每一项目记录相 应此逻辑区块的页面映射表在存储器120中的起始地址。图5显 示依据本发明实施例的页面映射区块表项目的格式。如图5所 示,页面映射区块表项目500包括一 "PageMappedBlockN謹,, 栏位510与一 "PageMappingTablelnfo " 栏位520 。
其中,
"PageMappedBlockNum,,栏位510用以记录页面映射区块编 号,且"PageMappingTablelnfo"栏位520用以记录相应此逻辑 区块的页面映射表在存储器120中的起始地址。
页面映射表包含多个项目,其中一页面位移(Offset)可以作 为页面映射表中各个项目的索引,且每一项目记录相应此逻辑 区块中逻辑页面的实体储存位置,如装置编号、实体区块编号 与实体页面位移等。图6显示依据本发明实施例的页面映射表项 目的格式。如图6所示,页面映射表项目600包括一 "PageOffset"栏位610与一 "Pagelnfo"栏位620。其中,"PageOffset,,栏位 610用以记录页面位移,且"Pagelnfo"栏位620用以记录相应 此逻辑区块中逻辑页面的实体储存位置。注意的是,在一些实 施例中,页面映射表中的项目数目等于一个逻辑区块中所包含 的页面数量。
处理模块130可以由上层,如应用程序等接收写入命令,将 写入命令分解为以页面为单位的至少一子写入命令。处理模块 130依据区块映射表、页面映射区块表与页面映射表将子命令转 换为相应储存单元110的写入命令,且执行写入命令与转换实体 区块的区块种类定义,以将数据写入储存单元110中特定实体区 块的特定页面中。注意的是,当逻辑区块依据一第一区块定义 时,逻辑区块的逻辑页面将无法映射至候选区块中。
图7 A至图7 D显示依据本发明实施例的储存单元管理方法。 首先,如步骤S702(图7A),由上层,如应用程序等接收一 写入命令,且如步骤S704,将接收的写入命令分解为以逻辑页 面为单位的至少一第一写入命令。其中,第一写入命令可以包 括一映射目录数据、 一区块映射数据、 一页面映射数据、 一装 置数据、 一磁区数据与/或一磁区计数(Sector Count)。图8显示 依据本发明实施例的写入命令的格式。如图8所示,写入命令800 包括一 "MDN"栏位、一 "BO"栏位、一 "PO"栏位、"DN" 栏位与一 "SO"栏位。其中,"MDN"栏位记录映射目录数据, "BO"栏位记录区块映射数据,"PO"栏位记录页面映射数据, "DN"栏位记录装置数据,且"SO"栏位记录磁区数据。值 得注意的是通过第 一 写入命令可以得知数据欲写入至少 一逻辑 区块的至少一逻辑页面。如步骤S706,依据第一写入命令中的 映射目录数据(映射目录编号)由映射目录中的多个区块映射表 中定位一特定区块映射表。如步骤S708,判断此特定区块映射表是否已经载入于存储器中。提醒的是,判断特定区块映射表 是否已经载入于存储器中可以依据映射目录中相应映射目录数
据的项目中"blnCache"栏位的数据来判断。若特定区块映射 表不在存储器中(步骤S708的否),如步骤S710,由已经载入存 储器中的区块映射表中选择一候选区块映射表,且如步骤 S712,将特定区块映射表载入存储器中以取代候选区块映射 表。值得注意的是,在一些实施例中,当存储器空间不足时, 才需要进行选择候选区块映射表的操作,且候选区块映射表可 以依据一最久未使用(LRU)演算法来进行选择。若存储器仍具 有空间,则可以直接将特定区块映射表载入存储器中。
若特定区块映射表已经在存储器中(步骤S708的是),如步 骤S714,依据第一写入命令中的区块映射数据(逻辑区块编号) 由特定区块映射表中定位一第一特定项目,其中第一特定项目 包括 一 映射模式设定("bPageMapped"栏位的数据)与 一 区块信 息("Blocklnfo"栏位的数据)。如步骤S716,依据映射模式设 定判断相应区块的映射模式是否为页面映射模式。若映射模式 为区块映射模式时(步骤S716的否),如步骤S718,判断页面映 射区块表中是否有空闲的项目。若页面映射区块表中有空闲的 项目(步骤S718的是),进行步骤S722的操作。若页面映射区块 表中没有空闲的项目(步骤S718的否),如步骤S720,进行数据 页面的数据合并操作,以由页面映射区块表中取得空闲的项目。 如步骤S722,将第一写入命令相应的逻辑区块加入页面映射区 块表中,并进行步骤S724的操作。若映射模式为页面映射模式 时(步骤S716的是),如步骤S724,依据第一特定项目中的区块 信息(页面映射区块编号)由一页面映射区块表中定位一特定页 面映射区块,且如步骤S726,通过特定页面映射区块定位至一 页面映射表。如步骤S728,依据第 一写入命令判断其欲写入的逻辑页面 是否包含相应逻辑区块的第一个页面。若是(步骤S728的是), 如步骤S730(图7B),判断储存单元中是否存在具有连续区块定 义的一候选区块。若储存单元中不存在具有连续区块定义的候 选区块(步骤S730的否),如步骤S732,判断储存单元中是否存 在具有奉献区块定义的一候选区块。若储存单元中存在具有奉 献区块定义的候选区块(步骤S732的是),如步骤S734,将此候 选区块由奉献区块定义转换为共享区块定义,并如步骤S736, 依据第一写入命令产生相应储存单元的第二写入命令,以将数
据写入至具有共享区块定义的候选区块中的特定页面中。之后, 进行步骤S774的操作。若储存单元中不存在具有奉献区块定义 的候选区块(步骤S732的否),如步骤S738,重新配置一空闲区 块为具有连续区块定义的候选区块,并如步骤S740,依据第一 写入命令产生相应储存单元的第二写入命令,以将数据写入至 具有连续区块定义的候选区块中的特定页面中。之后,进行步 骤S774的操作。
若储存单元中存在具有连续区块定义的候选区块(步骤 S730的是),如步骤S742,判断此候选区块是否已经或是接近满 了。若候选区块已经或是接近满了 (步骤S "的是),如步骤 S744,将此候选区块由连续区块定义转换为数据区块定义,并 进行步骤S738与S740的操作。若候选区块并未满了或是接近满 了(步骤S742的否),如步骤S746,将此候选区块由连续区块定 义转换为奉献区块定义,并如步骤S748,依据第一写入命令产 生相应储存单元的第二写入命令,以将数据写入至具有奉献区 块定义的候选区块中的特定页面中。之后,如步骤S750,判断 具有奉献区块定义的候选区块是否已经满了 。若具有奉献区块 定义的候选区块已经满了 (步骤S750的是),进行步骤S734与S736的操作。之后,进行步骤S774的操作。若具有奉献区块定 义的候选区块并未满了 (步骤S750的否),直接进行步骤S774的 操作。值得注意的是,由于第一写入命令欲写入的逻辑页面的 数目可能超过具有奉献区块定义的候选区块可以提供的页面数 目,因此必须进行步骤S750的判断。
的第一个页面(步骤S728的否),如步骤S752(图7C),判断储存 单元中是否存在具有连续区块定义的一候选区块。若储存单元 中不存在具有连续区块定义的候选区块(步骤S752的否),如步 骤S754,判断储存单元中是否存在具有奉献区块定义的一候选 区块。若储存单元中并未存在具有奉献区块定义的候选区块(步 骤S754的否),进行步骤S762的操作。若储存单元中存在具有奉 献区块定义的候选区块(步骤S754的是),如步骤S756,依据第 一写入命令产生相应储存单元的第二写入命令,以将数据写入 至具有奉献区块定义的候选区块中的特定页面中。之后,如步 骤S758,判断具有奉献区块定义的候选区块是否已经满了 。若 具有奉献区块定义的候选区块已经满了 (步骤S758的是),如步 骤S760,将此候选区块由奉献区块定义转换为共享区块定义, 并如步骤S762,依据第一写入命令产生相应储存单元的第二写 入命令,以将数据写入至具有共享区块定义的候选区块中的特 定页面中。之后,进行步骤S774的操作。若具有奉献区块定义 的候选区块并未满了 (步骤S758的否),直接进行步骤S774的操 作。
若储存单元中存在具有连续区块定义的候选区块时(步骤 S752的是),如步骤S764,判断第 一 写入命令欲写入的逻辑页面 与此候选区块中具有数据的最后一页面是否相连续。若相连续 (步骤S764的是),如步骤S766,依据第 一 写入命令产生相应储存单元的第二写入命令,以将数据写入至具有连续区块定义的
候选区块中的特定页面中。若不连续(步骤S764的否),如步骤 S768,判断第一写入命令欲写入的逻辑页面与具有连续区块定 义的候选区块中具有数据的最后 一 页面的地址是否发生冲突。 若并未发生沖突(步骤S768的否),进行步骤S766的操作。若发 生冲突(步骤S768的是),如步骤S770,将此候选区块由连续区 块定义转换为奉献区块定义,并如步骤S772,依据第一写入命 令产生相应储存单元的第二写入命令,以将数据写入至具有奉 献区块定义的候选区块中的特定页面中。之后,进行步骤S758 的操作。
之后,如步骤S774(图7D),执行产生的第二写入命令,以 将数据写入储存单元中的候选区块中的特定页面。值得注意的 是,如前所述,第一写入命令更可以包括装置数据与/或磁区数 据。当第一写入命令包括装置数据与/或磁区数据时,则更可以 依据装置数据与/或磁区数据将数据写入储存单元中。如步骤 S776,依据相应第一写入命令欲写入的逻辑区块的逻辑页面与 实际储存单元中候选区块的特定页面的映射关系,更新页面映 射表与/或特定区块映射表。如步骤S778,判断步骤S77"々映射 表更新是否牵涉区块等级的映射表更新。若否(步骤S778的否), 结束整个写入流程。若是(步骤S778的是),如步骤S780,将更 新后的特定区块映射表写入至储存单元中。
有鉴于此,通过本发明的储存单元管理方法及系统可以将 储存单元的实体区块进行分类管理,以更有效率地利用储存单 元。
本发明的方法、特定型态或其部分,可以以程序码的型态 包含于实体介质,如软盘、光盘片、硬盘或是任何其他机器可 读取(如计算机可读取)储存介质,其中,当程序码被机器,如计算机载入且执行时,此机器变成用以参与本发明的装置。本 发明的方法与装置也可以以程序码型态通过一 些传送介质,如 电线或电缆、光纤或是任何传输型态进行传送,其中,当程序 码被机器,如计算机接收、载入且执行时,此机器变成用以参 与本发明的装置。当在一般用途处理器实作时,程序码结合处 理器提供一操作类似于专用集成电路的独特装置。以上所述仅为本发明较佳实施例,然其并非用以限定本发 明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神 和范围内,可在此基础上做进一步的改进和变化,因此本发明 的保护范围当以本申请的权利要求书所界定的范围为准。附图中符号的简单说明如下100:储存单元管理系统110:储存单元111:数据区块定义的区块112:连续区块定义的区块113:奉献区块定义的区块114:共享区块定义的区块120:存储器130:处理模块300:映射目录项目310:"blnCache"栏位320:"CachedBmtNumber"栏位330:"BmtPageLocation"栏位400:区块映射表项目410:"bPageMapped,,栏位420:"Blocklnfo"栏位500:页面映射区块表项目510: "PageMappedBlockNum"栏位520: "PageMappingTablelnfo"栏位600:页面映射表项目610: "PageOffset"栏位620: "Pagelnfo"栏位S702、 S704、…、S780:步骤800:写入命令MDN:映射目录数据栏位BO:区块映射数据栏位PO:页面映射数据栏位DN:装置数据栏位SO:磁区数据栏位。
权利要求
1.一种储存单元管理方法,其特征在于,包括下列步骤提供一储存单元,其中该储存单元包括多个实体区块,每一所述实体区块具有多个区块种类定义中的一个区块种类定义;取得至少一第一写入命令,其中该第一写入命令要求对于相应至少一逻辑区块的至少一逻辑页面进行数据写入操作;判断该储存单元中是否存在具有所述多个区块种类定义中的一第一区块定义的一候选区块,其中依据该第一区块定义该逻辑区块的该逻辑页面无法映射至该候选区块;若该候选区块存在,将该第一区块定义转换为所述区块种类定义中的一第二区块定义;以及将一数据储写入具有第二区块定义的该候选区块中的一特定页面,且记录该逻辑区块的该逻辑页面与该候选区块的该特定页面的一映射关系。
2. 根据权利要求l所述的储存单元管理方法,其特征在于, 该第一写入命令至少包括一映射目录数据、 一区块映射数据与 一页面映射数据,且该储存单元管理方法还包括下列步骤依据该映射目录数据由多个区块映射表中定位至一特定区 块映射表;依据该区块映射数据由该特定区块映射表中定位一 第 一特 定项目,其中该第一特定项目包括一映射模式设定与一区块信息;当该映射模式设定为一页面映射模式时,依据该区块信息 由一页面映射区块表中定位一特定页面映射区块,且通过该特 定页面映射区块定位至一页面映射表;以及依据该映射关系更新该特定区块映射表或该页面映射表。
3. 根据权利要求2所述的储存单元管理方法,其特征在于,还包括下列步骤依据该映射目录数据判断该特定区块映射表是否已经载入于一存储器中;以及若该特定区块映射表并未载入于该存储器中,将该特定区 块映射表载入该存储器中。
4. 根据权利要求3所述的储存单元管理方法,其特征在于, 还包括下列步骤由已经载入该存储器中的所述区块映射表中选择一候选区 块映射表;以及将该特定区块映射表载入该存储器中以取代该候选区块映 射表。
5. 根据权利要求2所述的储存单元管理方法,其特征在于, 当该映射模式设定为 一 区块映射模式时,新增 一 逻辑区块至该 页面映射区块表。
6. 根据权利要求l所述的储存单元管理方法,其特征在于, 还包括下列步骤依据该映射关系将该第 一 写入命令转换为相应该储存单元 的至少一第二写入命令;以及执行该第二写入命令,以将该数据写入至该储存单元中该 候选区块中的该特定页面。
7. 根据权利要求l所述的储存单元管理方法,其特征在于, 所述区块种类定义包括一数据区块定义、 一连续区块定义、一 奉献区块定义与一共享区块定义,其中,具有该数据区块定义 的该实体区块是依据一 区块映射模式储存数据,且该实体区块中的所有页面都已经被写入数据,具有该连续区块定义的该实 体区块中从第一个页面开始的多个页面是依据该区块映射模式 储存数据,且该实体区块中存在至少一个未写入数据的页面,具有该奉献区块定义的该实体区块中的数据皆是对应至一特定 逻辑区块,从第一个页面开始的多个页面是依据该区块映射模 式储存数据,且存在至少 一 页面并不依据该区块映射模式储存 数据,具有该共享区块定义的该实体区块中的数据是依据 一 页 面映射模式储存数据,且对应至至少二特定逻辑区块。
8. 根据权利要求l所述的储存单元管理方法,其特征在于,还包括下列步骤判断该至少 一逻辑页面是否包含该逻辑区块的第 一个页面;若该至少一逻辑页面包含该逻辑区块的第一个页面,判断该储存单元中是否存在具有该连续区块定义的该候选区块;若该储存单元中存在具有该连续区块定义的该候选区块, 将该候选区块由该连续区块定义转换为该奉献区块定义,以将 该数据储存至具有奉献区块定义的该候选区块中的该特定页面中;若该储存单元中不存在具有该连续区块定义的该候选区 块,判断该储存单元中是否存在具有该奉献区块定义的该候选 区块;若该储存单元中存在具有该奉献区块定义的该候选区块, 将该候选区块由该奉献区块定义转换为该共享区块定义,以将 该数据储存至具有共享区块定义的该候选区块中的该特定页面 中;以及若该储存单元中不存在具有该奉献区块定义的该候选区 块,重新配置一空闲区块为具有该连续区块定义的该候选区块, 以将该数据储存至具有连续区块定义的该候选区块中的该特定 页面中。
9. 根据权利要求8所述的储存单元管理方法,其特征在于,当该储存单元中存在具有该连续区块定义的该候选区块,且将 该候选区块由该连续区块定义转换为该奉献区块定义之后,该储存单元管理方法还包括下列步骤判断具有该奉献区块定义的该候选区块是否已经满了 ;以及若具有该奉献区块定义的该候选区块已经满了 ,将该候选 区块由该奉献区块定义转换为该共享区块定义,以将该数据储 存至具有共享区块定义的该候选区块中的该特定页面中。
10. 根据权利要求8所述的储存单元管理方法,其特征在于, 当该至少 一逻辑页面不包含该逻辑区块的第 一 个页面时,该储 存单元管理方法还包括下列步骤判断该储存单元中是否存在具有该连续区块定义的该候选 区块;若该储存单元中不存在具有该连续区块定义的该候选区 块,判断该储存单元中是否存在具有该奉献区块定义的该候选 区块;若该储存单元中存在具有该奉献区块定义的该候选区块, 直接将该数据储存至该候选区块中的该特定页面中;以及若该储存单元中不存在具有该奉献区块定义的该候选区 块,将该数据储存至具有奉献区块定义的该储存单元中具有一 共享区块定义的该候选区块中的该特定页面中。
11. 根据权利要求10所述的储存单元管理方法,其特征在 于,当该储存单元中存在具有该奉献区块定义的该候选区块时, 该储存单元管理方法还包括下列步骤判断具有该奉献区块定义的该候选区块是否已经满了 ;以及若具有该奉献区块定义的该候选区块已经满了 ,将该候选区块由该奉献区块定义转换为该共享区块定义,以将该数据储 存至具有共享区块定义的该候选区块中的该特定页面中。
12. 根据权利要求10所述的储存单元管理方法,其特征在于,当该储存单元中存在具有该连续区块定义的该候选区块时,该储存单元管理方法还包括下列步骤判断该逻辑页面与具有该连续区块定义的该候选区块中具 有数据的最后一页面是否相连续;若该逻辑页面与具有该连续区块定义的该候选区块中具有 数据的最后 一 页面相连续,直接将该数据储存至具有连续区块 定义的该候选区块中的该特定页面中;若该逻辑页面与具有该连续区块定义的该候选区块中具有 数据的最后 一 页面并非相连续,判断该逻辑页面与具有该连续 区块定义的该候选区块中具有数据的最后 一 页面的地址是否发 生冲突;若该逻辑页面与具有该连续区块定义的该候选区块中具有 数据的最后 一 页面的地址并未发生冲突,将该数据储存至具有 连续区块定义的该候选区块中的该特定页面中;以及若该逻辑页面与具有该连续区块定义的该候选区块中具有 数据的最后 一 页面的地址发生冲突,将该候选区块由该连续区 块定义转换为该奉献区块定义,以将该数据储存至具有奉献区 块定义的该候选区块中的该特定页面中。
13. 根据权利要求12所述的储存单元管理方法,其特征在 于,当该储存单元中存在具有该奉献区块定义的该候选区块时, 该储存单元管理方法还包括下列步骤判断具有该奉献区块定义的该候选区块是否已经满了 ;以及若具有该奉献区块定义的该候选区块已经满了 ,将该候选区块由该奉献区块定义转换为该共享区块定义,以将该数据储 存至具有共享区块定义的该候选区块中的该特定页面中。
14. 根据权利要求l所述的储存单元管理方法,其特征在于, 还包括将更新后的该特定区块映射表写入至该储存单元中。
15. —种储存单元管理系统,其特征在于,包括 一储存单元,包括多个实体区块,每一所述实体区块具有多个区块种类定义中的一个区块种类定义;以及一处理模块,取得至少一第一写入命令,其中该第一写入 命令要求对于相应至少 一逻辑区块的至少 一逻辑页面进行数据 写入操作,判断该储存单元中是否存在具有所述多个区块种类 定义中的一第一区块定义的一候选区块,其中依据该第一区块 定义该逻辑区块的该逻辑页面无法映射至该候选区块,若该候 选区块存在,将该第一区块定义转换为所述区块种类定义中的 一第二区块定义,将一数据写入具有第二区块定义的该候选区 块中的 一特定页面,且记录该逻辑区块的该逻辑页面与该候选 区块的该特定页面的 一 映射关系。
16. 根据权利要求15所述的储存单元管理系统,其特征在 于,该第一写入命令至少包括一映射目录数据、 一区块映射数 据与一页面映射数据,且该处理模块还依据该映射目录数据由多个区块映射表中定位至一特定区块映射表,依据该区块映射 数据由该特定区块映射表中定位一第一特定项目,其中该第一 特定项目包括一映射模式设定与一区块信息,当该映射模式设 定为 一 页面映射才莫式时,依据该区块信息由 一 页面映射区块表 中定位一特定页面映射区块,通过该特定页面映射区块定位至 一页面映射表,且依据该映射关系更新该特定区块映射表或该 页面映射表。
17. 根据权利要求16所述的储存单元管理系统,其特征在于,该处理模块还依据该映射目录数据判断该特定区块映射表 是否已经载入于一存储器中,若该特定区块映射表并未载入于 该存储器中,将该特定区块映射表载入该存储器中。
18. 根据权利要求17所述的储存单元管理系统,其特征在 于,该处理模块还由已经载入该存储器中的所述区块映射表中 选择一候选区块映射表,且将该特定区块映射表载入该存储器 中以取代该候选区块映射表。
19. 根据权利要求16所述的储存单元管理系统,其特征在于,该处理模块还当该映射模式设定为一区块映射模式时,新 增 一逻辑区块至该页面映射区块表。
20. 根据权利要求15所述的储存单元管理系统,其特征在 于,该处理模块还依据该映射关系将该第 一 写入命令转换为相 应该储存单元的至少一第二写入命令,且执行该第二写入命令, 以将该数据写入至该储存单元中该候选区块中的该特定页面。
21. 根据权利要求15所述的储存单元管理系统,其特征在 于,所述区块种类定义包括一数据区块定义、 一连续区块定义、 一奉献区块定义与一共享区块定义,其中,具有该数据区块定 义的该实体区块是依据 一 区块映射模式储存数据,且该实体区 块中的所有页面都已经被写入数据,具有该连续区块定义的该 实体区块中从第一个页面开始的多个页面是依据该区块映射模 式储存数据,且该实体区块中存在至少一个未写入数据的页面, 具有该奉献区块定义的该实体区块中的数据皆是对应至一特定逻辑区块,从第一个页面开始的多个页面是依据该区块映射模 式储存数据,且存在至少一页面并不依据该区块映射模式储存 数据,具有该共享区块定义的该实体区块中的数据是依据一页 面映射模式储存数据,且对应至至少二特定逻辑区块。
22. 根据权利要求15所述的储存单元管理系统,其特征在于,该处理模块还判断该至少 一 逻辑页面是否包含该逻辑区块 的第一个页面,若该至少一逻辑页面包含该逻辑区块的第一个 页面,判断该储存单元中是否存在具有该连续区块定义的该候 选区块,若该々者存单元中存在具有该连续区块定义的该候选区 块,将该候选区块由该连续区块定义转换为该奉献区块定义, 以将该数据储存至具有奉献区块定义的该候选区块中的该特定 页面中,若该储存单元中不存在具有该连续区块定义的该候选 区块,判断该储存单元中是否存在具有该奉献区块定义的该候 选区块,若该储存单元中存在具有该奉献区块定义的该候选区 块,将该候选区块由该奉献区块定义转换为该共享区块定义, 以将该数据储存至具有共享区块定义的该候选区块中的该特定 页面中,若该储存单元中不存在具有该奉献区块定义的该候选 区块,重新配置一空闲区块为具有该连续区块定义的该候选区 块,以将该数据储存至具有连续区块定义的该候选区块中的该 特定页面中。
23. 根据权利要求22所述的储存单元管理系统,其特征在 于,当该储存单元中存在具有该连续区块定义的该候选区块, 且将该候选区块由该连续区块定义转换为该奉献区块定义之 后,该处理模块还判断具有该奉献区块定义的该候选区块是否 已经满了,若具有该奉献区块定义的该候选区块已经满了 ,将 该候选区块由该奉献区块定义转换为该共享区块定义,以将该 数据储存至具有共享区块定义的该候选区块中的该特定页面 中。
24. 根据权利要求22所述的储存单元管理系统,其特征在 于,当该至少一逻辑页面不包含该逻辑区块的第一个页面时, 该处理模块还判断该储存单元中是否存在具有该连续区块定义 的该候选区块,若该储存单元中不存在具有该连续区块定义的该候选区块,判断该储存单元中是否存在具有该奉献区块定义 的该候选区块,若该储存单元中存在具有该奉献区块定义的该 候选区块,直接将该数据储存至具有奉献区块定义的该候选区 块中的该特定页面中,若该储存单元中不存在具有该奉献区块 定义的该候选区块,将该数据储存至该储存单元中具有一共享 区块定义的该候选区块中的该特定页面中。
25. 根据权利要求24所述的储存单元管理系统,其特征在 于,当该储存单元中存在具有该奉献区块定义的该候选区块时, 该处理模块还判断具有该奉献区块定义的该候选区块是否已经 满了,若具有该奉献区块定义的该候选区块已经满了 ,将该候 选区块由该奉献区块定义转换为该共享区块定义,以将该数据 储存至具有共享区块定义的该候选区块中的该特定页面中。
26. 根据权利要求24所述的储存单元管理系统,其特征在 于,当该储存单元中存在具有该连续区块定义的该候选区块时, 该处理模块还判断该逻辑页面与具有该连续区块定义的该候选 区块中具有数据的最后一页面是否相连续,若该逻辑页面与具 有该连续区块定义的该候选区块中具有数据的最后一页面相连 续,直接将该数据储存至具有连续区块定义的该候选区块中的 该特定页面中,若该逻辑页面与具有该连续区块定义的该候选 区块中具有数据的最后 一 页面并非相连续,判断该逻辑页面与 具有该连续区块定义的该候选区块中具有数据的最后 一 页面的 地址是否发生冲突,若该逻辑页面与具有该连续区块定义的该 候选区块中具有数据的最后 一 页面的地址并未发生冲突,将该 数据储存至具有连续区块定义的该候选区块中的该特定页面 中,若该逻辑页面与具有该连续区块定义的该候选区块中具有 数据的最后一页面的地址发生沖突,将该候选区块由该连续区 块定义转换为该奉献区块定义,以将该数据储存至具有奉献区块定义的该候选区块中的该特定页面中。
27. 根据权利要求26所述的储存单元管理系统,其特征在 于,当该储存单元中存在具有该奉献区块定义的该候选区块时, 该处理模块还判断具有该奉献区块定义的该候选区块是否已经 满了,若具有该奉献区块定义的该候选区块已经满了 ,将该候 选区块由该奉献区块定义转换为该共享区块定义,以将该数据 储存至具有共享区块定义的该候选区块中的该特定页面中。
28. 根据权利要求15所述的储存单元管理系统,其特征在 于,该处理模块还将更新后的该特定区块映射表写入至该储存 单元中。
全文摘要
一种储存单元管理方法及系统,用以管理包括多个实体区块的储存单元,每一实体区块具有多个区块种类定义中的一个区块种类定义。首先,取得至少一第一写入命令,第一写入命令要求对于相应至少一逻辑区块的至少一逻辑页面进行数据写入操作。判断储存单元中是否存在具有多个区块种类定义中的一第一区块定义的一候选区块,依据第一区块定义逻辑区块的逻辑页面无法映射至候选区块。若候选区块存在,将第一区块定义转换为区块种类定义中的一第二区块定义。将一数据写入具有第二区块定义的候选区块中的一特定页面,且记录逻辑区块的逻辑页面与候选区块的特定页面的一映射关系。本发明可将储存单元的实体区块进行分类管理,以更有效率地利用储存单元。
文档编号G06F3/06GK101251788SQ200810007770
公开日2008年8月27日 申请日期2008年3月7日 优先权日2008年3月7日
发明者蒋培军 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1