数据储存装置以及快闪存储器控制方法

文档序号:6521466阅读:317来源:国知局
数据储存装置以及快闪存储器控制方法
【专利摘要】本发明揭露一种数据储存装置以及快闪存储器控制方法。在所揭露的数据储存装置中,主缓冲区块自快闪存储器的多个区块中选出,用以缓冲储存主机下达的写入数据。若该主缓冲区块满载,则控制器以分开的多个更新子区间为该主缓冲区块更新一逻辑-物理地址映射表。控制器可利用该多个分开的更新子区间之间回应主机下达的指令。如此一来,主机下达的指令将被即时回应,不受缓冲区块耗时的完整映射表更新拖累。
【专利说明】数据储存装置以及快闪存储器控制方法

【技术领域】
[0001]本发明有关于一种数据储存装置,特别有关于快闪存储器控制方法。

【背景技术】
[0002]快闪存储器为常用的非挥发性存储器,是经电性方式抹除以及程序化。以与非门快闪存储器(NAND FLASH)为例,主要用来实现存储卡(memory card)、通用序列总线闪存装置(USB FLASH device)、固态硬盘(SSD)、嵌入式快闪存储器模块(eMMC)…等产品。
[0003]快闪存储器可耦接一主机作为一数据储存媒体。因此,主机与快闪存储器之间需要建立一逻辑-物理地址映射表。该逻辑-物理地址映射表的维护是本【技术领域】一项重要课题。


【发明内容】

[0004]本发明所要解决的技术问题是提供一种数据储存装置以及一种快闪存储器控制方法。
[0005]根据本发明一种实施方式所实现的一数据储存装置包括一快闪存储器以及一控制器。该快闪存储器用于供应储存空间,划分为多个区块。各区块包括多个页。该控制器根据一主机下达的指令操作该快闪存储器。若一主缓冲区块满载,该控制器以分开的多个更新子区间为该主缓冲区块更新一逻辑-物理地址映射表。该主缓冲区块自该快闪存储器的这些区块选出,用以对该主机所下达的写入数据作缓冲储存在这些分开的更新子区间之间,该控制器更回应主机指令。如此一来,主机下达的指令将被即时回应,不受缓冲区块耗时的完整映射表更新拖累。
[0006]根据本发明另外一种实施方式所揭露的快闪存储器控制方法包括以下步骤:以一快闪存储器提供储存空间,其中划分为多个区块,且各区块包括多个页;根据一主机下达的指令操作该快闪存储器;当一主缓冲区块满载时,以分开的多个更新子区间为该主缓冲区块更新一逻辑-物理地址映射表,该主缓冲区块自该快闪存储器的多个区块选出,用以对主机所下达的写入数据作缓冲储存。这些分开的更新子区间之间是规划来回复主机指令。如此一来,主机下达的指令将被即时回应,不受缓冲区块耗时的完整映射表更新拖延。
[0007]本发明一种实施方式更自该快闪存储器的这些区块中选出副缓冲区块,以缓冲储存主机于上述这些分开的更新子区间之间所下达的写入数据。如此一来,主机所下达的写入指令被即时回应,不受主缓冲区块耗时的完整映射表更新拖延。
[0008]在一种实施方式中,整个主缓冲区块的逻辑-物理地址映射关系在这些分开的更新子区块中是分“段”作更新(segment by segment)。
[0009]在本发明另一种实施方式中,整个主缓冲区块的逻辑-物理地址映射关系在这些分开的更新子区块中是依照逻辑地址分“群组”作更新(group by group)。
[0010]下文特举实施例,并配合所附图示,详细说明本
【发明内容】


【专利附图】

【附图说明】
[0011]图1为方块图,根据本发明一种实施方式图解一数据储存装置100 ;
[0012]图2为流程图,根据本发明一种实施方式图解逻辑-物理地址映射表的更新程序;
[0013]第3为时序图,描述整个缓冲区块的逻辑-物理地址映射关系于分开的多个更新子区间302、304、306、308 与 310 更新;
[0014]图4图解整个缓冲区块的逻辑-物理地址映射关系如何分“段”更新;
[0015]图5A根据本发明一种实施方式图解一快闪存储器所记录的一逻辑-物理地址映射表H2F,其中储存多页的内容,包括H2F_for_Groupl、H2F_for_Group2…等,各页对应一“群组”的逻辑地址;以及
[0016]图5B图解一整个缓冲区块的逻辑-物理地址映射关系如何分“群组”作更新。
[0017]【附图标记说明】
[0018]100?数据储存装置;
[0019]102?快闪存储器;
[0020]104?控制器;
[0021]106 ?主机;
[0022]108?随机存取存储器;
[0023]302、304、306、308 与 310 ?更新子区间;
[0024]322,324与326?主机指令回应区间;
[0025]BB_Master?主缓冲区块;
[0026]BB_Slave?副缓冲区块;
[0027]Data_Blks ?数据区块;
[0028]F2H?物理-逻辑地址映射表;
[0029]F2H_M?主缓冲区块BB_Master的物理-逻辑地址映射表;
[0030]F2H_S?副缓冲区块BB_Slave的物理-逻辑地址映射表;
[0031]Ρ2Η_5θ8Ρ..Ρ2Η_5θ8Ν?第一…第Ν段连续物理页的物理-逻辑地址映射信息;
[0032]F2H_PL...F2H_P1?物理页PL...P1的物理-逻辑地址映射信息;
[0033]GroupA、GroupB、GroupC?以逻辑地址划分的三个不同群组;
[0034]H2F?逻辑-物理地址映射表;
[0035]H2F_for_Groupl…H2F_for_GroupP?群组1…群组P的逻辑地址的逻辑-物理地址映射信息的储存页;
[0036]PP..P1 ?物理页;
[0037]Pagel …PageN*M ?物理页;
[0038]Phy_Blk?物理区块编号;
[0039]Phy_Page?物理页编号;
[0040]S202…S216 ?步骤。

【具体实施方式】
[0041]以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本
【发明内容】
。实际发明范围应依照权利要求书界定之。
[0042]关于根据一主机所下达的指令操作的一快闪存储器,需建立该主机与快闪存储器之间的一逻辑-物理地址映射表。该逻辑-物理地址映射表应当更新入该快闪存储器,以避免掉电遗失。
[0043]图1根据本发明一种实施方式以方块图图解一数据储存装置100。该数据储存装置100包括一快闪存储器102以及一控制器104。该控制器104根据一主机106下达的指令操作该快闪存储器102。该快闪存储器102负责提供储存空间,划分为多个区块(blocks)。各区块包括多个页(pages)。抹除操作须施行在整个区块上。一区块需整个空间一起抹除。
[0044]本发明一种实施方式是将两个区块分别配置作主缓冲区块BB_Master以及副缓冲区块BB_Slave。若主缓冲区块BB_Master尚未满载,则经由控制器104,主机106下达的写入资交由该主缓冲区块BB_Master作缓冲储存。若主缓冲区块BB_Master满载,则控制器104对应该主缓冲区块BB_Master以分开的多个更新子区间更新一逻辑-物理地址映射表H2F。于这些更新子区间之间,控制器104回应主机106所下达的指令。如此一来,主机106所下达的指令是遭即时回应,不受缓冲区块耗时的完整映射表更新而拖累。
[0045]参阅图1所示的实施方式,在这些更新子区间之间,控制器104是以一副缓冲区块BB_Slave缓冲储存主机106所下达的写入数据。如此一来,主机106下达的写入指令是即时被回应,不受缓冲区块BB_Master耗时的完整映射表更新拖累。
[0046]于图1,数据储存装置100更包括一随机存取存储器108,用以即时储存该快闪存储器102与该主机106之间的一物理-逻辑地址映射表F2H。逻辑-物理地址映射表H2F的更新是基于该随机存取存储器108上以该物理-逻辑地址映射表F2H所维护的即时映射信息。如图所示,主缓冲区块BB_Master的物理-逻辑地址映射关系呈映射表F2H_M动态地更新于随机存取存储器108,且副缓冲区块BB_Slave的物理-逻辑地址映射关系呈映射表F2H_S动态地更新于随机存取存储器108。若主缓冲区块BB_Master满载,则逻辑-物理地址映射表H2F是基于映射表F2H_M所记录的即时信息作更新。此外,关于主缓冲区块BB_Master这些更新子区间之间所发生的写入操作,物理-逻辑地址映射表F2H_S是动态地根据副缓冲区块BB_Slave所缓冲储存的写入数据作更新。待该主缓冲区块BB_Master这些更新子区间结束,控制器104可将该主缓冲区块BB_Master归纳为快闪存储器102的数据区块Data_Blks之一,且将副缓冲区块BB_Slave改作主缓冲区块使用,并另外自闲置区块选出新的副缓冲区块。
[0047]图2为流程图,根据本发明一种实施方式图解逻辑-物理地址映射表H2F的更新程序。以下参考图1所示元件作讨论。
[0048]关于主缓冲区块BB_Master未满载时主机106所下达的写入指令,程序进行步骤S202回应之,将数据写入主缓冲区块BB_Master。步骤S204负责检查步骤S202后主缓冲区块BB_Master是否满载。若步骤S204判定主缓冲区块BB_Master已满载,即可开始针对该主缓冲区块BB_Master更新逻辑-物理地址映射表H2F。特别是,逻辑-物理地址映射表H2F关于主缓冲区块BB_Master的更新是以分开的多个更新子区间执行,乃基于映射表F2H_M上的即时物理-逻辑地址映射信息。步骤S206执行的是单一个更新子区间。步骤S208负责判断是否最末的更新子区间已被执行。若最末的更新子区间尚未执行,步骤S210将监控主机106是否下达任何指令。若主机106没有下达新指令,程序再次执行步骤S206,执行另一个更新子区间。若主机106发出其他写入指令,程序进行步骤S212,将数据写入副缓冲区BB_Slave。倘若主机106下达的指令非写入指令,程序进行步骤S214,令控制器104回应主机指令。下一个更新子区间是安排在步骤S212以及S214之后,借由步骤S206执行。如此一来,主机106下达的指令是被即时回应,不受主缓冲区块BB_Master耗时的完整映射表更新拖累。
[0049]特别是,若步骤S208判定主缓冲区块BB_Master的所有更新子区间已经执行完毕,程序进行步骤S216,将主缓冲区块BB_Master归纳成数据区块Data_Blks之一,改以副缓冲区块BB_Slave作主缓冲区块,并选择闲置区块递补副缓冲区块的功用。主、副缓冲区块的设计使得快闪存储器102的操作更流畅。
[0050]图3为时序图,图解主缓冲区块BB_Master的逻辑-物理地址映射关系如何以分开的多个更新子区间302、304、306、308以及310执行。特别是,主机指令是在时间区间322、324与326夹杂于这些更新子区间302、304、306、308以及310之间执行,而非延滞到整个缓冲区块BB_Master的完整映射表更新后方执行
[0051 ] 每个更新子区间所更新的数据量可由使用者设定。
[0052]图4图解整个主缓冲区块BB_Master的逻辑-物理地址映射关系如何分段更新(segment by segment)。各段包括M个连续物理地址。M为数量。各段的即时物理-逻辑地址映射信息是以映射表F2H_Segl、F2H_Seg2…F2H_SegN记录,由随机存取存储器108的映射表F2H_M维护。逻辑-物理地址映射表H2F的不同更新子区块是分别参考这些映射表F2H_Segl、F2H_Seg2…F2H_SegN执行。在这些更新子区块之间,主机指令可被回应。例如,若映射表H2F已经基于映射表F2H_Segl更新、但尚未基于映射表F2H_Seg2更新,此时间点即可被用来回应主机指令。
[0053]在本发明另外一种实施方式中,整个主缓冲区块BB_Master的逻辑-物理地址关系乃借这些更新子区间分群组(group by group)更新。群组划分乃基于逻辑地址。
[0054]图5A根据本发明一种实施方式图解一逻辑-物理地址映射表H2F如何记录在快闪存储器中。其中基于逻辑地址实现群组划分。逻辑-物理地址映射表H2F是以多页的空间H2F_for_Groupl、H2F_for_Group2直至H2F_for_GroupP作储存。逻辑-物理地址映射表H2F各页划分为X个栏位,储存X个逻辑地址的物理地址信息。X为数量。参阅图5A所示实施方式,各逻辑地址的逻辑-物理地址映射信息长4字节(4B),包括物理区块编号Phy_Blk以及物理页编号Phy_Page。在一种实施方式中,因为各页空间为16千字节(16KB),故16KB/4B=4K,数量X为4千(4K)。共用同一页的空间记录逻辑-物理地址映射信息的4K个逻辑地址视为同一群组,可具有连续的逻辑地址。页空间H2F_for_Groupl储存有4K个不同逻辑地址的物理地址信息,这些4K个逻辑地址属于第一群组。页空间H2F_f0r_Gr0Up2储存有4K个不同逻辑地址的物理地址信息,这些4K个逻辑地址属于第二群组。以此类推,页空间H2F_for_GroupP储存有4K个不同逻辑地址的物理地址信息,这些4K个逻辑地址属于第P群组。
[0055]图5B图解整个主缓冲区块BB_Master的逻辑-物理地址映射关系如何根据逻辑地址分群组作更新。在一种实施方式中,页P1、P3与Pl所储存的页数据的逻辑地址是属群组GroupA,页P2与P6所储存的页数据的逻辑地址是属另一群组GroupB,页P4与P5所储存的页数据的逻辑地址是属另一群组GroupC。这些物理页ΡΡ..Ρ1的物理-逻辑地址映射信息是记录呈映射表Ρ2Η_ΡΡ..Ρ2Η_Ρ1,由随机存取存储器108的映射表F2H_M维持。映射表F2H_P1、F2H_P3以及F2H_P1对应群组GroupA。映射表F2H_P2以及F2H_P6对应群组GroupB。映射表F2H_P4以及F2H_P5对应群组GroupC。逻辑-物理地址映射表H2F是以分开的更新子区间作更新。在第一个更新子区间,映射表H2F是基于群组GroupA所相关的映射表F2H_P1、F2H_P3以及F2H_P1更新。在第二个更新子区间,映射表H2F是基于群组GroupB所相关的映射表F2H_P2以及F2H_P6更新。在第三个更新子区间,映射表H2F是基于群组GroupC所相关的映射表F2H_P4以及F2H_P5更新。不同群组的更新之间即可回应主机指令。另有一种实施方式是在各更新子区间更新多个群组的逻辑一物理地址映射关系。
[0056]在其他实施方式中,控制器104可包括一运算单元以及一只读存储器(ROM)。只读存储器储存有只读程序码(ROM codes)。只读程序码可基于所揭露技术编码,由该运算单元执行。所揭露的映射表H2F更新技术,因而,可以固件(firmware)方式实现。此外,快闪存储器任何控制方法只要涉及所揭露的映射表H2F更新技术即涉及本发明范围。
[0057]虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视后附的权利要求书所界定者为准。
【权利要求】
1.一种数据储存装置,包括: 一快闪存储器,提供储存空间,其中,上述储存空间划分为多个区块且各区块包括多个页;以及 一控制器,根据一主机下达的指令操作该快闪存储器,其中: 当一主缓冲区块满载时,该控制器为该主缓冲区块以分开的多个更新子区间更新一逻辑-物理地址映射表,该主缓冲区块选自该快闪存储器的该多个区块;且该控制器更于该多个更新子区间之间回应主机指令。
2.如权利要求1所述的数据储存装置,其特征在于: 该控制器更自该快闪存储器该多个区块选出一副缓冲区块;且 该控制器更于该多个更新子区间之间以该副缓冲区块缓冲储存该主机下达的写入数据。
3.如权利要求1所述的数据储存装置,其特征在于: 该控制器是在单一个上述更新子区间中更新该主缓冲区块Μ个连续物理页的逻辑-物理地址映射关系,Μ为数量。
4.如权利要求1所述的数据储存装置,其特征在于: 该控制器是在单一个上述更新子区间中更新Ρ群组的逻辑地址的逻辑-物理地址映射关系; Ρ为数量;且 同一群组的逻辑地址是共用一物理页储存逻辑-物理地址映射关系。
5.如权利要求2所述的数据储存装置,其特征在于: 在该主缓冲区块该多个更新子区间结束后,该控制器将该主缓冲区块归纳为该快闪存储器的数据区块之一,且改以该副缓冲区块作为主缓冲区块,并自该快闪存储器的闲置区块选出替代的副缓冲区块。
6.—种快闪存储器控制方法,包括: 以一快闪存储器提供储存空间,其中,上述储存空间划分为多个区块,且各区块包括多个页; 根据一主机下达的指令操作该快闪存储器;以及 当一主缓冲区块满载时,针对该主缓冲区块以分开的多个更新子区间更新一逻辑-物理地址映射表,该主缓冲区块选自该快闪存储器的该多个区块; 其中,该多个更新子区间之间更回应主机指令。
7.如权利要求6所述的快闪存储器控制方法,其特征在于,更包括: 自该快闪存储器该多个区块选出一副缓冲区块,于该多个更新子区间之间以该副缓冲区块缓冲储存该主机下达的写入数据。
8.如权利要求6所述的快闪存储器控制方法,其特征在于: 单一个上述更新子区间中所更新的是该主缓冲区块Μ个连续物理页的逻辑-物理地址映射关系;且Μ为数量。
9.如权利要求6所述的快闪存储器控制方法,其特征在于: 在单一个上述更新子区间中所更新的是Ρ群组的逻辑地址的逻辑-物理地址映射关系; P为数量;且 同一群组的逻辑地址是共用一物理页储存逻辑-物理地址映射关系。
10.如权利要求7所述的快闪存储器控制方法,其特征在于: 在该主缓冲区块该多个更新子区间结束后,该主缓冲区块归纳为该快闪存储器的数据区块之一,且该副缓冲区块改作主缓冲区块使用,而替代的副缓冲区块则选自该快闪存储器的闲置区块。
【文档编号】G06F12/02GK104423894SQ201310629399
【公开日】2015年3月18日 申请日期:2013年11月29日 优先权日:2013年8月30日
【发明者】郑张铠 申请人:慧荣科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1