CN1509435A - 一种使用非暂态流存储来改进垃圾收集算法的方法 - Google Patents

一种使用非暂态流存储来改进垃圾收集算法的方法 Download PDF

Info

Publication number
CN1509435A
CN1509435A CNA028097939A CN02809793A CN1509435A CN 1509435 A CN1509435 A CN 1509435A CN A028097939 A CNA028097939 A CN A028097939A CN 02809793 A CN02809793 A CN 02809793A CN 1509435 A CN1509435 A CN 1509435A
Authority
CN
China
Prior art keywords
data object
copy
storage unit
content
cpu
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.)
Granted
Application number
CNA028097939A
Other languages
English (en)
Other versions
CN1237451C (zh
Inventor
ղ���
斯里尼瓦斯·苏布拉马尼
��L���յ�ɭ
理查德·L·赫德森
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1509435A publication Critical patent/CN1509435A/zh
Application granted granted Critical
Publication of CN1237451C publication Critical patent/CN1237451C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • 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
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明描述了一种改进的移动垃圾收集算法。该算法允许有效地使用非暂态存储来减少垃圾收集所需的时间。非暂态存储(或拷贝)是一种CPU特征,该特征使得能够在没有高速缓冲存储器干扰或污染的情况下在主存内拷贝数据对象。被拷贝到新存储单元的活的对象在近的将来不会被再次访问,因此无需被拷贝到高速缓存。这避免了拷贝操作,并且避免了给CPU增加高速缓存确定(cache determination)的负担。在优选实施例中,本发明的算法利用了活的数据对象会被存储到连续的新存储单元中以执行流拷贝的这个事实。由于每个拷贝过程都有相关的CPU开销,所以将拷贝流化的处理减少了系统性能的损失,并从而减少了用于垃圾收集的时间。

Description

一种使用非暂态流存储来改进垃圾收集算法的方法
技术领域
本发明一般地涉及运行时环境中的存储器管理,具体而言涉及一种使用非暂态存储来减少垃圾收集时间的垃圾收集算法。
背景技术
计算系统的随机存取存储器(RAM)是一种大小固定的资源;现在RAM的大小一般为32兆字节(Mb)。为了保持系统性能,必须正确管理RAM。在例如Java或者Microsoft CLI的运行时环境中,存储器管理是由系统来控制的。存储器管理包括被称为“垃圾收集”的处理。垃圾收集是以在循环再利用存储器过程中尽量无干扰为目的的一种处理。当计算机程序运行时,它基于正在进行的情况分配和使用存储器的各部分。在有些时候程序可能不再需要使用存储器的一个特定部分,例如,存储器曾被分配用于一个现在已经不再有关的特定目的。识别(收集)那些现在不会再被使用的部分(垃圾),使得它们能够被回收以用于以后的分配。垃圾收集处理给中央处理单元(CPU)增加负担并且降低系统的性能,对应用程序产生影响。因此人们非常希望能够减少回收存储器不被使用的部分所花的时间。
一般的计算系统在CPU和主存之间有高速缓冲存储器。与一般为128Mb的主存相比,高速缓存比较小,一般为2Mb或者更小。高速缓存用于存储来自最近被使用的存储单元的数据和提供对这些数据的快速访问。数据被放入高速缓存中,预期它会很快被再次访问。垃圾收集发生在主存中,但是由于大多数程序在最近被访问的数据会很快被再次访问的假设之下运行,所以垃圾收集的处理发生在高速缓存内,如以下所描述的那样。
在运行时环境中使用的一种通用垃圾收集算法是移动垃圾收集算法(MGCA,moving garbage collection algorithm)。MGCA检查存储块,该存储块的大小一般可为1Mb到4十亿字节(Gb)。MGCA确定来自该块的存储器数据哪些是在使用中的(活的数据),哪些是垃圾。正如其名称所表示的,MGCA将所有活的数据都移到新的连续的存储单元中。这将活的数据压缩到了相对于其与垃圾放置在一处时的更小的空间中。一旦活的数据被拷贝到新的单元中,可以回收和重新分配整个块。
一般的MGCA具有三个阶段:标记、重新指向(repoint)和拷贝。在标记阶段,确定将被移到新的存储单元的活的对象。数据对象的新存储单元在这一阶段确定。在重新指向阶段,检查活的对象并改变它们的引用使得它们指向新的存储单元。在拷贝阶段,各个活的对象的内容被拷贝到该新存储单元中。
在很多程序中当数据被访问时,例如被拷贝时,数据被放入高速缓冲存储器中。如上所述,高速缓存提供对频繁使用的存储器的快速访问,并假设最近被访问的数据可能很快需要被再次访问。如果数据没有很快被使用,则将其从高速缓存中删除。这种基于暂态访问模式的处理常常造成被存储到高速缓存中的数据只是当其没有很快被访问时被删除。这种处理增加了高速缓冲存储器的负担,高速缓冲存储器要确定哪些数据可以被从高速缓存上删除,还必须实际地删除它并且有可能要将改变后的数据反写到主存中去。
当活的数据对象被拷贝到新存储单元时,拷贝到新存储单元的数据将来并不必须被访问。所以,预期数据很快会被访问的将数据拷贝到高速缓存不必要地增加了CPU/高速缓存资源的负担。
附图说明
本发明将以举例方式来说明,但是并不限于附图中的图形,附图中相同的标号表示相似的元件,在附图中:
图1是用于实现本发明的移动垃圾收集器的示例性的计算系统的图解;以及
图2A和2B描述了为了减少垃圾收集所需的时间对CPU的非暂态流存储特征的使用。
具体实施方式
下面将描述一种改进的移动垃圾收集算法。该算法允许有效利用非暂态存储来减少垃圾收集所需的时间。非暂态存储(或拷贝)是一个CPU特征,其允许在主存内拷贝数据对象而没有高速缓冲存储器的干扰或污染。被拷贝到新存储单元的活的对象在就近的将来不会被访问,所以无需通过高速缓存来拷贝。如果被实现,那么这避免了拷贝操作,也避免了增加硬件的负担。本发明的算法利用了活的数据对象将被存储到连续的新存储单元中以执行流拷贝过程这一事实。由于每个拷贝过程都有相关的CPU开销,所以将拷贝流化的处理减少了系统性能的损失,并从而减少了垃圾收集的总的时间。
图1是图示了用于实现本发明的MGCA的示例性计算系统100的示图。这里所描述的为了更有效的垃圾收集而对非暂态拷贝特征和流拷贝的使用可以在计算系统100内被实现和应用。系统100可表示通用计算机、便携式计算机或者其它类似的设备。计算系统100的组成部分是示例性的,可以在其中省略或添加一个或多个组成部分。例如,计算系统100可能使用一个或多个存储设备。
参照图1,计算系统100包括经由总线101耦合到显示电路105、主存104、静态存储器106和大容量存储设备107的中央处理单元102和信号处理器103。计算系统100还可经由总线101耦合到显示器121、键盘输入122、光标控制器123、硬拷贝设备124、输入/输出(I/O)设备125以及声频/语音设备126。
总线101是标准系统总线,用于传送信息和信号。CPU 102和信号处理器103是计算系统100的处理单元。CPU 102或信号处理器103或者两者可被用于为计算系统100处理信息和/或信号。CPU 102包括控制单元131、算术逻辑单元(ALU)132和几个寄存器133,它们被用于处理信息和信号。信号处理器103也可包括与CPU 102类似的组成部分。
主存104可以是,例如,随机存取存储器(RAM)或其它动态存储设备,用于存储被CPU 102或信号处理器103使用的信息或指令(程序代码)。主存104可在CPU 102或信号处理器103执行指令过程中存储临时变量或其它中间信息。静态存储器106可以是,例如,只读存储器(ROM)和/或其它静态存储设备,用于存储也可以被CPU 102或信号处理器103使用的信息或指令。大容量存储设备107可以是,例如,硬盘或软盘驱动器或者光盘驱动器,用于存储计算系统100的信息或指令。
显示器121可以是,例如,阴极射线管(CRT)或液晶显示器(LCD)。显示设备121向用户显示信息或图表。计算系统100可经由显示电路105与显示器121对接(interface)。键盘输入122是具有模数转换器的字母数字混编的输入设备。光标控制器123可以是,例如,鼠标、轨迹球或光标方向键,用于控制显示器121上目标的移动。硬拷贝设备124可以是,例如,激光打印机,用于在纸张、胶片或其它类似介质上打印信息。可耦合若干输入/输出设备125到计算系统100上。
根据本发明的垃圾收集的自动处理可以通过包含在计算系统100内的硬件和/或软件实现。例如,CPU 102或信号处理器103能够执行存储在例如主存104的机器可读介质上的代码或指令。
机器可读介质可包括以例如计算机或数字处理设备的机器能够读的形式提供(即存储和/或传送)信息的机构。例如,机器可读介质可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质和闪存设备。代码或指令可以由载波信号、红外信号、数字信号以及其它类似信号来表示。
如上所述,一般的MGCA包括拷贝阶段,其中活的对象被拷贝到新的存储单元。本发明的一个实施例使用非暂态流存储(NTSS)来完成垃圾收集的拷贝阶段。对NTSS的使用使得能够以较少的时间完成拷贝阶段,从而实现更快的垃圾收集。图2A描述了为了减少垃圾收集所需的时间而对CPU的非暂态存储特征的使用。
图2A中数据对象被示为A到O。例如,数据对象A、B、C和D是数据的根集(即,例如CPU寄存器内的引用)。然后,A、B、C、D以及所有可达到(相关)的数据对象被认为是活的并将被移动。箭头是指示数据对象之间关联的引用。所有传递闭包(transitive closure)活的对象都在MGCA的标记阶段被确定。在一个实施例中,标记阶段可以引起如205所示的标记堆栈的建立。如图2A所示,数据对象G和I没有包括在标记堆栈中,因为它们既不是根集的一部分,也不能从根集成员直接或传递地达到。
当每个数据对象都被确定为是活的时,分配新的存储地址。在数据对象被添加到标记堆栈的时候,为数据对象确定新的存储单元,因为认为该数据对象是经过垃圾收集而存留下来的。例如,如图2B所示,为标记堆栈中所引用的每一个活的数据对象分配和指定新的存储单元。标记堆栈如205B所示,对应新存储单元的引用阵列如210B所示。这里,改变了每个数据对象的引用。这就是重新指向阶段。例如,数据对象A引用了数据对象J和K。A的新的引用将是A’,而A’将引用J’和K’。
在拷贝阶段,数据对象A的实际的内容(数据的实际的位)将被拷贝到被引用为A’的新的存储单元。这包括了引用相关数据的数据对象A的部分。这部分可能已经被更新,也就是说对J和K的引用已经被改变成分别引用J’和K’。在另一个实施例中,数据对象A被拷贝到被引用为A’的新的存储单元,然后更新与A关联的数据对象(即J和K)。
在数据对象A被拷贝到A’之后,A’不必再次被访问。关于数据对象A的垃圾收集的部分完成了。MGCA只是继续到标记堆栈中引用的下一个数据对象,并继续更新和移动。在MGCA的拷贝阶段,被拷贝的数据对象(例如,数据对象A)被放入高速缓存。但是因为数据对象(即A’)在近的将来不会被访问,所以A’的内容不需要被拷贝到高速缓存中。本发明的算法,这里作为附件A,使用非暂态存储(NTS)来将数据对象直接拷贝到所指定的存储器的新单元。CPU连同存储控制器执行非暂态存储,在没有高速缓冲存储器的干扰或污染的情况下产生A到A’存储单元的拷贝。对NTS的使用减少了垃圾收集所必需的时间,因为它减少了被不必要地拷贝到高速缓存中但只是在一段时间之后就被删除的数据的量。
本发明的算法还使用了复合写入技术(write combining)(流拷贝)来减少垃圾收集所需的时间。如图2B所示,标记堆栈205B中所引用的数据对象将被拷贝到如标记堆栈210B所引用的新存储单元中。例如,数据对象A、B和C将被拷贝到A’、B’和C’所引用的新单元。本发明的算法被设计为使得所有活的对象被拷贝到连续的新存储单元,也就是说,例如A’、B’和C’是连续的单元。这使得能够使用CPU的复合写入(流拷贝)特征来异步透明地拷贝几个数据对象。因为每个拷贝过程都有相关的CPU开销,所以将拷贝流化的处理减少了系统性能的损失,从而减少了垃圾收集的时间。当然,能够被拷贝的数量是因平台而不同的,并且取决于占优存储器总线条件。
在上述说明中,通过参考其示例性的特定实施例对本发明做了描述。但是显然在不背离如所附权利要求所陈述的本发明的更宽的精神和范围的情况下可以对其做各种变形和改变。因此说明书和附图被认为是解释性的而不是限制性的。

Claims (21)

1.一种方法,包括:
访问引用阵列,所述引用阵列引用至少一个数据对象,该至少一个数据对象具有存储于存储器中的内容;
为所述至少一个数据对象的每一个的所述内容确定新的存储单元;以及
将所述至少一个数据对象的所述内容拷贝到所述新存储单元,使得一旦拷贝了所述新存储单元的所述内容,该数据就不会再被存储到高速缓冲存储器中。
2.如权利要求1所述的方法,其中被连续地引用的数据对象的所述内容被拷贝到连续的存储单元。
3.如权利要求2所述的方法,其中拷贝还包括使用复合写入操作绕过所述高速缓存拷贝所述至少一个数据对象的所述内容。
4.如权利要求3所述的方法,其在具有中央处理单元的计算系统上实现,其中被拷贝的数据的量取决于中央处理单元的参数。
5.如权利要求4所述的方法,其中所述计算系统运行在动态运行时环境中。
6.如权利要求5所述的方法,其中所述运行时环境选自由JAVA和CLI组成的组。
7.如权利要求6所述的方法,其被实现为移动垃圾收集算法的拷贝阶段。
8.一种机器可读介质,所述介质提供可执行指令,当由处理器执行时,该可执行指令使所述处理器执行一种方法,该方法包括:
访问引用阵列,所述引用阵列引用至少一个数据对象,所述至少一个数据对象具有存储于存储器中的内容;
为所述至少一个数据对象的每一个的所述内容确定新的存储单元;以及
将所述至少一个数据对象的内容拷贝到新存储单元,使得一旦拷贝,所述新存储单元的所述内容不会被存储到高速缓冲存储器中。
9.如权利要求8所述的机器可读介质,其中被连续引用的数据对象的所述内容被拷贝到连续的存储单元。
10.如权利要求9所述的机器可读介质,其中拷贝还包括通过采用非暂态流存储操作的复合写入特征绕过所述高速缓存拷贝所述至少一个数据对象的所述内容。
11.如权利要求10所述的机器可读介质,其在具有中央处理单元的计算系统上实现,其中被拷贝的数据的量取决于中央处理单元的参数。
12.如权利要求11所述的机器可读介质,其中所述计算系统运行在动态运行时环境中。
13.如权利要求12所述的机器可读介质,其中所述运行时环境选自由JAVA和CLI组成的组。
14.如权利要求13所述的机器可读介质,其被实现为移动垃圾收集算法的拷贝阶段。
15.一种设备,包括:
寄存器,用于保存引用阵列,所述引用阵列引用至少一个数据对象,所述至少一个数据对象具有内容;
存储区域,用于保存所述至少一个数据对象的所述内容;和
中央处理单元,用于为所述至少一个数据对象的每一个的所述内容确定新存储单元,所述至少一个数据对象的所述内容被拷贝到所述新存储单元,使得一旦将所述内容拷贝到所述新存储单元,该数据就不会被存储到高速缓冲存储器中。
16.如权利要求15所述的设备,其中所述被连续地引用的数据对象的所述内容绕过高速缓存被拷贝到连续的存储单元。
17.如权利要求16所述的设备,其中拷贝还包括通过采用非暂态流存储操作的复合写入特征绕过所述高速缓存拷贝所述至少一个数据对象的所述内容。
18.如权利要求17所述的设备,其在具有中央处理单元的计算系统上实现,其中被拷贝的数据的量取决于中央处理单元的参数。
19.如权利要求18所述的设备,其中所述计算系统运行在动态运行时环境中。
20.如权利要求19所述的设备,其中所述运行时环境选自由JAVA和CLI组成的组。
21.如权利要求20所述的设备,其被实现为移动垃圾收集算法的拷贝阶段。
CNB028097939A 2001-06-19 2002-06-06 一种使用非暂态流存储来改进垃圾收集算法的方法 Expired - Fee Related CN1237451C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/885,745 2001-06-19
US09/885,745 US6950837B2 (en) 2001-06-19 2001-06-19 Method for using non-temporal streaming to improve garbage collection algorithm

Publications (2)

Publication Number Publication Date
CN1509435A true CN1509435A (zh) 2004-06-30
CN1237451C CN1237451C (zh) 2006-01-18

Family

ID=25387598

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028097939A Expired - Fee Related CN1237451C (zh) 2001-06-19 2002-06-06 一种使用非暂态流存储来改进垃圾收集算法的方法

Country Status (6)

Country Link
US (1) US6950837B2 (zh)
CN (1) CN1237451C (zh)
AU (1) AU2002312374A1 (zh)
DE (1) DE10296957T5 (zh)
HK (1) HK1067418A1 (zh)
WO (1) WO2002103527A2 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101878472B (zh) * 2007-11-29 2012-08-08 国际商业机器公司 存储器管理
CN101645044B (zh) * 2005-01-20 2012-12-05 桑迪士克股份有限公司 一种操作可擦除且可再编程的非易失性存储器系统的方法
CN105934749A (zh) * 2014-01-27 2016-09-07 西部数据技术公司 用于数据存储系统的垃圾收集和数据重定位
CN107924363A (zh) * 2015-06-29 2018-04-17 艾卡斯有限责任公司 使用存储器管理单元的自动化存储器管理
CN110325969A (zh) * 2017-02-01 2019-10-11 微软技术许可有限责任公司 多阶段垃圾收集器
CN113366424A (zh) * 2019-02-01 2021-09-07 Emc Ip控股有限公司 用于重复数据删除存储器的可扩展垃圾收集
CN113795827A (zh) * 2019-05-03 2021-12-14 Emc Ip控股有限公司 用于重复数据删除云分层的垃圾收集
US11989124B2 (en) 2019-04-26 2024-05-21 EMC IP Holding Company LLC Garbage collection for a deduplicated cloud tier with encrypted segments

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198088A1 (en) * 2004-03-03 2005-09-08 Sreenivas Subramoney Method and system for improving the concurrency and parallelism of mark-sweep-compact garbage collection
JP5008845B2 (ja) * 2005-09-01 2012-08-22 株式会社日立製作所 ストレージシステムとストレージ装置及びその制御方法
US20070118579A1 (en) * 2005-11-21 2007-05-24 Hudson Richard L Dynamic consistency between multiple versions of objects managed by a garbage collector using transactional memory support
US7506132B2 (en) 2005-12-22 2009-03-17 International Business Machines Corporation Validity of address ranges used in semi-synchronous memory copy operations
US7484062B2 (en) * 2005-12-22 2009-01-27 International Business Machines Corporation Cache injection semi-synchronous memory copy operation
US7454585B2 (en) * 2005-12-22 2008-11-18 International Business Machines Corporation Efficient and flexible memory copy operation
KR100858527B1 (ko) 2007-04-18 2008-09-12 삼성전자주식회사 시간적 인접성 정보를 이용한 캐쉬 메모리 시스템 및데이터 저장 방법
US8880775B2 (en) * 2008-06-20 2014-11-04 Seagate Technology Llc System and method of garbage collection in a memory device
US8312219B2 (en) 2009-03-02 2012-11-13 International Business Machines Corporation Hybrid caching techniques and garbage collection using hybrid caching techniques
US8407444B2 (en) * 2009-12-23 2013-03-26 International Business Machines Corporation Hardware off-load garbage collection acceleration for languages with finalizers
US8943108B2 (en) * 2009-12-23 2015-01-27 International Business Machines Corporation Hardware off-load memory garbage collection acceleration
CN102262591B (zh) * 2010-05-31 2014-03-19 国际商业机器公司 用于内存复制系统进行垃圾回收的方法和系统
US8838888B2 (en) 2012-03-19 2014-09-16 International Business Machines Corporation Conditional write processing for a cache structure of a coupling facility
US8898376B2 (en) 2012-06-04 2014-11-25 Fusion-Io, Inc. Apparatus, system, and method for grouping data stored on an array of solid-state storage elements

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02213960A (ja) 1989-02-14 1990-08-27 Hitachi Ltd キャッシュメモリ
DE3912996A1 (de) 1989-04-20 1990-10-25 Asea Brown Boveri Verfahren zur herstellung eines halbleiterbauelements
JPH04170650A (ja) * 1990-11-05 1992-06-18 Oki Electric Ind Co Ltd データ処理装置
US6205520B1 (en) 1998-03-31 2001-03-20 Intel Corporation Method and apparatus for implementing non-temporal stores
US6356270B2 (en) * 1998-03-31 2002-03-12 Intel Corporation Efficient utilization of write-combining buffers
US6421689B1 (en) * 1998-06-30 2002-07-16 Oracle Corporation Moderately conservative, mostly copying 2 space garbage collector in the nursery of a generational memory manager
US6249844B1 (en) * 1998-11-13 2001-06-19 International Business Machines Corporation Identifying, processing and caching object fragments in a web environment
US6334171B1 (en) * 1999-04-15 2001-12-25 Intel Corporation Write-combining device for uncacheable stores

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645044B (zh) * 2005-01-20 2012-12-05 桑迪士克股份有限公司 一种操作可擦除且可再编程的非易失性存储器系统的方法
CN101878472B (zh) * 2007-11-29 2012-08-08 国际商业机器公司 存储器管理
CN105934749A (zh) * 2014-01-27 2016-09-07 西部数据技术公司 用于数据存储系统的垃圾收集和数据重定位
CN105934749B (zh) * 2014-01-27 2019-10-08 西部数据技术公司 用于数据存储系统的垃圾收集和数据重定位
CN107924363A (zh) * 2015-06-29 2018-04-17 艾卡斯有限责任公司 使用存储器管理单元的自动化存储器管理
CN110325969A (zh) * 2017-02-01 2019-10-11 微软技术许可有限责任公司 多阶段垃圾收集器
CN110325969B (zh) * 2017-02-01 2023-06-02 微软技术许可有限责任公司 多阶段垃圾收集器
CN113366424A (zh) * 2019-02-01 2021-09-07 Emc Ip控股有限公司 用于重复数据删除存储器的可扩展垃圾收集
CN113366424B (zh) * 2019-02-01 2024-03-08 Emc Ip控股有限公司 用于重复数据删除存储器的可扩展垃圾收集
US11989124B2 (en) 2019-04-26 2024-05-21 EMC IP Holding Company LLC Garbage collection for a deduplicated cloud tier with encrypted segments
CN113795827A (zh) * 2019-05-03 2021-12-14 Emc Ip控股有限公司 用于重复数据删除云分层的垃圾收集

Also Published As

Publication number Publication date
DE10296957T5 (de) 2004-09-16
AU2002312374A1 (en) 2003-01-02
WO2002103527A2 (en) 2002-12-27
US20020194210A1 (en) 2002-12-19
WO2002103527A3 (en) 2003-03-06
CN1237451C (zh) 2006-01-18
HK1067418A1 (en) 2005-04-08
US6950837B2 (en) 2005-09-27

Similar Documents

Publication Publication Date Title
CN1237451C (zh) 一种使用非暂态流存储来改进垃圾收集算法的方法
US6502111B1 (en) Method and system for concurrent garbage collection
US8479189B2 (en) Pattern detection preprocessor in an electronic device update generation system
US8805885B2 (en) Method, system and program product for interning invariant data objects in dynamic space constrained systems
US5432928A (en) Updating objects stored in a permanent container while preserving logical contiguity
US7412466B1 (en) Offset-based forward address calculation in a sliding-compaction garbage collector
US20050044311A1 (en) Reducing disk IO by full-cache write-merging
CN101331444A (zh) 在线存储卷收缩
US20080183802A1 (en) Network recycle bin
CN101076779A (zh) 利用分页来支持动态代码更新
JPH113269A (ja) スタックの内容をサブスタックに分離することによる正確なガーベイジ・コレクションを補助するシステムと方法
CN105808449A (zh) 一种用于虚拟机的虚拟存储映像版本管理方法和系统
CN102609305A (zh) 一种服务器集群中内存共享方法
CN116685957A (zh) 跟踪引用的垃圾收集状态
US6393440B1 (en) Data structure for keeping track of objects remaining to be traced by concurrent garbage collector
US20110246543A1 (en) Write Barrier Elision for Reference Arrays
US20050235120A1 (en) System and method for performing garbage collection on a large heap
CN1236130A (zh) 高速缓存污染免除指令
CN1111788C (zh) 用于显示保存在驻留堆中和存储在堆文件中的对象的系统和方法
CN1081362C (zh) 在介质存储设备上提供存取保护的系统
AU653044B2 (en) Data processing system
US5745749A (en) Method and system of file version clustering of object blocks using a compiler and database and having a predetermined value
US7191300B2 (en) Parallel memory compaction
CN110489425B (zh) 一种数据访问方法、装置、设备及存储介质
US6092092A (en) Gap-based style-run array mechanism

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1067418

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060118

Termination date: 20150606

EXPY Termination of patent right or utility model