CN117708000B - 数据的随机写入方法、装置、电子设备及存储介质 - Google Patents
数据的随机写入方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117708000B CN117708000B CN202410160582.3A CN202410160582A CN117708000B CN 117708000 B CN117708000 B CN 117708000B CN 202410160582 A CN202410160582 A CN 202410160582A CN 117708000 B CN117708000 B CN 117708000B
- Authority
- CN
- China
- Prior art keywords
- data
- written
- mapping table
- address
- address mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000013507 mapping Methods 0.000 claims abstract description 164
- 238000004590 computer program Methods 0.000 claims description 4
- 230000007423 decrease Effects 0.000 claims description 4
- 238000004904 shortening Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 8
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000011002 quantification Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012005 ligant binding assay Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请提供了一种数据的随机写入方法、装置、电子设备及存储介质,该方法包括:获取当前所写入的待写入数据的随机程度,并判断随机程度是否超过预设值;以及若判定随机程度超过预设值,则更新写入待写入数据所需的地址映射表;若判定随机程度未超过预设值,则不更新地址映射表;其中,地址映射表包含写入待写入数据所需的第一逻辑地址与第一物理地址之间的映射关系。方法通过获取待写入数据的随机程度,并根据随机程度是否达到预设值更新写入该待写入数据的所需的地址映射表,使得写入的数据在地址空间中分布更加均匀,地址映射表的变动更小。进而缩短了数据随机写入过程中所消耗的时间。
Description
技术领域
本申请涉及存储技术领域,具体而言,一种数据的随机写入方法、装置、电子设备及存储介质。
背景技术
数据的随机写入(Random Write)是指在存储器上进行数据写入操作的过程中,写入的位置或顺序没有明显的规律,呈现出随机性的特征。在数据的读写过程中,数据通常以块(block)为单位进行读写操作。在随机写入中,写入操作的位置不是按照顺序进行的,而是在不同的物理位置进行的。与其相对的是顺序写入(Sequential Write),顺序写入是按照顺序依次写入数据,写入操作的位置是连续的。
数据的随机写入通常是通过FTL(闪存转换层,Flash Translation Layer) 将主机的逻辑Block地址(LBA,logical block addresses )和NAND FLASH(一种基于 NAND 技术的非易失性存储器)Block地址(PBA, physical block addresses)建立映射表,简称L2P映射。
当前,存储器通常采用在数据写入一定量后再统一进行L2P映射更新的策略,以避免频繁从NAND FLASH加载L2P映射表。然而,当主机随机写覆盖范围越大,写入的LBA覆盖的L2P表数目越大,进而导致了L2P映射表更新时间越长。从而导致了数据随机写入过程中所消耗的时间过长。
发明内容
本申请实施例的目的在于一种数据的随机写入方法、装置、电子设备及存储介质,通过获取待写入数据的随机程度,并根据随机程度更新写入该待写入数据的所需的地址映射表,以缩短数据随机写入过程中所消耗的时间。
第一方面,本申请提供了一种数据的随机写入方法,包括:获取当前所写入的待写入数据的随机程度,并判断所述随机程度是否超过预设值;以及若判定所述随机程度超过预设值,则更新写入所述待写入数据所需的地址映射表;若判定所述随机程度未超过预设值,则不更新所述地址映射表;其中,所述地址映射表包含写入所述待写入数据所需的第一逻辑地址与第一物理地址之间的映射关系。
上述数据的随机写入方法,通过获取待写入数据的随机程度,并根据随机程度是否达到预设值更新写入该待写入数据的所需的地址映射表,使得写入的数据在地址空间中分布更加均匀,地址映射表的变动更小。进而缩短了数据随机写入过程中所消耗的时间。
结合第一方面,可选地,所述获取当前所写入的待写入数据的随机程度,包括:从所述地址映射表中选取特定个数的样本地址映射表;以及根据当前所写入的待写入数据的第二逻辑地址与所述样本地址映射表中的第一逻辑地址一致性确定所述随机程度。
上述数据的随机写入方法,通过选取特定个数的样本地址映射表,并根据当前所写入的待写入数据的所有第二逻辑地址在所有样本地址映射表中的命中情况确定随机程度,实现了对当前所写入的待写入数据的随机程度的表征。
结合第一方面,可选地,所述根据当前所写入的待写入数据的第二逻辑地址与所述样本地址映射表中的第一逻辑地址一致性确定所述随机程度,包括:获取当前所写入的待写入数据的第二逻辑地址与所述样本地址映射表中的第一逻辑地址一致的地址一致个数、所述样本地址映射表中与所述第一逻辑地址一致的所述第二逻辑地址所属的所述样本地址映射表的映射表一致个数以及所述第二逻辑地址的总个数; 计算所述特定个数与所述总个数的乘积、所述乘积与所述一致个数的比值,并以所述比值表征所述随机程度。
上述数据的随机写入方法,由于所述特定个数与所述总个数的乘积、所述乘积与所述一致个数的比值可以表示当前所写入的待写入数据所使用到的地址映射表的覆盖个数。因此,通过用该覆盖个数表征当前所写入的待写入数据的随机程度,实现了对当前所写入的待写入数据的随机程度的表征的基础之上,使得对随机程度的量化更为直观,进而也更加便于根据实际需求设置相应的预设值。
结合第一方面,可选地,其中,所述地址映射表具有唯一身份标识,所述样本地址映射表具有唯一样本身份标识;所述从所述地址映射表中选取特定个数的样本地址映射表,包括:从所述唯一身份标识中选取所述特定个数的所述唯一样本身份标识。
上述数据的随机写入方法,由于在数据写入过程中通过基于所选择出的样本地址映射表确定的随机程度,因此通常需要将所选择的样本地址映射表进行存储。既然需要进行存储,那么通常需要占用一定的内存空间。因此,通过根据地址映射表的唯一身份标识选取样本地址映射表,并将相应的唯一样本身份标识记录或存储于内存空间,相较于直接将样本地址映射表存储于内存空间而言,减小了内存空间的占用。进而也提高了整个数据随机写入过程的速率。
结合第一方面,可选地,所述从所述唯一身份标识中选取所述特定个数的所述唯一样本身份标识,包括:从将所述待写入数据写入第一个目标物理地址开始,在每一个所述目标物理地址被写入所述待写入数据的情况下,记录一个所述目标物理地址所属的所述地址映射表的所述唯一身份标识;在所记录所述唯一身份标识达到所述特定个数的情况下停止记录;以及将所记录的、所述特定个数的所述唯一身份标识作为所述唯一样本身份标识。
上述数据的随机写入方法,通过在待写入数据刚开始写入时便开始记录目标物理地址所属的地址映射表的唯一身份标识,并在记录满特定个数的情况下停止记录。使得在数据写入过程中,能够尽快完成样本地址映射表的选取,以便于尽快对所写入待写入数据的随机程度的判断,并根据判断结果更新地址映射表。进而进一步缩短了数据随机写入过程中所消耗的时间。并使得数据随机写入的IO时延更加均衡。
结合第一方面,可选地,所述获取当前所写入的待写入数据的随机程度,并判断所述随机程度是否超过预设值,包括:基于每次对预设数据大小的所述待写入数据的写入,获取一次当前所写入的待写入数据的随机程度,并判断所述随机程度是否超过预设值。
上述数据的随机写入方法,通过在每完成预设数据大小数据的写入之后便对地址映射表的更新时机进行一次判断,进一步提高了地址映射表更新的合理性,从而进一步缩短了数据随机写入过程中所消耗的时间。
结合第一方面,可选地,其中,所述预设值包括对应于每次获取所述随机程度的若干子预设值;所述若干子预设值随获取所述随机程度的次数的增加而递减。
上述数据的随机写入方法,由于随着所写入的待写入数据逐渐增加,剩下尚未写入的待写入数据也随之减少,因此剩下尚未写入的待写入数据随机程度也逐渐降低。通过对应于依次所获取随机程度的若干子预设值逐渐降低。使得数据写入过程中,前后消耗的时间更加均衡。也就是说,使得数据写入的过程更加平顺。
第二方面,本申请还提供了一种数据的随机写入装置,包括:判断模块和更新模块;其中,所述判断模块用于获取当前所写入的待写入数据的随机程度,并判断所述随机程度是否超过预设值;所述更新模块用于若判定所述随机程度超过预设值,则更新写入所述待写入数据所需的地址映射表;所述更新模块还用于若判定所述随机程度未超过预设值,则不更新所述地址映射表;其中,所述地址映射表包含写入所述待写入数据所需的第一逻辑地址与第一物理地址之间的映射关系。
上述数据的随机写入装置,具有与上述第一方面,或第一方面的任意一种可选地实施方式所提供的一种数据的随机写入方法相同的有益效果,此处不作赘述。
第三方面,本申请还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
上述电子设备,具有与上述第一方面,或第一方面的任意一种可选地实施方式所提供的一种数据的随机写入方法相同的有益效果,此处不作赘述。
第四方面,本申请还提供了一种存储介质,所述存储介质包括计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上面描述的方法。
上述存储介质,具有与上述第一方面,或第一方面的任意一种可选地实施方式所提供的一种数据的随机写入方法相同的有益效果,此处不作赘述。
综上所述,本申请所提供的数据的随机写入方法、装置、电子设备及存储介质的有益效果为:根据随机程度是否达到预设值更新写入该待写入数据的所需的地址映射表,使得写入的数据在地址空间中分布更加均匀,地址映射表的变动更小,进而缩短了数据随机写入过程中所消耗的时间。其中,通过用该覆盖个数表征当前所写入的待写入数据的随机程度,实现了对当前所写入的待写入数据的随机程度的表征的基础之上,使得对随机程度的量化更为直观,进而也更加便于根据实际需求设置相应的预设值。通过根据地址映射表的唯一身份标识选取样本地址映射表,并将相应的唯一样本身份标识记录或存储于内存空间,相较于直接将样本地址映射表存储于内存空间而言,减小了内存空间的占用。进而也提高了整个数据随机写入过程的速率。通过对应于依次所获取随机程度的若干子预设值逐渐降低。使得数据写入过程中,前后消耗的时间更加均衡。也就是说,使得数据写入的过程更加平顺。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的数据的随机写入方法的流程图;
图2为本申请实施例提供的数据的随机写入方法中步骤S120的详细流程图;
图3为本申请实施例提供的数据的随机写入方法中步骤S122的详细流程图;
图4为本申请实施例提供的数据的随机写入方法中步骤S1221的详细流程图;
图5为本申请实施例提供的数据的随机写入装置的功能模块图;
图6为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
在本申请实施例的描述中,技术术语“第一”、“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
请参照图1,图1是本申请实施例提供的数据的随机写入方法的流程图。本申请实施例提供的数据的随机写入方法可以包括:
步骤S120:获取当前所写入的待写入数据的随机程度,并判断随机程度是否超过预设值。
若判定随机程度超过预设值,则执行步骤S140:更新写入待写入数据所需的地址映射表。
若判定随机程度未超过预设值,则执行步骤S160:不更新地址映射表。
其中,地址映射表包含写入待写入数据所需的第一逻辑地址与第一物理地址之间的映射关系。
上述步骤中,可以通过监测写入操作的访问模式,分析写入位置的分布情况。根据写入位置分布的随机性高低,当前所写入待写入数据的随机程度。也可以通过记录和分析I/O Trace(输入/输出跟踪)数据,获取待写入数据写入操作的详细信息,包括写入位置、顺序、时间间隔等。通过分析这些数据,获取当前所写入的待写入数据的随机程度。还可以是其他的具体可实施方式获取当前所写入的待写入数据的随机程度。
预设值的设定可以根据最终所能够接受的数据随机写入过程中所消耗的时间长度所确定。具体可以是,结合上述步骤S120至S160的方案可知,预设值越大则通常说明更新地址映射表时,当前所写入的待写入数据的随机程度越高,数据写入过程中所需要的寻道操作越频繁,数据访问的延迟越高。从而数据写入过程中所消耗的时间也就越长。因此,本领域技术人员可根据实际应用中所能够接受的消耗时长,对应确定预设值的具体大小。
在随机程度未超过预设值的情况下,不更新地址映射表。具体可以是,在随机程度未超过预设值的情况下,暂时不更新地址映射表。例如,延迟更新。也就是说,直到后续某一次判定随机程度达到预设值或者分配给地址映射表的缓存用完的情况下,将地址映射表更新至存储介质中。
其中,地址映射表可以是L2P映射表。
上述实现过程中,通过获取待写入数据的随机程度,并根据随机程度是否达到预设值更新写入该待写入数据的所需的地址映射表,使得写入的数据在地址空间中分布更加均匀,地址映射表的变动更小。进而缩短了数据随机写入过程中所消耗的时间。
请参照图2,图2是本申请实施例提供的数据的随机写入方法中步骤S120的详细流程图。在一些可选的实施方式中,步骤S120可以包括:
步骤S121:从地址映射表中选取特定个数的样本地址映射表。
步骤S122:根据当前所写入的待写入数据的第二逻辑地址与样本地址映射表中的第一逻辑地址一致性确定随机程度。
上述步骤中,可以从待写入数据总共所需要的地址映射表中选取特定个数的样本地址映射表,根据当前所写入的待写入数据所使用过的所有第二逻辑地址中,命中所有样本地址映射表中的第一逻辑地址的情况,确定当前所写入的待写入数据的随机程度。命中率越高,通常说明随机程度越低;命中率越低,通常说明随机程度越低。
上述实现过程中,通过选取特定个数的样本地址映射表,并根据当前所写入的待写入数据的所有第二逻辑地址在所有样本地址映射表中的命中情况确定随机程度,实现了对当前所写入的待写入数据的随机程度的表征。
请参照图3,图3是本申请实施例提供的数据的随机写入方法中步骤S122的详细流程图。在一些可选的实施方式中,步骤S122可以包括:
步骤S1221:获取当前所写入的待写入数据的第二逻辑地址与样本地址映射表中的第一逻辑地址一致的地址一致个数、样本地址映射表中与第一逻辑地址一致的第二逻辑地址所属的样本地址映射表的映射表一致个数以及第二逻辑地址的总个数。
步骤S1222:计算特定个数与总个数的乘积、乘积与一致个数的比值,并以比值表征随机程度。
上述步骤中,一致个数除以第二逻辑地址的总个数就等于前述实施例所描述的命中率,特定个数除以映射表的覆盖个数也等于命中率。其中,覆盖个数表示当前所写入的待写入数据所使用到的地址映射表的个数。进而,可以得到等式:
进一步推导上述等式可得:
也即是,可以用覆盖个数表征当前所写入的待写入数据的随机程度。覆盖个数越大,通常说明随机程度越高;覆盖个数越效,通常说明随机程度越低。
上述实现过程中,由于所述特定个数与所述总个数的乘积、所述乘积与所述一致个数的比值可以表示当前所写入的待写入数据所使用到的地址映射表的覆盖个数。因此,通过用该覆盖个数表征当前所写入的待写入数据的随机程度,实现了对当前所写入的待写入数据的随机程度的表征的基础之上,使得对随机程度的量化更为直观,进而也更加便于根据实际需求设置相应的预设值。
在一些可选的实施方式中,地址映射表可以具有唯一身份标识,样本地址映射表可以具有唯一样本身份标识。
相应地,步骤S121可以包括:
步骤S1211:从唯一身份标识中选取特定个数的唯一样本身份标识。
上述步骤中,由于样本地址映射表是从地址映射表中所选择的。因此,唯一身份标识可以包括唯一样本身份标识。在从地址映射表中选择出样本地址映射表的过程,具体可以实施为,从唯一身份标识中选取特定个数的唯一样本身份标识。
上述实现过程中,由于在数据写入过程中通过基于所选择出的样本地址映射表确定的随机程度,因此通常需要将所选择的样本地址映射表进行存储。既然需要进行存储,那么通常需要占用一定的内存空间。因此,通过根据地址映射表的唯一身份标识选取样本地址映射表,并将相应的唯一样本身份标识记录或存储于内存空间,相较于直接将样本地址映射表存储于内存空间而言,减小了内存空间的占用。进而也提高了整个数据随机写入过程的速率。
请参照图4,图4是本申请实施例提供的数据的随机写入方法中步骤S1221的详细流程图。在一些可选的实施方式中,步骤S1221可以包括:
步骤S12211:从将待写入数据写入第一个目标物理地址开始,在每一个目标物理地址被写入待写入数据的情况下,记录一个目标物理地址所属的地址映射表的唯一身份标识。
步骤S12212:在所记录唯一身份标识达到特定个数的情况下停止记录。
步骤S12213:将所记录的、特定个数的唯一身份标识作为唯一样本身份标识。
目前,确定随机程度现有方案通常为,记录主机数据写入的每个地址映射表的唯一身份标识,统计当前所写入的待写入数据中逻辑地址所覆盖地址映射的表个数,进而确定出随机程度。这样的方式最终,由于是将所有地址映射表的唯一身份标识均记录在了内存中,因此消耗内存较大。尤其是对于大容量的存储器来说,地址映射表的个数通常达到几万个,进而需要几十KB的内存空间进行地址映射表的唯一身份标识的存储。最终,导致了存储器的硬件成本变高、数据写入的速率降低等问题。
上述步骤中,第一个目标物理地址可以是在待写入数据被写入存储器的过程中,存储器上第一个被写入数据的物理地址。也就是说,可以从待写入数据刚开始写入存储器时,便开始记录所使用到的地址映射表的唯一身份标识,以作为唯一样本身份标识。并在随后待写入数据的写入的过程中,依次记录。最后,在所记录的唯一样本身份标识满足特定个数的情况下停止记录。其中,特定个数可以是10个、15个、20个等。
示例性地,本申请实施例只记录10个地址映射表的唯一身份标识,相较于目前确定随机程度所采用的方案而言,内存的占用更小。假设一张地址映射表记录16M大小的地址映射数据,每写入2M进行所使用地址映射表得数目计算,假设所写入的待写入数据的逻辑地址均匀的覆盖了不同的地址映射表,且逻辑地址在随机范围内进行循环。每写入2M数据所对应2M×16M=32G 的随机范围才可使待写入数据的逻辑地址不会重新回到地址映射表中初始的逻辑地址。对于32G以下范围的随机,待写入数据的逻辑地址重复对应同一张地址映射表的情况,这种情况下可以计算命中率,从而根据命中率计算当前所写入的待写入数据所使用到的地址映射表的数目,对于32G以上范围的随机,不存在写入数据的逻辑地址重复对应同一张地址映射表的情况,那么随机范围便是32G。
对于32G以上范围的随机,随着随机程度的增加,每个待写入数据的逻辑地址还是对应不同的地址映射表上,那么更新地址映射表的时间通常是固定的,且该时间通常在用户的可接受范围之内。对于32G以下范围的随机,根据计算出的当前所写入的待写入数据所使用到的地址映射表的覆盖个数对比预设值,根据对比结果决定是否进行地址映射表的更新,使地址映射表的更新时间限制在用户的可接受范围之内。
上述实现过程中,通过在待写入数据刚开始写入时便开始记录目标物理地址所属的地址映射表的唯一身份标识,并在记录满特定个数的情况下停止记录。使得在数据写入过程中,能够尽快完成样本地址映射表的选取,以便于尽快对所写入待写入数据的随机程度的判断,并根据判断结果更新地址映射表。进而进一步缩短了数据随机写入过程中所消耗的时间。并使得数据随机写入的IO时延更加均衡。
在一些可选的实施方式中,步骤S120可以包括:
步骤S123:基于每次对预设数据大小的待写入数据的写入,获取一次当前所写入的待写入数据的随机程度,并判断随机程度是否超过预设值。
也就是说,在数据写入过程中,每完成预设数据大小数据的写入,例如:每完成2M数据的写入,便获取一次随机程度,并根据随机程度判断是否进行地址映射表的更新。
通常情况下,预设数据大小的具体值越小,则说明获取随机程度并判断是否更新地址映射表的频率越高,进而对地址映射表更新时机的判断也就越合理;预设数据大小的具体值越大,则说明获取随机程度并判断是否更新地址映射表的频率越低,对执行本申请实施例所提供数据的随机写入方法的设备的性能要求也就越低。因此,本领域技术人员可以结合前述内容的描述和实际需求确定预设数据大小的具体值。
上述实现过程中,通过在每完成预设数据大小数据的写入之后便对地址映射表的更新时机进行一次判断,进一步提高了地址映射表更新的合理性,从而进一步缩短了数据随机写入过程中所消耗的时间。
在一些可选的实施方式中,预设值可以包括对应于每次获取随机程度的若干子预设值。若干子预设值随获取随机程度的次数的增加而递减。
上述实现过程中,由于随着所写入的待写入数据逐渐增加,剩下尚未写入的待写入数据也随之减少,因此剩下尚未写入的待写入数据随机程度也逐渐降低。通过对应于依次所获取随机程度的若干子预设值逐渐降低。使得数据写入过程中,前后消耗的时间更加均衡。也就是说,使得数据写入的过程更加平顺。
请参照图5,图5是本申请实施例提供的数据的随机写入装置500的功能模块图。基于同样的构思,本申请实施例提供的数据的随机写入装置500可以包括判断模块510和更新模块520。
其中,判断模块510可以用于获取当前所写入的待写入数据的随机程度,并判断随机程度是否超过预设值;
更新模块520可以用于若判定随机程度超过预设值,则更新写入待写入数据所需的地址映射表。
更新模块520还可以用于若判定随机程度未超过预设值,则不更新地址映射表。
其中,地址映射表包含写入待写入数据所需的第一逻辑地址与第一物理地址之间的映射关系。
请继续参照图5,在一些可选的实施方式中,在获取当前所写入的待写入数据的随机程度的过程中,判断模块510具体可以用于:从地址映射表中选取特定个数的样本地址映射表;以及根据当前所写入的待写入数据的第二逻辑地址与样本地址映射表中的第一逻辑地址一致性确定随机程度。
请继续参照图5,在一些可选的实施方式中,在根据当前所写入的待写入数据的第二逻辑地址与样本地址映射表中的第一逻辑地址一致性确定随机程度的过程中,判断模块510具体可以用于:获取当前所写入的待写入数据的第二逻辑地址与样本地址映射表中的第一逻辑地址一致的地址一致个数、样本地址映射表中与第一逻辑地址一致的第二逻辑地址所属的样本地址映射表的映射表一致个数以及第二逻辑地址的总个数;计算特定个数与总个数的乘积、乘积与一致个数的比值,并以比值表征随机程度。
请继续参照图5,在一些可选的实施方式中,地址映射表具有唯一身份标识,样本地址映射表具有唯一样本身份标识。相应地,在从地址映射表中选取特定个数的样本地址映射表的过程中,判断模块510具体可以用于从唯一身份标识中选取特定个数的唯一样本身份标识。
请继续参照图5,在一些可选的实施方式中,在从唯一身份标识中选取特定个数的唯一样本身份标识的过程中,判断模块510具体可以用于:从将待写入数据写入第一个目标物理地址开始,在每一个目标物理地址被写入待写入数据的情况下,记录一个目标物理地址所属的地址映射表的唯一身份标识;在所记录唯一身份标识达到特定个数的情况下停止记录;以及将所记录的、特定个数的唯一身份标识作为唯一样本身份标识。
请继续参照图5,在一些可选的实施方式中,在获取当前所写入的待写入数据的随机程度,并判断随机程度是否超过预设值的过程中,判断模块510具体可以用于:基于每次对预设数据大小的待写入数据的写入,获取一次当前所写入的待写入数据的随机程度,并判断随机程度是否超过预设值。
请继续参照图5,在一些可选的实施方式中,预设值可以包括对应于每次获取随机程度的若干子预设值。若干子预设值随获取随机程度的次数的增加而递减。
应理解的是,该装置与上述的数据的随机写入方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作***(operating system,OS)中的软件功能模块。
基于同样的发明构思,请参见图6,图6是本申请实施例提供的电子设备600的结构示意图。电子设备600可以包括存储器611、存储控制器612、处理器613、外设接口614、输入输出单元615、显示单元616。本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对电子设备600的结构造成限定。例如,电子设备600还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。
上述的存储器611、存储控制器612、处理器613、外设接口614、输入输出单元615及显示单元616各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器613用于执行存储器中存储的可执行模块。
其中,存储器611可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器611用于存储程序,所述处理器613在接收到执行指令后,执行所述程序,本申请实施例任意一个实施例揭示的过程定义的电子设备600所执行的方法可以应用于处理器613中,或者由处理器613实现。
上述的处理器613可能是一种集成电路芯片,具有信号的处理能力。上述的处理器613可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述的外设接口614将各种输入/输出装置耦合至处理器613以及存储器611。在一些实施例中,外设接口614,处理器613以及存储控制器612可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
上述的输入输出单元615用于提供给用户输入数据。所述输入输出单元615可以是,但不限于,鼠标和键盘等。
上述的显示单元616在电子设备600与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
本实施例中的电子设备600可以用于执行本申请实施例提供的各个方法中的各个步骤。
本申请实施例还提供了一种存储介质,该存储介质包括计算可读存储介质。该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上的方法。
其中,计算机可读存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
综上所述,本申请各个实施例所提供的数据的随机写入方法、装置、电子设备及存储介质的有益效果为:根据随机程度是否达到预设值更新写入该待写入数据的所需的地址映射表,使得写入的数据在地址空间中分布更加均匀,地址映射表的变动更小,进而缩短了数据随机写入过程中所消耗的时间。其中,通过用该覆盖个数表征当前所写入的待写入数据的随机程度,实现了对当前所写入的待写入数据的随机程度的表征的基础之上,使得对随机程度的量化更为直观,进而也更加便于根据实际需求设置相应的预设值。通过根据地址映射表的唯一身份标识选取样本地址映射表,并将相应的唯一样本身份标识记录或存储于内存空间,相较于直接将样本地址映射表存储于内存空间而言,减小了内存空间的占用。进而也提高了整个数据随机写入过程的速率。通过对应于依次所获取随机程度的若干子预设值逐渐降低。使得数据写入过程中,前后消耗的时间更加均衡。也就是说,使得数据写入的过程更加平顺。
本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (10)
1.一种数据的随机写入方法,其特征在于,包括:
获取当前所写入的待写入数据的随机程度,并判断所述随机程度是否超过预设值;以及若判定所述随机程度超过预设值,则更新写入所述待写入数据所需的地址映射表;
若判定所述随机程度未超过预设值,则不更新所述地址映射表;
其中,所述地址映射表包含写入所述待写入数据所需的第一逻辑地址与第一物理地址之间的映射关系。
2.根据权利要求1所述的方法,其特征在于,所述获取当前所写入的待写入数据的随机程度,包括:
从所述地址映射表中选取特定个数的样本地址映射表;以及根据当前所写入的待写入数据的第二逻辑地址与所述样本地址映射表中的第一逻辑地址一致性确定所述随机程度。
3.根据权利要求2所述的方法,其特征在于,所述根据当前所写入的待写入数据的第二逻辑地址与所述样本地址映射表中的第一逻辑地址一致性确定所述随机程度,包括:
获取当前所写入的待写入数据的第二逻辑地址与所述样本地址映射表中的第一逻辑地址一致的地址一致个数、所述样本地址映射表中与所述第一逻辑地址一致的所述第二逻辑地址所属的所述样本地址映射表的映射表一致个数以及所述第二逻辑地址的总个数;
计算所述特定个数与所述总个数的乘积、所述乘积与所述一致个数的比值,并以所述比值表征所述随机程度。
4.根据权利要求2所述的方法,其特征在于,其中,所述地址映射表具有唯一身份标识,所述样本地址映射表具有唯一样本身份标识;
所述从所述地址映射表中选取特定个数的样本地址映射表,包括:
从所述唯一身份标识中选取所述特定个数的所述唯一样本身份标识。
5.根据权利要求4所述的方法,其特征在于,所述从所述唯一身份标识中选取所述特定个数的所述唯一样本身份标识,包括:
从将所述待写入数据写入第一个目标物理地址开始,在每一个所述目标物理地址被写入所述待写入数据的情况下,记录一个所述目标物理地址所属的所述地址映射表的所述唯一身份标识;
在所记录所述唯一身份标识达到所述特定个数的情况下停止记录;以及将所记录的、所述特定个数的所述唯一身份标识作为所述唯一样本身份标识。
6.根据权利要求1所述的方法,其特征在于,所述获取当前所写入的待写入数据的随机程度,并判断所述随机程度是否超过预设值,包括:
基于每次对预设数据大小的所述待写入数据的写入,获取一次当前所写入的待写入数据的随机程度,并判断所述随机程度是否超过预设值。
7.根据权利要求6所述的方法,其特征在于,其中,所述预设值包括对应于每次获取所述随机程度的若干子预设值;
所述若干子预设值随获取所述随机程度的次数的增加而递减。
8.一种数据的随机写入装置,其特征在于,包括:判断模块和更新模块;
其中,所述判断模块用于获取当前所写入的待写入数据的随机程度,并判断所述随机程度是否超过预设值;
所述更新模块用于若判定所述随机程度超过预设值,则更新写入所述待写入数据所需的地址映射表;
所述更新模块还用于若判定所述随机程度未超过预设值,则不更新所述地址映射表;
其中,所述地址映射表包含写入所述待写入数据所需的第一逻辑地址与第一物理地址之间的映射关系。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的方法。
10.一种存储介质,其特征在于,所述存储介质包括计算机可读存储介质;所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410160582.3A CN117708000B (zh) | 2024-02-05 | 2024-02-05 | 数据的随机写入方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410160582.3A CN117708000B (zh) | 2024-02-05 | 2024-02-05 | 数据的随机写入方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117708000A CN117708000A (zh) | 2024-03-15 |
CN117708000B true CN117708000B (zh) | 2024-05-07 |
Family
ID=90161044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410160582.3A Active CN117708000B (zh) | 2024-02-05 | 2024-02-05 | 数据的随机写入方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117708000B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6278989B1 (en) * | 1998-08-25 | 2001-08-21 | Microsoft Corporation | Histogram construction using adaptive random sampling with cross-validation for database systems |
CN102279712A (zh) * | 2011-08-10 | 2011-12-14 | 北京百度网讯科技有限公司 | 一种适用于互联网存储***的存储控制方法、***和装置 |
CN103839578A (zh) * | 2012-11-27 | 2014-06-04 | 李欣 | 一种提高基于nand的固态存储器数据保持时间的方法 |
CN105378687A (zh) * | 2014-03-07 | 2016-03-02 | 华为技术有限公司 | 访问文件的方法和相关设备 |
CN109739780A (zh) * | 2018-11-20 | 2019-05-10 | 北京航空航天大学 | 基于页级映射的动态二级缓存闪存转换层地址映射方法 |
CN110265074A (zh) * | 2018-03-12 | 2019-09-20 | 上海磁宇信息科技有限公司 | 一种层次化多重冗余的磁性随机存储器及其运行方法 |
CN115344198A (zh) * | 2022-07-08 | 2022-11-15 | 广州致存科技有限责任公司 | 磁盘的数据读写方法、***、终端设备及存储介质 |
CN115878029A (zh) * | 2022-09-07 | 2023-03-31 | 联芸科技(杭州)股份有限公司 | 用于固态硬盘的地址映射方法及控制*** |
-
2024
- 2024-02-05 CN CN202410160582.3A patent/CN117708000B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6278989B1 (en) * | 1998-08-25 | 2001-08-21 | Microsoft Corporation | Histogram construction using adaptive random sampling with cross-validation for database systems |
CN102279712A (zh) * | 2011-08-10 | 2011-12-14 | 北京百度网讯科技有限公司 | 一种适用于互联网存储***的存储控制方法、***和装置 |
CN103839578A (zh) * | 2012-11-27 | 2014-06-04 | 李欣 | 一种提高基于nand的固态存储器数据保持时间的方法 |
CN105378687A (zh) * | 2014-03-07 | 2016-03-02 | 华为技术有限公司 | 访问文件的方法和相关设备 |
CN110265074A (zh) * | 2018-03-12 | 2019-09-20 | 上海磁宇信息科技有限公司 | 一种层次化多重冗余的磁性随机存储器及其运行方法 |
CN109739780A (zh) * | 2018-11-20 | 2019-05-10 | 北京航空航天大学 | 基于页级映射的动态二级缓存闪存转换层地址映射方法 |
CN115344198A (zh) * | 2022-07-08 | 2022-11-15 | 广州致存科技有限责任公司 | 磁盘的数据读写方法、***、终端设备及存储介质 |
CN115878029A (zh) * | 2022-09-07 | 2023-03-31 | 联芸科技(杭州)股份有限公司 | 用于固态硬盘的地址映射方法及控制*** |
Non-Patent Citations (1)
Title |
---|
Arbitrated Dynamic Ensemble with Abstaining for Time-Series Forecasting on Data Streams;D. Boulegane;《2019 IEEE International Conference on Big Data (Big Data)》;20191231;1040-1045 * |
Also Published As
Publication number | Publication date |
---|---|
CN117708000A (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3992801A1 (en) | Data storage method for flash memory device and flash memory device | |
US20180173621A1 (en) | Unaligned data coalescing | |
US9645924B2 (en) | Garbage collection scaling | |
US7669033B2 (en) | Pretranslating input/output buffers in environments with multiple page sizes | |
US11354192B2 (en) | Data storage devices and methods for firmware failure prevention | |
CN111897743B (zh) | 数据储存装置及逻辑至物理地址映射表的载入方法 | |
KR20210027563A (ko) | 저장 장치 및 그 동작 방법 | |
US11960396B2 (en) | Method and computer program product for performing data writes into a flash memory | |
US11803330B2 (en) | Method and apparatus and computer-readable storage medium for handling sudden power off recovery | |
US20060026328A1 (en) | Apparatus And Related Method For Calculating Parity of Redundant Array Of Disks | |
KR102330394B1 (ko) | 컨트롤러의 작동 방법과 상기 컨트롤러를 포함하는 장치의 작동 방법 | |
CN117708000B (zh) | 数据的随机写入方法、装置、电子设备及存储介质 | |
CN111143240B (zh) | 图像存储方法、***及终端设备 | |
CN111338562A (zh) | 数据存储装置与数据处理方法 | |
CN115237819A (zh) | 一种数据存储、数据读取方法及装置 | |
CN108984117B (zh) | 一种数据读写方法、介质及设备 | |
CN111045961B (zh) | 数据处理方法及使用所述方法的存储控制器 | |
US20070208929A1 (en) | Device information managements systems and methods | |
US20110047328A1 (en) | Size planning method for storage device, and read and access correcting methods thereof | |
CN112015672A (zh) | 一种存储***中数据处理方法、装置、设备及存储介质 | |
CN110543434A (zh) | Nand快闪器件、存储表管理方法、设备和存储介质 | |
CN109901795B (zh) | 一种循环文件***及文件定位方法 | |
CN111913650B (zh) | 一种确定预测窗口期的方法及装置 | |
JP5708053B2 (ja) | 情報処理装置、デフラグメンテーション方法、およびデフラグメンテーションプログラム | |
CN113703671B (zh) | 一种数据块擦除方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |