基于固态硬盘的映射表重建方法、装置和计算机设备制造方法及图纸

技术编号:23148979 阅读:28 留言:0更新日期:2020-01-18 13:26
本申请涉及一种基于固态硬盘的映射表重建方法、装置、计算机设备和存储介质,其中该方法包括:获取基于固态硬盘的映射表重建请求;根据所述基于固态硬盘的映射表重建请求从对应物理块的最后一个物理页开始进行扫描;从当前物理页的data区域中读取对应的逻辑地址以及N个逻辑地址偏移量,其中,所述N为大于1的正整数;根据所述当前物理页对应的逻辑地址以及N个逻辑地址偏移量依次得到N个邻近页对应的逻辑地址;根据所述当前物理页对应的逻辑地址以及N个邻近页对应的逻辑地址重建逻辑地址到物理地址的映射关系。本发明专利技术实现了当SSD内部映射表丢失时,可以减少全盘扫描的次数,达到快速重建映射表的目的。

Mapping table reconstruction method, device and computer equipment based on SSD

【技术实现步骤摘要】
基于固态硬盘的映射表重建方法、装置和计算机设备
本专利技术涉及固态硬盘
,特别是涉及一种基于固态硬盘的映射表重建方法、装置、计算机设备和存储介质。
技术介绍
目前,在SSD(固态硬盘)内部,逻辑地址空间到物理地址空间的映射,形成映射表。映射表的每一个映射关系都记录了用户数据的逻辑地址到物理地址的映射。若因为一些异常原因,映射表遭到破坏或者丢失,用户数据的逻辑地址到物理地址的映射关系找不到了,也就无法找到相应的用户数据了。因此,需要一种方法在映射表丢失的情况下也可以找到用户数据。在传统技术中,为了在映射表丢失的情况下也可以找到用户数据,在写用户数据时,会把用户数据的逻辑地址记录在物理页的spare(备用)区域。若映射表丢失,则通过扫描读取物理页的spare区域,获取逻辑地址信息,重新建立了逻辑地址与物理地址的映射关系,待扫描完整的SSD,则建立起完整的映射表。由此可见,按照传统的方法,需要扫描整个SSD读取每一个物理块的每一物理页数据,假设一个SSD有200个物理块,每个物理块有80个物理页,每一个物理页的spare区只存储一个逻辑地址,全盘扫描总共需要读取200*80=16000次,读取的次数越多花费的时间越多,导致重新建立映射表的过程需要耗费大量的时间。
技术实现思路
基于此,有必要针对上述技术问题,提供一种可以实现快速重建映射表的基于固态硬盘的映射表重建方法、装置、计算机设备和存储介质。一种基于固态硬盘的映射表重建方法,所述方法包括:获取基于固态硬盘的映射表重建请求;根据所述基于固态硬盘的映射表重建请求从对应物理块的最后一个物理页开始进行扫描;从当前物理页的data区域中读取对应的逻辑地址以及N个逻辑地址偏移量,其中,所述N为大于1的正整数;根据所述当前物理页对应的逻辑地址以及N个逻辑地址偏移量依次得到N个邻近页对应的逻辑地址;根据所述当前物理页对应的逻辑地址以及N个邻近页对应的逻辑地址重建逻辑地址到物理地址的映射关系。在其中一个实施例中,在所述根据所述当前物理页对应的逻辑地址以及N个邻近页对应的逻辑地址重建逻辑地址到物理地址的映射关系的步骤之后还包括:从所述当前物理页向后移动N+1页作为下一次进行扫描的物理页。在其中一个实施例中,在所述获取基于固态硬盘的映射表重建请求的步骤之前还包括:获取用户数据的写入请求;当所述用户数据写入到一物理块的物理页时,将对应的逻辑地址写入到当前物理页的data区域,同时依次将邻近所述当前物理页的后N个物理页存储的用户数据的逻辑地址相对当前逻辑地址的逻辑地址偏移量按照物理页的前后顺序一并写入所述当前物理页的data区域。在其中一个实施例中,所述根据所述当前物理页对应的逻辑地址以及N个逻辑地址偏移量依次得到N个邻近页对应的逻辑地址的步骤还包括:分别计算所述当前物理页对应的逻辑地址与N个逻辑地址偏移量之和,依次得到N个邻近页对应的逻辑地址。一种基于固态硬盘的映射表重建装置,所述装置包括:第一获取模块,所述第一获取模块用于获取基于固态硬盘的映射表重建请求;扫描模块,所述扫描模块用于根据所述基于固态硬盘的映射表重建请求从对应物理块的最后一个物理页开始进行扫描;地址读取模块,所述地址读取模块用于从当前物理页的data区域中读取对应的逻辑地址以及N个逻辑地址偏移量,其中,所述N为大于1的正整数;地址计算模块,所述地址计算模块用于根据所述当前物理页对应的逻辑地址以及N个逻辑地址偏移量依次得到N个邻近页对应的逻辑地址;映射重建模块,所述映射重建模块用于根据所述当前物理页对应的逻辑地址以及N个邻近页对应的逻辑地址重建逻辑地址到物理地址的映射关系。在其中一个实施例中,所述装置还包括:跳转模块,所述跳转模块用于从所述当前物理页向后移动N+1页作为下一次进行扫描的物理页。在其中一个实施例中,所述装置还包括:第二获取模块,所述第二获取模块用于获取用户数据的写入请求;写入模块,所述写入模块用于当所述用户数据写入到一物理块的物理页时,将对应的逻辑地址写入到当前物理页的data区域,同时依次将邻近所述当前物理页的后N个物理页存储的用户数据的逻辑地址相对当前逻辑地址的逻辑地址偏移量按照物理页的前后顺序一并写入所述当前物理页的data区域。在其中一个实施例中,所述地址计算模块还用于:分别计算所述当前物理页对应的逻辑地址与N个逻辑地址偏移量之和,依次得到N个邻近页对应的逻辑地址。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。上述基于固态硬盘的映射表重建方法、装置、计算机设备和存储介质,通过获取基于固态硬盘的映射表重建请求;根据所述基于固态硬盘的映射表重建请求从对应物理块的最后一个物理页开始进行扫描;从当前物理页的data区域中读取对应的逻辑地址以及N个逻辑地址偏移量,其中,所述N为大于1的正整数;根据所述当前物理页对应的逻辑地址以及N个逻辑地址偏移量依次得到N个邻近页对应的逻辑地址;根据所述当前物理页对应的逻辑地址以及N个邻近页对应的逻辑地址重建逻辑地址到物理地址的映射关系。本专利技术通过利用NANDFLASH物理块中物理页的data区域存储它本身逻辑地址以及邻近几个物理页相对此逻辑地址的偏移量的方法,实现了当SSD内部的映射表丢失时,可以减少全盘扫描的次数,达到快速重建映射表的目的。附图说明图1为一个实施例中基于固态硬盘的映射表重建方法的流程示意图;图2为一个实施例中物理页data区存储逻辑地址的示意图;图3为一个实施例中对物理块进行扫描并重建映射表的示意图;图4为另一个实施例中基于固态硬盘的映射表重建方法的流程示意图;图5为再一个实施例中基于固态硬盘的映射表重建方法的流程示意图;图6为一个实施例中基于固态硬盘的映射表重建装置的结构框图;图7为另一个实施例中基于固态硬盘的映射表重建装置的结构框图;图8为再一个实施例中基于固态硬盘的映射表重建装置的结构框图;图9为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。NANDFLASH是由许多block(物理块)组成,每一个block都有许多物理页组成。每个物理页都有两个存储区域,data(数据)区域和spare(备用)区域,由SSD固件决定这两个区域存储的数据。一般情况下,SSD固件会把用户数据存储在data区;而该用户数据对应的逻辑地址存储在物理页的spare区域。由于物理页本文档来自技高网...

【技术保护点】
1.一种基于固态硬盘的映射表重建方法,其特征在于,所述方法包括:/n获取基于固态硬盘的映射表重建请求;/n根据所述基于固态硬盘的映射表重建请求从对应物理块的最后一个物理页开始进行扫描;/n从当前物理页的data区域中读取对应的逻辑地址以及N个逻辑地址偏移量,其中,所述N为大于1的正整数;/n根据所述当前物理页对应的逻辑地址以及N个逻辑地址偏移量依次得到N个邻近页对应的逻辑地址;/n根据所述当前物理页对应的逻辑地址以及N个邻近页对应的逻辑地址重建逻辑地址到物理地址的映射关系。/n

【技术特征摘要】
1.一种基于固态硬盘的映射表重建方法,其特征在于,所述方法包括:
获取基于固态硬盘的映射表重建请求;
根据所述基于固态硬盘的映射表重建请求从对应物理块的最后一个物理页开始进行扫描;
从当前物理页的data区域中读取对应的逻辑地址以及N个逻辑地址偏移量,其中,所述N为大于1的正整数;
根据所述当前物理页对应的逻辑地址以及N个逻辑地址偏移量依次得到N个邻近页对应的逻辑地址;
根据所述当前物理页对应的逻辑地址以及N个邻近页对应的逻辑地址重建逻辑地址到物理地址的映射关系。


2.根据权利要求1所述的基于固态硬盘的映射表重建方法,其特征在于,在所述根据所述当前物理页对应的逻辑地址以及N个邻近页对应的逻辑地址重建逻辑地址到物理地址的映射关系的步骤之后还包括:
从所述当前物理页向后移动N+1页作为下一次进行扫描的物理页。


3.根据权利要求1所述的基于固态硬盘的映射表重建方法,其特征在于,在所述获取基于固态硬盘的映射表重建请求的步骤之前还包括:
获取用户数据的写入请求;
当所述用户数据写入到一物理块的物理页时,将对应的逻辑地址写入到当前物理页的data区域,同时依次将邻近所述当前物理页的后N个物理页存储的用户数据的逻辑地址相对当前逻辑地址的逻辑地址偏移量按照物理页的前后顺序一并写入所述当前物理页的data区域。


4.根据权利要求1-3任一项所述的基于固态硬盘的映射表重建方法,其特征在于,所述根据所述当前物理页对应的逻辑地址以及N个逻辑地址偏移量依次得到N个邻近页对应的逻辑地址的步骤还包括:
分别计算所述当前物理页对应的逻辑地址与N个逻辑地址偏移量之和,依次得到N个邻近页对应的逻辑地址。


5.一种基于固态硬盘的映射表重建装置,其特征在于,所述装置包括:
第一获取模块,所述第一获取模块用于获取基于固态硬盘的映射表重建请求;
扫描模块,所述扫描模块用于根据...

【专利技术属性】
技术研发人员:杨学森李建秦龙华甘金涛王伟良贾宗铭
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东;44

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

1