数据存储方法与装置制造方法及图纸

技术编号:29458021 阅读:13 留言:0更新日期:2021-07-27 17:25
本申请提供一种数据存储方法与装置,涉及数据存储技术。以上一次写入数据的单位存储区域相邻的下一个单位存储区域的首地址,作为起始存储地址,将待存储数据写入到至少一个单位存储区域中。在写入有待存储数据且存在剩余存储空间的单位存储区域,填充可压缩数据。最后以至少一个单位存储区域中的每个单位存储区域中的数据为一个单位读写数据,将每个单位读写数据从逻辑地址空间写入固态硬盘的物理地址空间,其中,位于物理地址空间的每个单位读写数据处于压缩状态,如此,占用固态硬盘的物理地址空间的仅包括待存储数据,也不会造成数据的写放大,使得固态硬盘的擦写次数也会更晚的到达预设的阈值,延长了固态硬盘的使用寿命。

Data storage method and device

【技术实现步骤摘要】
数据存储方法与装置
本申请涉及数据存储技术,尤其涉及一种数据存储方法与装置。
技术介绍
固态硬盘(SolidStateDrives,SSD),简称SSD或固盘,是用固态电子存储芯片阵列而制成的硬盘,包括控制单元和存储单元(FLASH芯片、DRAM芯片),是当前主流的用于存储数据的存储设备。在利用固态硬盘存储数据时,若固态硬盘的物理地址空间中存储数据的数据量大于预设的数据量阈值,则需要对已存储数据进行重新擦写,以清理已存储数据中过时的数据。对于固态硬盘而言,允许的擦写次数是有限的,当固态硬盘的擦写次数大于预设的阈值时,固态硬盘的存储功能就会失效。目前,主机向固态硬盘的写入数据的主流方式为:当接收到数据1时,需要将逻辑地址空间上一次写入数据的单位存储区域中的已存储的数据2(数据2在上一次已被写到固态硬盘的物理地址空间存储)重新读出,将数据1和数据2合并为目标存储数据。然后,再以上一次写入数据的单位存储区域的首地址为起始存储地址,根据目标存储数据的数据长度,将目标存储数据写入至少一个单位存储区域中。最后,将逻辑地址空间的至少一个单位存储区域中的目标存储数据写入到固态硬盘的物理地址空间中。可见,在上述的向固态硬盘的写入数据方式中,上述的数据2会被重复写入固态硬盘的物理地址空间中。在普通的固态硬盘中,这种写入方式就会造成数据的写放大问题,从而会加快固态硬盘的物理地址空间的耗用,进而使得固态硬盘的擦写次数更早的到达预设的阈值,这样会导致固态硬盘的寿命缩短。
技术实现思路
本申请提供一种数据存储方法与装置,用以解决部分数据会被重复写入固态硬盘的物理地址空间中,从而造成的数据写放大问题。第一方面,本申请提供一种数据存储方法,应用于主机,所述主机为固态硬盘分配有逻辑地址空间,所述逻辑地址空间包括有多个单位存储区域,所述方法包括:获取待存储数据;以上一次写入数据的单位存储区域相邻的下一个单位存储区域的首地址,作为起始存储地址,将所述待存储数据写入到至少一个单位存储区域中;在写入有所述待存储数据且存在剩余存储空间的单位存储区域,填充可压缩数据;以所述至少一个单位存储区域中的每个所述单位存储区域中的数据为一个单位读写数据,将每个所述单位读写数据从所述逻辑地址空间写入所述固态硬盘的物理地址空间,其中,位于所述物理地址空间的每个单位读写数据处于压缩状态。第二方面,本申请还提供一种数据存储装置,应用于主机,所述主机为固态硬盘分配有逻辑地址空间,所述逻辑地址空间包括有多个单位存储区域,所述装置包括:数据获取单元,用于获取待存储数据;数据写入单元,用于以上一次写入数据的单位存储区域相邻的下一个单位存储区域的首地址,作为起始存储地址,将所述待存储数据写入到至少一个单位存储区域中;数据填充单元,用于在写入有所述待存储数据且存在剩余存储空间的单位存储区域,填充可压缩数据;所述数据写入单元,还用于以所述至少一个单位存储区域中的每个所述单位存储区域中的数据为一个单位读写数据,将每个所述单位读写数据从所述逻辑地址空间写入所述固态硬盘的物理地址空间,其中,位于所述物理地址空间的每个单位读写数据处于压缩状态。第三方面,本申请还提供一种电子设备,包括:存储器,处理器;存储器;用于存储所述处理器可执行指令的存储器;其中,处理器被配置为执行如本申请第一方面提供的数据存储方法。第四方面,本申请还提供一种所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如本申请第一方面提供的数据存储方法。第五方面,本申请还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如本申请第一方面提供的数据存储方法。本申请提供的数据存储方法与装置,以上一次写入数据的单位存储区域相邻的下一个单位存储区域的首地址,作为起始存储地址,将待存储数据写入到至少一个单位存储区域中。进而,无需将上一次写入数据中的单位存储区域中的已存储数据再重新读出来写入,避免了数据的重复写入。在写入有待存储数据且存在剩余存储空间的单位存储区域,填充可压缩数据,以使得待存储数据和可压缩数据能够构成一个单位读写数据。最后以至少一个单位存储区域中的每个单位存储区域中的数据为一个单位读写数据,将每个单位读写数据从逻辑地址空间写入固态硬盘的物理地址空间,其中,位于所述物理地址空间的每个单位读写数据处于压缩状态。在单位读写数据处于压缩状态时,单位读写数据中的可压缩数据被压缩,如此,占用固态硬盘的物理地址空间的仅包括待存储数据,也不会造成数据的写放大。如此,减少了固态硬盘的物理地址空间中存储数据的数据量大于预设的数量阈值的次数。进而,使得固态硬盘的擦写次数也会更晚的到达预设的阈值,延长了固态硬盘的使用寿命。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。图1为本申请实施例提供的主机和固态硬盘的交互示意图。图2为本申请实施例提供的数据存储方法的流程图。图3为本申请实施例提供的待存储数据被存储到逻辑地址空间的数据分布状态示意图。图4为单位存储区域的地址长度大于或等于待存储数据的数据长度的情况下,待存储数据被存储到逻辑地址空间的数据分布状态示意图。图5为本申请实施例提供的单位存储区域的地址长度小于待存储数据的数据长度的情况下,待存储数据被存储到逻辑地址空间的数据分布状态示意图。图6为本申请实施例提供的数据存储装置的功能模块框图。图7为本申请实施例提供的电子设备的电路连接框图。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。首先对本申请所涉及的名词进行解释:逻辑地址空间:是指在计算机体系结构中是指应用程序角度看到的内存单元(memorycell)、存储单元(storageelement)、网络主机(networkhost)的地址空间。逻辑地址空间的逻辑地址往往不同于物理地址(physicaladdress),通过地址翻译器(addresstranslator)或映射函数可以把逻辑地址转化为物理地址。物理地址空间:在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址构成的存储空间,称为物理地址空间。单位存储区域:逻辑地址空间中被写入物理地址空间中最小的数据量占用的存储区域。下面以具本文档来自技高网...

【技术保护点】
1.一种数据存储方法,其特征在于,应用于主机,所述主机为固态硬盘分配有逻辑地址空间,所述逻辑地址空间包括有多个单位存储区域,所述方法包括:/n获取待存储数据;/n以上一次写入数据的单位存储区域相邻的下一个单位存储区域的首地址,作为起始存储地址,将所述待存储数据写入到至少一个单位存储区域中;/n在写入有所述待存储数据且存在剩余存储空间的单位存储区域,填充可压缩数据;/n以所述至少一个单位存储区域中的每个所述单位存储区域中的数据为一个单位读写数据,将每个所述单位读写数据从所述逻辑地址空间写入所述固态硬盘的物理地址空间,其中,位于所述物理地址空间的每个单位读写数据处于压缩状态。/n

【技术特征摘要】
1.一种数据存储方法,其特征在于,应用于主机,所述主机为固态硬盘分配有逻辑地址空间,所述逻辑地址空间包括有多个单位存储区域,所述方法包括:
获取待存储数据;
以上一次写入数据的单位存储区域相邻的下一个单位存储区域的首地址,作为起始存储地址,将所述待存储数据写入到至少一个单位存储区域中;
在写入有所述待存储数据且存在剩余存储空间的单位存储区域,填充可压缩数据;
以所述至少一个单位存储区域中的每个所述单位存储区域中的数据为一个单位读写数据,将每个所述单位读写数据从所述逻辑地址空间写入所述固态硬盘的物理地址空间,其中,位于所述物理地址空间的每个单位读写数据处于压缩状态。


2.根据权利要求1所述的方法,其特征在于,所述以上一次写入数据的单位存储区域相邻的下一个单位存储区域的首地址,作为起始存储地址,将所述待存储数据写入到至少一个单位存储区域中,包括:
在上一次写入数据的单位存储区域的数据写放大参数大于预设的阈值的情况下,以上一次写入数据的单位存储区域相邻的下一个单位存储区域的首地址,作为起始存储地址,将所述待存储数据写入到至少一个单位存储区域中。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在上一次写入数据的单位存储区域的数据写入放大参数小于或等于预设的阈值的情况下,以所述上一次写入数据的单位存储区域的剩余存储空间的首地址,作为起始存储地址,将所述待存储数据存储到至少一个单位存储区域中。


4.根据权利要求3所述的方法,其特征在于,所述数据写入放大参数为上一次写入数据的单位存储区域的已存储的数据量;或者,所述数据写入放大参数为上一次写入数据的单位存储区域的已存储的数据量与所述待存储数据的数据量之和相对所述待存储数据的数据量的比值。


5.根据权利要求1所述的方法,其特征在于,所述将所述待存储数据写入到至少一个单位存储区域中,包括:
在所述单位存储区域的地址长度大于或等于所述待存储数据的数据长度的情况下,根据上一次写入数据的单位存储区域相邻的下一个单位存储区域的首地址,将所述待存储数据存储于所述相邻的下一个单位存储区域。


6.根据权利要求1所述的方法,其特征在于,所述将所述待...

【专利技术属性】
技术研发人员:郑宁许树堃金戈罗小波
申请(专利权)人:锐掣杭州科技有限公司
类型:发明
国别省市:浙江;33

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

1