CN115757192A - 一种存储块的回收方法以及相关装置 - Google Patents

一种存储块的回收方法以及相关装置 Download PDF

Info

Publication number
CN115757192A
CN115757192A CN202111033548.2A CN202111033548A CN115757192A CN 115757192 A CN115757192 A CN 115757192A CN 202111033548 A CN202111033548 A CN 202111033548A CN 115757192 A CN115757192 A CN 115757192A
Authority
CN
China
Prior art keywords
storage
granularity
block
data
logic unit
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.)
Pending
Application number
CN202111033548.2A
Other languages
English (en)
Inventor
陈朝阳
兰国语
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111033548.2A priority Critical patent/CN115757192A/zh
Priority to PCT/CN2022/096184 priority patent/WO2023029624A1/zh
Publication of CN115757192A publication Critical patent/CN115757192A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种存储块的回收方法以及相关装置,用于加快该分布式存储系统中垃圾数据的回收速度。应用于包括存储引擎和分布式存储设备的分布式存储系统,其中,该存储块回收装置获取该存储引擎创建的第一逻辑单元的回收粒度;然后该存储回收装置根据该回收粒度确定该第一逻辑单元的待回收存储区域内的处于可回收状态的第一存储块;最后该存储回收装置将该第一存储块标记为能够用于数据存储的空闲块,并将该第一存储块在该分布式存储设备中的对应的第二存储块标记为能够用于数据存储的空闲块。

Description

一种存储块的回收方法以及相关装置
技术领域
本申请涉及存储技术领域,尤其涉及一种存储块的回收方法以及相关装置。
背景技术
随着计算机技术和网络技术的飞速发展,磁盘容量和数据总线带宽的增长速度无法满足海量数据的存储需求。因此海量数据的存储逐渐成为互联网技术发展急需解决的问题,为解决这一问题提出了分布式存储系统技术。
目前的分布式存储系统架构可以如图1所示,其提供客户端、存储引擎以及分布式存储设备。其中,在客户端,用户可以看到存储空间,用户可以在该存储空间进行数据存储;然后该存储引擎将客户端待存储的数据写入该存储引擎创建的逻辑单元中,然后再通过追加写接口将写入该逻辑单元中的数据采用不同的冗余存储方式存储在分布式存储设备中。在上述分布式存储系统中,为了提高存储资源的利用率,可以通过垃圾回收(garbagecollection,GC)机制,将该逻辑单元中用于存储数据的空间进行回收,以释放相应的存储资源,用于继续存储其他的数据。
而目前通常是需要将逻辑单元上的有效数据进行整体迁移之后,再将该逻辑单元进行回收,以释放相应的存储资源,这样导致数据回收速度较慢。
发明内容
本申请实施例提供了一种存储块的回收方法以及相关装置,用于加快该分布式存储系统中垃圾数据的回收速度。
第一方面,本申请实施例提供一种存储块的回收方法,应用于包括存储引擎和分布式存储设备的分布式存储系统,其中,该存储块回收装置获取该存储引擎创建的第一逻辑单元的回收粒度;然后该存储回收装置根据该回收粒度确定该第一逻辑单元的待回收存储区域内的处于可回收状态的第一存储块;最后该存储回收装置将该第一存储块标记为能够用于数据存储的空闲块,并将该第一存储块在该分布式存储设备中的对应的第二存储块标记为能够用于数据存储的空闲块。
应用理解的是,该第一逻辑单元中的待回收存储区域为写入的数据被标记为垃圾数据的存储区域。比如该第一逻辑单元的大小为128兆字节(MB),其中,该从存储位移为4MB的开始直到存储位移为25MB的存储区域内写入的数据被标记为垃圾数据,则该存储位移为4MB的开始直到存储位移为25MB的存储区域为待回收存储区域。
本实施例中,该存储块回收装置根据该存储引擎在创建逻辑单元时确定的回收粒度对该存储块实现存储资源回收,并直接将处于可回收状态的存储块标记为空闲块,从而无需将待回收的存储块中的有效数据存储至其他存储空间之后,才能对该存储资源进行回收,从而加快该分布式存储系统中垃圾数据的回收速度。
可选的,该存储块回收装置在获取该第一逻辑单元的回收粒度时具体方式如下:该存储块回收装置获取该第一逻辑单元的冗余存储模块;然后根据该冗余存储模式确定该第一逻辑单元的回收粒度。
基于该方案,该存储块回收装置在根据该冗余存储模式确定该第一逻辑单元的回收粒度的方式可以包括如下几种可能实现方式:
一种可能实现方式中,该第一逻辑单元的冗余存储模式为副本冗余时,该存储块回收装置根据该副本冗余在该分布式存储设备中的最小写入粒度为该第一逻辑单元的回收粒度。即若在该分布式存储设备中的最小写入粒度为1MB时,则该第一逻辑单元的回收粒度则为1MB。
另一种可能实现方式中,该第一逻辑单元的冗余存储模式纠错码(erasure code,EC)算法冗余时,该存储块回收装置根据该EC算法冗余的条带深度和该分布式存储设备的最小写入粒度确定该第一逻辑单元的回收粒度。具体来说,在该条带深度大于该最小写入粒度时,确定该条带深度与所述EC算法冗余的数据分片数量的乘值为该第一逻辑单元的回收粒度;在该最小写入粒度大于该条带深度时,确定该最小写入粒度与所述EC算法冗余的数据分片数量的乘值为该第一逻辑单元的回收粒度。比如,EC算法冗余模式为EC 4+2,最小写入粒度为1MB,条带深度为2MB,则该第一逻辑单元的回收粒度为8MB。若EC算法冗余模式为EC 4+2,该最小写入粒度为1MB,条带深度为0.5MB,则该第一逻辑单元的粒度4MB。
可选的,该存储块回收装置根据该回收粒度确定该第一逻辑单元的待回收存储区域内的处于可回收状态的第一存储块的具体方式如下:该存储块回收模块按照第一顺序和该回收粒度将该第一逻辑单元划分得到多个中间存储块,其中,该第一顺序为该第一逻辑单元中写数据的过程,由先到后占用存储块的顺序;然后该存储块回收装置获取该多个中间存储块各自的存储位移;在该存储位移指示该多个中间存储块存在位于该待回收存储区域内的中间存储块时,确定位于该待回收存储区域内的中间存储块为处于可回收状态的第一存储块。比如,该第一逻辑单元的大小为128MB,回收粒度为4MB,该存储块回收装置按照该回收粒度将该第一逻辑单元划分为0-4MB、4MB-8MB、8MB-12MB……124MB-128MB的存储块,其中该第一逻辑单元中的待回收存储区域为4MB-25MB,则该存储块回收装置可以确定4MB-8MB、8MB-12MB、12MB-16MB、16MB-20MB、20MB-24MB这五个中间存储块为处于可回收状态的第一存储块。
可选的,该存储块回收装置还可以在该第一逻辑单元无法执行追加写入时,通过第一接口向该第一存储块中写入数据,该第一接口支持中间写入。
第二方面,本申请实施例提供一种存储块回收装置,该装置具有实现上述第一方面中存储块回收装置行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的实现方式中,该装置包括用于执行以上第一方面各个步骤的单元或模块。例如,该装置包括:获取模块,用于获取所述存储引擎创建的第一逻辑单元的回收粒度;确定模块,用于根据所述回收粒度确定所述第一逻辑单元的待回收存储区域内的处于可回收状态的第一存储块;处理模块,用于将所述第一存储块标记为能够用于数据存储的空闲块,并将所述第一存储块在所述分布式存储设备中的对应的第二存储块标记为能够用于数据存储的空闲块。
可选的,还包括存储模块,用于保存存储块回收装置必要的程序指令和数据。
在一种可能的实现方式中,该装置包括:处理器和收发器,该处理器被配置为支持存储块回收装置执行上述第一方面提供的方法中相应的功能。收发器用于指示存储块回收装置与其他装置之间的通信,接收客户装置发送上述方法中所涉及的数据。可选的,此装置还可以包括存储器,该存储器用于与处理器耦合,其保存存储块回收装置必要的程序指令和数据。
在一种可能的实现方式中,当该装置为存储块回收装置内的芯片时,该芯片包括:处理模块和收发模块,该收发模块例如可以是该芯片上的输入/输出接口、管脚或电路等,获取所述存储引擎创建的第一逻辑单元的回收粒度,并将这些信息传送给与此芯片耦合的其他芯片或模块中;该处理模块例如可以是处理器,此处理器用于根据所述回收粒度确定所述第一逻辑单元的待回收存储区域内的处于可回收状态的第一存储块;将所述第一存储块标记为能够用于数据存储的空闲块,并将所述第一存储块在所述分布式存储设备中的对应的第二存储块标记为能够用于数据存储的空闲块。该处理模块可执行存储单元存储的计算机执行指令,以支持存储块回收装置执行上述第一方面提供的方法。可选地,该存储单元可以为该芯片内的存储单元,如寄存器、缓存等,该存储单元还可以是位于该芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
在一种可能实现方式中,该装置包括通信接口和逻辑电路,该通信接口用于获取所述存储引擎创建的第一逻辑单元的回收粒度;该逻辑电路,用于根据所述回收粒度确定所述第一逻辑单元的待回收存储区域内的处于可回收状态的第一存储块;将所述第一存储块标记为能够用于数据存储的空闲块,并将所述第一存储块在所述分布式存储设备中的对应的第二存储块标记为能够用于数据存储的空闲块。
其中,上述任一处提到的处理器,可以是一个通用中央处理器(CentralProcessing Unit,CPU),微处理器,特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制上述各方面数据传输方法的程序执行的集成电路。
第三方面,本申请实施例提供一种计算机可读存储介质,该计算机存储介质存储有计算机指令,该计算机指令用于执行上述各方面中任意一方面任意可能的实施方式所述的方法。
第四方面,本申请实施例提供一种包含指令的计算机程序,当其在计算机上运行时,使得计算机执行上述各方面中任意一方面所述的方法。
第五方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持存储块回收装置实现上述方面中所涉及的功能,例如生成或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,该芯片系统还包括存储器,该存储器,用于保存存储块回收装置必要的程序指令和数据,以实现上述各方面中任意一方面的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
附图说明
图1为分布式存储系统的一个示例性系统架构图;
图2为副本冗余存储模式的一个示例性架构图;
图3为EC 4+2冗余存储模式的一个示例性架构图;
图4为本申请实施例中存储块的回收方法的一个实施例示意图;
图5a为本申请实施例中分布式存储系统写入数据的一个示例性流程图;
图5b为本申请实施例中分布式存储系统修改数据的一个示例性流程图;
图6a为本申请实施例中存储引擎回收数据的一个示例性流程图;
图6b为本申请实施例中分布式存储设备回收数据的一个示例性流程图;
图7为本申请实施例中已回收空间的再次写入的一个示例性流程图;
图8为本申请实施例中存储块回收装置的一个实施例示意图;
图9为本申请实施例中存储块回收装置的另一个实施例示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的单元的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分布到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本申请方案的目的。
为了便于理解,下面对分布式存储系统进行相应的描述:
如图1所示的一个示例性方案中,该分布式存储系统包括客户端、存储引擎以及分布式存储设备。在客户端,用户可以看到存储空间(也可以称为文件系统,如D盘),用户可以在该存储空间进行数据存储;然后该存储引擎将客户端写入该存储空间的待存储的数据写入该存储引擎创建的逻辑单元中;然后再通过追加写接口将写入该逻辑单元中的数据采用不同的冗余存储方式存储在分布式存储设备中。
其中,该冗余存储模式包括副本冗余或者EC算法冗余。如图2所示为副本冗余的一个示例性方案。即在该逻辑单元内写的数据A在写入分布式存储设备时,可以将该数据A复制为三份,数据A1、数据A2和数据A3,然后将该三份数据分别存储在本地存储1、本地存储2以及本地存储3。
如图3所示为EC算法冗余的一个示例性方案,以EC4+2为例进行说明,数据可以分片为4个节点加2个存储校验数据的节点。其中,用于存储数据的节点分别对应(本地存储1至本地存储4),用于存储校验数据的节点分别对应(本地存储5至本地存储6)。即在该逻辑单元内写的数据A在写入分布式存储设备时,可以将该数据A以预定的分条深度进行分片,即将数据A分片为数据1、数据2、数据3和数据4;同时另外根据数据1、数据2、数据3和数据4计算生成2份校验数据。然后将该6分数据分布存储在本地存储1至本地存储6中。可以理解的是,该条带深度用于指示该EC算法冗余中各个数据分片的大小。例如,假设该EC4+2的条带深度为1MB,需要向该分布式存储设备中写入4MB的数据,则将数据分别在本地存储1至本地存储4中写入1MB的数据,本地存储5至本地存储6写入根据这4MB数据计算得到的校验数据。
在该分布式存储系统中,为了提高存储资源的利用率,可以通过垃圾回收(Garbage Collection,GC)机制,将该逻辑单元中用于存储数据的空间进行回收,以释放相应的存储资源,用于继续存储其他的数据。而目前通常是需要将逻辑单元上的有效数据进行整体迁移之后,再将该逻辑单元进行回收,以释放相应的存储资源,这样导致数据回收速度较慢。
为了解决这一问题,本申请实施例提供如下一种存储块的回收方法,应用于包括存储引擎和分布式存储设备的分布式存储系统,其中,该存储块回收装置获取该存储引擎创建的第一逻辑单元的回收粒度;然后该存储回收装置根据该回收粒度确定该第一逻辑单元的待回收存储区域内的处于可回收状态的第一存储块;最后该存储回收装置将该第一存储块标记为能够用于数据存储的空闲块,并将该第一存储块在该分布式存储设备中的对应的第二存储块标记为能够用于数据存储的空闲块。
本申请实施例的技术方案各个设备之间的通信还可以采用各种通信系统,例如:全球移动通讯(Global System of Mobile Communication,GSM)系统、码分多址(CodeDivision Multiple Access,CDMA)系统、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)系统、长期演进(Long Term Evolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal Mobile Telecommunication System,UMTS)、5G通信系统、以及未来的无线通信系统等。
本申请中该分布式存储系统中的客户端可以是用户设备,其中本申请结合用户设备描述了各个实施例。用户设备(User Equipment,UE)也可以指终端设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。接入终端可以是蜂窝电话、无绳电话、会话启动协议(SessionInitiation Protocol,SIP)电话、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的终端设备或者未来演进的PLMN网络中的终端设备等。
下面结合具体图示对本申请实施例的存储块的回收方法进行说明,如图4所示,本申请实施例中存储块的回收方法的一个实施例包括:
401、该存储块回收装置获取该存储引擎创建的第一逻辑单元的回收粒度。
本实施例中,用户通过该分布式存储系统进行数据存储时,该分布式存储系统中的存储引擎将会创建该第一逻辑单元,该第一逻辑单元用于存储数据。该存储引擎在创建该第一逻辑单元时确定该第一逻辑单元的冗余存储模式。然后该存储块回收装置可以根据该第一逻辑单元的冗余存储模式确定该第一逻辑单元的回收粒度。具体可以如下:
一种可能实现方式中,该第一逻辑单元的冗余存储模式为副本冗余时,该存储块回收装置根据该副本冗余在该分布式存储设备中的最小写入粒度为该第一逻辑单元的回收粒度。即若在该分布式存储设备中的最小写入粒度为1MB时,则该第一逻辑单元的回收粒度则为1MB。
另一种可能实现方式中,该第一逻辑单元的冗余存储模式为EC算法冗余时,该存储块回收装置根据该EC算法冗余的条带深度和该分布式存储设备的最小写入粒度确定该第一逻辑单元的回收粒度。具体来说,在该条带深度大于该最小写入粒度时,确定该条带深度与所述EC算法冗余的数据分片数量的乘值为该第一逻辑单元的回收粒度;在该最小写入粒度大于该条带深度时,确定该最小写入粒度与所述EC算法冗余的数据分片数量的乘值为该第一逻辑单元的回收粒度。比如,EC算法冗余模式为EC 4+2,最小写入粒度为1MB,条带深度为2MB,则该第一逻辑单元的回收粒度为8MB。若EC算法冗余模式为EC 4+2,该最小写入粒度为1MB,条带深度为0.5MB,则该第一逻辑单元的粒度4MB。
402、该存储回收装置根据该回收粒度确定该第一逻辑单元的待回收存储区域内的处于可回收状态的第一存储块。
本实施例中,该第一逻辑单元的待回收存储区域为存储已标记为垃圾数据的存储区域。在分布式存储系统的数据存储过程,在第一时刻,该分布式存储系统将该第一数据写入该分布式存储系统中存储引擎创建的第一逻辑单元;若在第二时刻,该分布式存储系统将该第一数据进行修改得到修改数据,则该修改数据将会被写入该存储引擎创建的另一个逻辑单元,此时该第一数据则可以被确认为垃圾数据,而存储该第一数据的存储区域可以确认为待回收存储区。
一种示例性方案中,分布式存储系统中写入数据的具体过程可以如图5a所示。假设该存储引擎为键值(key value,KV)存储引擎,则在该用户通过客户端写入该第一数据(该第一数据包括lba和length。其中,lba用于指示该用户在客户端看到的卷的起始位置,比如D盘;该length用于指示该第一数据的长度)时,通过一个哈希hash表存储写入该第一数据的key和value,其中,该key用于指示该第一数据的lba,该value用于指示写入该第一数据的日志文件和存储位移(即offset);然后该存储引擎寻找一个未写满的逻辑单元,调用分布式层的追加写接口根据该hash表中存储的映射关系将该第一数据写入该逻辑单元中。同时提供该逻辑单元至分布式存储设备之间的冗余存储模式,然后将该逻辑单元中的第一数据按照该冗余存储模式写入该分布式存储设备中,同时该存储引擎创建的逻辑单元中还可以存储用于指示该第一数据写入该分布式存储设备中的存储位置的元数据。当该第一数据修改为第二数据时,其具体操作可以如图5b所示。该KV存储引擎将生成2个请求,一个是写入请求,即写入修改后的第二数据,另一个是删除请求,即将第一数据确认为垃圾数据,需要将该第一数据进行删除。这时在该第二数据写入成功这后,将原来写入第一数据的位置在hash表中标记为垃圾,并放入垃圾hash表中。应理解的是,该存储引擎除了KV存储引擎,也可以是其他存储引擎,只要可以实现分布式存储即可。
而该存储块回收装置在该待回收存储区域中确定处于可回收状态的第一存储块的方式可以如下:
该存储块回收模块按照第一顺序和该回收粒度将该第一逻辑单元划分得到多个中间存储块,其中,该第一顺序为该第一逻辑单元中写数据的过程,由先到后占用存储块的顺序;然后该存储块回收装置获取该多个中间存储块各自的存储位移;在该存储位移指示该多个中间存储块存在位于该待回收存储区域内的中间存储块时,确定位于该待回收存储区域内的中间存储块为处于可回收状态的第一存储块。比如,该第一逻辑单元的大小为128MB,回收粒度为4MB,该存储块回收装置按照该回收粒度将该第一逻辑单元划分为0-4MB、4MB-8MB、8MB-12MB……124MB-128MB的存储块,其中该第一逻辑单元中的待回收存储区域为4MB-25MB,则该存储块回收装置可以确定4MB-8MB、8MB-12MB、12MB-16MB、16MB-20MB、20MB-24MB这五个中间存储块为处于可回收状态的第一存储块。
403、该存储回收装置将该第一存储块标记为能够用于数据存储的空闲块,并将该第一存储块在该分布式存储设备中的对应的第二存储块标记为能够用于数据存储的空闲块。
本实施例中,在该第一存储块确认为可以回收的存储块之后,该存储块回收装置向该分布式存储系统发出回收指令,回收该第一存储块以及该第一存储块在分布式存储设备中对应的第二存储块,最后将该第一存储块和该第二存储块标记为能够用于数据存储的空闲块。
本实施例中,该分布式存储系统在确定该第一存储块符合按照指定粒度进行回收之后,直接将该第一存储块采用标记位进行标记,从而标记为已回收的空间,同时将该第二存储块也标记为已回收空间。如图6a所示,在分布式存储系统进行垃圾数据回收时,可以从垃圾hash表中,寻找到符合要求的数据,从而生成回收指令。该分布式存储系统根据该回收指令将该第一逻辑单元中的第一存储块标记为已回收空间。同时将第二存储块也标记为已回收空间,即对于本地存储中的与该第一存储块相对应的数据块也标记为已回收空间,如图6b所示。采用这样的方式实现垃圾回收后,第一存储块不再与第二存储块对应,因此,如果遇到要读第一存储块时(非正常)流程时,对外返回全0,即相当于该第一存储块已删除。
可以理解的是,在分布式存储系统的存储引擎中,如果该存储引擎创建的逻辑单元进行了指定粒度的回收,那么该存储引擎创建的逻辑单元中的有效数据就会减少。而分布式存储系统在长时间运行后,会存在大量的标记有“已回收”的逻辑单元,会增加管理负担且增加逻辑单元的数量。因此,需要将该存储引擎创建的逻辑单元的空洞实现重复利用。具体可以下:该存储引擎创建的第一逻辑单元已经写满或者该存储引擎创建的第一逻辑单元已标记为不能再追加写时,若该存储引擎需要写入第二数据时,该存储引擎可以通过第一接口写入该第一逻辑单元中已标记为已回收的空间,其中,该第一接口支持中间写入。这样在写入第二数据后,该存储引擎创建的第一逻辑单元中标记为已回收的空间(如该第一存储块)可以写入数据(即补上了该存储引擎创建的第一逻辑单元的空洞),同时删除标记该存储引擎创建的第一逻辑单元中的已回收的标记。一种示例性方案中,可以如图7所示,当用户有新写入数据时,可从已回收哈希表中,寻找已回收的空间进行写入。写入后,将其从已回收哈希表中删除,添加到有效数据的哈希表中。而在该逻辑单元已完成写入之后,该分布式存储系统中的分布式存储设备可以在该已回收空间对应的数据块(如图7中所示的数据块3)中写入该新数据,并清除该数据块的已回收标记。
上面描述了本申请实施例中存储块的回收方法,可以理解的是,存储块回收装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对存储块回收装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面对本申请中的存储块回收装置进行详细描述,图8为本申请实施例中存储块回收装置的硬件结构示意图。该存储块回收装置可以是本申请实施例中分布式存储系统的一种可能的实现方式。如图8所示,存储块回收装置至少包括处理器804,存储器803,和收发器802,存储器803进一步用于存储指令8031和数据8032。可选的,该存储块回收装置还可以包括天线806,输入/输出(Input/Output,I/O)接口810和总线812。收发器802进一步包括发射器8021和接收器8022。此外,处理器804,收发器802,存储器803和I/O接口810通过总线812彼此通信连接,天线806与收发器802相连。
处理器804可以是通用处理器,例如但不限于,中央处理器(central processingunit,CPU),也可以是专用处理器,例如但不限于,数字信号处理器(digital signalprocessor,DSP),应用专用集成电路(application specific integrated circuit,ASIC)和现场可编程门阵列(field programmable gate array,FPGA)等。该处理器804还可以是神经网络处理单元(neural processing unit,NPU)。此外,处理器804还可以是多个处理器的组合。特别的,在本申请实施例提供的技术方案中,处理器804可以用于执行,后续方法实施例中存储块的回收方法的相关步骤。处理器804可以是专门设计用于执行上述步骤和/或操作的处理器,也可以是通过读取并执行存储器803中存储的指令8031来执行上述步骤和/或操作的处理器,处理器804在执行上述步骤和/或操作的过程中可能需要用到数据8032。
收发器802包括发射器8021和接收器8022,在一种可选的实现方式中,发射器8021用于通过天线806发送信号。接收器8022用于通过天线806之中的至少一根天线接收信号。特别的,在本申请实施例提供的技术方案中,发射器8021具体可以用于通过天线806之中的至少一根天线执行,例如,后续方法实施例中存储块的回收方法应用于存储块回收装置时,存储块回收装置中接收模块或收发模块所执行的操作。
在本申请实施例中,收发器802用于支持存储块回收装置执行前述的接收功能和发送功能。将具有处理功能的处理器视为处理器804。接收器8022也可以称为输入口、接收电路等,发射器8021可以称为发射器或者发射电路等。
处理器804可用于执行该存储器803存储的指令,以控制收发器802接收消息和/或发送消息,完成本申请方法实施例中存储块回收装置的功能。作为一种实现方式,收发器802的功能可以考虑通过收发电路或者收发的专用芯片实现。本申请实施例中,收发器802接收消息可以理解为收发器802输入消息,收发器802发送消息可以理解为收发器802输出消息。
存储器803可以是各种类型的存储介质,例如随机存取存储器(random accessmemory,RAM),只读存储器(read only memory,ROM),非易失性RAM(non-volatile RAM,NVRAM),可编程ROM(programmable ROM,PROM),可擦除PROM(erasable PROM,EPROM),电可擦除PROM(electrically erasable PROM,EEPROM),闪存,光存储器和寄存器等。存储器803具体用于存储指令8031和数据8032,处理器804可以通过读取并执行存储器803中存储的指令8031,来执行本申请方法实施例中该的步骤和/或操作,在执行本申请方法实施例中操作和/或步骤的过程中可能需要用到数据8032。
可选的,该存储块回收装置还可以包括I/O接口810,该I/O接口810用于接收来自外围设备的指令和/或数据,以及向外围设备输出指令和/或数据。
请参阅图9,图9为本申请实施例中存储块回收装置的一种实施例示意图。存储块回收装置900包括:获取模块901,用于获取所述存储引擎创建的第一逻辑单元的回收粒度;
确定模块902,用于根据所述回收粒度确定所述第一逻辑单元的待回收存储区域内的处于可回收状态的第一存储块;
处理模块903,用于将所述第一存储块标记为能够用于数据存储的空闲块,并将所述第一存储块在所述分布式存储设备中对应的第二存储块标记为能够用于数据存储的空闲块。
可选的,所述获取模块901,具体用于获取所述第一逻辑单元的冗余存储模式;根据所述冗余存储模块确定所述第一逻辑单元的回收粒度。
可选的,所述冗余存储模式为副本冗余,所述获取模块901,具体用于确定所述副本冗余在所述分布式存储设备中的最小写入粒度为所述第一逻辑单元的回收粒度。
可选的,所述冗余存储模式为纠错码EC算法冗余,所述获取模块901,具体用于根据所述EC算法冗余的条带深度和所述分布式存储设备的最小写入粒度确定所述第一逻辑单元的回收粒度。
可选的,所述获取模块901,具体用于用于在所述条带深度大于所述最小写入粒度时,确定所述条带深度与所述EC算法冗余的数据分片数量的乘值为所述第一逻辑单元的回收粒度;
在所述最小写入粒度大于所述条带深度时,确定所述最小写入粒度与所述EC算法冗余的数据分片数量的乘值为所述第一逻辑单元的回收粒度。
可选的,所述确定模块902,具体用于按照第一顺序和所述回收粒度将所述第一逻辑单元划分得到多个中间存储块,所述第一顺序为向所述第一逻辑单元中写数据的过程中,由先到后占用存储块的顺序;获取所述多个中间存储块各自对应的存储位移;在所述存储位移指示所述多个中间存储块存在位于所述待回收存储区域内的中间存储块时,确定位于所述待回收存储区域内的中间存储块为处于可回收状态的第一存储块。
可选的,所述存储块回收装置还包括写入模块904,在所述第一逻辑单元无法执行追加写入时,所述写入模块904,用于通过第一接口向所述第一存储块中写入数据,所述第一接口支持中间写入。
上述实施例中的存储块回收装置可以是应用于存储块回收装置中的芯片或者其他可实现上述存储块回收装置的组合器件、部件等。该存储块回收装置中收发模块可以是收发器,处理模块可以是处理器,例如芯片等。当存储块回收装置是芯片系统时,收发模块中用于接收的部分可以是芯片系统的输入端口,收发模块中用于发送的部分可以是芯片系统的输出接口、处理模块可以是芯片系统的处理器,例如:中央处理器(centralprocessing unit,CPU)。
在本申请实施例中,该存储块回收装置所包括的存储器主要用于存储软件程序和数据,例如存储上述实施例中所描述的程序等。该存储块回收装置还具有以下功能:
处理器,用于获取所述存储引擎创建的第一逻辑单元的回收粒度;根据所述回收粒度确定所述第一逻辑单元的待回收存储区域内的处于可回收状态的第一存储块;将所述第一存储块标记为能够用于数据存储的空闲块,并将所述第一存储块在所述分布式存储设备中对应的第二存储块标记为能够用于数据存储的空闲块。
可选的,所述处理器,具体用于用于获取所述第一逻辑单元的冗余存储模式;根据所述冗余存储模块确定所述第一逻辑单元的回收粒度。
可选的,所述冗余存储模式为副本冗余,所述处理器,具体用于确定所述副本冗余在所述分布式存储设备中的最小写入粒度为所述第一逻辑单元的回收粒度。
可选的,所述冗余存储模式为纠错码EC算法冗余,所述处理器,具体用于根据所述EC算法冗余的条带深度和所述分布式存储设备的最小写入粒度确定所述第一逻辑单元的回收粒度。
可选的,所述处理器,具体用于在所述条带深度大于所述最小写入粒度时,确定所述条带深度与所述EC算法冗余的数据分片数量的乘值为所述第一逻辑单元的回收粒度;
在所述最小写入粒度大于所述条带深度时,确定所述最小写入粒度与所述EC算法冗余的数据分片数量的乘值为所述第一逻辑单元的回收粒度。
可选的,所述处理器,具体用于按照第一顺序和所述回收粒度将所述第一逻辑单元划分得到多个中间存储块,所述第一顺序为向所述第一逻辑单元中写数据的过程中,由先到后占用存储块的顺序;获取所述多个中间存储块各自对应的存储位移;在所述存储位移指示所述多个中间存储块存在位于所述待回收存储区域内的中间存储块时,确定位于所述待回收存储区域内的中间存储块为可回收状态的第一存储块。
可选的,所述处理器,用于在所述第一逻辑单元无法执行追加写入时,通过第一接口向所述第一存储块中写入数据,所述第一接口支持中间写入。
本申请实施例还提供了一种处理装置。处理装置包括处理器和接口;该处理器,用于执行上述任一方法实施例的存储块的回收方法。
应理解,上述处理装置可以是一个芯片,该处理器可以通过硬件实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
其中,“通过硬件实现”是指通过不具有程序指令处理功能的硬件处理电路来实现上述模块或者单元的功能,该硬件处理电路可以通过分立的硬件元器件组成,也可以是集成电路。为了减少功耗、降低尺寸,通常会采用集成电路的形式来实现。硬件处理电路可以包括专用集成电路(application-specific integrated circuit,ASIC),或者可编程逻辑器件(programmable logic device,PLD);其中,PLD又可包括现场可编程门阵列(fieldprogrammable gate array,FPGA)、复杂可编程逻辑器件(complex programmable logicdevice,CPLD)等等。这些硬件处理电路可以是单独封装的一块半导体芯片(如封装成一个ASIC);也可以跟其他电路(如CPU、DSP)集成在一起后封装成一个半导体芯片,例如,可以在一个硅基上形成多种硬件电路以及CPU,并单独封装成一个芯片,这种芯片也称为SoC,或者也可以在硅基上形成用于实现FPGA功能的电路以及CPU,并单独封闭成一个芯片,这种芯片也称为可编程片上系统(system on a programmable chip,SoPC)。
本申请实施例还提供的一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机控制存储块回收装置执行如前述方法实施例所示任一项实现方式。
本申请实施例还提供的一种计算机程序产品,计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行如前述方法实施例所示任一项实现方式。
本申请实施例还提供一种芯片系统,包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行计算机程序,使得芯片执行如前述方法实施例所示任一项实现方式。
本申请实施例还提供一种芯片系统,包括处理器,处理器用于调用并运行计算机程序,使得芯片执行如前述方法实施例所示任一项实现方式。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、第一网络设备或第二网络设备、计算设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、第一网络设备或第二网络设备、计算设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的第一网络设备或第二网络设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者存储块回收装置等)执行本申请各个实施例方法的全部或部分步骤。
总之,以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (18)

1.一种存储块的回收方法,应用于包括存储引擎和分布式存储设备的分布式存储系统,其特征在于,包括:
获取所述存储引擎创建的第一逻辑单元的回收粒度;
根据所述回收粒度确定所述第一逻辑单元的待回收存储区域内的处于可回收状态的第一存储块;
将所述第一存储块标记为能够用于数据存储的空闲块,并将所述第一存储块在所述分布式存储设备中对应的第二存储块标记为能够用于数据存储的空闲块。
2.根据权利要求1所述的方法,其特征在于,所述获取所述存储引擎创建的第一逻辑单元的回收粒度包括:
获取所述第一逻辑单元的冗余存储模式;
根据所述冗余存储模式确定所述第一逻辑单元的回收粒度。
3.根据权利要求2所述的方法,其特征在于,所述冗余存储模式为副本冗余,所述根据所述冗余存储模式确定所述第一逻辑单元的回收粒度包括:
确定所述副本冗余在所述分布式存储设备中的最小写入粒度为所述第一逻辑单元的回收粒度。
4.根据权利要求2所述的方法,其特征在于,所述冗余存储模式为纠错码EC算法冗余,所述根据所述冗余存储模块确定所述第一逻辑单元的回收粒度包括:
根据所述EC算法冗余的条带深度和所述分布式存储设备的最小写入粒度确定所述第一逻辑单元的回收粒度。
5.根据权利要求4所述的方法,其特征在于,所述根据所述EC算法冗余的条带深度和所述分布式存储设备的最小写入粒度确定所述第一逻辑单元的回收粒度包括:
在所述条带深度大于所述最小写入粒度时,确定所述条带深度与所述EC算法冗余的数据分片数量的乘值为所述第一逻辑单元的回收粒度;
在所述最小写入粒度大于所述条带深度时,确定所述最小写入粒度与所述EC算法冗余的数据分片数量的乘值为所述第一逻辑单元的回收粒度。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述回收粒度确定所述第一逻辑单元的待回收存储区域内处于可回收状态的第一存储块包括:
按照第一顺序和所述回收粒度将所述第一逻辑单元划分得到多个中间存储块,所述第一顺序为向所述第一逻辑单元中写数据的过程中,由先到后占用存储块的顺序;
获取所述多个中间存储块各自对应的存储位移;
在所述存储位移指示所述多个中间存储块存在位于所述待回收存储区域内的中间存储块时,确定位于所述待回收存储区域内的中间存储块为处于可回收状态的第一存储块。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一逻辑单元无法执行追加写入时,通过第一接口向所述第一存储块中写入数据,所述第一接口支持中间写入。
8.一种存储块回收装置,其特征在于,包括:
获取模块,用于获取所述存储引擎创建的第一逻辑单元的回收粒度;
确定模块,用于根据所述回收粒度确定所述第一逻辑单元的待回收存储区域内的处于可回收状态的第一存储块;
处理模块,用于将所述第一存储块标记为能够用于数据存储的空闲块,并将所述第一存储块在所述分布式存储设备中对应的第二存储块标记为能够用于数据存储的空闲块。
9.根据权利要求8所述的存储块回收装置,其特征在于,所述获取模块,具体用于获取所述第一逻辑单元的冗余存储模式;根据所述冗余存储模块确定所述第一逻辑单元的回收粒度。
10.根据权利要求9所述的存储块回收装置,其特征在于,所述冗余存储模式为副本冗余,所述获取模块,具体用于确定所述副本冗余在所述分布式存储设备中的最小写入粒度为所述第一逻辑单元的回收粒度。
11.根据权利要求9所述的存储块回收装置,其特征在于,所述冗余存储模式为纠错码EC算法冗余,所述获取模块,具体用于根据所述EC算法冗余的条带深度和所述分布式存储设备的最小写入粒度确定所述第一逻辑单元的回收粒度。
12.根据权利要求11所述的存储块回收装置,其特征在于,所述获取模块,具体用于在所述条带深度大于所述最小写入粒度时,确定所述条带深度与所述EC算法冗余的数据分片数量的乘值为所述第一逻辑单元的回收粒度;
在所述最小写入粒度大于所述条带深度时,确定所述最小写入粒度与所述EC算法冗余的数据分片数量的乘值为所述第一逻辑单元的回收粒度。
13.根据权利要求8至12中任一项所述的存储块回收装置,其特征在于,所述确定模块,具体用于按照第一顺序和所述回收粒度将所述第一逻辑单元划分得到多个中间存储块,所述第一顺序为向所述第一逻辑单元中写数据的过程中,由先到后占用存储块的顺序;获取所述多个中间存储块各自对应的存储位移;在所述存储位移指示所述多个中间存储块存在位于所述待回收存储区域内的中间存储块时,确定位于所述待回收存储区域内的中间存储块为处于可回收状态的第一存储块。
14.根据权利要求8至13中任一项所述的存储块回收装置,其特征在于,所述存储块回收装置还包括写入模块,在所述第一逻辑单元无法执行追加写入时,所述写入模块,用于通过第一接口向所述第一存储块中写入数据,所述第一接口支持中间写入。
15.一种存储块回收装置,其特征在于,包括处理器和存储器,所述处理器与所述存储器耦合,
所述存储器,用于存储程序;
所述处理器,用于执行所述存储器中的程序,使得所述存储块回收装置执行如权利要求1至7中任一项所述的方法。
16.一种计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得计算机执行如权利要求1至7中任意一项所述的方法。
17.一种计算机可读存储介质,其特征在于,包括程序,当所述程序在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的方法。
18.一种芯片系统,其特征在于,所述芯片系统包括一个或多个处理器和存储器,所述存储器中存储有程序指令,当所述程序指令在所述一个或多个处理器中执行时,使得如权利要求1至7中任一项所述的方法被执行。
CN202111033548.2A 2021-09-03 2021-09-03 一种存储块的回收方法以及相关装置 Pending CN115757192A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111033548.2A CN115757192A (zh) 2021-09-03 2021-09-03 一种存储块的回收方法以及相关装置
PCT/CN2022/096184 WO2023029624A1 (zh) 2021-09-03 2022-05-31 一种存储块的回收方法以及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111033548.2A CN115757192A (zh) 2021-09-03 2021-09-03 一种存储块的回收方法以及相关装置

Publications (1)

Publication Number Publication Date
CN115757192A true CN115757192A (zh) 2023-03-07

Family

ID=85332599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111033548.2A Pending CN115757192A (zh) 2021-09-03 2021-09-03 一种存储块的回收方法以及相关装置

Country Status (2)

Country Link
CN (1) CN115757192A (zh)
WO (1) WO2023029624A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9612967B1 (en) * 2015-09-25 2017-04-04 Dell Products, L.P. Cache load balancing by reclaimable block migration
CN110399310B (zh) * 2018-04-18 2021-08-31 杭州宏杉科技股份有限公司 一种存储空间的回收方法及装置
CN108776614B (zh) * 2018-05-03 2021-08-13 华为技术有限公司 存储块的回收方法和装置
CN111007985B (zh) * 2019-10-31 2021-10-22 苏州浪潮智能科技有限公司 一种存储系统空间回收的兼容处理方法、系统及设备
CN113176858B (zh) * 2021-05-07 2022-12-13 锐捷网络股份有限公司 数据处理方法、存储系统及存储设备

Also Published As

Publication number Publication date
WO2023029624A1 (zh) 2023-03-09

Similar Documents

Publication Publication Date Title
KR102050723B1 (ko) 컴퓨팅 시스템 및 그 데이터 관리 방법
CN107786638B (zh) 一种数据处理方法、装置及系统
CN108989432B (zh) 用户态的文件发送方法、文件接收方法和文件收发装置
CN109150642B (zh) 应用内存错误检测方法、检测装置及存储介质
US11029867B2 (en) Apparatus and method for transmitting map information and read count in memory system
EP3974969A1 (en) System startup method and related device
CN113568566A (zh) 利用索引物件来进行简易存储服务无缝迁移的方法、主装置以及存储服务器
CN110998537A (zh) 一种过期备份处理方法及备份服务器
CN111355791A (zh) 文件传输方法、装置、计算机设备和存储介质
CN110888603A (zh) 高并发数据写入方法、装置、计算机设备及存储介质
WO2015027902A1 (en) Method, computing device, and computer program product for storing file index
CN112394874A (zh) 一种键值kv的存储方法、装置及存储设备
CN115989475A (zh) 快闪存储器局部清除
CN108228340B (zh) 终端控制方法及装置、终端设备及计算机可读存储介质
CN111831691A (zh) 一种数据读写方法及装置、电子设备、存储介质
CN115757192A (zh) 一种存储块的回收方法以及相关装置
CN112817962A (zh) 基于对象存储的数据存储方法、装置和计算机设备
US20230142948A1 (en) Techniques for managing context information for a storage device
CN108121504B (zh) 数据删除方法及装置
CN108920108B (zh) 冷数据的筛选方法、装置、计算机设备及存储介质
CN107765992B (zh) 一种处理数据的方法和装置
CN115422135A (zh) 数据处理方法以及装置
CN115509972A (zh) 实现dma高效收发报文的方法及应用
CN115827778A (zh) 一种数据获取方法、装置、电子设备及存储介质
CN115268767A (zh) 数据处理方法以及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication