闪存存储系统的地址映射方法及装置制造方法及图纸

技术编号:14678520 阅读:101 留言:0更新日期:2017-02-22 11:23
本发明专利技术实施例公开了一种闪存存储系统的地址映射方法及装置,该方法包括:判断来自文件系统的数据请求是写请求还是读请求;当判断是读请求时,根据数据的逻辑页地址依次访问预设于缓存的一级地址映射表、预设于内存的二级地址映射表和闪存地址区直至找到对应的地址映射表项并从中获取对应的物理页地址,然后从该物理页地址读取数据并根据该数据的逻辑页地址和物理页地址更新一级地址映射表;当判断是写请求时,根据数据的逻辑页地址将数据写入对应的物理页地址,并根据该数据的逻辑页地址和物理页地址更新一级地址映射表。采用本发明专利技术方案,不仅大幅减少存储地址映射表项所需的内存空间,还可有效提升闪存存储系统的读写性能,提高系统响应时间。

【技术实现步骤摘要】

本专利技术属于数据存储
,尤其涉及一种闪存存储系统的地址映射方法及装置
技术介绍
随着半导体技术和计算机体系结构的发展,闪存存储系统作为一种非易失性存储系统,以其存储容量大、体积小、功耗低、成本低、掉电数据不丢失等特点逐渐取代传统电磁存储设备而被广泛应用于嵌入式系统中。嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。其中,存储系统是嵌入式系统的重要组成部分。目前,闪存存储系统主要包括NAND和NOR两种类型,由于NAND闪存存储密度更高、写入速度更快,因而基于NAND闪存的闪存存储系统应用更为广泛。然而,由于闪存具有异地更新、块擦写次数有限等问题,为使闪存像传统块存储设备一样工作,在闪存存储系统中,通常利用闪存转换层将闪存模拟成传统的块存储设备,在收到来自文件系统的数据读写请求时,通过闪存转换层将数据的逻辑页地址映射为物理页地址,以实现数据在闪存存储系统中的读写操作。因此,如何有效地执行地址映射并管理地址映射信息,成为一个关键问题。在早期闪存存储系统中,所有的地址映射信息都是以地址映射表的形式保存于内存中,内存通常采用随机存取器(RandomAccessMemory,以下简称RAM)。随着闪存存储系统存储容量的大幅增加,存储地址映射表所需要的RAM容量已经远远超过现有RAM实际可以提供的存储容量。由于嵌入式系统中只有有限的RAM资源,因此只能把一小部分地址映射表项存储在RAM中,其余大部分地址映射表项则存储于闪存的地址区中。在现有闪存存储系统中,频繁的读写操作会引起地址映射表项的频繁更新,当更新的地址映射表项不在RAM中时,就需要为每一次更新的地址映射表项在闪存地址区中分配一个新的物理页,用来存放更新的地址映射信息。这样不仅会导致闪存存储系统中大量物理页的写入操作,并提前触发所在物理块的垃圾回收操作,而且这些地址映射表项的频繁更新写入闪存的操作还会严重影响闪存存储系统的读写速度,影响闪存存储系统的响应时间,对闪存存储系统的使用寿命造成不利影响。
技术实现思路
本专利技术实施例的目的在于提供一种闪存存储系统的地址映射方法及装置,用以解决现有技术中地址映射表项频繁更新写入闪存的操作会导致闪存存储系统中大量物理页的写入操作,并提前触发所在物理块的垃圾回收操作,而且还会严重影响闪存存储系统的读写速度的问题。一方面,本专利技术实施例提供一种闪存存储系统的地址映射方法,包括:当收到来自文件系统的数据请求时,判断所述数据请求是写请求还是读请求;当判断所述数据请求为读请求时,根据所述读请求中携带的数据的逻辑页地址依次在预设于缓存的一级地址映射表、预设于内存的二级地址映射表和闪存地址区中查找直至找到包含所述数据的逻辑页地址的地址映射表项,并从所述地址映射表项中获取所述数据的逻辑页地址对应的物理页地址;从所述物理页地址处读取数据;根据所述数据的逻辑页地址和对应物理页地址更新所述一级地址映射表;当判断所述数据请求为写请求时,根据所述写请求中携带的数据的逻辑页地址将数据写入所述数据的逻辑页地址对应的物理页地址中;执行所述根据所述数据的逻辑页地址和对应物理页地址更新所述一级地址映射表的步骤。另一方面,本专利技术实施例提供一种闪存存储系统的地址映射装置,包括:第一判断模块,用于当收到来自文件系统的数据请求时,判断所述数据请求是写请求还是读请求;地址获取模块,用于当所述第一判断模块判断所述数据请求为读请求时,根据所述读请求中携带的数据的逻辑页地址依次在预设于缓存的一级地址映射表、预设于内存的二级地址映射表和闪存地址区中查找直至找到包含所述数据的逻辑页地址的地址映射表项,并从所述地址映射表项中获取所述数据的逻辑页地址对应的物理页地址;数据读取模块,用于从所述物理页地址处读取数据;第一更新模块,用于根据所述数据的逻辑页地址和对应物理页地址更新所述一级地址映射表;数据写入模块,用于当所述第一判断模块判断所述数据请求为写请求时,根据所述写请求中携带的数据的逻辑页地址将数据写入所述数据的逻辑页地址对应的物理页地址中。从上述本专利技术实施例可知,本专利技术方案通过以物理页为粒度的地址映射机制可以实现在保持闪存存储系统原有读写性能和空间利用率的基础上,大幅减少存储地址映射表所需的内存空间,而且可以避免地址映射表项频繁更新写入闪存的操作,有效提升闪存存储系统的读写性能,提高系统响应时间,同时还可避免提前触发垃圾回收操作,延长闪存存储系统的使用寿命。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术第一实施例中闪存存储系统的地址映射方法的流程示意图;图2为本专利技术第二实施例中闪存存储系统的地址映射方法的流程示意图;图3为本专利技术实施例所提供的闪存存储系统的地址映射方法中更新一级地址映射表的流程示意图;图4为本专利技术实施例所提供的闪存存储系统的地址映射方法中更新二级地址映射表的流程示意图;图5为本专利技术实施例所提供的闪存存储系统的地址映射方法中更新闪存地址区的流程示意图;图6为本专利技术第三实施例中闪存存储系统的地址映射装置的功能模块示意图;图7为本专利技术实施例所提供的闪存存储系统的地址映射装置中的第一更新模块的功能模块示意图;图8为本专利技术实施例所提供的闪存存储系统的地址映射装置中第二更新子模块的功能模块示意图;图9为本专利技术实施例所提供的闪存存储系统的地址映射装置中第二更新单元的功能模块示意图;图10为本专利技术实施例所提供的闪存存储系统的地址映射装置中地址获取模块的功能模块示意图。具体实施方式为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而非全部实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,为本专利技术第一实施例中闪存存储系统的地址映射方法的流程示意图。如图1所示,本专利技术实施例所提供的闪存存储系统的地址映射方法包括以下步骤:步骤101、当收到来自文件系统的数据请求时,判断数据请求是写请求还是读请求;步骤102、当判断数据请求为读请求时,根据读请求中携带的数据的逻辑页地址依次在预设于缓存的一级地址映射表、预设于内存的二级地址映射表和闪存地址区中查找直至找到包含该数据的逻辑页地址的地址映射表项,并从该地址映射表项中获取该数据的逻辑页地址对应的物理页地址;步骤103、从该物理页地址处读取数据;步骤104、根据数据的逻辑页地址和对应物理页地址更新一级地址映射表;步骤105、当判断数据请求为写请求时,根据写请求中携带的数据的逻辑页地址将数据写入所述数据的逻辑页地址对应的物理页地址中,并执行步骤104。需要说明的是,在本专利技术实施例中,一级地址映射表和二级地址映射表皆用于存储数据的地址映射表项,其中一级地址映射表存放于缓存中,二级地址映射表存放于内存中,并且一级地址映射本文档来自技高网
...
闪存存储系统的地址映射方法及装置

【技术保护点】
一种闪存存储系统的地址映射方法,其特征在于,包括:当收到来自文件系统的数据请求时,判断所述数据请求是写请求还是读请求;当判断所述数据请求为读请求时,根据所述读请求中携带的数据的逻辑页地址依次在预设于缓存的一级地址映射表、预设于内存的二级地址映射表和闪存地址区中查找直至找到包含所述数据的逻辑页地址的地址映射表项,并从所述地址映射表项中获取所述数据的逻辑页地址对应的物理页地址;从所述物理页地址处读取数据;根据所述数据的逻辑页地址和对应物理页地址更新所述一级地址映射表;当判断所述数据请求为写请求时,根据所述写请求中携带的数据的逻辑页地址将数据写入所述数据的逻辑页地址对应的物理页地址中;执行所述根据所述数据的逻辑页地址和对应物理页地址更新所述一级地址映射表的步骤。

【技术特征摘要】
1.一种闪存存储系统的地址映射方法,其特征在于,包括:当收到来自文件系统的数据请求时,判断所述数据请求是写请求还是读请求;当判断所述数据请求为读请求时,根据所述读请求中携带的数据的逻辑页地址依次在预设于缓存的一级地址映射表、预设于内存的二级地址映射表和闪存地址区中查找直至找到包含所述数据的逻辑页地址的地址映射表项,并从所述地址映射表项中获取所述数据的逻辑页地址对应的物理页地址;从所述物理页地址处读取数据;根据所述数据的逻辑页地址和对应物理页地址更新所述一级地址映射表;当判断所述数据请求为写请求时,根据所述写请求中携带的数据的逻辑页地址将数据写入所述数据的逻辑页地址对应的物理页地址中;执行所述根据所述数据的逻辑页地址和对应物理页地址更新所述一级地址映射表的步骤。2.根据权利要求1所述的闪存存储系统的地址映射方法,其特征在于:所述根据所述数据的逻辑页地址和对应物理页地址更新一级地址映射表的步骤包括:判断所述一级地址映射表中是否存在包含所述数据的逻辑页地址的地址映射表项;当判断所述一级地址映射表中不存在包含所述数据的逻辑页地址的地址映射表项时,判断所述一级地址映射表是否写满;当判断所述一级地址映射表未写满时,将所述数据的逻辑页地址和对应物理页地址写入所述一级地址映射表中;当判断所述一级地址映射表中存在包含所述数据的逻辑页地址的地址映射表项时,判断所述一级地址映射表的所述地址映射表项中物理页地址是否与所述数据的逻辑页地址对应的物理页地址相同;当判断所述一级地址映射表的所述地址映射表项中物理页地址与所述数据的逻辑页地址对应的物理页地址不相同时,根据所述数据的逻辑页地址和对应物理页地址更新所述地址映射表项。3.根据权利要求2所述的闪存存储系统的地址映射方法,其特征在于:所述根据所述数据的逻辑页地址和对应物理页地址更新一级地址映射表的步骤还包括:当判断所述一级地址映射表中写满时,从所述一级地址映射表中提取出第一最久未使用的地址映射表项;将所述数据的逻辑页地址和对应物理页地址写入所述一级地址映射表中;根据所述第一最久未使用的地址映射表项更新所述二级地址映射表。4.根据权利要求3所述的闪存存储系统的地址映射方法,其特征在于:所述根据所述第一最久未使用的地址映射表项更新所述二级地址映射表的步骤包括:判断所述二级地址映射表中是否存在包含所述第一最久未使用的地址映射表项中的逻辑页地址的地址映射表项;当判断所述二级地址映射表中不存在包含所述第一最久未使用的地址映射表项中的逻辑页地址的地址映射表项时,判断所述二级地址映射表是否写满;当判断所述二级地址映射表未写满时,将所述第一最久未使用的地址映射表项写入所述二级地址映射表中;当判断所述二级地址映射表中存在包含所述第一最久未使用的地址映射表项中的逻辑页地址的地址映射表项时,判断所述二级地址映射表的所述地址映射表项中物理页地址是否与所述第一最久未使用的地址映射表项中的物理页地址相同;当判断所述二级地址映射表的所述地址映射表项中物理页地址与所述第一最久未使用的地址映射表项中的物理页地址不相同时,根据所述第一最久未使用的地址映射表项更新所述二级地址映射表的所述地址映射表项。5.根据权利要求4所述的闪存存储系统的地址映射方法,其特征在于:所述根据所述第一最久未使用的地址映射表项更新所述二级地址映射表的步骤还包括:当判断所述二级地址映射表中写满时,从所述二级地址映射表中提取出第二最久未使用的地址映射表项;将所述第一最久未使用的地址映射表项写入所述二级地址映射表中;根据所述第二最久未使用的地址映射表项更新所述闪存地址区。6.根据权利要求5所述的闪存存储系统的地址映射方法,其特征在于:所述根据所述第二最久未使用的地址映射表项更新所述闪存地址区的步骤包括:判断地址转换表中是否包含所述第二最久未使用的地址映射表项中的逻辑页地址;当判断所述地址转换表中未包含所述第二最久未使用的地址映射表项中的逻辑页地址时,将所述第二最久未使用的地址映射表项写入闪存地址区,并根据所述第二最久未使用的地址映射表项中的逻辑页地址和所述闪存地址区中用于写入第二最久未使用的地址映射表项的物理页地址更新所述地址转换表;当判断所述地址转换表中包含所述第二最久未使用的地址映射表项中的逻辑页地址时,从所述地址转换表中获取与所述第二最久未使用的地址映射表项中的逻辑页地址对应的第一物理页地址;根据所述第一物理页地址从所述闪存地址区中获取第一地址映射表项;从所述第一地址映射表项中读取与所述第二最久未使用的地址映射表项中的逻辑页地址对应的闪存数据区的第二物理页地址;判断所述第二最久未使用的地址映射表项中的物理页地址与所述第二物理页地址是否相同;当判断所述第二最久未使用的地址映射表项中的物理页地址与所述第二物理页地址不相同时,将所述第二最久未使用的地址映射表项更新至所述闪存地址区,并根据所述第二最久未使用的地址映射表项中的逻辑页地址和所述闪存地址区中用于写入所述第二最久未使用的地址映射表项的物理页地址更新所述地址转换表。7.根据权利要求1所述的闪存存储系统的地址映射方法,其特征在于:所述根据所述读请求中携带的数据的逻辑页地址依次在预设于缓存的一级地址映射表、预设于内存的二级地址映射表和闪存地址区中查找直至找到包含所述数据的逻辑页地址的地址映射表项,并从所述地址映射表项中获取所述数据的逻辑页地址对应的物理页地址的步骤,包括:根据所述读请求中携带的数据的逻辑页地址访问所述一级地址映射表;判断所述一级地址映射表中是否包含所述数据的逻辑页地址对应的地址映射表项;当判断所述一级地址映射表中包含所述数据的逻辑页地址对应的地址映射表项时,从所述一级地址映射表的所述地址映射表项中读取所述数据的逻辑页地址对应的物理页地址;当判断所述一级地址映射表中未包含所述数据的逻辑页地址对应的地址映射表项时,根据所述数据的逻辑页地址访问所述二级地址映射表;判断所述二级地址映射表中是否包含所述数据的逻辑页地址对应的地址映射表项;当判断所述二级地址映射表中包含所述数据的逻辑页地址对应的地址映射表项时,从所述二级地址映射表的所述地址映射表项中读取所述数据的逻辑页地址对应的物理页地址;当判断所述二级地址映射表中未包含所述数据的逻辑页地址对应的地址映射表项时,根据所述数据的逻辑页地址访问地址转换表,从所述地址转换表中读取所述数据的逻辑页地址对应的所述闪存地址区的物理页地址;根据所述闪存地址区的物理页地址从闪存地址区中获取所述数据的逻辑页地址对应的地址映射表项并从所述数据的逻辑页地址对应的地址映射表项中读取所述数据的逻辑页地址对应的物理页地址。8.一种闪存存储系统的地址映射装置,其特征在于,包括:第一判断模块,用于当收到来自文件系统的数据请求时,判断所述数据请求是写请求还是读请求;地址获取模块,用于当所述第一判断模块判断所述数据请求为读请求时,根据所述读请求中携带的数据的逻辑页地址...

【专利技术属性】
技术研发人员:席爱民
申请(专利权)人:深圳市先天海量信息技术有限公司
类型:发明
国别省市:广东;44

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

1