映射关系处理方法及装置

文档序号:1270907 发布日期:2020-08-25 浏览:21次 >En<

阅读说明:本技术 映射关系处理方法及装置 (Mapping relation processing method and device ) 是由 邓羽 高嵊昊 于 2020-04-23 设计创作,主要内容包括:本发明实施例公开一种映射关系处理方法,适用于固态硬盘的顺序写操作,该映射关系处理方法包括:将已写入数据的映射关系,按照起始地址加映射单元数量的方式进行记录并保存;所述起始地址为首个写入数据的物理地址和逻辑地址,所述映射单元为单个逻辑地址与物理地址的映射;在映射单元的数量达到预设值时,对已写入数据的映射关系进行分时或分量处理,并将处理后所获得的地址映射表进行保存。本发明实施例所公开的映射关系处理方法通过分时或分量的方式,对地址映射关系进行多轮分次转化处理,以便实现用户数据的间歇性处理,从而提高数据写入性能。此外,本发明实施例还公开一种映射关系处理装置。(The embodiment of the invention discloses a mapping relation processing method, which is suitable for sequential write operation of a solid state disk and comprises the following steps: recording and storing the mapping relation of the written data according to the mode of adding the number of the mapping units to the initial address; the starting address is a physical address and a logical address of the first written data, and the mapping unit is the mapping of a single logical address and the physical address; and when the number of the mapping units reaches a preset value, performing time-sharing or component processing on the mapping relation of the written data, and storing an address mapping table obtained after the processing. The mapping relation processing method disclosed by the embodiment of the invention carries out multiple rounds of conversion processing on the address mapping relation in a time-sharing or component mode so as to realize intermittent processing of user data and improve data writing performance. In addition, the embodiment of the invention also discloses a mapping relation processing device.)

映射关系处理方法及装置

技术领域

本发明涉及数据存储技术领域,特别涉及一种映射关系处理方法及装置。

背景技术

SSD(Solid State Drives,固态硬盘)作为一种采用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元组成,其被广泛应用于车载、工控、视频监控等众多领域。

在SSD进行数据写入之时,一般通过地址映射表来记录数据的LBA(Logical BlockAddress,逻辑区块地址)到PBA(Physics Block Address,物理区块地址)的对应关系。对于没有DDR(Double Data Rate,双倍速率)同步动态随机存储器的SSD来说,该地址映射表缓存在SSD的内存中,但因内存的存储空间有限,当地址映射表的数量达到某个预设的阈值时,需将其刷盘至闪存上。

为在有限的内存空间内缓存更多的地址映射表,针对数据顺序写(即逻辑地址与物理地址均连续)的特点,一般首先采用起始地址加长度的方式来记录,如图1所示,一条记录实际上包含多个逻辑地址到物理地址的映射关系,然后再将每一条记录转化拆分成多个映射单元,保存至地址映射表上,每一个映射单元均为一个逻辑地址与一个物理地址的对应。然而,每一条记录的映射关系越多,其转化过程越耗时,且转化处理长时间占据CPU(Central Processing Unit/Processor,中央处理器),导致用户数据不能及时处理,影响数据写入性能。

发明内容

本发明的主要目的是提出一种映射关系处理方法,旨在解决目前固态硬盘映射关系处理方式导致数据写入性能低的问题。

为实现上述目的,本发明提出一种映射关系处理方法,适用于固态硬盘的顺序写操作,参照图1,该映射关系处理方法包括:

将已写入数据的映射关系,按照起始地址加映射单元数量的方式进行记录并保存;所述起始地址为首个写入数据的物理地址和逻辑地址,所述映射单元为单个逻辑地址与物理地址的映射;

在映射单元的数量达到预设值时,对已写入数据的映射关系进行分时或分量处理,并将处理后所获得的地址映射表进行保存。

优选地,所述对已写入数据的映射关系进行分时或分量处理包括:

在进行分时处理时,判断当前的处理时长是否达到预设的处理时长;

若是,则终止对已写入数据的映射关系的处理,并保存目标信息至第一指定位置;

在终止预设时长后,根据所述目标信息,对被终止的已写入数据的映射关系继续进行处理。

优选地,所述对已写入数据的映射关系进行分时或分量处理包括:

在进行分量处理时,判断当前处理的映射单元数量是否达到第一预设数量;

若是,则终止对已写入数据的映射关系的处理,并保存目标信息至第二指定位置;

在处理预设数据量后,根据所述目标信息,对被终止的已写入数据的映射关系继续进行处理。

优选地,映射关系处理方法还包括:

对映射单元的预设数量、每个映射单元所对应的数据量和预设比例进行运算,以获取在对映射关系进行处理时所允许主机写入的数据量。

优选地,所述固态硬盘将已写入数据的映射关系,按照起始地址加映射单元数量的方式进行记录包括:

判断记录表中的逻辑地址和物理地址是否连续;

若否,则终止当前的映射关系记录操作,并将后续数据的映射关系记录到新的记录表中。

优选地,所述固态硬盘将已写入数据的映射关系,按照起始地址加映射单元数量的方式进行记录包括:

判断记录表中的映射单元数量是否达到第二预设数量;

若是,则终止当前的映射关系记录操作,并将后续数据的映射关系记录到新的记录表中。

本发明还提出一种映射关系处理装置,该映射关系处理装置包括:

记录模块,用于将已写入数据的映射关系,按照起始地址加映射单元数量的方式进行记录并保存;所述起始地址为首个写入数据的物理地址和逻辑地址,所述映射单元为单个逻辑地址与物理地址的映射;

处理模块,用于在映射单元的数量达到预设值时,对已写入数据的映射关系进行分时或分量处理,并将处理后所获得的地址映射表进行保存。

优选地,所述处理模块包括:

第一判断单元,用于在进行分时处理时,判断当前的处理时长是否达到预设的处理时长;

第一终止处理单元,用于在当前达到预设的处理时长,则终止对已写入数据的映射关系的处理,并保存目标信息至第一指定位置;

第一继续处理单元,用于在终止预设时长后,根据所述目标信息,对被终止的已写入数据的映射关系继续进行处理。

优选地,所述处理模块包括:

第二判断单元,用于在进行分量处理时,判断当前处理的映射单元数量是否达到第一预设数量;

第二终止处理单元,用于在当前达到第一预设处理数量,则终止对已写入数据的映射关系的处理,并保存目标信息至第二指定位置;

第二终止处理单元,用于在处理预设数据量后,根据所述目标信息,对被终止的已写入数据的映射关系继续进行处理。

优选地,所述映射关系处理装置还包括:

运算模块,用于对映射单元的预设数量、每个映射单元所对应的数据量和预设比例进行运算,以获取在对映射关系进行处理时所允许主机写入的数据量。

本发明实施例与现有技术相比,有益效果在于:固态硬盘为顺序写操作时实施本映射关系处理方法,首先将已写入数据的映射关系,按照起始地址加映射单元数量的方式进行记录并保存;起始地址为首个写入数据的物理地址和逻辑地址,映射单元为单个逻辑地址与物理地址的映射;然后在映射单元的数量达到预设值时,对已写入数据的映射关系进行分时或分量处理,并将处理后所获得的地址映射表进行保存。本映射关系处理方法通过分时或分量的方式,对地址映射关系进行多轮分次转化处理,以便实现用户数据的间歇性处理,从而提高数据写入性能。

附图说明

图1为现有技术中固态硬盘映射关系转化处理的示意图;

图2为本发明一实施例中映射关系处理方法的流程图;

图3为本发明一实施例中映射关系处理方法的流程图;

图4为本发明一实施例中映射关系处理方法的流程图;

图5为本发明一实施例中映射关系处理方法的流程图;

图6为本发明一实施例中映射关系处理方法的流程图;

图7为本发明一实施例中映射关系处理方法的流程图;

图8为本发明一实施例中映射关系处理装置的功能模块图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的方案进行清楚完整的描述,显然,所描述的实施例仅是本发明中的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提出一种映射关系处理方法,适用于固态硬盘的顺序写操作,参照图1和图2,该映射关系处理方法包括:

步骤S10:将已写入数据的映射关系,按照起始地址加映射单元数量的方式进行记录并保存;起始地址为首个写入数据的物理地址和逻辑地址,映射单元为单个逻辑地址与物理地址的映射;

已知的是,固态硬盘在顺序写数据时,数据的逻辑地址连续,且对应的物理地址也连续。据此,本实施方式提出映射关系处理方法,以实现固态硬盘的地址映射关系记录处理。具体地,在本实施步骤中,将已写入数据的映射关系,按照起始地址加映射单元数量的方式进行记录并保存。需要说明的是,此记录为用于在将映射关系记录到闪存的地址映射表之前,先对其进行记载以便后续转化处理,且对应的形成记录表,并可保存至固态硬盘的内存中。参照图1,每一条记录表中均包括起始逻辑地址(L0)、起始物理地址(P0)以及长度(L),该起始逻辑地址(L0)和起始物理地址(P0)为数据的一段连续映射地址中的第一个地址,其中,在一段连续的映射地址中,关系对应的单个逻辑地址与单个物理地址形成一个映射单元,如(L0,P0)、(L1,P1)等。另外,记录表中的长度(L)为地址长度,其所表示的为映射单元数量。因地址连续,根据该起始地址以及长度,便可推导出该记表中的所有映射关系。比如,根据记录表中(L0,P0)的首个映射关系,当L为3时,即可知晓后续的(L1,P1)和(L2,P2)的映射关系。可理解的是,此记录方式区别于对映射关系进行逐一记录的方式,可在一定程度上减少占用内存的空间。

步骤S20:在映射单元的数量达到预设值时,对已写入数据的映射关系进行分时或分量处理,并将处理后所获得的地址映射表进行保存。

本实施步骤中,预先为所记录映射单元的数量设置预设值,该预设值为可允许记录映射单元的最大数量,其可根据实际情况设置以及修改。当映射单元的数量达到该预设值时,对已写入数据的映射关系进行分时或分量处理,并将处理后所获得的地址映射表进行保存。其中,所涉及的映射关系的处理即为将记录中的映射关系转化至地址映射表中,分时处理则是分为多轮进行处理且每轮处理预设时间t,分量处理为分为多轮进行处理且每轮处理预设映射单元个数n。并且,该地址映射表可保存至固态硬盘的闪存中。

根据上述内容,容易理解的是,无论是分时或分量处理,均为多次分轮处理,其可为主机提供用户数据处理时间间隙,在每一轮映射关系处理过后进行用户数据处理,即将映射关系转化处理和用户数据处理交错进行,如此,便可避免映射关系转化处理长时间占用CPU,以使用户数据得到及时处理。

与目前的映射关系处理方式相比较,本映射关系处理方法通过分时或分量的方式,对地址映射关系进行多轮分次转化处理,以便实现用户数据的间歇性处理,从而提高数据写入性能。

在一较佳实施例中,参照图3,步骤S20中包括:

步骤S21:在进行分时处理时,判断当前的处理时长是否达到预设的处理时长;

步骤S22:若是,则终止对已写入数据的映射关系的处理,并保存目标信息至第一指定位置;

步骤S23:在终止预设时长后,根据目标信息,对被终止的已写入数据的映射关系继续进行处理。

本实施步骤中,采用分时处理的方式并进行新的一轮映射关系处理时,经判断,若当前的处理时长已达到预设的处理时长,即t,则终止对已写入数据的映射关系的处理,并保存目标信息至第一指定位置,以保证下一轮映射关系处理时可接着继续进行。其中,该第一指定位置可设置在固态硬盘的内存中。故,在终止预设时长后,根据上述所保存的目标信息,对被终止的已写入数据的映射关系继续进行处理,即进行新的一轮的映射关系处理,可理解的是,此预设时长即为每一轮映射关系处理之间、主机处理其所需处理的用户数据量的时间,预设时长可根据实际情况设置以及修改。

在一较佳实施例中,参照图4,步骤S20中包括:

步骤S24:在进行分量处理时,判断当前处理的映射单元数量是否达到第一预设数量;

步骤S25:若是,则终止对已写入数据的映射关系的处理,并保存目标信息至第二指定位置;

步骤S26:在处理预设数据量后,根据目标信息,对被终止的已写入数据的映射关系继续进行处理。

本实施步骤中,采用分量处理的方式并进行新的一轮映射关系处理时,经判断,若当前处理的映射单元数量已达到第一预设数量,即n,则终止对已写入数据的映射关系的处理,并保存目标信息至第二指定位置,以保证下一轮映射关系处理时可接着继续进行。其中,该第二指定位置可设置在固态硬盘的内存中。故,在处理预设数据量后,根据上述保存的目标信息,对被终止的已写入数据的映射关系继续进行处理,即进行新的一轮的映射关系处理,并且,可理解的是,该预设数据量即为每一轮映射关系处理之间、主机所需处理的用户数据量,其可根据实际情况设置以及修改。

在一较佳实施例中,参照图5,映射关系处理方法还包括:

步骤S30:对映射单元的预设数量、每个映射单元所对应的数据量和预设比例进行运算,以获取在对映射关系进行处理时所允许主机写入的数据量。

由于主机一直在写入数据,即数据的地址映射关系记录随其进行,为防止地址映射表使用的内存空间被占尽,故主机写入处理的数据量也需进行限制。本实施步骤中,对映射单元的预设数量、每个映射单元所对应的数据量和预设比例进行运算,以获取在对映射关系进行处理时所允许主机写入的数据量。经过多次测试,该预设比例约为4:1,即映射单元的预设数量*每个映射单元所对应的数据量/4=主机写入的数据量。比如,一个映射单元对应4KB的数据量,并且每一轮处理的映射单元个数为256,则映射单元所对应的数据量为4KB*256=1MB,则可允许主机写入的数据量为1MB*1/4=256KB。其中,因分量处理的方式可精准控制数据比例,故在本映射关系处理方法中可优先选用分量处理。

在一较佳实施例中,参照图6,步骤S10中包括:

步骤S11:判断记录表中的逻辑地址和物理地址是否连续;

步骤S12:若否,则终止当前的映射关系记录操作,并将后续数据的映射关系记录到新的记录表中。

本实施步骤中,为保证映射关系转化处理的有序进行,每一个记录表中的逻辑地址和物理地址都必须连续,经判断,若记录表中的逻辑地址和物理地址不连续,则终止当前的映射关系记录操作,并将后续数据的映射关系记录到新的记录表中,从而实现映射关系记录的优化。

在一较佳实施例中,参照图7,步骤S10中包括:

步骤S13:判断记录表中的映射单元数量是否达到第二预设数量;

步骤S14:若是,则终止当前的映射关系记录操作,并将后续数据的映射关系记录到新的记录表中。

本实施步骤中,为记录表中的映射单元数量设置第二预设数量,经判断,若记录表所记录的映射单元数量(即长度)已达到第二预设数量,则终止当前的映射关系记录操作,并将后续数据的映射关系记录到新的记录表中,从而实现映射关系记录的优化。

基于上述实施例所提出的映射关系处理方法,本发明还提出一种映射关系处理装置,参照图8,该映射关系处理装置包括:

记录模块10,用于将已写入数据的映射关系,按照起始地址加映射单元数量的方式进行记录并保存;起始地址为首个写入数据的物理地址和逻辑地址,映射单元为单个逻辑地址与物理地址的映射;

处理模块20,用于在映射单元的数量达到预设值时,对已写入数据的映射关系进行分时或分量处理,并将处理后所获得的地址映射表进行保存。

在一较佳实施例中,处理模块20包括:

第一判断单元21,用于在进行分时处理时,判断当前的处理时长是否达到预设的处理时长;

第一终止处理单元22,用于在当前达到预设的处理时长,则终止对已写入数据的映射关系的处理,并保存目标信息至第一指定位置;

第一继续处理单元23,用于在终止预设时长后,根据目标信息,对被终止的已写入数据的映射关系继续进行处理。

在一较佳实施例中,处理模块20包括:

第二判断单元24,用于在进行分量处理时,判断当前处理的映射单元数量是否达到第一预设数量;

第二终止处理单元25,用于在当前达到第一预设处理数量,则终止对已写入数据的映射关系的处理,并保存目标信息至第二指定位置;

第二终止处理单元26,用于在处理预设数据量后,根据目标信息,对被终止的已写入数据的映射关系继续进行处理。

在一较佳实施例中,映射关系处理装置还包括:

运算模块30,用于对映射单元的预设数量、每个映射单元所对应的数据量和预设比例进行运算,以获取在对映射关系进行处理时所允许主机写入的数据量。

在一较佳实施例中,记录模块10包括:

第三判断单元11,用于判断记录表中的逻辑地址和物理地址是否连续;

第一终止操作单元12,用于在记录表中的逻辑地址和物理地址不连续时,则终止当前的映射关系记录操作,并将后续数据的映射关系记录到新的记录表中。

在一较佳实施例中,记录模块10包括:

第四判断单元13,用于判断记录表中的映射单元数量是否达到第二预设数量;

第二终止操作单元14,用于在记录表中的映射单元数量达到第二预设数量时,则终止当前的映射关系记录操作,并将后续数据的映射关系记录到新的记录表中。

本发明还提出一种映射关系处理设备,该映射关系处理设备包括:

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

处理器,用于执行计算机程序时至少实现如下映射关系处理方法的步骤:

将已写入数据的映射关系,按照起始地址加映射单元数量的方式进行记录并保存;起始地址为首个写入数据的物理地址和逻辑地址,映射单元为单个逻辑地址与物理地址的映射;

在映射单元的数量达到预设值时,对已写入数据的映射关系进行分时或分量处理,并将处理后所获得的地址映射表进行保存。

本发明还提出一种计算机存储介质,计算机存储介质上存储有计算机程序,计算机程序被处理器执行时至少实现如下映射关系处理方法的步骤:

将已写入数据的映射关系,按照起始地址加映射单元数量的方式进行记录并保存;起始地址为首个写入数据的物理地址和逻辑地址,映射单元为单个逻辑地址与物理地址的映射;

在映射单元的数量达到预设值时,对已写入数据的映射关系进行分时或分量处理,并将处理后所获得的地址映射表进行保存。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块和组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块之间的耦合或者通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有祥述的部分,可以参见其它实施例的相关描述。

以上的仅为本发明的部分或优选实施例,无论是文字还是附图都不能因此限制本发明保护的范围,凡是在与本发明一个整体的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明保护的范围内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:通过虚拟USB中心在USB设备中动态提供虚拟化功能的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类