地址映射关系反馈方法、装置、设备及可读存储介质与流程

文档序号:16667135发布日期:2019-01-18 23:20阅读:166来源:国知局
地址映射关系反馈方法、装置、设备及可读存储介质与流程

本发明涉及存储技术领域,特别是涉及一种地址映射关系反馈方法、装置、设备及可读存储介质。



背景技术:

固态硬盘(solidstatedisks)中的nandflash存储器具有很多优于传统磁盘的特点,如低访问延迟、低能耗、噪声小、i/o性能高、寻址时间小、对温度和振动稳定性好等。由于固态硬盘的上述优点,且随着flash存储技术的不断进步使其每字节的价格不断降低,基于flash存储器的固态硬盘受到更广泛的关注。但是,flash存储器仍然存在固有缺陷阻碍其广泛应用,flash存储器的固有缺陷主要有价格仍然较高、读写速度不平衡、先擦后写特性、使用寿命受擦除次数限制。

为了减少上述固有缺陷对其性能的影响,flash存储器需要有效的管理方式支持。目前,大多通过ftl管理flash存储器的方式。即,基于nandflash的存储设备通常由三部分组成:接口控制器、闪存转换层(ftl)、nand闪存阵列。其中,flash存储器转换层实现对flash存储器的管理时,最基本和关键的是地址映射策略。地址映射是指从文件系统发出的虚拟逻辑地址到flash存储器中真实物理地址之间的映射关系。

地址映射关系可以对ftl甚至是整个flash可靠性产生至关重要的影响。具体的,由于nand闪存使用寿命受擦除次数限制,且极易出现损坏。一旦存储地址映射关系的区域出现错误,则会导致存储设备数据的丢失,无法进行回复等问题,进而导致存储设备的存储数据的可靠性较低。

综上所述,如何有效地解决保障数据的可靠性等问题,是目前本领域技术人员急需解决的技术问题。



技术实现要素:

本发明的目的是提供一种地址映射关系反馈方法、装置、设备及可读存储介质,通过在外置存储设备中备份地址映射关系表的方式,提高整个存储设备的数据存储的可靠性。

为解决上述技术问题,本发明提供如下技术方案:

一种地址映射关系反馈方法,包括:

接收目标进程发送的目标数据的地址查询请求;

从nand闪存内存储的地址映射关系表中,读取与所述地址查询请求对应的地址映射关系,并确定是否成功读取;

若读取失败,则从外置存储设备内存储的备份地址映射关系表中,读取所述地址映射关系;

将读取到的地址映射关系发送至所述目标进程;其中,所述地址映射关系为所述目标数据的逻辑地址和物理地址的对应关系。

优选地,所述从外置存储设备内存储的备份地址映射关系表中,读取所述地址映射关系,包括:

将所述地址查询请求发送至备份了所述地址映射关系表的外置存储设备;

接收所述外置存储设备返回的地址映射关系。

优选地,所述从nand闪存内存储的地址映射关系表中,读取与所述地址查询请求对应的地址映射关系,包括:

对nand闪存内存储的地址映射关系表进行轮询,直到找所述地址查询请求中的逻辑地址,并读取所述逻辑地址对应的物理地址,获得所述逻辑地址与所述物理地址的地址映射关系。

优选地,所述在从外置存储设备内存储的备份地址映射关系表中,读取所述地址映射关系之后,还包括:

将所述地址映射关系写所述地址映射关系表中。

优选地,还包括:

接收地址写入请求;

将所述地址写入请求对应的目标地址映射关系表写入至所述nand闪存和所述外置存储设备。

优选地,还包括:

接收地址备份写入请求;

将所述nand闪存中存储的目标地址映射关系表写入所述外置存储设备。

优选地,还包括:

对所述nand闪存中存储的所述目标地址映射关系表进行更新;

将更新后的地址映射关系表写入所述外置存储设备。

一种地址映射关系反馈装置,包括:

地址查询请求接收模块,用于接收目标进程发送的目标数据的地址查询请求;

第一读取模块,用于从nand闪存内存储的地址映射关系表中,读取与所述地址查询请求对应的地址映射关系,并确定是否成功读取;

第二读取模块,用于若读取失败,则从外置存储设备内存储的备份地址映射关系表中,读取所述地址映射关系;

地址映射关系发送模块,用于将读取到的地址映射关系发送至所述目标进程;其中,所述地址映射关系为所述目标数据的逻辑地址和物理地址的对应关系。

一种地址映射关系反馈设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述地址映射关系反馈方法的步骤。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述地址映射关系反馈方法的步骤。

应用本发明实施例所提供的方法,接收目标进程发送的目标数据的地址查询请求;从nand闪存内存储的地址映射关系表中,读取与地址查询请求对应的地址映射关系,并确定是否成功读取;若读取失败,则从外置存储设备内存储的备份地址映射关系表中,读取地址映射关系;将读取到的地址映射关系发送至目标进程;其中,所述地址映射关系为所述目标数据的逻辑地址和物理地址的对应关系。

接收目标进程发送的目标数据的地址查询请求之后,先从nand闪存内存储的地址映射关系表中,读取与地址查询请求对应的地址映射关系,并确定是否成功读取。其中,地址映射关系即为逻辑地址与物理地址的对应关系。由于nand闪存的使用寿命受擦除次数限制,且极易出现损坏,因此nand内存存储的地址映射关系表极易出现损坏,进而导致无法正常读取地址映射关系。当在nand闪存内读取失败时,可从外置的存储设备内存储的备份地址映射关系表中读取该地址映射关系。然后,将读取到的地址映射关系发送到目标进程,以便目标进行基于该地址映射关系完成相应的数据操作。即,即使是nand闪存中的地址映射关系表发生损坏,导致无法成功读取地址映射关系时,还可通过在外置的存储设备存储的备份地址映射关系表,读取到与地址查询请求对应的地址映射关系。如此,便可保障目标进程可获得用于对存储设备进行操作的地址映射关系,即存储设备内存储的数据依然可操作,数据不会丢失,可提升nandflash类型的存储设备中数据的可靠性。

相应地,本发明实施例还提供了与上述地址映射关系反馈方法相对应的地址映射关系反馈装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种地址映射关系反馈方法的实施流程图;

图2为本发明实施例中一种存储设备的结构示意图;

图3为本发明实施例中一种地址映射关系反馈装置的结构示意图;

图4为本发明实施例中一种地址映射关系反馈设备的结构示意图;

图5为本发明实施例中一种地址映射关系反馈设备的具体结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

请参考图1,图1为本发明实施例中一种地址映射关系反馈方法的流程图,该方法可应用于如图2所示的存储设备中,该存储设备包括接口控制器、闪存转换层(ftl)、nand闪存阵列和外置存储设备的nand闪存的存储设备中。其中关于主控模块和备份模块分别为地址映射关系表的主控逻辑和备份逻辑。本发明实施例所提供的地址映射关系反馈方法即包括了主控连接和备份逻辑。其中,外置存储设备通过接口控制其的高速接口与闪存转换层(ftl)、nand闪存阵列具备通信连接。

该方法包括以下步骤:

s101、接收目标进程发送的目标数据的地址查询请求。

由于在存储设备使用过程中,通常使用逻辑地址和物理地址两种地址来实现数据的读和写操作。其中,在有地址变换功能的计算机中,访内指令给出的地址(操作数)叫逻辑地址,也叫相对地址。要经过寻址方式的计算或变换才得到内存储器中的实际有效地址,即物理地址。上层应用或线程需对存储设备内存储的目标数据进行操作时,需确定该目标数据存储的物理地址之后,才能真正对目标数据进行操作。

其中,目标进程可具体对目标数据进行读/写的进程,目标进程发送的地址查询请求具体可以为查询已知逻辑地址的目标数据对应的物理地址。例如,查询请求为请求查询存储逻辑地址为a的目标数据的物理地址。

s102、从nand闪存内存储的地址映射关系表中,读取与地址查询请求对应的地址映射关系,并确定是否成功读取。

在本发明实施例中,可预先在nand闪存中设置好地址映射关系表,该地址映射关系中的地址映射关系可为直接导入存储的,也可为存储数据时,所生成的逻辑地址与物理地址的对应关系。

接收到地址查询请求之后,便可从nand闪存内存储的地址映射关系表中,读取与地址查询请求对应的地址映射关系。具体的,即在地址映射关系表中查询到地址查询请求对应的逻辑地址,然后再将与逻辑地址对应的物理地址读取出,如此,便可获得逻辑地址与物理地址的地址映射关系。具体的,对nand闪存内存储的地址映射关系表进行轮询,直到找地址查询请求中的逻辑地址,并读取逻辑地址对应的物理地址,获得逻辑地址与物理地址的地址映射关系。即分别读取地址映射关系表中的逻辑地址,依次判断读取到的逻辑地址与地址查询请求对应的逻辑地址是否相同,如果相同,则将逻辑地址具有映射关系的物理地址读取出,即获得逻辑地址与地理地址的地址映射关系。

由于nand闪存极易发生损坏,因而在地址映射关系表中,常常会出现读取失败的情况,因而在读取地址映射关系时,还可通过校验等方式确定读取到的地址映射关系是否正确,即确定读取是否成功。

若读取成功,则可执行步骤s104的操作;若读取失败,如在读取地址映射关系时,校验未能通过,或未找到相应地的逻辑地址,则可执行步骤s103的操作。

s103、从外置存储设备内存储的备份地址映射关系表中,读取地址映射关系。

在本发明实施例中,需为nandflash的存储设备,增加外置存储设备,该外置存储设备与nandflash的存储设备内置的如pcie、usb或其他高速接口进行通信。

在nand闪存中未能读取到地址映射关系时,则可通过高速接口,从外置存储设备内存储的备份地址映射关系表中读取地址映射关系。在外置存储设备中读取地址映射关系的方式可参照在nand闪存中的读取方式。即通过查找与地址查询请求对应的逻辑地址,进而读取与该逻辑地址具有映射关系的物理地址。

其中,还可在外置存储设备中设置外置控制逻辑,如此,便可将地址查询请求发送至备份了地址映射关系表的外置存储设备;然后,接收外置存储设备返回的地址映射关系。即,当外置存储设备接收到该地址查询请求时,采样与在nand闪存中的读取地址映射关系的相同的方式,读取地址映射关系,读取到地址映射关系之后,将其返还至nand闪存的存储设备。

优选地,为加快地址映射关系的反馈速度,当确定地址映射关系无法从nand闪存中成功读取,且从外置存储设备中成功读取到地址映射关系之后,可将该地址映射关系重新存入nand闪存中,以便在下一次需反馈该地址映射关系时,能够从nand闪存中成功读取。即,在从外置存储设备内存储的备份地址映射关系表中,读取地址映射关系之后,还可将地址映射关系写地址映射关系表中。具体的,可根据磨损均衡机制重新申请一块物理地址,将该地址映射关系写入地址映射关系表中。其中,磨损均衡机制包括最少使用原则和冷热均匀原则等常用的均衡原则。

读取到地址映射关系之后,可执行步骤s104的操作。

s104、将读取到的地址映射关系发送至目标进程。

其中,所述地址映射关系为所述目标数据的逻辑地址和物理地址的对应关系。

读取到地址映射关系之后,将地址映射关系发送给目标进程,以便目标进程基于地址映射关系,对存储设备中的数据进行操作。

应用本发明实施例所提供的方法,接收目标进程发送的目标数据的地址查询请求;从nand闪存内存储的地址映射关系表中,读取与地址查询请求对应的地址映射关系,并确定是否成功读取;若读取失败,则从外置存储设备内存储的备份地址映射关系表中,读取地址映射关系;将读取到的地址映射关系发送至目标进程;其中,所述地址映射关系为所述目标数据的逻辑地址和物理地址的对应关系。

接收目标进程发送的目标数据的地址查询请求之后,先从nand闪存内存储的地址映射关系表中,读取与地址查询请求对应的地址映射关系,并确定是否成功读取。其中,地址映射关系即为逻辑地址与物理地址的对应关系。由于nand闪存的使用寿命受擦除次数限制,且极易出现损坏,因此nand内存存储的地址映射关系表极易出现损坏,进而导致无法正常读取地址映射关系。当在nand闪存内读取失败时,可从外置的存储设备内存储的备份地址映射关系表中读取该地址映射关系。然后,将读取到的地址映射关系发送到目标进程,以便目标进行基于该地址映射关系完成相应的数据操作。即,即使是nand闪存中的地址映射关系表发生损坏,导致无法成功读取地址映射关系时,还可通过在外置的存储设备存储的备份地址映射关系表,读取到与地址查询请求对应的地址映射关系。如此,便可保障目标进程可获得用于对存储设备进行操作的地址映射关系,即存储设备内存储的数据依然可操作,数据不会丢失,可提升nandflash类型的存储设备中数据的可靠性。

实施例二:

为便于本领域技术人员更好的理解本发明实施例所提供的技术方案,下面以写入和更新地址映射关系表对本发明实施例所提供的技术方案进行详细说明。

基于上述实施例一所提供的技术方案,还可包括以下同步和异步两种地址映射关系表写入方式:

其中,执行以下步骤,同步写入地址映射关系表:

步骤一、接收地址写入请求;

步骤二、将地址写入请求对应的目标地址映射关系表写入至nand闪存和外置存储设备。

为便于描述,下面将上述两个步骤结合起来进行说明。

接收地址写入请求,然后将地址写入请求对应的目标地址映射关系表同时写入nand闪存和外置存储设备。如此,在nand闪存和外置存储设备中便都具有目标地址映射关系表。具体的,即向nandflash存储阵列进行写地址映射关系表时,同时通过pcie高速接口向外置存储设备发起写请求进行备份,外置存储设备接收到该请求时,可将地址映射关系表存储在外置存储设备中,外置存储设备还可根据收到的物理地址和逻辑地址建立二者的映射关系,方便进行索引。

其中,执行以下步骤,异步写入地址映射关系表:

步骤一、接收地址备份写入请求;

步骤二、将nand闪存中存储的目标地址映射关系表写入外置存储设备。

为便于描述,下面将上述两个步骤结合起来进行说明。

当接收到断电请求或备份操作命令时,即可视为接收到了地址备份写入请求,此时可将nand闪存中存储的目标地址映射关系表写入外置存储设备中。具体的,在向nandflash存储阵列进行写地址映射关系表时,此时不需要在外置存储设备中写入地址映射关系表。若收到断电请求或者备份操作命令时,首先将自身存储的地址映射关系表写入nandflash存储阵列中。待地址映射关系表写入nandflash存储阵列后,便向外置存储设备发起备份操作。即,通过pcie高速接口向外置存储设备发起写请求进行备份。外置存储设备收到写地址映射关系表时,将地址映射关系表存储在外置存储设备中,并根据收到的物理地址和逻辑地址建立二者的映射关系,方便进行索引。待全部备份完成后,输出备份完成标志。

优选地,考虑到对存储设备中的数据进行应用或操作时,常常会涉及到删除、修改和新增等会修改地址映射关系的操作,因此为保障数据的可靠性,还可以对nand闪存中存储的目标地址映射关系表进行更新;并将更新后的地址映射关系表写入外置存储设备。将更新后的地址映射关系表写入外置存储设备的方式可通过上述同步或异步实现。

实施例三:

相应于上面的方法实施例,本发明实施例还提供了一种地址映射关系反馈装置,下文描述的地址映射关系反馈装置与上文描述的地址映射关系反馈方法可相互对应参照。

参见图3所示,该装置包括以下模块:

地址查询请求接收模块101,用于接收目标进程发送的目标数据的地址查询请求;

第一读取模块102,用于从nand闪存内存储的地址映射关系表中,读取与地址查询请求对应的地址映射关系,并确定是否成功读取;

第二读取模块103,用于若读取失败,则从外置存储设备内存储的备份地址映射关系表中,读取地址映射关系;

地址映射关系发送模块104,用于将读取到的地址映射关系发送至目标进程;其中,所述地址映射关系为所述目标数据的逻辑地址和物理地址的对应关系。

应用本发明实施例所提供的装置,接收目标进程发送的目标数据的地址查询请求;从nand闪存内存储的地址映射关系表中,读取与地址查询请求对应的地址映射关系,并确定是否成功读取;若读取失败,则从外置存储设备内存储的备份地址映射关系表中,读取地址映射关系;将读取到的地址映射关系发送至目标进程;其中,所述地址映射关系为所述目标数据的逻辑地址和物理地址的对应关系。

接收目标进程发送的目标数据的地址查询请求之后,先从nand闪存内存储的地址映射关系表中,读取与地址查询请求对应的地址映射关系,并确定是否成功读取。其中,地址映射关系即为逻辑地址与物理地址的对应关系。由于nand闪存的使用寿命受擦除次数限制,且极易出现损坏,因此nand内存存储的地址映射关系表极易出现损坏,进而导致无法正常读取地址映射关系。当在nand闪存内读取失败时,可从外置的存储设备内存储的备份地址映射关系表中读取该地址映射关系。然后,将读取到的地址映射关系发送到目标进程,以便目标进行基于该地址映射关系完成相应的数据操作。即,即使是nand闪存中的地址映射关系表发生损坏,导致无法成功读取地址映射关系时,还可通过在外置的存储设备存储的备份地址映射关系表,读取到与地址查询请求对应的地址映射关系。如此,便可保障目标进程可获得用于对存储设备进行操作的地址映射关系,即存储设备内存储的数据依然可操作,数据不会丢失,可提升nandflash类型的存储设备中数据的可靠性。

在本发明的一种具体实施方式中,第二读取模块103,具体用于将地址查询请求发送至备份了地址映射关系表的外置存储设备;接收外置存储设备返回的地址映射关系。

在本发明的一种具体实施方式中,第一读取模块102,具体用于对nand闪存内存储的地址映射关系表进行轮询,直到找地址查询请求中的逻辑地址,并读取逻辑地址对应的物理地址,获得逻辑地址与物理地址的地址映射关系。

在本发明的一种具体实施方式中,还包括:

地址映射关系修正模块,用于在从外置存储设备内存储的备份地址映射关系表中,读取地址映射关系之后,将地址映射关系写地址映射关系表中。

在本发明的一种具体实施方式中,还包括:

地址映射关系表同步写入模块,用于接收地址写入请求;将地址写入请求对应的目标地址映射关系表写入至nand闪存和外置存储设备。

在本发明的一种具体实施方式中,还包括:

地址映射关系表同步写入模块,用于接收地址备份写入请求;将nand闪存中存储的目标地址映射关系表写入外置存储设备。

在本发明的一种具体实施方式中,还包括:

地址映射关系表更新模块,用于对nand闪存中存储的目标地址映射关系表进行更新;将更新后的地址映射关系表写入外置存储设备。

实施例四:

相应于上面的方法实施例,本发明实施例还提供了一种地址映射关系反馈设备,下文描述的一种地址映射关系反馈设备与上文描述的一种地址映射关系反馈方法可相互对应参照。

参见图4所示,该地址映射关系反馈设备包括:

存储器d1,用于存储计算机程序;

处理器d2,用于执行计算机程序时实现上述方法实施例的地址映射关系反馈方法的步骤。

具体的,请参考图5,图5为本实施例提供的一种地址映射关系反馈设备的具体结构示意图,该地址映射关系反馈设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在地址映射关系反馈设备301上执行存储介质330中的一系列指令操作。

地址映射关系反馈设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等。

上文所描述的地址映射关系反馈方法中的步骤可以由地址映射关系反馈设备的结构实现。

实施例五:

相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种地址映射关系反馈方法可相互对应参照。

一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的地址映射关系反馈方法的步骤。

该可读存储介质具体可以为u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可存储程序代码的可读存储介质。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1