【技术实现步骤摘要】
本专利技术属于数据存储
,尤其涉及一种闪存存储系统的地址映射方法及装置。
技术介绍
随着半导体技术和计算机体系结构的发展,闪存存储系统作为一种非易失性存储系统,以其存储容量大、体积小、功耗低、成本低、掉电数据不丢失等特点逐渐取代传统电磁存储设备而被广泛应用于嵌入式系统中。嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。其中,存储系统是嵌入式系统的重要组成部分。目前,闪存存储系统主要包括NAND和NOR两种类型,由于NAND闪存存储密度更高、写入速度更快,因而基于NAND闪存的闪存存储系统应用更为广泛。然而,由于闪存具有异地更新、块擦写次数有限等问题,为使闪存像传统块存储设备一样工作,在闪存存储系统中,通常利用闪存转换层将闪存模拟成传统的块存储设备,在收到来自文件系统的数据读写请求时,通过闪存转换层将数据的逻辑页地址映射为物理页地址,以实现数据在闪存存储系统中的读写操作。因此,如何有效地执行地址映射并管理地址映射信息,成为一个关键问题。在早期闪存存储系统中,所有的地址映射信息都是以地址映射表的形式保存于内存中,内存通常采用随机存取器(RandomAccessMemory,以下简称RAM)。随着闪存存储系统存储容量的大幅增加,存储地址映射表所需要的RAM容量已经远远超过现有RAM实际可以提供的存储容量。由于嵌入式系统中只有有限的RAM资源,因此只能把一小部分地址映射表项存储在RAM中,其余大部分地址映射表项则存储于闪存的地址区中。在现有闪存存储系统中,频繁的读写操作会 ...
【技术保护点】
一种闪存存储系统的地址映射方法,其特征在于,包括:当收到来自文件系统的数据请求时,判断所述数据请求是写请求还是读请求;当判断所述数据请求为读请求时,根据所述读请求中携带的数据的逻辑页地址依次在预设于缓存的一级地址映射表、预设于内存的二级地址映射表和闪存地址区中查找直至找到包含所述数据的逻辑页地址的地址映射表项,并从所述地址映射表项中获取所述数据的逻辑页地址对应的物理页地址;从所述物理页地址处读取数据;根据所述数据的逻辑页地址和对应物理页地址更新所述一级地址映射表;当判断所述数据请求为写请求时,根据所述写请求中携带的数据的逻辑页地址将数据写入所述数据的逻辑页地址对应的物理页地址中;执行所述根据所述数据的逻辑页地址和对应物理页地址更新所述一级地址映射表的步骤。
【技术特征摘要】
1.一种闪存存储系统的地址映射方法,其特征在于,包括:当收到来自文件系统的数据请求时,判断所述数据请求是写请求还是读请求;当判断所述数据请求为读请求时,根据所述读请求中携带的数据的逻辑页地址依次在预设于缓存的一级地址映射表、预设于内存的二级地址映射表和闪存地址区中查找直至找到包含所述数据的逻辑页地址的地址映射表项,并从所述地址映射表项中获取所述数据的逻辑页地址对应的物理页地址;从所述物理页地址处读取数据;根据所述数据的逻辑页地址和对应物理页地址更新所述一级地址映射表;当判断所述数据请求为写请求时,根据所述写请求中携带的数据的逻辑页地址将数据写入所述数据的逻辑页地址对应的物理页地址中;执行所述根据所述数据的逻辑页地址和对应物理页地址更新所述一级地址映射表的步骤。2.根据权利要求1所述的闪存存储系统的地址映射方法,其特征在于:所述根据所述数据的逻辑页地址和对应物理页地址更新一级地址映射表的步骤包括:判断所述一级地址映射表中是否存在包含所述数据的逻辑页地址的地址映射表项;当判断所述一级地址映射表中不存在包含所述数据的逻辑页地址的地址映射表项时,判断所述一级地址映射表是否写满;当判断所述一级地址映射表未写满时,将所述数据的逻辑页地址和对应物理页地址写入所述一级地址映射表中;当判断所述一级地址映射表中存在包含所述数据的逻辑页地址的地址映射表项时,判断所述一级地址映射表的所述地址映射表项中物理页地址是否与所述数据的逻辑页地址对应的物理页地址相同;当判断所述一级地址映射表的所述地址映射表项中物理页地址与所述数据的逻辑页地址对应的物理页地址不相同时,根据所述数据的逻辑页地址和对应物理页地址更新所述地址映射表项。3.根据权利要求2所述的闪存存储系统的地址映射方法,其特征在于:所述根据所述数据的逻辑页地址和对应物理页地址更新一级地址映射表的步骤还包括:当判断所述一级地址映射表中写满时,从所述一级地址映射表中提取出第一最久未使用的地址映射表项;将所述数据的逻辑页地址和对应物理页地址写入所述一级地址映射表中;根据所述第一最久未使用的地址映射表项更新所述二级地址映射表。4.根据权利要求3所述的闪存存储系统的地址映射方法,其特征在于:所述根据所述第一最久未使用的地址映射表项更新所述二级地址映射表的步骤包括:判断所述二级地址映射表中是否存在包含所述第一最久未使用的地址映射表项中的逻辑页地址的地址映射表项;当判断所述二级地址映射表中不存在包含所述第一最久未使用的地址映射表项中的逻辑页地址的地址映射表项时,判断所述二级地址映射表是否写满;当判断所述二级地址映射表未写满时,将所述第一最久未使用的地址映射表项写入所述二级地址映射表中;当判断所述二级地址映射表中存在包含所述第一最久未使用的地址映射表项中的逻辑页地址的地址映射表项时,判断所述二级地址映射表的所述地址映射表项中物理页地址是否与所述第一最久未使用的地址映射表项中的物理页地址相同;当判断所述二级地址映射表的所述地址映射表项中物理页地址与所述第一最久未使用的地址映射表项中的物理页地址不相同时,根据所述第一最久未使用的地址映射表项更新所述二级地址映射表的所述地址映射表项。5.根据权利要求4所述的闪存存储系统的地址映射方法,其特征在于:所述根据所述第一最久未使用的地址映射表项更新所述二级地址映射表的步骤还包括:当判断所述二级地址映射表中写满时,从所述二级地址映射表中提取出第二最久未使用的地址映射表项;将所述第一最久未使用的地址映射表项写入所述二级地址映射表中;根据所述第二最久未使用的地址映射表项更新所述闪存地址区。6.根据权利要求5所述的闪存存储系统的地址映射方法,其特征在于:所述根据所述第二最久未使用的地址映射表项更新所述闪存地址区的步骤包括:判断地址转换表中是否包含所述第二最久未使用的地址映射表项中的逻辑页地址;当判断所述地址转换表中未包含所述第二最久未使用的地址映射表项中的逻辑页地址时,将所述第二最久未使用的地址映射表项写入闪存地址区,并根据所述第二最久未使用的地址映射表项中的逻辑页地址和所述闪存地址区中用于写入第二最久未使用的地址映射表项的物理页地址更新所述地址转换表;当判断所述地址转换表中包含所述第二最久未使用的地址映射表项中的逻辑页地址时,从所述地址转换表中获取与所述第二最久未使用的地址映射表项中的逻辑页地址对应的第一物理页地址;根据所述第一物理页地址从所述闪存地址区中获取第一地址映射表项;从所述第一地址映射表项中读取与所述第二最久未使用的地址映射表项中的逻辑页地址对应的闪存数据区的第二物理页地址;判断所述第二最久未使用的地址映射表项中的物理页地址与所述第二物理页地址是否相同;当判断所述第二最久未使用的地址映射表项中的物理页地址与所述第二物理页地址不相同时,将所述第二最久未使用的地址映射表项更新至所述闪存地址区,并根据所述第二最久未使用的地址映射表项中的逻辑页地址和所述闪存地址区中用于写入所述第二最久未使用的地址映射表项的物理页地址更新所述地址转换表。7.根据权利要求1所述的闪存存储系统的地址映射方法,其特征在于:所述根据所述读请求中携带的数据的逻辑页地址依次在预设于缓存的一级地址映射表、预设于内存的二级地址映射表和闪存地址区中查找直至找到包含所述数据的逻辑页地址的地址映射表项,并从所述地址映射表项中获取所述数据的逻辑页地址对应的物理页地址的步骤,包括:根据所述读请求中携带的数据的逻辑页地址访问所述一级地址映射表;判断所述一级地址映射表中是否包含所述数据的逻辑页地址对应的地址映射表项;当判断所述一级地址映射表中包含所述数据的逻辑页地址对应的地址映射表项时,从所述一级地址映射表的所述地址映射表项中读取所述数据的逻辑页地址对应的物理页地址;当判断所述一级地址映射表中未包含所述数据的逻辑页地址对应的地址映射表项时,根据所述数据的逻辑页地址访问所述二级地址映射表;判断所述二级地址映射表中是否包含所述数据的逻辑页地址对应的地址映射表项;当判断所述二级地址映射表中包含所述数据的逻辑页地址对应的地址映射表项时,从所述二级地址映射表的所述地址映射表项中读取所述数据的逻辑页地址对应的物理页地址;当判断所述二级地址映射表中未包含所述数据的逻辑页地址对应的地址映射表项时,根据所述数据的逻辑页地址访问地址转换表,从所述地址转换表中读取所述数据的逻辑页地址对应的所述闪存地址区的物理页地址;根据所述闪存地址区的物理页地址从闪存地址区中获取所述数据的逻辑页地址对应的地址映射表项并从所述数据的逻辑页地址对应的地址映射表项中读取所述数据的逻辑页地址对应的物理页地址。8.一种闪存存储系统的地址映射装置,其特征在于,包括:第一判断模块,用于当收到来自文件系统的数据请求时,判断所述数据请求是写请求还是读请求;地址获取模块,用于当所述第一判断模块判断所述数据请求为读请求时,根据所述读请求中携带的数据的逻辑页地址...
【专利技术属性】
技术研发人员:席爱民,
申请(专利权)人:深圳市先天海量信息技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。