映射管理方法及系统的制作方法

文档序号:6458146阅读:165来源:国知局
专利名称:映射管理方法及系统的制作方法
技术领域
本发明有关于一种映射管理方法及系统,且特别有关于一 种可以结合区块映射模式与页面映射模式的映射管理方法及系统。
背景技术
在对于储存单元,如非易失性存储器进行储存管理时,数据通常依据页面映射(Page Mapping)、 区块映射(Block Mapping)、置换区块(Replacement Block)、日志区块(Log Block) 等模式进行储存与定位。在页面映射模式中,储存单元中的数据以逻辑页面为单位 进行储存,且具有相应的页面映射表。页面映射表中以逻辑页 面为索引,且以实体页面为表项(项目内容)。当采用页面映射 的储存系统处理读写命令时,则可以直接查找以及更新页面映 射表以完成相关数据页面的定位。在区块映射模式中,储存单 元中的数据以逻辑区块为单位进行储存,且具有相应的区块映 射表。区块映射表中以逻辑区块为索引,且以实体区块为表项。 当采用区块映射的储存系统处理读写命令时,则可以直接查找 以及更新区块映射表以完成相关数据页面的定位。然而,对于 重写命令,必须先分配一个区块,且将要求的页面写入分配的 区块中。之后,再将逻辑区块中其他的页面复制至此分配的区 块中。另外,置换区块模式是指每一逻辑区块除了数据区块之 外可以拥有一 串以链结形式存在的置换区块。每当重写某一页 面时,便在此链结上从头开始找相应此页面为空的第一个置换 区块。如果找到,便将数据写入此置换区块中的此页面位置。如果找不到,则在链结的尾端再增加一个置换区块,并将数据 写入新增置换区块中的此页面位置。日志区块模式是指对于一 个、多个相连或全部的逻辑区块,分配一个或一定数量的日志 区块,用以容纳需要新写入逻辑区块的数据。当处理读写命令 时,则需要扫描一日志区块表,以确定相应逻辑区块为干净的 (没有数据在日志区块中),或者找到相应逻辑区块的页面映射 表。近年来,随着集成电路技术的发展,储存单元的页面/区块尺寸已经大幅^是高。此外,高密度J诸存单元,如NAND(与非) 快闪存储器中每个区块的各个页面必须依照顺序写入,不能随 机写入。非常明显地,由于置换区块模式必须对于同一区块的 各个页面进行随机写入,已经不能采用。另外,由于NAND快 闪存储器具有以页面为单位读写、以区块为单位删除以及在写 之前必须删除的特点,因此,采用区块映射的储存系统处理写 入命令时都必须对原有数据区块进行一次删除。当区块尺寸增 大后将导致写入性能大大降低。其次,页面映射模式中数据的 分布非常复杂与繁乱。当空闲区块用尽时,数据合并以获取新 空闲区块的过程将会非常复杂。再者,日志区块模式中为了节 省页面映射表的储存空间,因此仅有最近更新的数据页面采用 页面映射。使得每次对于储存单元进行读写时,都必需对于一 特定表格进行扫描,以确定欲读写的数据是否位于页面映射的 区域中,从而降低读写时的效率。对于一些强调可以结合区块 映射与页面映射的混合型映射模式而言,其类似于日志区块模 式,每次对于储存单元进行读写时,亦必需对于一特定表格进 行扫描,以确定欲读写的数据是否位于页面映射的区域中。由 于每次都必须对于特定表格进行扫描,因此必须限制页面映射 的区域,以避免造成特定表格的尺寸过大,造成扫描特定表格的时间过长、影响系统性能。然而,若页面映射的区域过小, 则页面映射的区域很容易被写满,使得处理其他写入命令之前, 必须即时完成一次或多次数据合并动作以获取新的空闲区块, 亦严重影响系统的写入性能。发明内容有鉴于此,本发明提供映射管理方法及系统。本发明可以 结合区块映射模式与页面映射模式,且无须扫描特定表格,以 维持系统的读写性能。本发明实施例的映射管理方法。首先,取得至少一第一读 取命令,其中第一读取命令至少包括一映射目录数据、 一区块 映射数据与一页面映射数据。接着,依据映射目录数据由多个 区块映射表中定位一特定区块映射表,且依据区块映射数据由 特定区块映射表中定位一第一特定项目,其中第一特定项目包 括一映射模式设定与一区块信息。当映射模式设定为一页面映 射模式时,依据区块信息由一页面映射区块表中定位一特定页 面映射区块,且通过特定页面映射区块定位至一页面映射表。 之后,依据页面映射数据由页面映射表中定位一第二特定项目, 且依据第二特定项目由一储存单元定位一数据页面。本发明实施例的映射管理系统包括一储存单元与 一 处理模 块。储存单元依据一页面映射模式与一区块映射模式分别以至 少 一 页面与至少 一 区块储存数据。处理模块取得至少 一 第 一读 取命令,其中第一读取命令至少包括一映射目录数据、 一区块 映射数据与一页面映射数据。处理模块依据映射目录数据由多 个区块映射表中定位一特定区块映射表,且依据区块映射数据 由特定区块映射表中定位一第一特定项目,其中第一特定项目 包括一映射模式设定与一区块信息。当映射模式设定为页面映射模式时,处理模块依据区块信息由 一 页面映射区块表中定位 一特定页面映射区块,且通过特定页面映射区块定位至一页面 映射表。处理模块依据页面映射数据由页面映射表中定位一第 二特定项目,且依据第二特定项目由储存单元定位一数据页面。本发明上述方法可以通过程序码方式收录于实体介质中。 当程序码被机器载入且执行时,机器变成用以实行本发明的装 置。本发明可结合区块映射与页面映射模式,且在无须扫描特 定表格的情形下,维持系统的读写性能。


图l为一示意图显示依据本发明实施例的映射管理系统。图2为 一 示意图显示依据本发明实施例的储存单元。 图3为 一示意图显示依据本发明实施例的映射目录项目的 格式。图4为 一示意图显示依据本发明实施例的区块映射表项目 的格式。图5为 一示意图显示依据本发明实施例的页面映射区块表 项目的格式。图6为 一示意图显示依据本发明实施例的页面映射表项目 的格式。图7为 一 流程图显示依据本发明实施例的映射管理方法。 图8为一示意图显示依据本发明实施例的读取命令的格式。
具体实施方式
为使本发明的上述目的、特征和优点能更明显易懂,下文 特举实施例,并配合所附图示,详细说明如下。图l显示依据本发明实施例的映射管理系统。依据本发明实施例的映射管理系统IOO包括一储存单元 110、 一存储器120与一处理模块130。储存单元110可以是一非 易失性存储器,如NAND快闪存储器。储存单元110中的数据可 以以区块映射模式与页面映射模式分别以区块与页面为单位进 行储存。图2显示储存单元110的逻辑示意图。其中,储存单元 110包^舌一区块映射区域lll与一页面映射区i或112。区块映射区 域lll与页面映射区域112皆由逻辑区块所组成。当区块映射区 域lll中区块的任何一部分的数据被重写之后,此区块将成为页 面映射区域112中的区块,即成为拥有页面映射表的一页面映射 区块。当页面映射区域112中的区块满足一定条件时,会经过合 并或切换等程序重新成为区块映射区域lll中的一区块映射区 块。举例来说,当经过合并程序使得页面映射区域112中一区块 的每 一 页面都依序储存数据时,则此区块将会变成区块映射区 域lll中的区块。值得说明的是,储存单元中依据页面映射模式 储存数据的区块数量,换言之,页面映射区域112的大小依据存 储器120的大小所决定。其中,存储器120越大,则页面映射区 域112的大小越大。值得说明的是,在一实施例中,页面映射区 域112的大小可以达到一定程度,且几乎可以完全将主机中主要 程序,如Windows, Linux等操作系统经常存取的数据(热数据) 全部涵盖。如此一来,热数据便可一直以页面映射模式储存, 从而避免了因为反复写入热数据而引起的数据合并。另外,当 比较少存取的数据(冷数据)写入后,由于相应重写的次数较少, 亦可以很快地经过合并重新回到区块映射区域lll中。注意的 是,储存单元110亦可包括一映射目录、多个区块映射表(未显 示)、多个页面映射区块表(未显示)以及多个页面映射表(未显 示),其相关格式与使用情形将于后说明。处理模块130可以由上层,如应用程序等接收读取命令,将读取命令分解为以页面 为单位的至少一子读取命令。处理模块130依据区块映射表、页的读取命令,且执行读取命令,以由储存单元110读取数据页面/区块。映射目录、区块映射表、页面映射区块表与页面映射表的 内容将说明于后。映射目录映射使用者数据的根目录。映射目录包含多个项 目,其中 一映射目录编号可以作为映射目录中各个项目的索引,且每一项目可以指向相应一既定大小,如256MB使用者数据的 包含一部分区块映射表的一页面。图3显示依据本发明实施例的 映射目录项目的格式。如图所示,映射目录项目300包括一 'WnCache,栏位310 、 一 'CachedBmtNumber,栏位320与一 'BmtPageLocation,栏位330。 'blnCache,栏位3 10记录相应的区 块映射表页面是否在存储器120中。举例来说,若区块映射表页 面已经在存储器120中,则'blnCache,栏位310中记录'l,;若区 块映射表页面不在存储器120中,则'blnCache,栏位310中记录 '0,。 对于已经在存储器120中的区块映射表页面, 'CachedBmtNumber,栏位320记录相应此区块映射表页面在存 储器120中的地址。对于不在存储器120中的区块映射表页面, 贝寸'CachedBmtNumber'冲兰4立320为'Invalid'。 'BmtPageLocation' 栏位330记录区块映射表页面在储存单元IIO上的实体储存地 址。区块映射表包含多个项目,其中一逻辑区块编号可以作为 区块映射表中各个项目的索引,且每一项目记录相应此逻辑区 块的数据的存储位置信息。图4显示依据本发明实施例的区块映 射表项目的格式。如图所示,区块映射表项目400包括一'bPageMapped,栏位410与一'Blocklnfo,栏位420。如前所述,储 存单元110中的数据可以是以区块映射模式或页面映射模式进 行储存。因此,'bPageMapped,栏位410用以记录一逻辑区块所 釆用的映射模式。举例来说。若区块是采用区块映射模式,则 'bPageMapped,栏位410中记录'0,;若区块是采用页面映射模 式,则'bPageMapped,栏位410中记录'1'。 'Blocklnfo,栏位420 则记录详细的映射信息。其中,对于采用区块映射模式的逻辑 区块,'Blocklnfo,栏位420中记录相应数据区块的实体位置,如 实体区块编号。对于采用页面映射模式的逻辑区块,'Blocklnfo' 栏位420中记录一页面映射区块编号,用以表示此逻辑区块为第 几个页面映射区块。页面映射区块表包含多个项目,其中页面映射区块编号可 以作为页面映射区块表中各个项目的索引,且每一项目记录相 应此逻辑区块的页面映射表在存储器120中的起始地址。图5显 示依据本发明实施例的页面映射区块表项目的格式。如图所示, 页面映射区块表项目500包括一 'PageMappedBlockNum,栏位 510与 一 'PageMappingTablelnfo,栏位520 。 其中, 'PageMappedBlockNum,栏位510用以记录页面映射区块编号, 且'PageMappingTablelnfo'栏位520用以记录相应此逻辑区块的 页面映射表在存储器120中的起始地址。页面映射表包含多个项目,其中一页面位移(Offset)可以作 为页面映射表中各个项目的索引,且每一项目记录相应此逻辑 区块中逻辑页面的实体储存位置,如装置编号、实体区块编号 与实体页面位移等。图6显示依据本发明实施例的页面映射表项 目的格式。如图所示,页面映射表项目600包括一'PageOffset' 栏位610与一'Pagelnfo,栏位620。其中,'PageOffset,栏位610用 以记录页面位移,且'Pagelnfo,栏位620用以记录相应此逻辑区块中逻辑页面的实体储存位置。注意的是,在一些实施例中, 页面映射表中的项目数目等于一个逻辑区块中所包含的页面数量。图7显示依据本发明实施例的映射管理方法。 首先,如步骤S702,由上层,如应用程序等接收一读取命 令,且如步骤S704,将接收的读取命令分解为以逻辑页面为单 位的至少一第一读取命令。其中,第一读取命令可以包括一映 射目录数据、 一区块映射数据、 一页面映射数据、 一装置数据、 一磁区数据与/或一》兹区计数(Sector Count)。图8显示依据本发 明实施例的读取命令的格式。如图所示,读取命令800包括一 'MDN,栏4立、一'BO,栏位、一'P0,栏4立、'DN,栏4立与一'SO,栏 位。其中,'MDN,栏位记录映射目录数据,'BO,栏位记录区块 映射数据,'PO,栏位记录页面映射数据,'DN,栏位记录装置数 据,且'SO,栏位记录磁区数据。如步骤S706,依据第一读取命 令中的映射目录数据(映射目录编号)由映射目录中的多个区块 映射表中定位一特定区块映射表。如步骤S708,判断此特定区 块映射表是否已经载入于存储器中。提醒的是,判断特定区块 映射表是否已经载入于存储器中可以依据映射目录中相应映射 目录数据的项目中'blnCache,栏位的数据来判断。若特定区块 映射表不在存储器中(步骤S708的否),如步骤S710,由已经载 入存储器中的区块映射表中选择一候选区块映射表,且如步骤 S712,将特定区块映射表载入存储器中以取代候选区块映射 表。值得注意的是,在一些实施例中,当存储器空间不足时, 才需要进行选择候选区块映射表的操作,且候选区块映射表可 以依据一最久未使用(LRU)演算法来进行选择。若存储器仍具 有空间,则可以直接将特定区块映射表载入存储器中。若特定区块映射表已经在存储器中(步骤S708的是),如步骤S714 ,依据第 一读取命令中的区块映射数据(逻辑区块编号)由特定区块映射表中定位一第一特定项目,其中第一特定项目包括一映射模式设定('bPageMapped,栏位的数据)与 一 区块信 息('Blocklnfo,栏位的数据)。如步骤S716,依据映射模式设定 判断相应区块的映射模式是否为页面映射模式。若映射模式为 区块映射模式时(步骤S716的否),如步骤S718,判断第一特定 项目中所记录的区块信息是否为无效。在一些实施例中,判断 区块信息是否为无效是判断区块信息是否为 一特定值,如-1 。 若区块信息无效(步骤S718的是),如步骤S720,直4妄回应一既 定值,如0。若区块信息并非无效(步骤S718的否),如步骤S722, 依据第一特定项目中的区块信息由储存单元定位一数据区块, 且依据第一读取命令与区块信息产生相应储存单元的第二读取 命令。之后,如步骤S732,执行第二读取命令,以由储存单元 读取此数据区块。若映射模式为页面映射模式时(步骤S716的是),如步骤 S724,依据第一特定项目中的区块信息(页面映射区块编号)由 一页面映射区块表中定位一特定页面映射区块,且如步骤 S726,通过特定页面映射区块定位至一 页面映射表。如步骤 S728,依据第 一读耳又命令中的页面映射数据(页面位移)由页面 映射表中定位一第二特定项目。其中,第二特定项目记录此逻 辑区块中逻辑页面的实体储存位置。如步骤S730,依据第二特 定项目由储存单元定位一数据页面,且依据第一读取命令与第 二特定项目信息产生相应储存单元的第三读取命令。之后,如 步骤S732,执行第三读取命令,以由储存单元读取此数据页面。 值得注意的是,如前所述,第一读取命令更可以包括装置数据 与/或磁区数据。当第一读取命令包括装置数据与/或磁区数据 时,则可以依据第二特定项目与装置数据与/或磁区数据由储存单元定位出数据页面。有鉴于此,通过本发明的映射管理方法及系统可以结合区 块映射模式与页面映射模式,且在无须扫描特定表格的情形下, 维持系统的读写性能。本发明的方法,或特定型态或其部分,可以以程序码的型 态包含于实体介质,如软盘、光盘片、硬盘或是任何其他机器 可读取(如计算机可读取)储存介质,其中,当程序码被机器, 如计算机载入且执行时,此机器变成用以参与本发明的装置。 本发明的方法与装置也可以以程序码型态通过一些传送介质, 如电线或电缆、光纤或是任何传输型态进行传送,其中,当程 序码被机器,如计算机接收、载入且执行时,此机器变成用以 参与本发明的装置。当在一般用途处理器实作时,程序码结合 处理器提供一操作类似于专用逻辑电路的独特装置。以上所述仅为本发明较佳实施例,然其并非用以限定本发 明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神 和范围内,可在此基础上做进一步的改进和变化,因此本发明 的保护范围当以本申请的权利要求书所界定的范围为准。附图中符号的简单说明如下100:映射管理系统110:储存单元111:区块映射区域112:页面映射区域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..... S732:步骤800:读耳又命令MDN:映射目录数据栏位BO:区块映射数据栏位PO:页面映射数据栏位DN:装置数据栏位SO:磁区数据栏位。
权利要求
1.一种映射管理方法,其特征在于,包括下列步骤取得至少一第一读取命令,其中该第一读取命令至少包括一映射目录数据、一区块映射数据与一页面映射数据;依据该映射目录数据由多个区块映射表中定位一特定区块映射表;依据该区块映射数据由该特定区块映射表中定位一第一特定项目,其中该第一特定项目包括一映射模式设定与一区块信息;当该映射模式设定为一页面映射模式时,依据该区块信息由一页面映射区块表中定位一特定页面映射区块,且通过该特定页面映射区块定位至一页面映射表;以及依据该页面映射数据由该页面映射表中定位一第二特定项目,以依据该第二特定项目由一储存单元定位一数据页面。
2. 根据权利要求l所述的映射管理方法,其特征在于,更 包括当该映射模式设定为一区块映射模式时,直接依据该区块 信息由该储存单元定位一数据区块。
3. 根据权利要求2所述的映射管理方法,其特征在于,当 该映射模式设定为该区块映射模式时,该映射管理方法更包括 下列步骤判断该区块信息是否为一特定值;以及 若该区块信息为该特定值,则直接回应一既定值。
4. 根据权利要求3所述的映射管理方法,其特征在于,该 特定值为-1,且该既定值为0。
5. 根据权利要求l所述的映射管理方法,其特征在于,更 包括下列步骤依据该映射目录数据判断该特定区块映射表是否已经载入 于一存储器中;以及若该特定区块映射表并未载入于该存储器中,将该特定区 块映射表载入该存储器中。
6. 根据权利要求5所述的映射管理方法,其特征在于,更 包括下列步骤由已经载入该存储器中的所述区块映射表中选择一候选区 块映射表;以及将该特定区块映射表载入该存储器中以取代该候选区块映 射表。
7. 根据权利要求6所述的映射管理方法,其特征在于,该 候选区块映射表依据一最久未使用演算法所选择。
8. 根据权利要求l所述的映射管理方法,其特征在于,更 包括下列步骤依据该第二特定项目将该第一读耳又命令转换为相应该储存 单元的至少 一 第二读取命令;以及执行该第二读取命令,以由该储存单元读取该数据页面。
9. 根据权利要求l所述的映射管理方法,其特征在于,该 第一读取命令更包括一装置数据或一磁区数据,且该映射管理方法更依据该第二特定项目与该装置数据或该磁区数据由该储 存单元定位该数据页面。
10. 根据权利要求l所述的映射管理方法,其特征在于,该 储存单元包括一非易失性存储器。
11. 根据权利要求l所述的映射管理方法,其特征在于,该 储存单元中依据该页面映射模式储存数据的区块数量依据该存 储器的大小决定。
12. —种映射管理系统,其特征在于,包括 一储存单元,依据一页面映射模式与一区块映射模式分别以至少一页面与至少一区块储存数据;以及一处理模块,取得至少一第一读取命令,其中该第一读取 命令至少包括一映射目录数据、 一区块映射数据与一页面映射 数据,依据该映射目录数据由多个区块映射表中定位一特定区 块映射表,依据该区块映射数据由该特定区块映射表中定位一 第一特定项目,其中该第一特定项目包括一映射模式设定与一 区块信息,当该映射才莫式i殳定为该页面映射才莫式时,依据该区 块信息由一页面映射区块表中定位一特定页面映射区块,且通 过该特定页面映射区块定位至一页面映射表,依据该页面映射 数据由该页面映射表中定位一第二特定项目,以依据该第二特 定项目由该储存单元定位一数据页面。
13. 根据权利要求12所述的映射管理系统,其特征在于, 当该映射模式设定为该区块映射模式时,该处理模块更直接依 据该区块信息由该储存单元定位一数据区块。
14. 根据权利要求13所述的映射管理系统,其特征在于, 当该映射模式设定为该区块映射模式时,该处理模块更判断该 区块信息是否为一特定值,且当该区块信息为该特定值时,直 4妄回应 一既定^f直。
15. 根据权利要求14所述的映射管理系统,其特征在于, 该特定值为-1,且该既定值为0。
16. 根据权利要求12所述的映射管理系统,其特征在于, 该处理模块更依据该映射目录数据判断该特定区块映射表是否 已经载入于一存储器中,且若该特定区块映射表并未载入于该 存储器中,将该特定区块映射表载入该存储器中。
17. 根据权利要求16所述的映射管理系统,其特征在于, 该处理模块更由已经载入该存储器中的所述区块映射表中选择 一候选区块映射表,且将该特定区块映射表载入该存储器中以 取代该候选区块映射表。
18. 根据权利要求17所述的映射管理系统,其特征在于,该候选区块映射表依据 一 最久未使用演算法所选择。
19. 根据权利要求12所述的映射管理系统,其特征在于,该处理模块更依据该第二特定项目将该第一读取命令转换为相 应该储存单元的至少一第二读取命令,且执行该第二读取命令,以由该储存单元读取该数据页面。
20. 根据权利要求12所述的映射管理系统,其特征在于, 该第一读取命令更包括一装置数据或一磁区数据,且该处理模 块更依据该第二特定项目与该装置数据或该磁区数据由该储存 单元定位该数据页面。
21. 根据权利要求12所述的映射管理系统,其特征在于, 该储存单元包括一非易失性存储器。
22. 根据权利要求12所述的映射管理系统,其特征在于, 该储存单元中依据该页面映射模式储存数据的区块数量依据该 存储器的大小决定。
全文摘要
一种映射管理方法及系统,特别涉及一种映射管理方法。首先,取得至少一第一读取命令,第一读取命令至少包括一映射目录数据、一区块映射数据与一页面映射数据。接着,依据映射目录数据由多个区块映射表中定位特定区块映射表,依据区块映射数据由特定区块映射表中定位第一特定项目,第一特定项目包括映射模式设定与区块信息。当映射模式设定为页面映射模式时,依据区块信息由页面映射区块表中定位特定页面映射区块,通过特定页面映射区块定位至页面映射表。依据页面映射数据由页面映射表中定位第二特定项目,依据第二特定项目由储存单元定位数据页面。本发明可结合区块映射与页面映射模式,且在无须扫描特定表格的情形下,维持系统的读写性能。
文档编号G06F12/02GK101241472SQ200810007760
公开日2008年8月13日 申请日期2008年3月7日 优先权日2008年3月7日
发明者蒋培军 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1