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

文档序号:6512010阅读:151来源:国知局
数据储存装置以及快闪存储器控制方法
【专利摘要】本发明提供一种数据储存装置以及快闪存储器控制方法。于所揭露的数据储存装置中,控制器根据快闪存储器一缓冲区块的群组计数更新主机与快闪存储器之间的一逻辑-物理地址映射表。该群组计数反映缓冲储存于该缓冲区块中但逻辑-物理地址映射信息尚未更新的该多个写入数据的逻辑地址分布。越高的群组计数代表所述逻辑地址分布越离散。根据所揭露的技术,逻辑-物理地址映射表每一次更新耗时甚短。
【专利说明】数据储存装置以及快闪存储器控制方法
【技术领域】
[0001]本发明有关于一种数据储存装置,特别有关于快闪存储器控制方法。
【背景技术】
[0002]快闪存储器为常用的非挥发性存储器,经电性方式抹除以及程序化。以与非门快闪存储器(NAND FLASH)为例,主要用来实现存储卡(memory card)、通用序列总线闪存装置(USB FLASH device)、固态硬盘(SSD)、嵌入式快闪存储器模块(eMMC)…等产品。
[0003]快闪存储器可耦接一主机作为一数据储存媒体。因此,主机与快闪存储器之间需要建立一逻辑-物理地址映射表。该逻辑-物理地址映射表的维护是本【技术领域】一项重要课题。

【发明内容】

[0004]一种数据储存装置以及相关的快闪存储器控制方法。
[0005]根据本发明一种实施方式所实现的一数据储存装置包括一快闪存储器以及一控制器。该快闪存储器供应的储存空间划分为多个区块。各区块包括多个页。该控制器根据一主机下达的指令操作该快闪存储器。该控制器根据一缓冲区块的一群组计数更新该主机以及该快闪存储器之间的一逻辑-物理地址映射表;该缓冲区块自该快闪存储器这些区块中选出。所述群组计数反映缓冲储存于该缓冲区块中但逻辑-物理地址映射信息尚未更新的这些写入数据的逻辑地址分布。越高的群组计数代表所述逻辑地址分布越离散。
[0006]本发明另有一种实施方式揭露一种快闪存储器控制方法,包括以下步骤:使用一快闪存储器提供储存空间,所提供的储存空间划分为多个区块,且各区块包括多个页;根据一主机所下达的指令操作该快闪存储器;以及,根据一缓冲区块的一群组计数更新该主机以及该快闪存储器之间的一逻辑一物理`地址映射表。该缓冲区块自该快闪存储器这些区块选出。该群组计数反映缓冲储存于该缓冲区块中但逻辑-物理地址映射信息尚未更新的这些写入数据的逻辑地址分布。越高的群组计数代表所述逻辑地址分布越离散。
[0007]根据本发明一种实施方式,逻辑-物理地址映射表以X个栏位储存X个逻辑地址的物理地址信息。X为一数量。共用一页的空间记录逻辑-物理地址映射信息的X个逻辑地址视为隶属同一群组。群组计数即是基于写入数据的逻辑地址群组划分。
[0008]下文特举实施例,并配合所附附图,详细说明本
【发明内容】

【专利附图】

【附图说明】
[0009]图1图解根据本发明一种实施方式记录于一快闪存储器的一逻辑-物理地址映射表H2F,该逻辑-物理地址映射表H2F是以多个页H2F_for_Groupl、H2F_for_Group2等储存;
[0010]图2以方块图图解根据本发明一种实施方式所实现的一数据储存装置200 ;
[0011]图3A图解本发明一种实施方式,其中连续数据(sequential data,如,逻辑地址连续)以及离散数据(random data,如,分散的逻辑地址)是分开作缓冲储存;
[0012]图3B以及图3C为一流程图,说明逻辑-物理地址映射表H2F如何根据本发明一种实施方式更新,其中是将连续数据与离散数据如图3A所示分开缓冲储存;
[0013]图4图解本发明一种实施方式,是利用四个缓冲区块ΒΒ1...ΒΒ4缓冲储存写入数据;以及
[0014]图5Α以及图5Β图解本发明两种实施方式,说明逻辑-物理地址映射表H2F如何更新,其中是如图4所示使用四个缓冲区块。
[0015]【附图标记说明】
[0016]200~数据储存装置;202~快闪存储器;
[0017]204~控制器;206~主机;
[0018]208~随机存取存储器;
[0019]BBl...BBN ~缓冲区块;
[0020]Data_Blks ~数据区块;
[0021 ]F2H~物理-逻辑地址映射表;
[0022]Group_Cnt_BB I …Group_Cnt_BBN
[0023]~缓冲区块BBl...BBN的群组计数;
[0024]Group_Cnt_Ran_BB> Group_Cnt_Seq_BB
[0025]~缓冲区块Ran_BB、Seq_BB的群组计数;
[0026]Group_List_BBL...Group_List_BBN
[0027]~缓冲区块BBl...BBN的群组列表;
[0028]Group_List_Ran_BB、Group_List_Seq_BB
[0029]~缓冲区块Ran_BB、Seq_BB的群组列表;
[0030]H2F~逻辑-物理地址映射表;
[0031]H2F_for_Groupl、H2F_for_Group2 ~分属群组 Groupl、Group2 的逻辑-物理地址信息,以不同页的空间储存;
[0032](Phy_Blk、Phy_Page)~(物理区块标号、物理页标号);
[0033]Ran_BB~离散数据的缓冲区块;
[0034]Ran_Data_Blks~离散数据的储存区块;
[0035]S302…S332 ~步骤;S502…S514、S520 ~步骤;
[0036]Seq_BB~连续数据的缓冲区块;
[0037]Seq_Data_Blks~连续数据的储存区块。
【具体实施方式】
[0038]以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本
【发明内容】
。实际发明范围应依照权利要求界定之。
[0039]快闪存储器可根据主机下达的指令操作,主机与快闪存储器之间需要建立一逻辑-物理地址映射表。该逻辑-物理地址映射表需更新至该快闪存储器内部,以避免掉电遗失。
[0040]图1图解根据本发明一种实施方式记录于一快闪存储器上的一逻辑-物理地址映射表H2F。该逻辑-物理地址映射表H2F是以多个页的空间H2F_for_Groupl、H2F_for_Group2…等储存。逻辑-物理地址映射表H2F的各页划分为X个栏位,以储存X个逻辑地址的物理地址信息。X代表数量。参阅图1所示的实施方式,各个逻辑地址的逻辑-物理地址信息占据4字节(4B)的长度,包括一物理区块编号Phy_Blk以及一物理页编号Phy_Page。在一种实施方式中,因为各页尺寸为16千字节(16KB),故X为4K。共享一页的空间记录逻辑-物理地址映射信息的4K个不同逻辑地址视为隶属同一群组,可为连续地址。以储存于页H2F_for_Groupl中的物理地址信息来说,所对应的4K个不同逻辑地址隶属一群组。以储存于页H2F_for_Group2中的物理地址信息来说,所对应的4K个不同逻辑地址隶属另一群组。在本案所揭露技术中,逻辑-物理地址映射表每次更新的页数控制在少于一临界数量,以使逻辑-物理地址映射表H2F每次更新耗时缩减。换句话说,逻辑-物理地址映射表H2F的更新是基于写入数据的逻辑地址的群组分类。
[0041]图2根据本发明一种实施方式以方块图图解一数据储存装置200。数据储存装置200包括一快闪存储器202以及一控制器204。该控制器204根据一主机206下达的指令操作该快闪存储器202。该快闪存储器202所提供的储存空间划分为多个区块(blocks),各区块包括多个页(pages)的空间。抹除操作必须实施在整个区块上。一区块的完整空间须一同抹除。
[0042]如图所示,部分区块是配置作缓冲区块ΒΒ1...ΒΒΝ。借由控制器204,主机206下达的写入数据以这些缓冲区块ΒΒ1...ΒΒΝ缓冲储存。待一缓冲区块归类为数据区块Data_Blks之一时,另外配置区块作替代,以接着缓冲储存后续的写入数据。存取该快闪存储器202的数据时(读取这些数据区块Data_Blks或是这些缓冲区块BB1...BBN),需要该主机206以及该快闪存储器20 2之间的一逻辑-物理地址映射表H2F。如图所示,该映射表H2F需上传到该快闪存储器202中,方能避免掉电遗失。
[0043]参阅图2,数据储存装置200更包括一随机存取存储器208,即时更新快闪存储器202与主机206间的一物理-逻辑地址映射表F2H、以及这些不同缓冲区块ΒΒ1...ΒΒ4所对应的群组列表 Group_List_BBL...Group_List_BBN 以及群组计数 Group_Cnt_BBL...Group_Cnt_BBN。逻辑-物理地址映射表H2F的更新是基于该随机存取存储器208以该物理-逻辑地址映射表F2H所维护的即时映射信息。群组列表Group^isLBBPuGroup^isLBBN以及群组计数Group_Cnt_BBl…Group_Cnt_BBN是基于图1所示的群组分类作维护。以缓冲区块BBl为例,缓冲储存于其中、且逻辑-物理地址映射信息尚未更新的数据页(或称主机页HPages)的逻辑地址隶属多个群组GroupA以及GroupB。因此,控制器204将这些群组GroupA以及GroupB表列于该群组列表Group_List_BBl中,且设定该群组计数Group_Cnt_BBl为2。以缓冲区块BBN为例,缓冲储存于其中、且逻辑-物理地址映射信息尚未更新的数据页(或称主机页HPages)的逻辑地址隶属多个群组GroupC、GroupD以及GroupE。因此,控制器204将这些群组GroupC、GroupD以及GroupE表列于该群组列表Group_List_BBN中,且设定该群组计 数Group_Cnt_BBN为3。基于群组列表Group_List_BBl…Group_List_BBN以及群组计数6ι.οιιρ_(:η?_ΒΒΡ..6ι.οιιρ_(:η?_ΒΒΝ,控制器204设定该逻辑-物理地址映射表H2F的更新时序。如此一来,该逻辑-物理地址映射表H2F每次更新耗时受节制。例如,当这些群组计数Group_Cnt_BBl…Group_Cnt_BBN有任一超越一临界数量时,控制器204即可更新该逻辑-物理地址映射表H2F。此外,当这些缓冲区块BBl...BBN有任一满载时,该控制器204同样可以更新该逻辑-物理地址映射表H2F。
[0044]图3A图解本发明一种实施方式,将连续数据(sequential data,如,具有连续逻辑地址)以及离散数据(random data,如,逻辑地址离散)分开缓冲储存。连续数据对应的缓冲区块标号为Seq_BB。离散数据对应的缓冲区块标号为Ran_BB。缓冲区块Seq_BB —旦满载,即被归纳为连续数据区块Seq_Data_Blks之一,并另外会配置替代用的缓冲区块作后续连续数据的缓冲储存。缓冲区块Ran_BB —旦满载,即被归纳为离散数据区块Ran_Data_Blks之一,并另外会配置替代用的缓冲区块作后续离散数据的缓冲储存。控制器204会针对缓冲区块Seq_BB维护一群组列表Group_List_Seq_BB以及一群组计数Group_Cnt_Seq_BB,并针对缓冲区块Ran_BB维护一群组列表Group_List_Ran_BB以及一群组计数Group_Cnt_Ran_BB。当写入数据,如,一主机页(Hpage),送入该控制器204,控制器204会将该写入数据以缓冲区块Seq_BB或Ran_BB缓冲储存,并随之修正F2H、Group_List_Seq_BB、Group_List_Ran_BB、或 Group_Cnt_Seq_BB、Group_Cnt_Ran_BB。逻辑-物理地址映射表 H2F (储存于快闪存储器202)基于维护于该物理-逻辑地址映射表F2H中的即时映射信息作更新。基于上述群组列表 Group_List_Seq_BB、Group_List_Ran_BB 以及群组计数 Group_Cnt_Seq_BB或Group_Cnt_Ran_BB,控制器204安排该逻辑-物理地址映射表H2F的更新时序。
[0045]图3B以及图3C为流程图,图解根据本发明一种实施方式该逻辑-物理地址映射表H2F如何更新,其中如图3A所示,将连续数据以及离散数据分开作缓冲储存。
[0046]如图所示,写入数据(一主机页Hpage的数据,逻辑地址对应群组Groupi)输入后,流程进入步骤S302,判断数据属性。当写入数据为连续数据(例如,逻辑地址承续前一笔写入数据),流程进入步骤S304,检视该群组Groupi是否已被纳入群组列表Group_LiSt_Ran_BB。当群组Groupi尚未列入群组列表Group_List_Ran_BB,流程进入步骤S306,改检查群组列表Group_List_Seq_BB。当群组Groupi同样尚未列入群组列表Group_List_Seq_BB,流程进入步骤S308,群组Groupi被列入群组列表Group_List_Seq_BB,且群组计数Group_Cnt_Seq_BB递增I。然后,进行步骤S310,判断群组计数Group_Cnt_Seq_BB是否超过临界数量TH。若群组计数Group_Cnt_Seq_BB超过临界数量TH,流程进入步骤S312,基于维持于映射表F2H内的缓冲区块Seq_BB即时映射信息更新该逻辑-物理地址映射表H2F。于步骤S312,群组计数Group_Cnt_Seq_BB清理为I,且群组列表Group_List_Seq_BB重整为仅陈列群组Groupi。步骤S314于步骤S312后执行,将写入数据Hpage送入该快闪存储器202由缓冲区块Seq_BB缓冲储存。步骤S316则是用于确认缓冲区块Seq_BB是否满载。当缓冲区块Seq_BB仍余留空间,则程序结束。当缓冲区块Seq_BB满载数据,则程序进入步骤S318,基于维持于映射表F2H内的缓冲区块Seq_BB即时映射信息更新该逻辑-物理地址映射表H2F。于步骤S318,满载数据的缓冲区块Seq_BB被归纳为连续数据区块Seq_Data_Blks之一,并另外配置替代用的缓冲区块,以缓冲储存后续的连续写入数据。此外,在步骤S318,群组计数Group_Cnt_Seq_BB重置为O,且群组列表Group_List_Seq_BB清空供新配置的缓冲区块Seq_BB使用。接着,程序结束。
[0047]当步骤S3O6辨识出群组列表Group_Li st_Seq_BB已陈列了群组Group i,借由步骤S314,写入数据Hpage送入该快闪存储器202由该缓冲区块Seq_BB缓冲储存,且不影响该群组列表Group_List_Seq_BB以及该群组计数Group_Cnt_Seq_BB。当步骤S310判断该群组计数Group_Cnt_Seq_BB没有超过临界数量TH,借由步骤S314,该写入数据Hpage交由该快闪存储器202以缓冲区块Seq_BB作缓冲储存,此时会略过步骤S312的逻辑-物理地址映射表H2F更新。
[0048]当步骤S302判断出写入数据为离散数据,如,逻辑地址非接续前一笔写入数据,流程进入图3C的步骤S320,检查该群组列表Group_List_Ran_BB。当群组Groupi尚未陈列于群组列表Group_List_Ran_BB,流程进行步骤S322,将群组Groupi列入群组列表Group_List_Ran_BB、且令群组计数Group_Cnt_Ran_BB递增I。接着,步骤S324将检查该群组计数Group_Cnt_Ran_BB是否超出临界数量TH。若群组计数Group_Cnt_Ran_BB超出临界数量TH,流程进行步骤S326,基于维护于映射表F2H内的缓冲区块Ran_BB及时映射信息更新该逻辑-物理地址映射表H2F。步骤S326会将群组计数Group_Cnt_Ran_BB清理至I,且将群组列表Group_List_Ran_BB重整为仅陈列群组Groupi。步骤S326后,步骤S328负责将写入数据Hpage送入快闪存储器202由缓冲区块Ran_BB缓冲储存。步骤S330负责检查该缓冲区块Ran_BB是否满载。当缓冲区块Ran_BB满载,流程进行步骤S332,基于维护于映射表F2H中的缓冲区块Ran_BB即时映射信息更新该逻辑-物理地址映射表H2F。于步骤S322,满载数据的缓冲区块Ran_BB归类为离散数据区块Ran_Data_Blks之一,并另外配置替代的缓冲区块对后续的离散数据作缓冲储存。此外,步骤S332会将群组计数Group_Cnt_Ran_BB重置为O、且将群组列表Group_List_Ran_BB清空。接着,程序结束。
[0049]若步骤S320是判定群组列表Group_List_Ran_BB已经陈列了群组Groupi,贝U写入数据Hpage是借由步骤S328交由该快闪存储器202的该缓冲区块Ran_BB缓冲储存,无须变动该群组列表Group_List_Ran_BB与该群组计数Group_Cnt_Ran_BB。若步骤S324是判定群组计数Group_Cnt_Ran_BB未超过该临界数量TH,则写入数据Hpage是借由步骤S328交由该快闪存储器202的该缓冲区块Ran_BB缓冲储存,此时尚不对该逻辑-物理地址映射表H2F做步骤S326的更新动作。[0050]再次参阅图3B,若步骤S304是判定群组列表Group_List_Ran_BB早已陈列该群组Groupi,写入数据HPage是交由该快闪存储器202由该缓冲区块Ran_BB缓冲储存(借由图3C的步骤S328),而非缓冲于该缓冲区块Seq_BB。检查群组列表Group_List_Ran_BB的步骤S304为选用步骤,视使用者需求决定是否执行之。
[0051]图4图解本发明一种实施方式,其中以四个缓冲区块ΒΒ1...ΒΒ4缓冲储存写入数据。若有缓冲区块遭归类属于数据区块Data_Blks之的一,则配置替代的缓冲区块对后续的写入数据作缓冲储存。控制器204是以随机存取存储器208对缓冲区块ΒΒ1...ΒΒ4的群组列表 6rοιιρ_Ι^8?_ΒΒΡ..6;τοιιρ_Ι^8?:_ΒΒ4 以及群组计数 6rοιιρ_Οι?_ΒΒΡ..6;τοιιρ_Οι1:_ΒΒ4作即时地维护。控制器204将数据(如,一主机页,Hpage)写入该快闪存储器202并将即时映射信息自映射表F2H更新到映射表H2F的操作是基于上述群组列表Group_List_BBL...Group_List_BB4 以及群组计数 Group_Cnt_BBL...Group_Cnt_BB4。
[0052]图5A根据本发明一种实施方式以流程图图解逻辑-物理地址映射表H2F如何更新,其中采用如图4所示的四个缓冲区块。当收到写入数据(一主机页Hpage,逻辑地址对应群组Groupi),程序进行步骤S502,确认群组Groupi是否早已陈列在群组列表Group_List—BBpHGroup—List—BIM 中。若群组列表 6rοιιρ_Ι^8?_ΒΒΡ..6;τοιιρ_Ι^8?:_ΒΒ4 无一陈列有该群组Groupi,程序进行步骤S504,判断是否有低于一临界数量的群组计数Group_Cnt_ΒΒΡ..6ι.οιιρ_(:η?_ΒΒ4存在。若步骤S504辨识出至少有一群组计数低于临界数量、且最低的群组计数对应的是缓冲区块BBh,则程序进行步骤S506,令群组列表Gr0Up_List_BBh陈列该群组Groupi,且令群组计数Group_Cnt_BBh递增I。步骤S506之后,流程进行步骤S508,将写入数据Hpage送入该快闪存储器202以缓冲区块BBh缓冲储存。步骤S510负责检查缓冲区块BBh是否满载。若缓冲区块BBh满载,流程进行步骤S512,基于维持于映射表F2H中的缓冲区块BBh即时映射信息更新该逻辑-物理地址映射表H2F。于步骤S512,满载数据的缓冲区块BBh归纳为数据区块Data_Blks之一,并另外配置了替代的缓冲区块供后续使用。此外,于步骤S512,群组计数Group_Cnt_BBh重置为O且群组列表Group_List_BBh清空,以对应新配置的该缓冲区块BBh。之后,程序结束。
[0053]若步骤S504判定所有群组计数都高于临界数量、且四个缓冲区块ΒΒ1...ΒΒ4中最不常使用的是缓冲区块BBk,则程序进行步骤S514,基于维持于映射表F2H中的缓冲区块BBk即时映射信息更新该逻辑-物理地址映射表H2F。于步骤S514,缓冲区块BBk归类为数据区块Data_Blks之一,且新配置了替代用的缓冲区块。对应新配置的缓冲区块BBk,群组计数Group_Cnt_BBk清理至I且群组列表Group_List_BBk重整成只陈列该群组Groupi。步骤S514之后,程序进行步骤S508,写入数据Hpage送入该快闪存储器202以该缓冲区块BBk作缓冲储存。步骤S510负责检查缓冲区块BBk是否满载。当缓冲区块BBk满载,流程进行步骤S512,基于维护于映射表F2H中的缓冲区块BBk即时映射信息更新该逻辑_物理地址映射表H2F。于步骤S512,满载数据的缓冲区块BBk遭归纳属数据区块Data_Blks之一,且另外配置了替代的缓冲区块。此外,步骤S512更将群组计数GroUp_Cnt_BBk重置为
O、且将群组列表Group_List_BBk清空,以对应新配置的缓冲区块BBk。之后,程序结束。
[0054]若步骤S502判定群组Groupi早已由群组列表Group_List_BBl陈列,程序进行步骤S508,将写入数据Hpage送入快闪存储器202以缓冲区块BBl缓冲储存。步骤S510负责检查缓冲区块BBl是否满载。若缓冲区块BBl满载,程序进行步骤S512,基于维护于该映射表F2H中的缓冲区块BBl即时映射信息更新该逻辑-物理地址映射表H2F。于步骤S512,满载数据的缓冲区块BBl归纳属数据区块Data_Blks之一,且新配置了替代用的缓冲区块。此外,步骤S512更将群组计数Group_Cnt_Bll重置为O、且将群组列表Group_List_Bll清空,以对应新配置的缓冲区块BB1。之后,程序结束。
[0055]图5B根据本发明另外一种实施方式以一流程图说明一逻辑-物理地址映射表H2F如何更新,其中使用如图4所示的四个缓冲区块。图5B以步骤S520替代图5A步骤S514。步骤S520是基于维持于映射表F2H中的缓冲区块BBk即时映射信息更新该逻辑_物理地址映射表H2F。在映射表H2F更新后,群组计数Group_Cnt_BBk清理至1、且群组列表Group_List_BBk清理至仅陈列群组Groupi。不同于图5A的是:根据图5B的实施方式,缓冲区块BBk的闲置空间会继续利用在写入数据缓冲储存上。数据区块Data_Blks内的数据密度显著提升。
[0056]在部分实施方式中,仅单一缓冲区块用于缓冲写入数据。然而,缓冲区块数量并不意图用于限定本发明范围。
[0057]特别是,任何参数,只要足以反映缓冲区块所缓冲储存、且逻辑-物理地址映射信息尚未更新的这些数据的逻辑地址分布状况,及可应用来取代前述群组计数以及/或群组列表。以群组计数为例,其越高数值代表的越离散的逻辑地址分布。
[0058]在其他实施方式,控制器204可包括一运算单元以及一唯读存储器(ROM)。唯读存储器存有ROM程序码。ROM程序码根据所揭露技术编码,由该运算单元执行。此外,任何快闪存储器控制方法只要使用到所揭露的映射表H2F更新技术,即隶属本发明所揭露范围。
[0059]虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视权利要求所界定者为准。
【权利要求】
1.一种数据储存装置,包括: 一快闪存储器,所提供的储存空间划分为多个区块,各区块包括多个页;以及 一控制器,根据一主机下达的指令操作该快闪存储器, 其中: 该控制器根据一第一缓冲区块的一第一群组计数更新该主机与该快闪存储器之间的一逻辑-物理地址映射表,该第一缓冲区块选自该快闪存储器的该多个区块; 该第一群组计数反映该第一缓冲区块所缓冲储存的写入数据所对应的一第一逻辑地址分布;且 该第一群组计数值越高代表该第一逻辑地址分布越离散。
2.如权利要求1所述的数据储存装置,其特征在于: 该控制器将该逻辑-物理地址映射表各页划分为X个栏位,以储存X个逻辑地址的物理地址信息; X为数量; 共用一页的空间记录逻辑-物理地址映射信息的X个逻辑地址属同一群组;且该主机所下达以交由该第一缓冲区块缓冲储存的写入数据的逻辑地址属于该第一群组计数尚未计数到的一群组时,该控制器令该第一群组计数递增。
3.如权利要求2所述的数据储存装置,其特征在于: 该控制器于该第一群组计数超过一临界数量时更新该逻辑-物理地址映射表;` 该控制器更于该第一缓冲区块满载数据时更新该逻辑-物理地址映射表;且该控制器更于该逻辑-物理地址映射表随该第一群组计数或该第一缓冲区块的满载状态更新时重整该第一群组计数。
4.如权利要求3所述的数据储存装置,其特征在于: 该控制器采用一第一群组列表条列该第一缓冲区块所缓冲储存且逻辑-物理地址映射信息尚未更新的该多个群组;且 该控制器更于该逻辑-物理地址映射表随该第一群组计数或该第一缓冲区块的满载状态更新时重整该第一群组列表。
5.如权利要求4所述的数据储存装置,其特征在于: 该控制器借由检查该第一群组列表判断当前写入数据的逻辑地址是否尚未计数于该第一群组计数中。
6.如权利要求3所述的数据储存装置,其特征在于: 该控制器以该第一缓冲区块作离散数据缓冲储存; 该控制器更使用一第二缓冲区块作连续数据缓冲储存,该第二缓冲区块选自该快闪存储器该多个区块; 该控制器更根据该第二缓冲区块的一第二群组计数更新该逻辑-物理地址映射表;该第二群组计数反映该第二缓冲区块所缓冲储存、且逻辑-物理地址映射信息尚未更新的写入数据所对应的一第二逻辑地址分布; 该第二群组计数越高代表该第二逻辑地址分布越离散; 该控制器于该主机所下达以交由该第二缓冲区块缓冲储存的写入数据的逻辑地址属于该第二群组计数尚未计数的一群组时递增该第二群组计数;该控制器于该第二群组计数超越一临界数量时更新该逻辑-物理地址映射表; 该控制器更于该第二缓冲区块满载数据时更新该逻辑-物理地址映射表;且该控制器于该逻辑-物理地址映射表随该第二群组计数或该第二缓冲区块的满载状况更新时重整该第二群组计数。
7.如权利要求6所述的数据储存装置,其特征在于: 该控制器更判断该主机所下达的连续数据的逻辑地址所对应的群组是否已计数于该第一群组计数中;且 若该主机所下达的连续数据的逻辑地址所对应的群组早已计数于该第一群组计数中,则该控制器非采用该第二缓冲区块而是采用该第一缓冲区块作缓冲储存。
8.如权利要求1所述的数据储存装置,其特征在于: 该控制器更使用第二至第N缓冲区块,与该第一缓冲区块一并用于缓冲储存写入数据,N为数值,上 述第二至第N缓冲区块选自该快闪存储器该多个区块; 该控制器更根据上述第二至第N缓冲区块所对应的第二至第N群组计数更新该逻辑-物理地址映射表; 上述第二至第N群组计数反映缓冲储存于上述第二至第N缓冲区块中、且逻辑-物理地址映射信息尚未更新的写入数据所对应的第二至第N逻辑地址分布;且关于上述第二至第N群组计数,越高的数值代表越离散的逻辑地址分布。
9.如权利要求8所述的数据储存装置,其特征在于: 该控制器将该逻辑-物理地址映射表各页划分为X个栏位,以储存X个逻辑地址的物理地址信息; X为数值; 共用一页空间记录逻辑-物理地址信息的X个逻辑地址属同一群组; 若该主机所下达的写入数据的逻辑地址所属群组已经计数于上述第一至第N群组计数中,则该控制器使用对应的缓冲区块作缓冲储存; 该控制器更于上述第一至第N缓冲区块任一满载数据时更新该逻辑-物理地址映射表; 若该主机所下达的写入数据的逻辑地址所属群组尚未计数于上述第一至第N群组计数中、且上述第一至第N群组计数中的一最低群组计数低于一临界数量,则该控制器使用该最低群组计数所对应的该缓冲区块对写入数据作缓冲储存、并递增该最低群组计数;且若该主机所下达的写入数据的逻辑地址所属群组尚未计数于上述第一至第N群组计数中、且上述第一至第N群组计数无一低于该临界数量,则该控制器更新该逻辑-物理地址映射表以更新上述第一至第N缓冲区块中最少使用的缓冲区块的逻辑-物理地址映射信息,转认定该最少使用缓冲区块为一数据区块,且自该快闪存储器该多个区块中选择替代用的缓冲区块对写入数据作缓冲储存,并设定上述替代用的缓冲区块的群组计数为I。
10.如权利要求8所述的数据储存装置,其特征在于: 该控制器将该逻辑-物理地址映射表各页划分为X个栏位,以储存X个逻辑地址的物理地址信息; X为数值; 共用一页空间记录逻辑-物理地址信息的X个逻辑地址属同一群组;若该主机所下达的写入数据的逻辑地址所属群组已经计数于上述第一至第N群组计数中,则该控制器使用对应的缓冲区块作缓冲储存; 该控制器更于上述第一至第N缓冲区块任一满载数据时更新该逻辑-物理地址映射表; 若该主机所下达的写入数据的逻辑地址所属群组尚未计数于上述第一至第N群组计数中、且上述第一至第N群组计数中的一最低群组计数低于一临界数量,则该控制器使用该最低群组计数所对应的该缓冲区块对写入数据作缓冲储存、并递增该最低群组计数;且若该主机所下达的写入数据的逻辑地址所属群组尚未计数于上述第一至第N群组计数中、且上述第一至第N群组计数无一低于该临界数量,则该控制器更新该逻辑-物理地址映射表以更新上述第一至第N缓冲区块中最少使用的缓冲区块的逻辑-物理地址映射信息,并使用该最少使用的缓冲区块对写入数据作缓冲储存,并设定该最少使用的缓冲区块的群组计数为I。
11.一种快闪存储器控制方法,包括: 采用一快闪存储器提供储存空间,所提供的储存空间划分为多个区块,各区块包括多个页; 根据一主机下达的指令操作该快闪存储器;以及 根据一第一缓冲区块的一第 一群组计数更新该主机与该快闪存储器之间的一逻辑-物理地址映射表,该第一缓冲区块选自该快闪存储器的该多个区块, 其中: 该第一群组计数反映该第一缓冲区块所缓冲储存的写入数据所对应的一第一逻辑地址分布;且 该第一群组计数值越高代表该第一逻辑地址分布越离散。
12.如权利要求1所述的快闪存储器控制方法,其特征在于,更包括: 将该逻辑-物理地址映射表各页划分为X个栏位,以储存X个逻辑地址的物理地址信息, 其中: X为数量; 共用一页的空间记录逻辑-物理地址映射信息的X个逻辑地址属同一群组;且该主机所下达以交由该第一缓冲区块缓冲储存的写入数据的逻辑地址属于该第一群组计数尚未计数到的一群组时,递增该第一群组计数。
13.如权利要求12所述的快闪存储器控制方法,其特征在于,包括: 于该第一群组计数超过一临界数量时更新该逻辑-物理地址映射表; 更于该第一缓冲区块满载数据时更新该逻辑-物理地址映射表;且 于该逻辑-物理地址映射表随该第一群组计数或该第一缓冲区块的满载状态更新时重整该第一群组计数。
14.如权利要求13所述的快闪存储器控制方法,其特征在于,包括: 采用一第一群组列表条列该第一缓冲区块所缓冲储存且逻辑-物理地址映射信息尚未更新的该多个群组;且 于该逻辑-物理地址映射表随该第一群组计数或该第一缓冲区块的满载状态更新时重整该第一群组列表。
15.如权利要求14所述的快闪存储器控制方法,其特征在于,包括: 借由检查该第一群组列表判断当前写入数据的逻辑地址是否尚未计数于该第一群组计数中。
16.如权利要求13所述的快闪存储器控制方法,其特征在于,更包括: 以该第一缓冲区块作离散数据缓冲储存; 更使用一第二缓冲区块作连续数据缓冲储存,该第二缓冲区块选自该快闪存储器该多个区块; 更根据该第二缓冲区块的一第二群组计数更新该逻辑-物理地址映射表,其中,该第二群组计数反映该第二缓冲区块所缓冲储存且逻辑-物理地址映射信息尚未更新的写入数据所对应的一第二逻辑地址分布,该第二群组计数越高代表该第二逻辑地址分布越离散; 于该主机所下达以交由该第二缓冲区块缓冲储存的写入数据的逻辑地址属于该第二群组计数尚未计数的一群组时,递增该第二群组计数; 更于该第二群组计数超越一临界数量时更新该逻辑-物理地址映射表; 更于该第二缓冲区块满载数据时更新该逻辑-物理地址映射表;且更于该逻辑-物理地址映射表随该第二群组计数或该第二缓冲区块的满载状况更新时重整该第二群组计数。
17.如权利要求16所述的快闪存储器控制方法,其特征在于,更包括: 判断该主机所下达的连续数据的逻辑地址所对应的群组是否已计数于该第一群组计数中;且 若该主机所下达的连续数据的逻辑地址所对应的群组早已计数于该第一群组计数中,则非采用该第二缓冲区块而是采用该第一缓冲区块作缓冲储存。
18.如权利要求11所述的快闪存储器控制方法,其特征在于,更包括: 使用第二至第N缓冲区块,与该第一缓冲区块一并用于缓冲储存写入数据,N为数值,上述第二至第N缓冲区块选自该快闪存储器该多个区块;且 根据上述第二至第N缓冲区块所对应的第二至第N群组计数更新该逻辑-物理地址映射表, 其中: 上述第二至第N群组计数分别反映缓冲储存于上述第二至第N缓冲区块中、且逻辑-物理地址映射信息尚未更新的写入数据所对应的第二至第N逻辑地址分布;且关于上述第二至第N群组计数,越高的数值代表越离散的逻辑地址分布。
19.如权利要求18所述的快闪存储器控制方法,其特征在于,包括: 将该逻辑-物理地址映射表各页划分为X个栏位,以储存X个逻辑地址的物理地址信息,其特征在于,,X为数值,且共用一页空间记录逻辑-物理地址信息的X个逻辑地址属同一群组; 若该主机所下达的写入数据的逻辑地址所属群组已经计数于上述第一至第N群组计数中,则使用对应的缓冲区块作缓冲储存; 于上述第一至第N缓冲区块任一满载数据时更新该逻辑-物理地址映射表;若该主机所下达的写入数据的逻辑地址所属群组尚未计数于上述第一至第N群组计数中、且上述第一至第N群组计数中的一最低群组计数低于一临界数量,则使用该最低群组计数所对应的该缓冲区块对写入数据作缓冲储存、并递增该最低群组计数;且 若该主机所下达的写入数据的逻辑地址所属群组尚未计数于上述第一至第N群组计数中、且上述第一至第N群组计数无一低于该临界数量,则更新该逻辑-物理地址映射表以更新上述第一至第N缓冲区块中最少使用的缓冲区块的逻辑-物理地址映射信息,转认定该最少使用缓冲区块为一数据区块,且自该快闪存储器该多个区块中选择替代用的缓冲区块对写入数据作缓冲储存,并设定上述替代用的缓冲区块的群组计数为I。
20.如权利要求18所述的快闪存储器控制方法,其特征在于,更包括: 将该逻辑-物理地址映射表各页划分为X个栏位,以储存X个逻辑地址的物理地址信息,其中,X为数值,且共用一页空间记录逻辑-物理地址信息的X个逻辑地址属同一群组;若该主机所下达的写入数据的逻辑地址所属群组已经计数于上述第一至第N群组计数中,则使用对应的缓冲区块作缓冲储存; 于上述第一至第N缓冲区块任一满载数据时更新该逻辑-物理地址映射表; 若该主机所下达的写入数据的逻辑地址所属群组尚未计数于上述第一至第N群组计数中、且上述第一至第N群组计数中的一最低群组计数低于一临界数量,则使用该最低群组计数所对应的该缓冲区块对写入数据作缓冲储存、并递增该最低群组计数;且 若该主机所下达的写入数据的逻辑地址所属群组尚未计数于上述第一至第N群组计数中、且上述第一至第N群组计数无一低于该临界数量,则更新该逻辑-物理地址映射表以更新上述第一至第N缓冲区块中最少使用的缓冲区块的逻辑-物理地址映射信息,并使用该最少使用的缓冲区块对写入数据作缓冲储存,并设定该最少使用的缓冲区块的群组计数为I。`
【文档编号】G06F12/02GK103677667SQ201310424658
【公开日】2014年3月26日 申请日期:2013年9月17日 优先权日:2012年9月20日
【发明者】郑张铠 申请人:慧荣科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1