一种映射表管理方法、装置和计算机可读存储介质制造方法及图纸

技术编号:20545726 阅读:22 留言:0更新日期:2019-03-09 18:40
本发明专利技术实施例公开了一种映射表管理方法、装置和计算机可读存储介质,根据LBA对应的PBA个数,为每个LBA分配对应的存储空间;以所有LBA中的任意一个LBA即目标LBA为例,当目标LBA接收到数据信息时,则判断目标LBA对应的目标存储空间是否可用。若是,则将数据信息所指向的目标PBA存储至该目标存储空间,并将目标PBA标记为有效。若否,则依据目标存储空间中存储的无效PBA,向block管理器发送携带有所述无效PBA的无效请求。一个LBA对应多个PBA,当该LBA对应的存储空间被用完时,则统一发送携带有无效PBA的无效请求,减少了发送无效请求的数量,降低了SSD的io时延,提升了io性能。

A Mapping Table Management Method, Device and Computer Readable Storage Media

The embodiment of the present invention discloses a mapping table management method, device and computer readable storage medium, which allocates corresponding storage space for each LBA according to the number of PBAs corresponding to the LBA. Taking any LBA of all LBA, i.e. the target LBA, as an example, when the target LBA receives data information, it determines whether the target storage space corresponding to the target LBA is available. If so, the target PBA to which the data information refers is stored in the target storage space, and the target PBA is marked as valid. If not, an invalid request carrying the invalid PBA is sent to the block manager based on the invalid PBA stored in the target storage space. A LBA corresponds to multiple PBAs. When the corresponding storage space of the LBA is exhausted, invalid requests with invalid PBA are sent uniformly, which reduces the number of invalid requests sent, reduces the IO delay of SSD and improves the IO performance.

【技术实现步骤摘要】
一种映射表管理方法、装置和计算机可读存储介质
本专利技术涉及存储设备
,特别是涉及一种映射表管理方法、装置和计算机可读存储介质。
技术介绍
固态硬盘(SolidStateDrives,SSD)作为一种存储设备,其最重要的特点是读写速度快,从固件的层次来讲,就是io的时延比较低,latency比较少。SSD在读写数据过程中使用逻辑区块地址(LogicalBlockAddress,LBA)和物理区块地址(PhysicsBlockAddress,PBA)的映射关系表即L2P表存储用户数据和falsh中物理地址的映射关系。SSD第一次使用时,L2P表为空,随着不断的写入数据,L2P表被建立起来,每一个表项都是LBA和PBA的映射。现有技术中,一个LBA对应一个PBA,当通过此LBA向新的PBA的存储单元写入数据时,此时需要将L2P表中与该LBA对应的PBA修改成新的PBA,同时向block管理器通知对原来的PBA做无效处理。在用户IO过程中,固件需要及时更新L2P表,同时每次更新需要发送无效(obsolete)请求给block管理器。block管理器频繁的执行无效请求会花费较多的时间,增加了SSD的io时延,从而导致SSD的io性能降低。可见,如何降低SSD的io时延,以提升SSD的io性能,是本领域技术人员亟待解决的问题。
技术实现思路
本专利技术实施例的目的是提供一种映射表管理方法、装置和计算机可读存储介质,可以降低SSD的io时延,以提升SSD的io性能。为解决上述技术问题,本专利技术实施例提供一种映射表管理方法,包括:根据LBA对应的PBA个数,为每个LBA分配对应的存储空间;其中,每个LBA对应有多个PBA;当目标LBA接收到数据信息时,则判断所述目标LBA对应的目标存储空间是否可用;其中,所述目标LBA为所有所述LBA中的任意一个LBA;若是,则将所述数据信息所指向的目标PBA存储至所述目标存储空间,并将所述目标PBA标记为有效;若否,则依据所述目标存储空间中存储的无效PBA,向block管理器发送携带有所述无效PBA的无效请求。可选的,还包括:检测所述目标存储空间中无效PBA的存储时间是否超过预设时间;当存在存储时间超过预设时间的目标无效PBA时,则向block管理器发送携带有所述目标无效PBA的无效请求。可选的,所述检测所述目标存储空间中无效PBA的存储时间是否超过预设时间包括:按照设定的周期时间,定时检测所述目标存储空间中无效PBA的存储时间是否超过预设时间。可选的,所述检测所述目标存储空间中无效PBA的存储时间是否超过预设时间包括:当所述目标LBA对应的目标存储空间可用时,则判断所述目标存储空间中无效PBA的存储时间是否超过预设时间。可选的,还包括:当目标LBA接收到数据读请求时,则查找所述目标存储空间中标记为有效的目标PBA,并依据所述目标PBA读取相应的数据信息。可选的,在所述向block管理器发送携带有所述无效PBA的无效请求之后还包括:检测固件的io时延是否小于或等于预设值;若否,则依据所述io时延与所述预设值的偏差值,调整每个LBA所对应的存储空间。本专利技术实施例还提供了一种映射表管理装置,包括分配单元、判断单元、存储单元和发送单元;所述分配单元,用于根据LBA对应的PBA个数,为每个LBA分配对应的存储空间;其中,每个LBA对应有多个PBA;所述判断单元,用于当目标LBA接收到数据信息时,则判断所述目标LBA对应的目标存储空间是否可用;其中,所述目标LBA为所有所述LBA中的任意一个LBA;若是,则触发所述存储单元;若否,则触发所述发送单元;所述存储单元,用于将所述数据信息所指向的目标PBA存储至所述目标存储空间,并将所述目标PBA标记为有效;所述发送单元,用于依据所述目标存储空间中存储的无效PBA,向block管理器发送携带有所述无效PBA的无效请求。可选的,还包括检测单元;所述检测单元,用于检测所述目标存储空间中无效PBA的存储时间是否超过预设时间;所述发送单元还用于当存在存储时间超过预设时间的目标无效PBA时,则向block管理器发送携带有所述目标无效PBA的无效请求。可选的,所述检测单元具体用于按照设定的周期时间,定时检测所述目标存储空间中无效PBA的存储时间是否超过预设时间。可选的,所述单元具体用于当所述目标LBA对应的目标存储空间可用时,则判断所述目标存储空间中无效PBA的存储时间是否超过预设时间。可选的,还包括查找单元;所述查找单元,用于当目标LBA接收到数据读请求时,则查找所述目标存储空间中标记为有效的目标PBA,并依据所述目标PBA读取相应的数据信息。可选的,还包括校验单元和调整单元;所述检验单元,用于在所述向block管理器发送携带有所述无效PBA的无效请求之后,检测固件的io时延是否小于或等于预设值;若否,则触发所述调整单元;所述调整单元,用于依据所述io时延与所述预设值的偏差值,调整每个LBA所对应的存储空间。本专利技术实施例还提供了一种映射表管理装置,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现如上述映射表管理方法的步骤。本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述映射表管理方法的步骤。由上述技术方案可以看出,根据LBA对应的PBA个数,为每个LBA分配对应的存储空间,由此每个LBA可以对应存储多个PBA;各LBA的处理方式类似,以所有LBA中的任意一个LBA即目标LBA为例,当目标LBA接收到数据信息时,则判断目标LBA对应的目标存储空间是否可用。当目标存储空间可用时,则说明该目标存储空间还可以继续存储新的PBA,此时可以将数据信息所指向的目标PBA存储至该目标存储空间,并将所述目标PBA标记为有效。当该目标存储空间不可用时,则说明目标存储空间已经无法继续存储新的PBA,此时则可以依据目标存储空间中存储的无效PBA,向block管理器发送携带有所述无效PBA的无效请求。在该技术方案中由于一个LBA可以对应多个PBA,因此当LBA的PBA被更新时,可以不立即发送对原先的PBA的无效请求,而直接记录新的PBA到该LBA的存储空间中,直至该LBA对应的存储空间被用完时,则可以统一发送携带有无效PBA的无效请求,和现有技术相比,减少了发送无效请求的数量,缩短了执行无效请求所花费的时间,从而降低了SSD的io时延,提升了SSD的io性能。附图说明为了更清楚地说明本专利技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种映射表管理方法的流程图;图2为本专利技术实施例提供的一种映射表管理装置的结构示意图;图3为本专利技术实施例提供的一种映射表管理装置的硬件结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有本文档来自技高网...

【技术保护点】
1.一种映射表管理方法,其特征在于,包括:根据LBA对应的PBA个数,为每个LBA分配对应的存储空间;其中,每个LBA对应有多个PBA;当目标LBA接收到数据信息时,则判断所述目标LBA对应的目标存储空间是否可用;其中,所述目标LBA为所有所述LBA中的任意一个LBA;若是,则将所述数据信息所指向的目标PBA存储至所述目标存储空间,并将所述目标PBA标记为有效;若否,则依据所述目标存储空间中存储的无效PBA,向block管理器发送携带有所述无效PBA的无效请求。

【技术特征摘要】
1.一种映射表管理方法,其特征在于,包括:根据LBA对应的PBA个数,为每个LBA分配对应的存储空间;其中,每个LBA对应有多个PBA;当目标LBA接收到数据信息时,则判断所述目标LBA对应的目标存储空间是否可用;其中,所述目标LBA为所有所述LBA中的任意一个LBA;若是,则将所述数据信息所指向的目标PBA存储至所述目标存储空间,并将所述目标PBA标记为有效;若否,则依据所述目标存储空间中存储的无效PBA,向block管理器发送携带有所述无效PBA的无效请求。2.根据权利要求1所述的方法,其特征在于,还包括:检测所述目标存储空间中无效PBA的存储时间是否超过预设时间;当存在存储时间超过预设时间的目标无效PBA时,则向block管理器发送携带有所述目标无效PBA的无效请求。3.根据权利要求2所述的方法,其特征在于,所述检测所述目标存储空间中无效PBA的存储时间是否超过预设时间包括:按照设定的周期时间,定时检测所述目标存储空间中无效PBA的存储时间是否超过预设时间。4.根据权利要求2所述的方法,其特征在于,所述检测所述目标存储空间中无效PBA的存储时间是否超过预设时间包括:当所述目标LBA对应的目标存储空间可用时,则判断所述目标存储空间中无效PBA的存储时间是否超过预设时间。5.根据权利要求1所述的方法,其特征在于,还包括:当目标LBA接收到数据读请求时,则查找所述目标存储空间中标记为有效的目标PBA,并依据所述目标PBA读取相应的数据信息。6.根据权利要求1-5任意一项所述的方法,其特征在于,在所述向block管理器发送携带有所述无效PBA的无效...

【专利技术属性】
技术研发人员:苗森
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1