CN115904264B - 一种存储系统中块的垃圾数据回收方法、装置以及介质 - Google Patents
一种存储系统中块的垃圾数据回收方法、装置以及介质 Download PDFInfo
- Publication number
- CN115904264B CN115904264B CN202310233006.2A CN202310233006A CN115904264B CN 115904264 B CN115904264 B CN 115904264B CN 202310233006 A CN202310233006 A CN 202310233006A CN 115904264 B CN115904264 B CN 115904264B
- Authority
- CN
- China
- Prior art keywords
- blocks
- block
- bit error
- error rate
- storage system
- 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
Images
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
Abstract
本发明公开了一种存储系统中块的垃圾数据回收方法、装置以及介质,应用于存储系统技术领域。本方法先根据存储系统的块的状态确定待回收的块并获取存储系统的系统性能参数,然后根据系统性能参数设定各批次回收的回收强度参数。最后根据回收强度参数按批次回收块。系统性能参数包括待回收的块的数量、用户的写速度以及负载要求。回收强度参数包括各批次回收的块的数量、各批次回收之间的时间间隔。本发明通过分批次对块进行垃圾回收,并设定了各批次回收的回收强度参数,从而提高了块的垃圾回收效率,降低了块在垃圾回收池中等待时间过长而发生错误的可能性。可见,本发明提供的方案避免了纠错失败的情况以及提高了盘的数据可靠性。
Description
技术领域
本发明涉及存储系统技术领域,特别是涉及一种存储系统中块的垃圾数据回收方法、装置以及介质。
背景技术
在日常生活中,无时无刻不在产生大量数据,这些数据的存储对存储系统的性能提出了越来越高的要求。固态硬盘(Solid State Disk,SSD)因其读写速度快、体积小、功耗低而被广泛采用。Nand闪存存储的机理是通过量子隧道效应,电子跃迁到浮栅层并保留在其中,从而实现数据存储。将电子吸出,即实现了数据擦除。在计算机闪存设备NAND的使用中存在两种现象,一是随着数据保存期(Data Retention)的增长,电子有一定概率离开浮栅层;二是随着读干扰(Read Disturb)的增长,电子会进入到浮栅层。上述两种现象都会导致比特翻转,若此时仍然用正常电压读取NAND则会出错,在数据保存期和读干扰到达一定值后甚至会出现纠错失败的情况。当前的解决方案是对盘进行强制垃圾回收(ForceGarbage Collection,Force GC),当一个块(block)的数据保存期和读干扰即将到达阈值后会触发强制垃圾回收流程,将这些块加入到强制垃圾回收池(Force GC pool)中等待进行垃圾回收。
但是,如上的处理方式容易产生一个问题,若同一时间需要回收的块的数量过大,则会导致系统处理工作强度大,严重的情况下会导致系统停机,从而无法对块进行高效率的垃圾回收。而块在强制垃圾回收池中等待时间过长可能会发生比特翻转,甚至导致纠错失败的情况,极大降低了盘的数据可靠性。
由此可见,如何避免纠错失败的情况以及提高盘的数据可靠性,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种存储系统中块的垃圾数据回收方法、装置以及介质,以避免纠错失败的情况以及提高盘的数据可靠性。
为解决上述技术问题,本发明提供一种存储系统中块的垃圾数据回收方法,包括:
根据所述存储系统的所述块的状态确定待回收的所述块;
获取所述存储系统的系统性能参数;其中,所述系统性能参数包括以下至少之一:待回收的所述块的数量、用户的写速度以及负载要求;
根据所述系统性能参数设定各批次回收的回收强度参数;其中,所述回收强度参数包括以下至少之一:各批次回收的所述块的数量、各批次回收之间的时间间隔;
根据所述回收强度参数按批次回收所述块。
优选地,所述根据所述回收强度参数按批次回收所述块之前,还包括:
读各待回收的所述块的页以获取待回收的所述块的比特错误率,并记录各待回收的所述块的所述比特错误率;
所述根据所述回收强度参数按批次回收所述块包括:
根据记录的所述比特错误率按从高到低的顺序回收所述块。
优选地,所述记录各待回收的所述块的所述比特错误率包括:
将各待回收的所述块的所述比特错误率按顺序建立链表。
优选地,所述记录各待回收的所述块的所述比特错误率包括:
将各待回收的所述块的所述比特错误率按从高到低的顺序建立所述链表。
优选地,所述记录各待回收的所述块的所述比特错误率包括:
根据各待回收的所述块的块号建立所述链表;其中,所述链表的表头为所述比特错误率最高的所述块的块号,所述链表的表尾为所述比特错误率最低的所述块的块号。
优选地,所述记录各待回收的所述块的所述比特错误率之后,还包括:
在垃圾数据回收过程中若出现新的待回收的所述块,则按照插入排序算法将新的待回收的所述块的块号插入到所述链表中对应的位置。
优选地,所述根据所述回收强度参数按批次回收所述块包括:
在回收完当前批次的所述块之后,判断待回收的所述块是否完全回收;
若待回收的所述块未完全回收,则进行下一批次的所述块的回收;
若待回收的所述块已完全回收,则结束。
优选地,所述读各待回收的所述块的页以获取待回收的所述块的比特错误率包括:
读各待回收的所述块的最弱页以获取待回收的所述块的所述比特错误率。
优选地,所述读各待回收的所述块的页以获取待回收的所述块的比特错误率包括:
读各待回收的所述块的所述最弱页的ECC chunk的最高比特错误率以作为待回收的所述块的所述比特错误率。
优选地,所述记录各待回收的所述块的所述比特错误率包括:
将各待回收的所述块的所述比特错误率按从低到高的顺序建立所述链表。
优选地,所述记录各待回收的所述块的所述比特错误率包括:
根据各待回收的所述块的块号建立所述链表;其中,所述链表的表头为所述比特错误率最低的所述块的块号,所述链表的表尾为所述比特错误率最高的所述块的块号。
优选地,所述存储系统的所述块的状态包括:所述块的数据保存期。
优选地,所述根据所述存储系统的所述块的状态确定待回收的所述块包括:
若所述块的所述数据保存期达到第一阈值,则确定对应的所述块为待回收的所述块。
优选地,所述存储系统的所述块的状态包括:所述块的读干扰。
优选地,所述根据所述存储系统的所述块的状态确定待回收的所述块包括:
若所述块的所述读干扰达到第二阈值,则确定对应的所述块为待回收的所述块。
优选地,所述根据所述存储系统的所述块的状态确定待回收的所述块之后,还包括:
若待回收的所述块的数量超过回收数量阈值,则暂停所述存储系统中低优先级的业务。
优选地,所述若待回收的所述块的数量超过回收数量阈值,则暂停所述存储系统中低优先级的业务之后,还包括:
若待回收的所述块的数量恢复正常,则继续所述存储系统中暂停的业务。
为解决上述技术问题,本发明还提供一种存储系统中块的垃圾数据回收装置,包括:
确定模块,用于根据所述存储系统的所述块的状态确定待回收的所述块;
获取模块,用于获取所述存储系统的系统性能参数;其中,所述系统性能参数包括以下至少之一:待回收的所述块的数量、用户的写速度以及负载要求;
设定模块,用于根据所述系统性能参数设定各批次回收的回收强度参数;其中,所述回收强度参数包括以下至少之一:各批次回收的所述块的数量、各批次回收之间的时间间隔;
回收模块,用于根据所述回收强度参数按批次回收所述块。
优选地,存储系统中块的垃圾数据回收装置还包括:读取模块,用于在所述根据所述回收强度参数按批次回收所述块之前,读各待回收的所述块的页以获取待回收的所述块的比特错误率,并记录各待回收的所述块的所述比特错误率;所述根据所述回收强度参数按批次回收所述块包括:根据记录的所述比特错误率按从高到低的顺序回收所述块。
优选地,存储系统中块的垃圾数据回收装置还包括:插入模块,用于在所述记录各待回收的所述块的所述比特错误率之后,在垃圾数据回收过程中若出现新的待回收的所述块,则按照插入排序算法将新的待回收的所述块的块号插入到所述链表中对应的位置。
优选地,存储系统中块的垃圾数据回收装置还包括:暂停模块,用于在所述根据所述存储系统的所述块的状态确定待回收的所述块之后,若待回收的所述块的数量超过回收数量阈值,则暂停所述存储系统中低优先级的业务。
优选地,存储系统中块的垃圾数据回收装置还包括:恢复模块,用于在所述若待回收的所述块的数量超过回收数量阈值,则暂停所述存储系统中低优先级的业务之后,若待回收的所述块的数量恢复正常,则继续所述存储系统中暂停的业务。
为解决上述技术问题,本发明还提供一种存储系统中块的垃圾数据回收装置,包括:存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述存储系统中块的垃圾数据回收方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述存储系统中块的垃圾数据回收方法的步骤。
本发明所提供的一种存储系统中块的垃圾数据回收方法,先根据存储系统的块的状态确定待回收的块,即对应的块触发了垃圾回收,需要对这部分块的数据进行垃圾回收。首先获取存储系统的系统性能参数,然后根据系统性能参数设定各批次回收的回收强度参数。最后根据回收强度参数按批次回收块。其中,系统性能参数包括以下至少之一:待回收的块的数量、用户的写速度以及负载要求。回收强度参数包括以下至少之一:各批次回收的块的数量、各批次回收之间的时间间隔。在实际应用中,需要回收的块的数量可能比较大,导致块的垃圾回收效率低下。因此本发明通过分批次对块进行垃圾回收,并设定了各批次回收的回收强度参数,从而提高了块的垃圾回收效率,使各块的垃圾回收有序进行,降低了块在垃圾回收池中等待时间过长而发生错误的可能性。可见,本发明提供的方案避免了纠错失败的情况以及提高了盘的数据可靠性。
本发明还提供了一种存储系统中块的垃圾数据回收装置和计算机可读存储介质,与上述方法对应,故具有与上述方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种存储系统中块的垃圾数据回收方法的流程图;
图2为本发明实施例提供的一种按比特错误率顺序回收块的方法示例图;
图3为本发明实施例提供的一种存储系统中块的垃圾数据回收方法的具体流程图;
图4为本发明实施例提供的存储系统中块的垃圾数据回收装置的结构图;
图5为本发明另一实施例提供的存储系统中块的垃圾数据回收装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种存储系统中块的垃圾数据回收方法、装置以及介质,以避免纠错失败的情况以及提高盘的数据可靠性。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
在日常生活中,无时无刻不在产生大量数据,这些数据的存储对存储系统的性能提出了越来越高的要求。若发生比特翻转时仍然用正常电压读取NAND则会出错,在数据保存期和读干扰到达一定值后甚至会出现纠错失败的情况。当前的解决方案是对盘进行强制垃圾回收,当一个块的数据保存期和读干扰即将到达阈值后会触发强制垃圾回收流程,将这些块加入到强制垃圾回收池中等待进行垃圾回收。但是,如上的处理方式容易产生一个问题,若同一时间需要回收的块的数量过大,则会导致系统处理工作强度大,严重的情况下会导致系统停机,从而无法对块进行高效率的垃圾回收。而块在强制垃圾回收池中等待时间过长可能会发生比特翻转,甚至导致纠错失败的情况,极大降低了盘的数据可靠性。
为了解决上述技术问题,避免纠错失败的情况的同时提高盘的数据可靠性,本发明实施例提供了一种存储系统中块的垃圾数据回收方法。图1为本发明实施例提供的一种存储系统中块的垃圾数据回收方法的流程图;如图1所示,该方法包括如下步骤:
S10:根据存储系统的块的状态确定待回收的块。
在具体实施中,并不限定根据存储系统的块的状态确定待回收的块的具体方式。因为在计算机闪存设备NAND的使用中存在两种现象,一是随着数据保存期的增长,电子有一定概率离开浮栅层;二是随着读干扰的增长,电子会进入到浮栅层。上述两种现象都会导致比特翻转,若此时仍然用正常电压读取NAND则会出错,在数据保存期和读干扰到达一定值后甚至会出现纠错失败的情况。因此,存储系统的块的状态可包括块的数据保存期以及块的读干扰。对应的,若块的数据保存期或块的读干扰达到一定值,则可确定对应的块为待回收的块,即该块触发了垃圾回收。
S11:获取存储系统的系统性能参数。
在实际应用中,并不限定系统性能参数的具体数量和类型,其中,系统性能参数包括以下至少之一:待回收的块的数量、用户的写速度以及负载要求。本实施例对获取系统性能参数的方式不作要求,根据需求获取不同的系统性能参数,并采取相应的获取方式即可。
S12:根据系统性能参数设定各批次回收的回收强度参数。
在实际应用中,并不限定回收强度参数的具体数量和类型,其中,回收强度参数包括以下至少之一:各批次回收的块的数量、各批次回收之间的时间间隔。在获取存储系统的系统性能参数之后,再根据获取的系统性能参数设定各批次回收的回收强度参数,具体的设定方式也不作限定,这里提供一些具体的示例,但实际应用时并不限于此类方式。当待回收的块的数量较大时,就可以相应增大各批次回收的块的数量以及减少各批次回收之间的时间间隔,若用户的写速度较慢以及系统的负载较重时,也可以控制各批次回收的块的数量在一个较低范围,并设定各批次回收之间的时间间隔更长。需要注意的是,以上方案仅仅是作为示例说明,实际应用时并不限于上述方案,回收强度参数的具体设定方式以实际情况为准。若系统性能参数和回收强度参数的数量和种类不同,则根据系统性能参数设定各批次回收的回收强度参数的方式也需要相应变化。
S13:根据回收强度参数按批次回收块。
在具体实施中,需要回收的块的数量可能比较大,本发明实施例通过按批次回收块来有序的对块进行垃圾回收。在回收完当前批次的块之后,可以判断待回收的块是否完全回收,若待回收的块未完全回收,则进行下一批次的块的回收;若待回收的块已完全回收,则结束。具体的,需要根据系统性能参数设定各批次回收的回收强度参数,并根据回收强度参数回收块。
当触发强制垃圾回收流程且主机端host仍在下发写任务,即SSD写负载较大时,为保证host的写性能,在强制垃圾回收池中的待回收的块会被进行平缓处理,本发明的实现方式是按批次回收块,且每批次块的回收之间间隔一个时间间隔latency。但是,如上的处理方式容易产生一个问题,随着时间间隔latency的累加,后触发强制垃圾回收但比特错误率却更高的块不能及时的被妥善处理,这也可能会导致高比特错误率的块因在强制垃圾回收池中等待时间过长而比特翻转,甚至导致纠错失败的情况,极大降低了盘的数据可靠性。因此本实施例还提供一种优选的方案。图2为本发明实施例提供的一种按比特错误率顺序回收块的方法示例图,如图2所示,该方法包括如下步骤:
S20:读各待回收的块的页以获取待回收的块的比特错误率。
通常情况下,块的最弱页的比特错误率是最高的,因此,可以读各待回收的块的最弱页以获取待回收的块的比特错误率,具体的,可以读各待回收的块的最弱页的错误检查和纠正块(Error Correcting Code chunk,ECC chunk)的最高比特错误率以作为待回收的块的比特错误率。需要注意的是,这里只是提供一种具体的实现方式,在实际应用时,并不限定如何获取块的比特错误率。
S21:记录各待回收的块的比特错误率。
在读各待回收的块的页以获取待回收的块的比特错误率之后,需要将各待回收的块的比特错误率进行记录,以便于后续回收时能够知道各块的比特错误率的大小。实际记录的方式不作要求,可以根据各待回收的块的块号建立一个链表,例如,可将各待回收的块的比特错误率按从高到低的顺序建立链表,则链表的表头为比特错误率最高的块的块号,链表的表尾为比特错误率最低的块的块号。也可将各待回收的块的比特错误率按从低到高的顺序建立链表,则此时链表的表头为比特错误率最低的块的块号,链表的表尾为比特错误率最高的块的块号。
另外,在实际应用中,由于存储系统长期处于工作状态,则在垃圾数据回收过程中会不断出现新的待回收的块,因为链表已经建立完成,则这部分待回收的块需要插入进链表中。同样的,也需要读这部分新的待回收的块的页以获取比特错误率,然后可以按照插入排序算法将新的待回收的块的块号插入到链表中对应的位置,即保持链表中比特错误率从低到高的顺序或者从高到低的顺序。
S22:根据记录的比特错误率按从高到低的顺序回收块。
上文中得到了一个按比特错误率的大小顺序建立的链表之后,可以根据链表对块进行回收,由于链表中块号的顺序即表征了比特错误率的大小关系,则只需要按链表中的顺序进行回收即可。需要注意的是,若实际操作时是以比特错误率按从高到低的顺序建立链表,则从表头的块号对应的块开始回收即可;若是以比特错误率按低从到高的顺序建立链表,则从表尾的块号对应的块开始回收即可。这里不作过多限定,以实际情况为准,核心是为了保证能够按比特错误率从高到低的顺序回收块。
上述示例在强制垃圾回收的场景下,将待回收的块按比特错误率的高低顺序进行排序,按序进行垃圾回收,优化了块的回收顺序,且还可以在垃圾回收过程中动态调整块的回收顺序。通过提出了一种强制回收场景下提升SSD的数据可靠性方法,解决了在强制垃圾回收场景下后触发垃圾回收但是高比特错误率的块得不到优先处理的问题,通过将比特错误率排序并动态调整,按照高比特错误率的块优先被回收的原则进行垃圾回收,降低了高比特错误率的块在垃圾回收池中等待时间过长而发生错误的可能性,提高了盘的数据可靠性。
这里还提供一种具体的实现方案。图3为本发明实施例提供的一种存储系统中块的垃圾数据回收方法的具体流程图;如图3所示,该方法包括如下步骤:S30:数据保存期或读干扰达到阈值。S31:创建垃圾回收池,按比特错误率由高到低建立顺序链表。S32:垃圾回收过程中若有新的块需要被垃圾回收,则执行插入排序算法更新链表。S33:设定各批次回收的块的数量以及各批次回收之间的时间间隔。S34:回收设定数量的块。S35:判断待回收的块是否完全回收;若否,则返回步骤S34,若是,则结束。在SSD中,当块的数据保存期或读干扰达到达阈值后触发垃圾回收流程。这时候读触发垃圾回收的块,读出块中的最弱页的比特错误率,记为该块的比特错误率。记录下所有需要被垃圾回收的块的比特错误率后,在垃圾回收池中维护一张链表,链表中块按照比特错误率由大到小排列,进行垃圾回收时按照这个排列顺序进行回收,如果回收过程中有新的块需要被垃圾回收时,通过插入排序算法将新进入垃圾回收池中的块插到链表中的合适位置。需要注意的是,本实施例中所示的方案仅仅作为一种示例进行说明,本发明并不限于此方案。本实施例基于原有方案的问题进行分析,提出了一种强制垃圾回收场景下将需要被垃圾回收的块按照比特错误率由高到低的顺序进行垃圾回收的方法,在不影响SSD写性能的前提下,合理的按序进行块的回收,提升了SSD的数据可靠性。下面具体说明回收的详细过程。
1)当有块触发垃圾回收时,读这些块的最弱页,将该页的ECC chunk的最高比特错误率记为该块的比特错误率,并执行步骤2)。其中,ECC chunk为一个纠错单元。
2)按照待回收的块的比特错误率由高到低的顺序建立一张链表,表头是比特错误率最高的块号,表尾是比特错误率最低的块号,并执行步骤4)。
3)在垃圾回收过程中当有新的块需要被垃圾回收时,按照插入排序算法将该块插入到正确位置,并跳转步骤4)。
4)根据待回收块的数量、用户的写速度和负载要求设定一个每批次回收的块的数量值count和每批次回收之间的时间间隔latency,并跳转步骤5)。
5)选出count数量的比特错误率最高的块进行回收,并设定一个各批次回收之间的时间间隔latency,然后每隔时间间隔latency执行一次回收操作。在垃圾回收过程中如果产生了新的需要被垃圾回收的块,跳转步骤3)。若池中的块未完全回收,则跳转步骤5);若完全回收,则跳转步骤6)。
6)当池中所有的块被回收完成后,结束。
以上对本发明实施例所提供的存储系统中块的垃圾数据回收方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
本发明实施例提供一种按比特错误率顺序回收块的方法,在根据存储系统的块的状态确定待回收的块之后,以及根据回收强度参数按批次回收块之前,读各待回收的块的页以获取待回收的块的比特错误率,并记录各待回收的块的比特错误率,然后根据记录的比特错误率按从高到低的顺序回收块。本实施例在强制回收场景下,将待回收的块按比特错误率高低进行排序,并按序进行垃圾回收,优化了块回收顺序。如果后触发垃圾回收的块的比特错误率较先触发垃圾回收的块的比特错误率高,则后触发垃圾回收也可以优先被回收,避免高比特错误率的块等待时间过长造成比特翻转甚至纠错失败的发生,极大地提高SSD的存储数据可靠性。可见,本发明实施例解决了在强制垃圾回收场景下后触发垃圾回收但是高比特错误率的块得不到优先处理的问题,通过将比特错误率排序并动态调整,按照高比特错误率的块优先被回收的原则进行垃圾回收,降低了高比特错误率的块在垃圾回收池中等待时间过长而发生错误的可能性。
上述实施例中提到,可根据记录的比特错误率按从高到低的顺序并按批次回收块。而在回收完当前批次的块之后,可判断待回收的块是否完全回收;若待回收的块未完全回收,则进行下一批次的块的回收;若待回收的块已完全回收,则结束。具体的,根据待回收块的数量、用户的写速度和负载要求设定一个每批次回收的块的数量值count和每批次回收之间的时间间隔latency。选出count数量的比特错误率最高的块进行回收,并设定一个各批次回收之间的时间间隔latency,然后每隔时间间隔latency执行一次回收操作。
上述实施例中提到,在实际应用中并不限定记录各待回收的块的比特错误率的具体方式,具体的,记录各待回收的块的比特错误率包括:将各待回收的块的比特错误率按顺序建立链表。
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。由于不用必须按顺序存储,链表比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要较长的时间。使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换。链表允许插入和移除表上任意位置上的节点,但是不允许随机存取。链表有很多种不同的类型:单向链表,双向链表以及循环链表。链表可以在多种编程语言中实现。像Lisp和Scheme这样的语言的内建数据类型中就包含了链表的存取和操作。
在实际应用中,可以根据各待回收的块的块号建立链表,且记录各待回收的块的比特错误率可以包括以下方式,一是将各待回收的块的比特错误率按从高到低的顺序建立链表;此时,链表的表头为比特错误率最高的块的块号,链表的表尾为比特错误率最低的块的块号。二是将各待回收的块的比特错误率按从低到高的顺序建立链表,则此时链表的表头为比特错误率最低的块的块号,链表的表尾为比特错误率最高的块的块号。
本发明实施例通过链表的方式实现块的排序,链表的优势刚好可以契合本发明实施例的需求,在记录各待回收的块的比特错误率之后,垃圾数据回收过程中若出现新的待回收的块,则可以按照插入排序算法将新的待回收的块的块号插入到链表中对应的位置。
通常情况下,块的最弱页的比特错误率是最高的,因此,读各待回收的块的页以获取待回收的块的比特错误率包括:读各待回收的块的最弱页以获取待回收的块的比特错误率。具体的,可以读各待回收的块的最弱页的ECC chunk的最高比特错误率以作为待回收的块的比特错误率。需要注意的是,这里只是提供一种具体的实现方式,在实际应用时,并不限定如何获取块的比特错误率。
在具体实施中,并不限定根据存储系统的块的状态确定待回收的块的具体方式。因为在计算机闪存设备NAND的使用中存在两种现象,一是随着数据保存期的增长,电子有一定概率离开浮栅层;二是随着读干扰的增长,电子会进入到浮栅层。上述两种现象都会导致比特翻转,若此时仍然用正常电压读取NAND则会出错,在数据保存期和读干扰到达一定值后甚至会出现纠错失败的情况。因此,存储系统的块的状态可包括块的数据保存期以及块的读干扰。对应的,若块的数据保存期或块的读干扰达到一定值,则可确定对应的块为待回收的块,即该块触发了垃圾回收。这里提供一种具体的实现方案,根据存储系统的块的状态确定待回收的块包括:若块的数据保存期达到第一阈值或块的读干扰达到第二阈值,则都可以确定对应的块为待回收的块。这里并不限定第一阈值、第二阈值以及数量阈值的大小,以实际情况为准。
另外,在垃圾回收过程中,若待回收的块的数量过大,需要及时清理,则可以先暂停其他业务优先将待回收的块进行垃圾回收,从而降低块在垃圾回收池中等待时间过长而发生错误的可能性,提高盘的数据可靠性。具体的,在根据存储系统的块的状态确定待回收的块之后,还包括:若待回收的块的数量超过回收数量阈值,则暂停存储系统中低优先级的业务。而对应的,在待回收的块的数量恢复正常之后,暂停的业务不能一直处于暂停状态。即在若待回收的块的数量超过回收数量阈值,则暂停存储系统中低优先级的业务之后,还包括:若待回收的块的数量恢复正常,则继续存储系统中暂停的业务。
在上述实施例中,对于存储系统中块的垃圾数据回收方法进行了详细描述,本发明还提供存储系统中块的垃圾数据回收装置对应的实施例。需要说明的是,本发明从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,本实施例提供一种存储系统中块的垃圾数据回收装置,图4为本发明实施例提供的存储系统中块的垃圾数据回收装置的结构图,如图4所示,该装置包括:
确定模块10,用于根据存储系统的块的状态确定待回收的块;
获取模块11,用于获取存储系统的系统性能参数;其中,系统性能参数包括以下至少之一:待回收的块的数量、用户的写速度以及负载要求;
设定模块12,用于根据系统性能参数设定各批次回收的回收强度参数;其中,回收强度参数包括以下至少之一:各批次回收的块的数量、各批次回收之间的时间间隔;
回收模块13,用于根据回收强度参数按批次回收块。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
作为优选的实施方式,存储系统中块的垃圾数据回收装置还包括:读取模块,用于在根据回收强度参数按批次回收块之前,读各待回收的块的页以获取待回收的块的比特错误率,并记录各待回收的块的比特错误率;根据回收强度参数按批次回收块包括:根据记录的比特错误率按从高到低的顺序回收块。
插入模块,用于在记录各待回收的块的比特错误率之后,在垃圾数据回收过程中若出现新的待回收的块,则按照插入排序算法将新的待回收的块的块号插入到链表中对应的位置。
暂停模块,用于在根据存储系统的块的状态确定待回收的块之后,若待回收的块的数量超过回收数量阈值,则暂停存储系统中低优先级的业务。
恢复模块,用于在若待回收的块的数量超过回收数量阈值,则暂停存储系统中低优先级的业务之后,若待回收的块的数量恢复正常,则继续存储系统中暂停的业务。
本实施例提供的存储系统中块的垃圾数据回收装置,确定模块先根据存储系统的块的状态确定待回收的块,即对应的块触发了垃圾回收,需要对这部分块的数据进行垃圾回收。获取模块先获取存储系统的系统性能参数,然后设定模块根据系统性能参数设定各批次回收的回收强度参数。最后回收模块根据回收强度参数按批次回收块。其中,系统性能参数包括以下至少之一:待回收的块的数量、用户的写速度以及负载要求。回收强度参数包括以下至少之一:各批次回收的块的数量、各批次回收之间的时间间隔。在实际应用中,需要回收的块的数量可能比较大,导致块的垃圾回收效率低下。因此本发明实施例通过分批次对块进行垃圾回收,并设定了各批次回收的回收强度参数,从而提高了块的垃圾回收效率,使各块的垃圾回收有序进行,降低了块在垃圾回收池中等待时间过长而发生错误的可能性。可见,本发明实施例提供的方案避免了纠错失败的情况以及提高了盘的数据可靠性。
基于硬件的角度,本实施例提供了另一种存储系统中块的垃圾数据回收装置,图5为本发明另一实施例提供的存储系统中块的垃圾数据回收装置的结构图,如图5所示,存储系统中块的垃圾数据回收装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的存储系统中块的垃圾数据回收方法的步骤。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的存储系统中块的垃圾数据回收方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于存储系统中块的垃圾数据回收方法涉及到的数据等。
在一些实施例中,存储系统中块的垃圾数据回收装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图中示出的结构并不构成对存储系统中块的垃圾数据回收装置的限定,可以包括比图示更多或更少的组件。
本发明实施例提供的存储系统中块的垃圾数据回收装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:存储系统中块的垃圾数据回收方法。
本实施例提供的存储系统中块的垃圾数据回收装置,先根据存储系统的块的状态确定待回收的块,即对应的块触发了垃圾回收,需要对这部分块的数据进行垃圾回收。首先获取存储系统的系统性能参数,然后根据系统性能参数设定各批次回收的回收强度参数。最后根据回收强度参数按批次回收块。其中,系统性能参数包括以下至少之一:待回收的块的数量、用户的写速度以及负载要求。回收强度参数包括以下至少之一:各批次回收的块的数量、各批次回收之间的时间间隔。在实际应用中,需要回收的块的数量可能比较大,导致块的垃圾回收效率低下。因此本发明实施例通过分批次对块进行垃圾回收,并设定了各批次回收的回收强度参数,从而提高了块的垃圾回收效率,使各块的垃圾回收有序进行,降低了块在垃圾回收池中等待时间过长而发生错误的可能性。可见,本发明实施例提供的方案避免了纠错失败的情况以及提高了盘的数据可靠性。
最后,本发明还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例描述的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供的计算机可读存储介质,先根据存储系统的块的状态确定待回收的块,即对应的块触发了垃圾回收,需要对这部分块的数据进行垃圾回收。首先获取存储系统的系统性能参数,然后根据系统性能参数设定各批次回收的回收强度参数。最后根据回收强度参数按批次回收块。其中,系统性能参数包括以下至少之一:待回收的块的数量、用户的写速度以及负载要求。回收强度参数包括以下至少之一:各批次回收的块的数量、各批次回收之间的时间间隔。在实际应用中,需要回收的块的数量可能比较大,导致块的垃圾回收效率低下。因此本发明实施例通过分批次对块进行垃圾回收,并设定了各批次回收的回收强度参数,从而提高了块的垃圾回收效率,使各块的垃圾回收有序进行,降低了块在垃圾回收池中等待时间过长而发生错误的可能性。可见,本发明实施例提供的方案避免了纠错失败的情况以及提高了盘的数据可靠性。
以上对本发明所提供的一种存储系统中块的垃圾数据回收方法、装置以及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (20)
1.一种存储系统中块的垃圾数据回收方法,其特征在于,包括:
根据所述存储系统的所述块的状态确定待回收的所述块;
获取所述存储系统的系统性能参数;其中,所述系统性能参数包括以下至少之一:待回收的所述块的数量、用户的写速度以及负载要求;
根据所述系统性能参数设定各批次回收的回收强度参数;其中,所述回收强度参数包括以下至少之一:各批次回收的所述块的数量、各批次回收之间的时间间隔;
根据所述回收强度参数按批次回收所述块,且回收所述块时按比特错误率从高到低的顺序进行回收。
2.根据权利要求1所述的存储系统中块的垃圾数据回收方法,其特征在于,所述根据所述回收强度参数按批次回收所述块之前,还包括:
读各待回收的所述块的页以获取待回收的所述块的比特错误率,并记录各待回收的所述块的所述比特错误率;
所述根据所述回收强度参数按批次回收所述块包括:
根据记录的所述比特错误率按从高到低的顺序回收所述块。
3.根据权利要求2所述的存储系统中块的垃圾数据回收方法,其特征在于,所述记录各待回收的所述块的所述比特错误率包括:
将各待回收的所述块的所述比特错误率按顺序建立链表。
4.根据权利要求3所述的存储系统中块的垃圾数据回收方法,其特征在于,所述记录各待回收的所述块的所述比特错误率包括:
将各待回收的所述块的所述比特错误率按从高到低的顺序建立所述链表。
5.根据权利要求4所述的存储系统中块的垃圾数据回收方法,其特征在于,所述记录各待回收的所述块的所述比特错误率包括:
根据各待回收的所述块的块号建立所述链表;其中,所述链表的表头为所述比特错误率最高的所述块的块号,所述链表的表尾为所述比特错误率最低的所述块的块号。
6.根据权利要求5所述的存储系统中块的垃圾数据回收方法,其特征在于,所述记录各待回收的所述块的所述比特错误率之后,还包括:
在垃圾数据回收过程中若出现新的待回收的所述块,则按照插入排序算法将新的待回收的所述块的块号插入到所述链表中对应的位置。
7.根据权利要求1所述的存储系统中块的垃圾数据回收方法,其特征在于,所述根据所述回收强度参数按批次回收所述块包括:
在回收完当前批次的所述块之后,判断待回收的所述块是否完全回收;
若待回收的所述块未完全回收,则进行下一批次的所述块的回收;
若待回收的所述块已完全回收,则结束。
8.根据权利要求2所述的存储系统中块的垃圾数据回收方法,其特征在于,所述读各待回收的所述块的页以获取待回收的所述块的比特错误率包括:
读各待回收的所述块的最弱页以获取待回收的所述块的所述比特错误率。
9.根据权利要求8所述的存储系统中块的垃圾数据回收方法,其特征在于,所述读各待回收的所述块的页以获取待回收的所述块的比特错误率包括:
读各待回收的所述块的所述最弱页的错误检查和纠正块的最高比特错误率以作为待回收的所述块的所述比特错误率。
10.根据权利要求3所述的存储系统中块的垃圾数据回收方法,其特征在于,所述记录各待回收的所述块的所述比特错误率包括:
将各待回收的所述块的所述比特错误率按从低到高的顺序建立所述链表。
11.根据权利要求10所述的存储系统中块的垃圾数据回收方法,其特征在于,所述记录各待回收的所述块的所述比特错误率包括:
根据各待回收的所述块的块号建立所述链表;其中,所述链表的表头为所述比特错误率最低的所述块的块号,所述链表的表尾为所述比特错误率最高的所述块的块号。
12.根据权利要求1所述的存储系统中块的垃圾数据回收方法,其特征在于,所述存储系统的所述块的状态包括:所述块的数据保存期。
13.根据权利要求12所述的存储系统中块的垃圾数据回收方法,其特征在于,所述根据所述存储系统的所述块的状态确定待回收的所述块包括:
若所述块的所述数据保存期达到第一阈值,则确定对应的所述块为待回收的所述块。
14.根据权利要求1所述的存储系统中块的垃圾数据回收方法,其特征在于,所述存储系统的所述块的状态包括:所述块的读干扰。
15.根据权利要求14所述的存储系统中块的垃圾数据回收方法,其特征在于,所述根据所述存储系统的所述块的状态确定待回收的所述块包括:
若所述块的所述读干扰达到第二阈值,则确定对应的所述块为待回收的所述块。
16.根据权利要求2所述的存储系统中块的垃圾数据回收方法,其特征在于,所述根据所述存储系统的所述块的状态确定待回收的所述块之后,还包括:
若待回收的所述块的数量超过回收数量阈值,则暂停所述存储系统中低优先级的业务。
17.根据权利要求16所述的存储系统中块的垃圾数据回收方法,其特征在于,所述若待回收的所述块的数量超过回收数量阈值,则暂停所述存储系统中低优先级的业务之后,还包括:
若待回收的所述块的数量恢复正常,则继续所述存储系统中暂停的业务。
18.一种存储系统中块的垃圾数据回收装置,其特征在于,包括:
确定模块,用于根据所述存储系统的所述块的状态确定待回收的所述块;
获取模块,用于获取所述存储系统的系统性能参数;其中,所述系统性能参数包括以下至少之一:待回收的所述块的数量、用户的写速度以及负载要求;
设定模块,用于根据所述系统性能参数设定各批次回收的回收强度参数;其中,所述回收强度参数包括以下至少之一:各批次回收的所述块的数量、各批次回收之间的时间间隔;
回收模块,用于根据所述回收强度参数按批次回收所述块,且回收所述块时按比特错误率从高到低的顺序进行回收。
19.一种存储系统中块的垃圾数据回收装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至17任一项所述的存储系统中块的垃圾数据回收方法的步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至17任一项所述的存储系统中块的垃圾数据回收方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310233006.2A CN115904264B (zh) | 2023-03-13 | 2023-03-13 | 一种存储系统中块的垃圾数据回收方法、装置以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310233006.2A CN115904264B (zh) | 2023-03-13 | 2023-03-13 | 一种存储系统中块的垃圾数据回收方法、装置以及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115904264A CN115904264A (zh) | 2023-04-04 |
CN115904264B true CN115904264B (zh) | 2023-06-13 |
Family
ID=86489989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310233006.2A Active CN115904264B (zh) | 2023-03-13 | 2023-03-13 | 一种存储系统中块的垃圾数据回收方法、装置以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904264B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391392A (zh) * | 2017-07-21 | 2017-11-24 | 重庆大学 | 一种基于闪存存储设备并行特征的垃圾回收优化方法 |
WO2019227634A1 (zh) * | 2018-05-30 | 2019-12-05 | 平安科技(深圳)有限公司 | 批量文件部分回盘处理方法和系统 |
CN111026329A (zh) * | 2019-11-18 | 2020-04-17 | 华中科技大学 | 基于主机管理瓦记录磁盘的键值存储系统及数据处理方法 |
CN111240588A (zh) * | 2019-12-31 | 2020-06-05 | 清华大学 | 一种持久性内存对象存储系统 |
CN111949222A (zh) * | 2020-09-18 | 2020-11-17 | 苏州浪潮智能科技有限公司 | 一种全闪磁盘阵列中垃圾回收中数据迁移的方法 |
CN113590503A (zh) * | 2021-07-23 | 2021-11-02 | 合肥康芯威存储技术有限公司 | 一种非挥发性记忆体存储器的垃圾回收方法与垃圾回收系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5575828B2 (ja) * | 2012-04-02 | 2014-08-20 | 日本電信電話株式会社 | ガベージコレクション実行装置、ガベージコレクション実行方法及びガベージコレクション実行プログラム |
US9639463B1 (en) * | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US10185657B2 (en) * | 2016-04-13 | 2019-01-22 | Nanjing University | Method and system for optimizing deterministic garbage collection in NAND flash storage systems |
CN106339324B (zh) * | 2016-08-19 | 2019-05-10 | 浪潮(北京)电子信息产业有限公司 | 一种选择垃圾回收块的方法及装置 |
CN107092563B (zh) * | 2017-04-20 | 2021-02-26 | 新华三信息技术有限公司 | 一种垃圾回收方法及装置 |
CN107544754B (zh) * | 2017-07-28 | 2021-05-25 | 新华三信息技术有限公司 | 一种垃圾回收方法及装置 |
CN107748722B (zh) * | 2017-09-30 | 2020-05-19 | 华中科技大学 | 一种保证固态硬盘中数据持续性的自适应数据刷新方法 |
CN109739775A (zh) * | 2018-11-20 | 2019-05-10 | 北京航空航天大学 | 基于多阶段加锁的闪存转换层混合垃圾回收方法 |
CN111813343B (zh) * | 2020-07-16 | 2022-07-08 | 济南浪潮数据技术有限公司 | 一种固态硬盘垃圾回收方法、系统及相关组件 |
CN113971137A (zh) * | 2020-07-22 | 2022-01-25 | 华为技术有限公司 | 一种垃圾回收方法及装置 |
CN112486415A (zh) * | 2020-11-30 | 2021-03-12 | 北京泽石科技有限公司 | 存储装置的垃圾回收方法及装置 |
CN112749102B (zh) * | 2021-01-15 | 2022-11-11 | 苏州浪潮智能科技有限公司 | 一种内存空间垃圾回收处理方法、装置、设备及介质 |
CN114564147A (zh) * | 2022-01-06 | 2022-05-31 | 浙江大华存储科技有限公司 | 一种数据流的自适应调整方法、系统、硬盘和存储介质 |
CN114968839A (zh) * | 2022-05-31 | 2022-08-30 | 山东云海国创云计算装备产业创新中心有限公司 | 硬盘垃圾回收方法、装置、设备及计算机可读存储介质 |
-
2023
- 2023-03-13 CN CN202310233006.2A patent/CN115904264B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391392A (zh) * | 2017-07-21 | 2017-11-24 | 重庆大学 | 一种基于闪存存储设备并行特征的垃圾回收优化方法 |
WO2019227634A1 (zh) * | 2018-05-30 | 2019-12-05 | 平安科技(深圳)有限公司 | 批量文件部分回盘处理方法和系统 |
CN111026329A (zh) * | 2019-11-18 | 2020-04-17 | 华中科技大学 | 基于主机管理瓦记录磁盘的键值存储系统及数据处理方法 |
CN111240588A (zh) * | 2019-12-31 | 2020-06-05 | 清华大学 | 一种持久性内存对象存储系统 |
CN111949222A (zh) * | 2020-09-18 | 2020-11-17 | 苏州浪潮智能科技有限公司 | 一种全闪磁盘阵列中垃圾回收中数据迁移的方法 |
CN113590503A (zh) * | 2021-07-23 | 2021-11-02 | 合肥康芯威存储技术有限公司 | 一种非挥发性记忆体存储器的垃圾回收方法与垃圾回收系统 |
Non-Patent Citations (3)
Title |
---|
Data Dependent Sparing to Manage Better-Than-Bad Blocks;Rakan Maddah等;IEEE Computer Architecture Letters;全文 * |
基于数据相关性的多片闪存系统垃圾回收器;杜晔华;蔡铭;董金祥;;华中科技大学学报(自然科学版)(第11期);全文 * |
杜晔华 ; 蔡铭 ; 董金祥 ; .基于数据相关性的多片闪存系统垃圾回收器.华中科技大学学报(自然科学版).2007,(11),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115904264A (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783004B (zh) | 数据储存装置与存储器装置的数据处理方法 | |
CN110045913B (zh) | 垃圾收集的方法、记忆装置及其控制器和电子装置 | |
US10838642B2 (en) | Efficient modification of storage system metadata | |
US11301379B2 (en) | Access request processing method and apparatus, and computer device | |
CN102043727B (zh) | 恢复固态硬盘映射表的方法及其装置 | |
US9965196B2 (en) | Resource reservation for storage system metadata updates | |
US20200012598A1 (en) | Garbage Collection Method for Storage Medium, Storage Medium, and Program Product | |
WO2018033036A1 (zh) | 固态硬盘和应用于固态硬盘的数据存取方法 | |
CN101419564B (zh) | 一种采用快照恢复数据的方法和装置 | |
DE112015000378T5 (de) | Selektives Rückkopieren für einen auf einem Chipplättchen gepufferten nichtflüchtigen Speicher | |
US8621143B2 (en) | Elastic data techniques for managing cache storage using RAM and flash-based memory | |
CN115576505B (zh) | 一种数据存储方法、装置、设备及可读存储介质 | |
CN108762670B (zh) | 一种ssd固件中数据块的管理方法、系统及装置 | |
CN115904264B (zh) | 一种存储系统中块的垃圾数据回收方法、装置以及介质 | |
KR101077901B1 (ko) | 로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법 | |
WO2013031572A1 (ja) | 情報処理装置および方法、並びに記録媒体 | |
CN115587050A (zh) | 映射表垃圾回收效率的方法、装置、计算机设备及介质 | |
CN114995756A (zh) | 一种虚拟磁盘空间回收方法、装置及介质 | |
KR102085272B1 (ko) | 비휘발성 메모리를 이용한 인메모리 데이터베이스의 데이터 처리 방법 및 인메모리 데이터베이스 | |
CN109284237B (zh) | 一种全闪存储阵列中的垃圾回收方法及系统 | |
CN110795034A (zh) | 存储系统的数据迁移方法、装置、设备及可读存储介质 | |
JP2016146219A (ja) | 情報処理装置および方法、並びに記録媒体 | |
CN114415949A (zh) | 扫描回收block方法、系统、存储介质及设备 | |
CN117130538A (zh) | 一种数据处理的方法和终端 | |
CN115827950A (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 |