CN114996173B - 一种管理存储设备写操作的方法和装置 - Google Patents

一种管理存储设备写操作的方法和装置 Download PDF

Info

Publication number
CN114996173B
CN114996173B CN202210929689.0A CN202210929689A CN114996173B CN 114996173 B CN114996173 B CN 114996173B CN 202210929689 A CN202210929689 A CN 202210929689A CN 114996173 B CN114996173 B CN 114996173B
Authority
CN
China
Prior art keywords
storage
garbage collection
blocks
set number
write operation
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
Application number
CN202210929689.0A
Other languages
English (en)
Other versions
CN114996173A (zh
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.)
Hefei Kangxinwei Storage Technology Co Ltd
Original Assignee
Hefei Kangxinwei Storage Technology 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 Hefei Kangxinwei Storage Technology Co Ltd filed Critical Hefei Kangxinwei Storage Technology Co Ltd
Priority to CN202210929689.0A priority Critical patent/CN114996173B/zh
Publication of CN114996173A publication Critical patent/CN114996173A/zh
Application granted granted Critical
Publication of CN114996173B publication Critical patent/CN114996173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

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

Abstract

本发明提供一种管理存储设备写操作的方法和装置,属于数据存储技术领域。其中,该方法包括:确定存储设备中包含的待执行垃圾回收的多个第一存储块;从多个第一存储块中选取设定数量的第二存储块;计算各个第二存储块对应的有效数据量的平均值;针对任一第二存储块,在对该第二存储块进行垃圾回收时,基于所述平均值确定针对第二存储块的外部写操作和垃圾回收写操作的关联指标;通过所述关联指标确定所述存储设备的垃圾回收写操作的速率。采用本发明,可以克服现有方法中关联指标的波动较大,导致管理外部写操作的稳定性偏低的问题。

Description

一种管理存储设备写操作的方法和装置
技术领域
本发明涉及数据存储技术领域,尤其涉及一种管理存储设备写操作的方法和装置。
背景技术
随着信息技术的飞速发展和数据量的剧增,数据存储设备(例如闪存设备等)得到广泛应用。
由于闪存设备的可擦除写入特性,闪存设备包含的存储块可能同时包含有效数据和无效数据,通常需要利用垃圾回收技术分类处理有效数据和无效数据,以获取更多的存储空间。而垃圾回收对存储块的写操作与外部模块对存储块的写操作往往是同时进行的;为了提升用户体验,需要管理针对存储设备的外部写操作的稳定性。
目前管理外部写操作的稳定性的方法,是计算垃圾回收的写性能和外部模块的写性能之间的关联指标,并利用关联指标调节垃圾回收的写操作的数据量和外部模块的写操作的数据量之间的比例。现有方法的关联指标是基于各个单独存储块的有效数据量所确定的,在多个存储块的有效数据量差异较大的情况下,关联指标的波动较大,从而导致外部写操作的稳定性偏低、可靠性较差的问题。
发明内容
有鉴于此,本发明实施例提供一种管理存储设备写操作的方法和装置,能够确定存储设备中包含的待执行垃圾回收的多个第一存储块;从多个所述第一存储块中选取设定数量的第二存储块;计算设定数量的所述第二存储块的有效数据量的总和,得到有效数据量的平均值;在对任一第二存储块进行垃圾回收时,基于平均值确定针对所述第二存储块的外部写操作和垃圾回收写操作的关联指标;通过所述关联指标确定所述存储设备的垃圾回收写操作的速率,从而确定外部写操作的速率。克服了现有方法中所得到的关联指标的波动较大,导致管理外部写操作的稳定性偏低的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种管理存储设备写操作的方法,包括:确定存储设备中包含的待执行垃圾回收的多个第一存储块;从多个所述第一存储块中选取设定数量的第二存储块;计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值;
针对任一所述第二存储块,在对所述第二存储块进行垃圾回收时,基于所述平均值确定针对所述第二存储块的外部写操作和垃圾回收写操作的关联指标;通过所述关联指标确定所述存储设备的垃圾回收写操作的速率。
可选地,所述针对任一所述第二存储块执行垃圾回收操作,进一步包括:在对所述第二存储块进行垃圾回收后,循环执行:从多个所述第一存储块中选取设定数量的第二存储块;计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值。
可选地,从多个所述第一存储块中选取设定数量的第二存储块;包括:获取多个所述第一存储块对应的有效数据量,并基于所述有效数据量针对多个所述第一存储块进行排序;基于排序的结果从多个所述第一存储块中选取设定数量的第二存储块;
针对任一所述第二存储块,在对所述第二存储块进行垃圾回收,包括:
从所述设定数量的第二存储块中,按照所述排序的结果,选取所述有效数据量较小值对应的第二存储块,对所述第二存储块进行垃圾回收。
可选地,所述基于所述平均值确定针对所述第二存储块的外部写操作和垃圾回收写操作的关联指标,包括:获取所述第二存储块的总容量;基于所述总容量与所述平均值的计算关系,确定针对所述第二存储块的外部写操作和垃圾回收写操作的关联指标。
可选地,通过所述关联指标确定所述存储设备的垃圾回收写操作的速率,包括:所述关联指标指示所述外部写操作的速率和所述垃圾回收写操作的速率的比值;基于所述存储设备的总带宽、以及所述关联指标,确定所述存储设备的垃圾回收写操作的速率。
为实现上述目的,根据本发明实施例的第二方面,提供了一种管理存储设备写操作的装置,包括:确定存储块模块、计算平均值模块和管理写操作模块;其中,
所述确定存储块模块,用于确定存储设备中包含的待执行垃圾回收的多个第一存储块;
所述计算平均值模块,用于从多个所述第一存储块中选取设定数量的第二存储块;计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值;
所述管理写操作模块,用于在针对任一所述第二存储块进行垃圾回收时,基于所述平均值确定针对所述第二存储块的外部写操作和垃圾回收写操作的关联指标;通过所述关联指标确定所述存储设备的垃圾回收写操作的速率。
可选地,所述管理存储设备写操作的装置,进一步用于在对所述第二存储块进行垃圾回收后,循环执行:从多个所述第一存储块中选取设定数量的第二存储块;计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值。
可选地,所述管理写操作模块,用于基于所述平均值确定针对所述第二存储块的外部写操作和垃圾回收写操作的关联指标,包括:获取所述第二存储块的总容量;基于所述总容量与所述平均值的计算关系,确定针对所述第二存储块的外部写操作和垃圾回收写操作的关联指标。
为实现上述目的,根据本发明实施例的第三方面,提供了一种的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述管理存储设备写操作的方法。
为实现上述目的,根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述管理存储设备写操作的方法。
上述发明中的一个实施例具有如下优点或有益效果:能够确定存储设备中包含的待执行垃圾回收的多个第一存储块;从多个所述第一存储块中选取设定数量的第二存储块;计算各个所述第二存储块对应的有效数据量的平均值;在对任一第二存储块进行垃圾回收时,基于平均值确定针对所述第二存储块的外部写操作和垃圾回收写操作的关联指标;通过关联指标确定所述存储设备的垃圾回收写操作的速率,从而确定外部写操作的速率。克服了现有方法中关联指标的波动较大,导致管理外部写操作的稳定性偏低的问题。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
在下面结合附图对于示例性实施例的描述中,本发明的更多细节、特征和优点被公开,在附图中:
图1是本发明示例性实施例提供的一种管理存储设备写操作的方法的流程示意图。
图2是本发明示例性实施例提供的一种管理存储设备写操作的方法的流程示意图。
图3是本发明示例性实施例提供的一种管理存储设备写操作的装置的结构示意图。
图4示出了能够用于实现本发明的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
如图1所示,本发明实施例提供了一种管理存储设备写操作的方法,该方法可以包括以下步骤S101至步骤S103。
步骤S101:确定存储设备中包含的待执行垃圾回收的多个第一存储块。
具体地,存储设备为计算机设备包含用于存储数据的部分,计算机设备例如为台式机、笔记本电脑、平板电脑、服务器设备、智能手机等,存储设备例如为归属于闪存类型的SSD(即固态硬盘)、嵌入式多媒体卡(embedded Multi Media Card,eMMC)或通用闪存存储(Universal Flash Storage,UFS)等。
以SSD为例,由于SSD的存储介质为可擦除闪存,在进行数据写操作(例如program)之前需要执行数据擦除操作(即erase);其中,program操作以存储页(page)为单位,而擦除操作以存储块(block)为单位;可以理解的是,一个block包含有多个page。在多次数据擦除与写入之后,SSD中的多个存储块可能同时存在有效数据和无效数据。因此需要利用垃圾回收技术对某一个存储块上的有效数据和无效数据分别处理,从而对存储块进行数据擦除后得到新的可用存储块。
触发对存储块执行垃圾回收的条件可以包含多种,例如检测到存储块的可用空间小于设定阈值、存储块的数据连续性情况等。
进一步地,通过系统获取存储设备中需要进行垃圾回收的多个存储块(即第一存储块),即,确定存储设备中包含的待执行垃圾回收的多个第一存储块。
步骤S102:计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值。
具体地,从多个第一存储块中选取设定数量的第二存储块,例如:通过查询判断出当前有100个第一存储块需要垃圾回收,表示为X0…X99,从100个第一存储块中选取10(即设定数量)个第二存储块,例如表示为Y0…Y9。可以理解的是,设定数量为基于应用场景所设定,本发明的实施例中的第一存储块的数量和设定数量仅为示例。
进一步地,由于垃圾回收的写操作与外部写操作的速率与需要处理的数据量相关,而数据量又与存储块的有效数据量相关,本发明的一个实施例为获取各个第二存储块对应的有效数据量,并计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值。例如某个存储设备(例如固态硬盘)包含100个存储块,每个存储块的容量(最大数据量)为1000MB。在确定需要对多个存储块进行垃圾回收的情况下,例如待执行垃圾回收的存储块的有效数据量分别为510MB 、50MB、470MB、480MB、500MB、490MB、510MB、460MB、530MB、540MB、520MB、550MB…500MB等。进一步地,从多个第一存储块中选取设定数量的第二存储块,例如设定数量为10,则从100个第一存储块中选取10个存储块(选取的10个存储块即第二存储块),并计算10个第二存储块的有效数据量的平均值,例如:选取的10个第二存储块的有效数据量分别为:50MB、460MB、470MB、480MB、490MB、500MB、510MB、520MB、530MB、540MB;则计算有效数据的总和,然后计算总和与设定数量的比值得到平均值为:455MB。进一步地,基于平均值确定针对第二存储块的外部写操作和垃圾回收写操作的关联指标的描述与步骤S103的描述一致,在此不再赘述。
在本发明的一个实施例中,优选地,从多个第一存储块中选取设定数量的第二存储块;包括:获取多个第一存储块对应的有效数据量,并基于有效数据量针对多个第一存储块进行排序;基于排序的结果从多个第一存储块中选取设定数量的第二存储块。例如:待执行垃圾回收的多个第一存储块的有效数据量分别为510MB 、50MB、470MB、480MB、500MB、490MB、510MB、460MB、530MB、540MB、520MB、550MB…590MB等,基于有效数据量对多个第一存储块进行排序(例如按照从小到大的顺序排序),基于排序的结果从多个第一存储块中选取设定数量的第二存储块,例如为:50MB、460MB、470MB、480MB、490MB、500MB、510MB、520MB、530MB、540MB、550MB;进一步地,计算设定数量的各个第二存储块对应的有效数据量的平均值为:455MB。通过先排序后选取第二存储块,提高了选取第二存储块的有序性和效率。进一步地,从所述设定数量的第二存储块中,按照所述排序的结果(例如从小到大),选取所述有效数据量较小值对应的第二存储块(例如:50MB对应的第二存储块),对所述第二存储块进行垃圾回收。可以理解的是,通过对有效数据量从小到大排序,进一步提高了处理效率。同时,排序对平均值的波动、或关联指标影响均较小。
步骤S103:针对任一第二存储块,在对第二存储块进行垃圾回收时,基于平均值确定针对第二存储块的外部写操作和垃圾回收写操作的关联指标;通过所述关联指标确定所述存储设备的垃圾回收写操作的速率。
具体地,在对存储块进行垃圾回收的同时,存储设备还需要处理针对该设备的外部写操作,例如来自于与存储设备关联的计算机设备的主控模块的写操作。对于存储设备来说,外部写操作的速率是衡量存储设备性能的重要指标,同时管理外部写操作的稳定性对于存储设备来说很重要。因此需要通过管理垃圾回收的写速率和外部写操作的写速率的关联关系(例如比值关系)来管理存储设备的外部写操作的稳定性。例如:需要处理的存储块的有效数据量为X,该存储块的总容量为P,外部写操作的速率为H,垃圾回收写操作的速率为G,关联指标R=G/H,又G/H 可以通过X/(P-X)计算得到;各个存储块的总容量P为相同。存储设备的总带宽是固定的,等于H+G。由于总带宽固定,比值波动小,因此使得H的波动小。最终目的也是要使得H的波动小,从而保证外部写操作的速率维持在一定水平,为保持外部写操作的稳定性。由此可见,R(G和H的比值)由X的数值决定。即计算关联指标的方法为:关联指标=存储块有效数据量/(存储块总容量-存储块有效数据量) ;进一步地,由于总带宽是固定数值,关联指标R=G/H,即,所述关联指标指示所述外部写操作的速率和所述垃圾回收写操作的速率的比值;进一步地,根据存储设备的总带宽(等于H+G)、以及计算出的关联指标R(R=G/H),可以计算出G;从而计算出H;即基于所述存储设备的总带宽、以及所述关联指标,确定所述存储设备的垃圾回收写操作的速率。可见,通过所述关联指标确定所述存储设备的垃圾回收写操作的速率;在确定出垃圾回收写操作的速率的基础上,利用确定出的速率进行垃圾回收,根据总带宽即可确定出可以提供给外部写操作的带宽,即可以确定外部写操作的速率,即,通过降低垃圾回收写操作的波动性,降低外部写操作的波动性,从而提高了外部写操作的稳定性。
本发明的实施例中,利用针对任一第二存储块,在对第二存储块进行垃圾回收时,基于平均值确定针对第二存储块的外部写操作和垃圾回收写操作的关联指标;其中,计算关联指标的方法,包括:获取第二存储块的总容量;基于总容量与平均值的计算关系,确定针对第二存储块的外部写操作和垃圾回收写操作的关联指标。即本发明的实施例中所使用的总容量与平均值的关联指标的计算关系为:关联指标=平均值/(存储块总容量-平均值)。
下面举例对比说明现有技术与本发明的实施例计算关联指标的区别:
例如某个存储设备(例如固态硬盘)包含100个存储块,每个存储块的容量(最大数据量)为1000MB。在确定需要对多个存储块进行垃圾回收的情况下,假设待执行垃圾回收的存储块的有效数据量分别为50MB、460MB、470MB、480MB、490MB、500MB、510MB、520MB、530MB、540MB、550MB等。
根据现有技术中针对存储块确定关联指标的方法:通过某一个单独的存储块的有效数据量计算所得,例如:针对包含有效数据量为50MB的存储块X1,计算X1对应的关联指标R1=50/(1000-50);得到R1=0.0526;类似地,很对包含有效数据量为460MB的存储块X2,计算X2对应的关联指标R2=0.8519;显而易见,R2与R1之间的差值较大,计算R2与R1的增长百分比为(0.8519-0.0526)/0.0526=1519.58%,波动很大。由此可见,现有技术中计算关联指标的方法使得利用多个关联指标之间存在波动范围较大的问题,由此导致利用多个关联指标确定外部写操作的稳定性偏低的问题。
本发明的一个实施例中,选取设定数量(例如10个)第二存储块(即需要执行垃圾回收操作的存储块),例如选取的10个第二存储块的有效数据分别为:50MB、460MB、470MB、480MB、490MB、500MB、510MB、520MB、530MB、540MB;进一步地计算10个第二存储块对应的有效数据量的平均值,具体地,为包含有效数据量为50MB的存储块X1计算平均值(例如平均值为平均值,以Xa1代表)得到:Xa1=(50+460+470+480...+530+540)/10=455,进一步地计算X1对应的关联指标R1=455/(1000-455)=0.8349;又例如选取设定数量(例如10个)第二存储块为,460MB、470MB、480MB、490MB、500MB、510MB、520MB、530MB、540MB、550MB,则为包含有效数据量为460MB的存储块X2是计算平均值Xa2=(460+470+480...+530+540+550)/10=505;可以理解的是,在对X1或X2执行垃圾回收操作之后,X1、X2对应的有效数据量发生变更,可以重新作为需要进行垃圾回收的第一存储块;因此可以循环执行上述步骤;触发循环的条件可以为触发垃圾回收的条件、或者按照设定时间间隔等;即,在对所述第二存储块进行垃圾回收后,循环执行从多个所述第一存储块中选取设定数量的第二存储块;计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值的步骤。进一步地,计算X2对应的关联指标R2=505/(1000-505)=1.0202,通过计算可知R2对应于R1增长百分比为(1.0202-0.8349)/ 0.8349=22.19%,与现有技术的方法得到的1519.58%增长百分比进行比较,可知数值较小,即波动数值较小。由此可见,通过本发明实施例的方法降低了垃圾回收写操作以及外部写操作的速率的波动性。
本实施例中,能够确定存储设备中包含的待执行垃圾回收的多个第一存储块;从多个第一存储块中选取设定数量的第二存储块;计算各个第二存储块对应的有效数据量的平均值;在对任一第二存储块进行垃圾回收时,基于平均值确定针对第二存储块的外部写操作和垃圾回收写操作的关联指标;通过关联指标确定存储设备的垃圾回收写操作的速率,从而确定外部写操作的速率。克服了现有方法中所得到的关联指标的波动较大,导致管理外部写操作的稳定性偏低的问题。
如图2所示,本发明实施例提供了一种管理存储设备写操作的流程,该流程可以包括以下步骤S201至步骤S205。
步骤S201:确定存储设备中包含的待执行垃圾回收的多个第一存储块。
步骤S202:从多个第一存储块中选取设定数量的第二存储块;计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值。
步骤S203:针对任一第二存储块,在对第二存储块进行垃圾回收时,基于平均值确定针对第二存储块的外部写操作和垃圾回收写操作的关联指标。
步骤S204:通过关联指标确定存储设备的垃圾回收写操作的速率。
步骤S205:在对第二存储块的垃圾回收完成后,并判断是否存在未处理垃圾回收的第一存储块,如果存在,则返回步骤S202,循环执行,直到所有需要处理垃圾回收的存储块均被处理,则结束流程。
步骤S201-步骤S205的描述即为确定存储设备中包含的待执行垃圾回收的多个第一存储块;从多个所述第一存储块中选取设定数量的第二存储块;计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值;针对任一所述第二存储块,在对所述第二存储块进行垃圾回收时,基于所述平均值确定针对所述第二存储块的外部写操作和垃圾回收写操作的关联指标;通过所述关联指标确定所述存储设备的垃圾回收写操作的速率。
关于循环执行从多个未处理待垃圾回收的第一存储块中选取设定数量的第二存储块、以及计算各个第二存储块对应的有效数据量的平均值、以及基于平均值确定针对第二存储块的外部写操作和垃圾回收写操作的关联指标的描述与步骤S103的描述一致,在此不再赘述。
本实施例中,能够确定存储设备中包含的待执行垃圾回收的多个第一存储块;从多个第一存储块中选取设定数量的第二存储块;计算各个第二存储块对应的有效数据量的平均值;在对任一第二存储块进行垃圾回收时,基于平均值确定针对第二存储块的外部写操作和垃圾回收写操作的关联指标;通过关联指标确定存储设备的垃圾回收写操作的速率。克服了现有方法中所得到的关联指标的波动较大,导致管理外部写操作的稳定性偏低的问题。
本发明实施例提供了一种管理存储设备写操作的装置,该装置用于实现上述管理存储设备写操作的方法。如图3所示的示意性框图,基于管理存储设备写操作的装置300包括:确定存储块模块301,计算平均值模块302,管理写操作模块303。其中,
所述确定存储块模块301,用于确定存储设备中包含的待执行垃圾回收的多个第一存储块。
所述计算平均值模块302,用于从多个所述第一存储块中选取设定数量的第二存储块;计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值。
所述管理写操作模块303,用于在针对任一所述第二存储块进行垃圾回收时,基于所述平均值确定针对所述第二存储块的外部写操作和垃圾回收写操作的关联指标;通过所述关联指标确定所述存储设备的垃圾回收写操作的速率。
本实施例中,能够确定存储设备中包含的待执行垃圾回收的多个第一存储块;从多个第一存储块中选取设定数量的第二存储块;计算各个第二存储块对应的有效数据量的平均值;在对任一第二存储块进行垃圾回收时,基于平均值确定针对第二存储块的外部写操作和垃圾回收写操作的关联指标;通过关联指标确定存储设备的垃圾回收写操作的速率。克服了现有方法中所得到的关联指标的波动较大,导致管理外部写操作的稳定性偏低的问题。
本发明示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本发明实施例的方法。
本发明示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
本发明示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
参考图4,现将描述可以作为本发明的电子设备400的结构框图,其是可以应用于本发明的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,数据中心服务器、笔记本电脑、瘦客户机、膝上型计算机、台式计算机、工作站、个人数字助理、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
电子设备400中的多个部件连接至I/O接口405,包括:输入单元406、输出单元407、存储单元408以及通信单元409。输入单元406可以是能向电子设备400输入信息的任何类型的设备,输入单元406可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元407可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元408可以包括但不限于磁盘、光盘。通信单元409允许电子设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理。例如,在一些实施例中,上述管理存储设备写操作的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到电子设备400上。在一些实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为上述管理存储设备写操作的方法。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本发明使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

Claims (8)

1.一种管理存储设备写操作的方法,其特征在于,包括:
确定存储设备中包含的待执行垃圾回收的多个第一存储块;
从多个所述第一存储块中选取设定数量的第二存储块;
计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值;
针对任一所述第二存储块,在对所述第二存储块进行垃圾回收时,获取所述第二存储块的总容量;基于所述总容量与所述平均值的计算关系,确定针对所述第二存储块的外部写操作和垃圾回收写操作的关联指标,其中,所述计算关系为:关联指标=平均值/(第二存储块的总容量-平均值),所述关联指标指示外部写操作和垃圾回收写操作的速率的比值;
通过所述关联指标确定所述存储设备的垃圾回收写操作的速率。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
在对所述第二存储块进行垃圾回收后,循环执行从多个所述第一存储块中选取设定数量的第二存储块;计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值的步骤。
3.根据权利要求1所述的方法,其特征在于,
所述从多个所述第一存储块中获取设定数量的第二存储块;包括:
获取多个所述第一存储块对应的有效数据量,并基于所述有效数据量针对多个所述第一存储块进行排序;基于排序的结果从多个所述第一存储块中选取设定数量的第二存储块;
针对任一所述第二存储块,对所述第二存储块进行垃圾回收,包括:
从所述设定数量的第二存储块中,按照所述排序的结果,选取所述有效数据量最小值对应的第二存储块,对所述第二存储块进行垃圾回收。
4.根据权利要求1所述的方法,其特征在于,
所述通过所述关联指标确定所述存储设备的垃圾回收写操作的速率,包括:
基于所述存储设备的总带宽、以及所述关联指标,确定所述存储设备的垃圾回收写操作的速率。
5.一种管理存储设备写操作的装置,其特征在于,包括:确定存储块模块、计算平均值模块和管理写操作模块;其中,
所述确定存储块模块,用于确定存储设备中包含的待执行垃圾回收的多个第一存储块;
所述计算平均值模块,用于从多个所述第一存储块中选取设定数量的第二存储块;计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值;
所述管理写操作模块,用于在针对任一所述第二存储块进行垃圾回收时,获取所述第二存储块的总容量;基于所述总容量与所述平均值的计算关系,确定针对所述第二存储块的外部写操作和垃圾回收写操作的关联指标,其中,所述计算关系为:关联指标=平均值/(第二存储块的总容量-平均值),所述关联指标指示外部写操作和垃圾回收写操作的速率的比值;通过所述关联指标确定所述存储设备的垃圾回收写操作的速率。
6.根据权利要求5所述的装置,其特征在于,所述装置,进一步用于在对所述第二存储块进行垃圾回收后,循环执行从多个所述第一存储块中选取设定数量的第二存储块;计算设定数量的所述第二存储块对应的有效数据量的总和,基于所述总和以及所述设定数量,计算出有效数据量的平均值的步骤。
7.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
8.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一所述的方法。
CN202210929689.0A 2022-08-04 2022-08-04 一种管理存储设备写操作的方法和装置 Active CN114996173B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210929689.0A CN114996173B (zh) 2022-08-04 2022-08-04 一种管理存储设备写操作的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210929689.0A CN114996173B (zh) 2022-08-04 2022-08-04 一种管理存储设备写操作的方法和装置

Publications (2)

Publication Number Publication Date
CN114996173A CN114996173A (zh) 2022-09-02
CN114996173B true CN114996173B (zh) 2022-11-18

Family

ID=83023078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210929689.0A Active CN114996173B (zh) 2022-08-04 2022-08-04 一种管理存储设备写操作的方法和装置

Country Status (1)

Country Link
CN (1) CN114996173B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610596B (zh) * 2023-07-19 2023-10-03 合肥康芯威存储技术有限公司 一种存储器件及其数据处理方法
CN116610597B (zh) * 2023-07-20 2023-10-17 合肥康芯威存储技术有限公司 一种存储器件及其垃圾回收的控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356248A (zh) * 2022-03-18 2022-04-15 苏州浪潮智能科技有限公司 一种数据处理方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2511325A (en) * 2013-02-28 2014-09-03 Ibm Cache allocation in a computerized system
CN105528301A (zh) * 2015-12-07 2016-04-27 中国人民解放军信息工程大学 一种NAND Flash闪存垃圾回收方法
KR102457400B1 (ko) * 2017-11-16 2022-10-21 삼성전자주식회사 가비지 컬렉션 방법, 이를 수행하는 저장 장치 및 이를 포함하는 컴퓨팅 시스템
CN109977032A (zh) * 2017-12-28 2019-07-05 北京忆恒创源科技有限公司 垃圾数据回收控制方法及其装置
CN111949558B (zh) * 2019-05-16 2023-11-21 兆易创新科技集团股份有限公司 一种垃圾数据回收方法、装置和存储设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356248A (zh) * 2022-03-18 2022-04-15 苏州浪潮智能科技有限公司 一种数据处理方法和装置

Also Published As

Publication number Publication date
CN114996173A (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
CN114996173B (zh) 一种管理存储设备写操作的方法和装置
CN111090628B (zh) 一种数据处理方法、装置、存储介质及电子设备
CN110209348B (zh) 数据存储方法、装置、电子设备及存储介质
CN115495025B (zh) 一种管理异常存储块的方法和装置
US10049034B2 (en) Information processing apparatus
CN112540731B (zh) 数据的追加写方法、装置、设备、介质和程序产品
CN114817651B (zh) 数据存储方法、数据查询方法、装置和设备
CN112612853A (zh) 基于数据库集群的数据处理方法、装置及电子设备
CN113961510A (zh) 一种文件处理方法、装置、设备及存储介质
CN111209257B (zh) 一种文件系统碎片化的方法及装置
CN115509953A (zh) 内存回收方法及其装置
CN105224418A (zh) 一种数据备份方法和装置
CN110851398B (zh) 垃圾数据的回收处理方法、装置及电子设备
CN113900910A (zh) 应用程序监控方法、装置、存储介质和电子设备
CN112887426B (zh) 信息流的推送方法、装置、电子设备以及存储介质
CN115543859A (zh) 多分区ssd的磨损均衡优化方法、装置、设备及介质
CN112631517B (zh) 数据存储方法、装置、电子设备和存储介质
CN113836157A (zh) 获取数据库增量数据的方法和装置
CN113747423A (zh) 云手机状态同步方法、装置、设备、存储介质及程序产品
CN114880164B (zh) 一种管理存储页的方法和装置
CN117056133B (zh) 一种基于分布式物联网架构的数据备份方法、装置及介质
CN105468603A (zh) 数据选择方法及装置
CN115586871B (zh) 面向云计算场景的数据追加写方法、装置、设备以及介质
CN114879916B (zh) 一种管理存储单元的方法和装置
CN111078718B (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