管理闪存模块的方法及相关的闪存控制器技术

技术编号:20946089 阅读:29 留言:0更新日期:2019-04-24 03:03
本发明专利技术公开一种管理闪存模块的方法及相关的闪存控制器,该方法包括有:依序建立多个区段的多笔区段地址映射数据,其中该多笔区段地址映射数据包括每一个区段的逻辑地址及相对应的物理地址;将该多个区段中具有连续逻辑地址的一部分区段合并为一簇,并将该部分区段的数据搬移至该闪存模块中具有连续物理地址的多个数据页;以及建立该簇的簇地址映射数据,并擦除先前所建立的对应于该部分区段的区段地址映射数据。本发明专利技术所公开的管理闪存模块的方法及相关的闪存控制器,可以大幅降低地址映射表的容量,以加速逻辑/物理地址的搜寻速度,并延长闪存模块的寿命。

Method of managing flash module and related flash controller

The invention discloses a method for managing flash memory module and a related flash memory controller. The method includes: sequentially establishing multi-segment address mapping data of multiple segments, in which the multi-segment address mapping data includes the logical address and corresponding physical address of each segment; merging parts of the segments with continuous logical addresses into a cluster, and The data of the segment is moved to multiple data pages with continuous physical addresses in the flash memory module, and the cluster address mapping data of the cluster is established, and the segment address mapping data corresponding to the segment established previously is erased. The method for managing the flash memory module and the related flash memory controller disclosed by the invention can greatly reduce the capacity of the address mapping table, speed up the search of logical/physical addresses, and prolong the life of the flash memory module.

【技术实现步骤摘要】
管理闪存模块的方法及相关的闪存控制器
本专利技术有关于闪存,尤指一种管理闪存模块的方法及相关的闪存控制器。
技术介绍
在闪存控制器中会具有一闪存转换层(FlashTranslationLayer,FTL),以将文件系统中的逻辑地址转换为闪存模块中的物理地址,并藉此管理及控制闪存模块中的块使用状况。闪存转换层通常会具有两个问题,其中第一个问题是如何增加逻辑地址及物理地址的查询/转换速度,以加速数据存取;而第二个问题是如何降低闪存模块中的块擦除次数,以延长闪存模块的寿命。具体来说,由于目前闪存模块的容量越来越大,故用来记录逻辑地址及物理地址关系的区段(sector)地址映射表的容量也越来越大,因此会导致逻辑/物理地址的搜寻速度变慢;另一方面,由于区段地址映射表会储存在闪存模块中,再加上区段地址映射表中的内容会因为闪存模块中所储存的数据的变动而需要频繁地更新,因此在区段地址映射表的容量变大的情形下更会造成闪存模块中的块擦除次数大幅增加,而影响到闪存模块的寿命。
技术实现思路
有鉴于此,本专利技术提供一种管理闪存模块的方法及相关的闪存控制器。在本专利技术的一个实施例中,揭露了一种管理一闪存模块的方法,其包括:依序建立多个区段之多笔区段地址映射数据,其中该多笔区段地址映射数据包括了每一个区段之逻辑地址及相对应的物理地址;将该多个区段中具有连续逻辑地址的一部分区段合并为一簇,并将该部分区段的数据搬移至该闪存模块中具有连续物理地址的多个数据页;以及建立该簇的簇地址映射数据,并擦除先前所建立之对应于该部分区段之区段地址映射数据。在本专利技术的另一个实施例中,揭露了一种闪存控制器,其中该闪存控制器用来存取一闪存模块,且该闪存控制器包括有存储器以及微处理器,其中该存储器用来储存程序代码,且该微处理器用来执行该程序代码以控制对该闪存模块的存取。在该闪存控制器的操作中,该微处理器依序建立多个区段的多笔区段地址映射数据,其中该多笔区段地址映射数据包括了每一个区段的逻辑地址及相对应的物理地址;且该微处理器将该多个区段中具有连续逻辑地址的一部分区段合并为一簇,并将该部分区段的数据搬移至该闪存模块中具有连续物理地址的多个数据页,以及建立该簇的簇地址映射关系,并擦除先前所建立之对应于该部分区段之区段地址映射数据。在本专利技术的另一个实施例中,揭露了一种管理闪存模块的方法,其包括:建立地址映射表,其中该地址映射表包括了多个区段之逻辑地址及相对应的物理地址;以及将该地址映射表连同其他数据一并写入至该闪存模块中的同一个数据页中,其中该其他数据无关于任何有关于逻辑地址及物理地址的映射数据。在本专利技术的另一个实施例中,揭露了一种管理闪存模块的方法,其包括:读取第一块中所储存的擦除序号,其中该擦除序号用来表示该第一块在上一次进行擦除操作是该闪存模块中整体所进行的第几次擦除操作;根据该擦除序号来判断该第一块中的数据为热数据或是冷数据;当该第一块中的数据被判断为冷数据时,将该第一块使用中的数据复制到第二块中;以及擦除该第一块中的数据。然后以同样的方式将其他块的冷数据集中到第二块,之后第二块的冷数据就不太会移动,可减少不必要的搬移。本专利技术所提供的管理闪存模块的方法及相关的闪存控制器,可以大幅降低地址映射表的容量,以加速逻辑/物理地址的搜寻速度,并延长闪存模块的寿命。对于已经阅读后续由各附图及内容所显示的较佳实施方式的本领域的技术人员来说,本专利技术的各目的是明显的。附图说明图1为存取闪存模块的架构图。图2为根据本专利技术一实施例的存储装置的示意图。图3为根据本专利技术一实施例的多个映射地址表的示意图。图4为根据本专利技术一实施例的使用图3所示的多个映射地址表以从闪存模块中读取数据的流程图。图5为如何产生簇(cluster)地址映射数据的示意图。图6为图5所示的管理闪存模块的方法的流程图。图7为根据本专利技术一实施例的将地址映射表写入到闪存模块的示意图。图8为根据本专利技术另一实施例的管理闪存模块的方法的流程图。具体实施方式图1为存取一闪存模块120的架构图,其绘示了文件系统112通过闪存转换层(FTL)114来将数据写入至闪存模块120,或是通过闪存转换层114从闪存模块120中读取数据。在一般的闪存装置中,由于闪存模块120与主装置(例如,电脑或处理器)的文件系统112并不相同,因此需要使用闪存转换层114来将主装置的文件系统112中的逻辑地址转换为闪存模块120中所使用的物理地址,以顺利地对闪存模块120进行存取操作。此外,除了进行逻辑地址与物理地址之间的转换之外,闪存转换层114另可以此管理及控制闪存模块120中的块使用状况。图2为根据本专利技术一实施例的存储装置100的示意图。存储装置100包括闪存控制器110以及闪存模块120,其中闪存控制器110包括接口电路211、微处理器212、只读存储器213、缓冲存储器215以及控制逻辑216。只读存储器213用来储存程序代码214,而微处理器212则用来执行程序代码214以控制对闪存模块120的存取,即,图1所示的闪存转换层114可以通过微处理器212执行程序代码214来实现。此外,闪存控制器110通过接口电路322连接至主装置(例如,电脑或处理器),且该主装置可以通过闪存控制器110来存取闪存模块120。闪存模块120包括多个闪存芯片,每一个闪存芯片包括多个块(block),而每一个块又包括多个数据页(page)。在闪存模块120的规范中,闪存控制器110对闪存模块120进行擦除操作是以块为单位来进行,即块是一个最小的擦除单位;此外,闪存控制器110对闪存模块120进行写入操作是以数据页为单位来进行,即数据页是一个最小的写入单位。在本实施例中,当主装置需要将数据写入到闪存模块120时,是依序地将多笔数据循序地传送至闪存控制器110中,其中每一笔数据具有固定的大小。在目前常用的文件系统中,每一笔数据对应到区段(sector),且其大小为4KB。在每一个区段的数据(即,上述的每一笔数据)写入到闪存模块120的过程中,微处理器212也会同时建立该区段的一笔区段地址映射数据,其中该笔区段地址映射数据包括该区段的逻辑地址及相对应的物理地址。该笔区段地址映射数据会先暂时储存在缓冲存储器215中,并等待后续适合的时间点再储存至闪存模块120中。如上所述,由于每一个区段的数据在写入至闪存模块120都会需要建立一笔区段地址映射数据,因此,当闪存模块120的容量越来越大时(例如8GB、16GB以上),区段地址映射数据的数据量也会相当庞大,因而造成缓冲存储器215的负担且也浪费了闪存模块120中的空间。此外,在区段地址映射数据的数据量过大的情形下,也有可能会降低逻辑地址及物理地址的查询/转换速度。因此,为了解决上述区段地址映射数据的数据量过大的问题,本实施例提出了一种可以缩减区段地址映射数据的方法,其通过将具有连续逻辑地址的多个区段合并为一个簇(cluster),并将原本的多个区段地址映射数据缩减为单一的簇地址映射数据,以降低地址映射数据的数量。具体来说,参考图3,其为根据本专利技术一实施例的多个映射地址表的示意图。在图3的实施例中,其主要设计了三层的映射地址表,其中第一层是FTL组态,其记录了多个簇地址映射表群组CMT_G0、CMT_G1、CMT_G2…等等在本文档来自技高网...

【技术保护点】
1.一种管理闪存模块的方法,其特征在于,包括:依序建立多个区段的多笔区段地址映射数据,其中该多笔区段地址映射数据包括每一个区段的逻辑地址及相对应的物理地址;将该多个区段中具有连续逻辑地址的一部分区段合并为一簇,并将该部分区段的数据搬移至该闪存模块中具有连续物理地址的多个数据页;以及建立该簇的簇地址映射数据,并擦除先前所建立的对应于该部分区段的区段地址映射数据。

【技术特征摘要】
1.一种管理闪存模块的方法,其特征在于,包括:依序建立多个区段的多笔区段地址映射数据,其中该多笔区段地址映射数据包括每一个区段的逻辑地址及相对应的物理地址;将该多个区段中具有连续逻辑地址的一部分区段合并为一簇,并将该部分区段的数据搬移至该闪存模块中具有连续物理地址的多个数据页;以及建立该簇的簇地址映射数据,并擦除先前所建立的对应于该部分区段的区段地址映射数据。2.如权利要求1所述的方法,其特征在于,该簇地址映射数据为具有连续逻辑地址的该部分区段的第一个逻辑地址,以及具有连续物理地址的该多个数据页的第一个物理地址。3.如权利要求1所述的方法,其特征在于,将该多个区段中具有连续逻辑地址的该部分区段合并为该簇的步骤包括有:当具有连续逻辑地址的该部分区段的数量到达预定数量时,才开始将该多个区段中具有连续逻辑地址的该部分区段合并为该簇。4.如权利要求1所述的方法,其特征在于,另包括有:将该多个区段的数据依序储存到该闪存模块的至少一第一块中,并依序建立该多个区段该的多笔区段地址映射数据;以及当具有连续逻辑地址的该部分区段合并为该簇时,并将该部分区段的数据从该第一块搬移至该闪存模块的第二块中具有连续物理地址的该多个数据页。5.如权利要求4所述的方法,其特征在于,该至少一第一块包括单层式储存块,且该第二块为三层式储存块。6.如权利要求1所述的方法,其特征在于,还包括:根据该多笔区段地址映射数据以及该簇地址映射数据来建立地址映射表;以及将该地址映射表连同其他区段数据一并写入至该闪存模块中的同一个数据页中。7.如权利要求6所述的方法,其特征在于,该数据页为该闪存模块中的最小写入单元,且该地址映射表与该其他区段数据的写入操作是根据同一个写入命令来进行。8.一种闪存控制器,其特征在于,该闪存控制器用来存取一闪存模块,以及该闪存控制器包括有:存储器,用来储存程序代码;微处理器,用来执行该程序代码以控制对该闪存模块的存取;其中该微处理器依序建立多个区段的多笔区段地址映射数据,其中该多笔区段地址映射数据包括了每一个区段的逻辑地址及相对应的物理地址;且该微处理器将该多个区段中具有连续逻辑地址的一部分区段合并为一簇,并将该部分区段的数据搬移至该闪存模块中具有连续物理地址的多个数据页,以及建立该簇的簇地址映射关系,并擦除先前所建立的对应于该部分区段的区段地址映射数据。9.如权利要求8所述的闪存控制器,其特征在于,该簇地址映射数据为具有连续逻辑地址的该部分区段的第一个逻辑地址,以及具有连...

【专利技术属性】
技术研发人员:陈英洲李俊升张建伟李界锋赵本亮
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:中国台湾,71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1