内存页面管理的制作方法

文档序号:6567694阅读:209来源:国知局
专利名称:内存页面管理的制作方法
技术领域
本发明涉及内存页面管理。
背景技术
可以利用易失性存储器(例如,随机存取存储器(RAM))来存储也存 储在非易失性存储器(例如, 一个或更多个磁盘驱动器)中的数据。例如, 易失性存储器典型地具有比非易失性存储器更快的访问和读取时间。易失性 存储器和非易失性存储器的地址空间能被组织成含有预定数量的邻近地址 位置的页。计算机系统使用分页技术对于易失性存储器分配内存页面,以通 过例如程序或者数据结构来使用。非易失性存储器典型地比易失性存储器 大。可以采用虚拟内存方案,以将易失性存储器中不使用的(例如,目前没 有被写入或者读取)页写入非易失性存储器中,并随后在需要时再从非易失 性存储器中读取。因此,在易失性存储器中的页通过多种程序和/或数据结 构被"循环"使用。为了减少与对页存取操作相关的开销, 一些技术根据最 近最少使用(LRU)的方式循环使用页。在LRU方式中,如果已经被写入 非易失性存储器中的页被移动到易失性存储器中并且在易失性存储器中不 再有空闲页,那么从易失性存储器被选择循环(或"交换"或"页换出") 到非易失性存储器的页是最近最少被使用的页(例如,最近最少被读取或者 写入)。

发明内容
一般地,本发明的特征在于对一个或者多个顺序访问的数据结构使用的
内存分页的方法,和相应的软件和系统。所述方法包括提供数据结构(200),
其表示将要再次使用内存页面的顺序;以及根据与所述顺序访问的数据结构 之一相关的内存页面的访问历史对数据结构进行维护,其中具有所述顺序的 所述内存页面的位置取决于离开该内存页面的顺序访问转换。 这个方面可以包括下列特征中的一个或者更多个
离开该内存页面的顺序访问转换对应于离开所述内存页面的指针转换。
具有所述顺序的所述内存页面的位置取决于顺序访问的转换是否对应 于离开该内存页面的写入访问转换。
根据与所述顺序访问的数据结构之一相关的内存页面的访问历史对数 据结构进行维护的步骤包括响应于离开该内存页面的写入访问转换,将用 于该内存页面的标识符放置在用以表示该顺序的数据结构的第一端;以及响 应于与被关闭的内存页面相关的顺序访问的数据结构,将用于该内存页面的 标识符放置在用以表示该顺序的数据结构的第二端。
该方法还包括从表示该顺序的数据结构的所述第一端再次使用内存页面。
该方法还包括在确定空闲内存页面的列表为空之后,从所述数据结构的 所述第一端再次使用该内存页面。
再次使用内存页面的步骤包括向非易失性存储器写入该内存页面的当 前内容。
再次使用内存页面的步骤还包括从该非易失性存储器向该内存页面写
入一内存页面。
所述与该内存页面相关的顺序访问的数据结构包括队列。
一般地,本发明的特征在于一种对一个或者多个顺序访问的数据结构使
用的内存分页的方法,包括在第一种情况下根据最近最多使用的方式以及
在第二种情况下根据最近最少使用的方式,再次使用与顺序访问的数据结构
相关的内存页面。
这个方面能够包括下列特征中的一个或者更多个 所述第一种情况包括写指针离开该内存页面的转换。 所述第二种情况包括存取实体关闭所述顺序访问的数据结构。 所述第二种情况包括读指针离开该内存页面的转换。 本发明的各方面能包括下述优点中的一个或者更多个
为再次使用而对页面进行排序可更好地预测对于存储队列或其它顺序 1/0数据结构的内存系统最近可能再次使用的页面。因为读指针必须"追上" 写指针,所以己经被写的页(即,写指针刚从该页移开)不可能被再次使用。
因此,这些页首先被循环使用。进一歩,对于刚被关闭的队列的页可能被重 新打开并且很快被再次使用,因此它们稍后才被循环使用。已经被关闭一段 时间的页在其间的某处被循环。
相比于没有采取队列结构或者存取模式的优点的页算法的情况,队列专 用页算法的使用能够提供改善的效率。通过在决定哪页将要被再次使用时利 用队列存取历史,数据存取队列的分页能够被改善。例如,基于存取历史, 可期望某些页面在其它页面之前被再次访问。这一改善能够使得处于工作状 态内存中的所需页面有更高的访问可能性,因此减少了由于将数据传回工作 内存所产生延迟。
根据下面的描述以及权利要求,本发明的其他特征和优点将会变得明显。


图l是排队系统的示图。
图2A是将循环列表连接到易失性存储空间和非易失性存储空间的页表 的示图。
图2B是内存页面的示图。
图3A和3B分别是在易失性存储空间和非易失性存储空间中的内存页面 的示图。
图3C和3D是对应于图3A的易失性存储空间的循环列表和空闲列表的 示图。
图4A和4B分别是在易失性存储空间和非易失性存储空间中的内存页面 的示图。
图4C是对应于图4A的易失性存储空间的循环列表的示图。 图5A和5B分别是在易失性存储空间和非易失性存储空间中的内存页面 的示图。
图5C和5D是对应于图5A的易失性存储空间的循环列表和空闲列表的 示图。
具体实施例方式
参考图1,排队系统100使存取实体102A-102P增加消息到一组队列 QUEUE—1—QUEUE—N中的一个或者多个队列中,并且从队列中读取消息。 存取实体通过队列管理器102与系统100交互。队列管理器102利用内存管 理模块(MMM) 106协助在易失性存储器108和非易失性存储器110之间 交换页,所述易失性存储器108是为读取和写入数据提供相对较快存取的临 时工作内存,而所述非易失性存储器iio是提供数据吃香时间相对较长并且
可以提供比易失性存储器相对较慢的读取和写入的存取的永久内存。MMM 106可以在软件或者硬件或者两者中同时被执行。MMM在易失性存储地址 空间与非易失性存储地址空间之间解析页地址。MMM还监控对于易失性存 储器的页引用,并且能够检测对于不可用的页引用(例如,易失性存储器页 面己经被写入非易失性存储器中并且为了新的使用而循环使用)。MMM通 过向队列管理器102发出关于此"页错误"的警告而做出响应。队列管理器 102然后从非易失性存储器中读取引用的页并且将它复制到在易失性存储器 中的空闲页中。如果在易失性存储器中没有空闲页,那么队列管理器102根 据下面将具体地描述的"循环列表"来循环使用页。队列管理器102和MMM 106能够在多种操作系统和计算环境下实施。队列管理器102和/或MMM 106 能够被集成到操作系统中。可选择地,操作系统可以具有单独的用于管理没 有被分配给队列管理器102的页的虚拟内存系统。
给定的队列(例如,QUEUE—2)可以在一组"队列页"中存储一系列记 录,包括顺序队列消息和关于管理那些消息的记录。根据消息和队列页的相 对大小,队列页可以保存一条或者更多条消息,或者一条消息的一部分。队 列管理器102给队列分配一组队列页并且随着队列增加向该组队列页增加 页。在所示的实施例中,在组中的所有队列页被存储在非易失性存储器110 中并且活动队列页的一个子集被存储在易失性存储器108中。
队列"顺序"的这一方面(或者其它顺序存取的数据结构)指的是消息 (或者数据结构的其它元素)的逻辑排序。消息的存储位置没有必要位于系 统100的物理和虚拟地址空间内的顺序地址中。
如果在易失性存储器108中的队列页的内容被改变,那么队列页被标记 为"脏的"。当从易失性存储器108中移出脏的队列页时,用这一改变来更 新在非易失性存储器110中的队列页的旧的复本(即,队列页与非易失性存
储器110 "同步")。脏的队列页同样也可以在被从易失性存储器108中删
除之前与非易失性存储器110同步。队列管理器在队列不再需要队列的一些
或所有队列页之后(例如,在队列被删除之后)重新收回这些队列页。
参考图2A,循环列表200标识在易失性存储器中能够被潜在地循环使 用的页。循环列表200具有第一 "头"端202和第二 "尾"端204。页能够 被添加到尾端或者头端,如下面描述的,并且页从头端202被删除。循环列 表能够作为,例如,双链表被实施。
在一个实施例中,循环列表200在页表206中存储了用以标识队列页的 "虚拟地址"(例如,标识分配给QUEUE—1的队列页"5"的"Q1/P5")。 页表206包括对于分配给排队系统100中的队列的每一队列页的项目。在附 图中,对于每一条目,页表206包括在非易失性存储空间208中的非易失性 存储器页面地址"N-PAGE"和在易失性存储空间210中的易失性存储器页 面地址"Y-PAGE"。易失性存储器页面地址对于没有被存储在易失性存储 器108中的队列页可以是空的(例如,对应于没有使用的地址值)。页表206 包括用以指示队列页是否在循环列表200中的"循环比特"。页表包括用以 指示有多少存取实体正在访问队列页的"引用计数"。
每个队列具有存储在非易失性存储器110中已分配的一组队列页(例如, 在图3B中,QUEUE一2具有存储在地址N-PAGE—10—N-PAGE一16中的页 Q2/P1 —Q2/P7)。 一些队列页可以在易失性和易失性存储器中都具有复本(例 如,在图3A和3B中的页Q2/P3-Q2/P7)。对于被存储在非易失性存储空间 208中的队列页,页表206使用"脏比特"来指示还没有与非易失性存储器 110同步的队列页的内容是否存在改变。
例如,新添加到队列的消息可能只被存储在易失性存储器中。因为队列 页在委托操作(commit operation)中从易失性存储器同步到非易失性存储器, 所以存储已经被委托的队列消息的队列页可能已经被存储在易失性和易失 性存储器中。(可以采用任一种方案来使委托的消息同步,以确保信息不被 丢失。在未决的/同时提交的申请"消息队列管理"中描述了一种委托消息的 方式,其内容公开于此以资参考。)存储队列页的易失性存储器页面可能已 经被循环使用(例如由不同队列使用),只留下复本在非易失性存储器中。
一个或者更多的存取实体可以打开队列以进行读取或者写入。存取实体
可以打开队列以添加一条或者更多条消息到队列的末端。存取实体可以打开 队列以从队列的前端或者从队列中的特定位置(例如,当先前读取队列时到 达的位置)读取提交的消息。当队列被打开以由存取实体的访问时,排队系
统100执行打开任务(opening task),例如为存取实体设置读和/或写指针。 在存取实体完成队列访问后,所述存取实体关闭所述队列并且该排队系统 100执行适当的关闭任务(closing tasks)。多个存取实体可以同时访问相同 的实体。因此,队列可以为了某些存取实体的访问被打开,并且为了其它存 取实体被关闭。
当存取实体打开队列时,该存取实体为正被访问的队列页增加引用计 数。如果将要被访问的队列页没有在易失性存储器108中,那么将该队列页 从非易失性存储器110复制到易失性存储器108。在存取实体完成对队列页 的访问后(例如,在关闭队列之后或者在队列页的末尾之前写入之后),存 取实体减少关于队列页的引用计数。
排队系统100利用读指针保持存取实体读取数据的轨迹,以及利用写指 针保持存取实体添加(也就是,写入)数据的轨迹。当存取实体正在从队列 读取或者向队列写入时,正在被访问的队列页处于易失性存储器108中。排 队系统100通过空闲列表212保持可用的易失性存储器页面的轨迹。当新的 队列页从非易失性存储器110复制到易失性存储器108,并且没有空闲页(也 就是,空闲列表212是空的)时,排队系统100根据循环列表200循环使用
易失性存储器页面。
为了循环使用易失性存储器页面,排队系统100通过检査在循环列表200
的头端202标识的页来寻找要循环使用的页。如果被标识的页根据预定的标 准是可以被循环使用的页(例如,该页具有用以表示当前没有被读指针或者 写指针所引用的O引用计数),那么将该页的当前内容写入非易失性存储器 110中(如果必要的话)并且该页空闲可被用于分配(并且被从循环列表200 中删除)。如果该页当前的内容已经与非易失性存储器同步,那么排队系统 100在没有向非易失性存储器写入数据的情况下释放该页。如果被标识的页 不能被循环使用,那么该页就从循环列表中删除,并且在循环列表的新的头 端202检査可循环的页。
在一个实施例中,排队系统100将易失性存储器页面添加到循环列表200
中的情况有两种(即,该页变成可被释放的潜在备选者)
情况1:写指针移开该页,没有其它的读或者写指针指向该页,并且该
页已经不在循环列表200中。
情况2:正在使用该页的队列被关闭,没有其它的读或者写指针指向该
页,并且该页已经不在循环列表200中。
例如,当正在添加一串消息给队列的存储实体用消息填充队列页的时,
可能发生情况1。在情况1中,排队系统100将所述页添加给循环列表200 的头端202。因为在并非最近写入的页之前循环使用在最近写入的页,所以 这种情况对应于最近最多使用(MRU)的方式。
在情况2中,排队系统100将所述页添加给循环列表200的尾端204。 因为页从循环列表的头端开始使用,那么在最近写入的页之前循环使用并非 最近写入的页,所以这种情况对应于最近最少使用(LRU)的方式。
在其它的实施中,可以包括其它将页添加给循环列表200的情况。例如, 可以向循环列表200的尾端204添加页的另一情况是
情况3:读指针移开该页,没有其它的读或者写指针指向该页,并且该 页已经不在循环列表200中。
其它的实施例可以包括多种规则的任一种,用于根据对每页的访问历史 保持在循环列表中的页的顺序。根据对于离开所述内存页面的顺序访问的转 换(例如,写指针移开该页)按顺序配置至少一些内存页面的位置,该系统 能够利用顺序访问数据结构的统计特性的优点来改善分页效率。
在空闲列表212中的页对应于不再需要的页,因此不再与队列页相关。 有多种排队系统100将页添加给空闲列表212的情况。在一种情况下,系统 100释放保存有已经被所有存取实体读取的队列消息的页,其中所述的所有 存取实体已经作为读取器预订该队列(也就是,所有用户的读指针已经遍历 了该页上的每条消息,并且己经离开该页)。排队系统IOO为了任何一种其 它原因释放页。例如,当在所述页上的所有消息己经被移除或者"回巻(rolled back)"时,该页被释放。
在一些实施中,根据时间限制释放页。例如,在与页相关的队列已经被 关闭了超过预定的时间长度(例如,2分钟)后释放该页。在另外一个实施 例中,即使在相关的队列是打开的情况下,在与页相关的队列已经被访问了
超过预定的时间长度(例如,IO分钟)后释放该页。
另外,队列管理器102可以释放被其它程序或者数据结构使用的易失性 存储器页面,其中随后可由排队系统ioo使用程序和数据结构分配队列页。 排队系统100能够使用球形空闲列表212 (其也可用于释放所有易失性存储 器页面),或者可选择地,能够使用单独的空闲列表212,其用于队列页的 易失性存储器页面。
图2B表示用于根据虚拟地址顺序排序的QUEUE—1的一组页 Q1/P1-Q1/P8的实例。在这个实例中,在写入器存取实体和两个读取器存取 实体可用时,写入器存取实体可向所述队列写入一串消息,两个读取器存取 实体可读取这些消息。写入器存取实体具有写指针WRITER—1,其按照顺序 增加的虚拟地址在页上写入消息。在写指针WRITER—1从页Ql/P7移动到页 Ql/P8之后,在情况1的条件下,页Ql/P7可以放置在循环列表200的头端 202。在读指针READER—2从页Ql/P2移动到页Ql/P3之后,在情况3的条 件下,页Ql/P2可以放置在循环列表200的尾端204。
第一读取器存取实体具有读指针READER一1,其落后于写指针 WRITER—1—些数量的队列页。当存取实体与排队系统IOO相互作用时,这
种落后的距离能縮小或者扩大。第二读取器存取实体具有读指针 READER_2,其也落后于读指针READER—1 。如果空闲页对于写入器保持可 用状态,那么该读取器能够访问从易失性存储器108写入的页。如果空闲页 是不可用的(例如,如果易失性存储空间由于读取器的较大的落后而填满), 那么一些被写入的页可以被循环使用。例如,在这种页管理方式下,最近最 多使用的页可以被重复地循环使用,为落后的读取器留下一系列在易失性存 储空间中可用的最近最少使用的页。
在QUEUE—1被关闭后,任何已经不在循环列表200中的队列页可以放 置在循环列表200的尾端204。放置在尾端204上的最近关闭队列的任一队 列页在易失性存储器108中保持可用,以由其它存取实体访问,直到所述页 将循环列表从尾端204滚动到头端202。
图3A表示在易失性存储器108的存储地址空间210中的队列页实例。 页地址V-PAGE—1- V-PAGE一2空闲并且因此被包括在空闲列表212中,如图 3D所示。地址V-PAGE—3-V-PAGE一7用于存储QUEUE—2的队列页。读取
器存储实体具有位于V-PAGE一2中的读指针READER—1,以读取在队列页 Q2/P3中的消息(在这个实例中,队列页存储多于一条消息)。写入器存取 实体具有位于V-PAGE—7中的写指针WRITER—1,以在队列页Q2/P7中写入 消息。地址V-PAGE一8- V-PAGE—10用于存储关闭的QUEUE—1的队列页。 V-PAGE—11- V-PAGE一12用于存储其它的数据。
图3B表示非易失性存储器110的存储地址空间208的实例。非易失性 存储器110存储己经同步的(例如,由于委托操作)的QUEUE—1和QUEUE—2 的队列页,其中某些队列页也被下载到易失性存储器108中。在这个实例中, 用还没有与非易失性存储器同步的新消息写入在易失性存储器中的队列页 Q2/P7中。
图3C表示对应于在易失性存储器108中的活动历史的循环列表200。 例如,因为QUEUE—1已经刚被关闭,因此排队系统100通过将这些虚拟地 址放置在循环列表200的尾端204,根据LRU方式对用于循环的队列页 Q1/P3-Q1/P5进行标记。写指针WRITER—1已经刚从页Q2/P4、 Q2/P5以及 Q2/P6 (按照这个顺序)移开。因此所述排队系统100己经将这些虚拟地址 放置到循环列表200的头端202而不是尾端204。
图4A-4C分别表示在随后的活动之后的易失性存储空间210、非易失性 存储地址空间208和循环列表200的状态。写指针WRITER—1已经移到在从 空闲列表212分配的地址V-PAGE—2的新队列页Q2/P8上。第二个读取器存 取实体具有位于V-PAGE一1的读指针READER—2,以读取在从空闲列表212 分配的队列页Q1/P1中的消息。在这些页的分配之后,空闲列表212是空的。
图5A-5C分别表示在从循环列表200的页分配之后的易失性存储空间 210、非易失性存储地址空间208和循环列表200的状态。写指针WRITER—1 保持在队列页Q2/P8上。读指针READER—1已经移到在V-PAGE一4的队列 页Q2/P4上。读指针READER—2已经移到从循环列表200的头端202分配 的队列页Q1/P2上(图4C)。在这种页分配后,循环列表200的新头端202 为Q2/P6 (图5C)。因为队列页QUEUE—1A和QUEUE一1C不再需要,所以 将地址V-PAGE一1和V-PAGE—3放置在空闲列表204中(图5D)。
在这个实例中,用单独的写入器和单独的读取器访问给定的队列。在其 它实例中,多个访问实体(例如,用户和/或写入器)能够与相同的队列(每
个队列具有它自己的读指针和写指针)交互。当多个访问实体与队列交互时, 可以采用上面描述的关于循环使用内存页面的相同情况。
排队系统100能够结合这里描述的技术使用其它技术以提高系统性能。
例如,队列管理器102能够预言什么时候页将要被发出请求并且一次循环多 页。队列管理器102也能够例如通过在己经添加页之后在循环列表中对它们 重新排序来修改循环列表。
可利用在计算机上执行的软件来实施上述的队列管理方式。例如,软件 可以在执行一个或者多个被编程的一个或多个计算机程序中或者可编程计 算机系统(可以是多种结构,例如分布式、客户端/服务器,或网格)中形成 过程,其中所述可编程计算机系统包括至少一个处理器、至少一个数据存储 系统(包括非易失性存储器和易失性存储器和/或存储元件)、至少一个输 入设备或者端口,以及至少一个输出设备或者端口。软件可以形成一个或者 更多的更大程序的模块,例如,用以提供与计算图表的设计和外形相关的其 它业务的模块。图表的节点和元素能够作为存储在计算机可读介质中的数据 结构或者符合存储在数据库中的数据模型的其它组织的数据来实施。
所述软件可以配置在通过普通或者专用可编程计算机可读的介质上(例 如CD-ROM),或者分布(在传播信号中编码)在执行该程序的计算机的网 络上。所有功能可以在专用计算机上执行,或者使用专用硬件,比如协处理 器执行。软件可以以分布方式实施,在这种方式下由不同的计算机执行由软 件指定的不同计算部分。每一这种计算机程序优选地存储在或者下载到存储 介质或者可由普通或者专用可编程计算机可读的设备(例如,固态内存或者 介质,或者磁性或者光学介质上),以便在由计算机系统读取存储介质或者 设备以执行这里描述的过程时配置和操作计算机。本发明的系统也可以考虑 作为配置有计算机程序的计算机可读存储介质来实现,其中如此配置的存储 介质使得计算机系统按特定和预定的方式运行,以执行这里描述的功能。
需要理解的是,前述说明的目的是举例说明,并不是要限制本发明的范 围,其范围要根据所附权利要求的范围确定。例如,上述的大量功能步骤在 基本不影响总体处理的情况下可以按不同的顺序执行。其它的实施例均在下 面权利要求的范围内。
权利要求
1.一种对一个或者多个顺序访问的数据结构使用的内存分页的方法,包括提供数据结构(200),其表示将要再次使用内存页面的顺序;以及根据与所述顺序访问的数据结构之一相关的内存页面的访问历史对数据结构进行维护,其中具有所述顺序的所述内存页面的位置取决于离开该内存页面的顺序访问转换。
2. 根据权利要求1所述的方法,其中离幵该内存页面的顺序访问转换对 应于离开所述内存页面的指针转换。
3. 根据权利要求1所述的方法,其中具有所述顺序的所述内存页面的位 置取决于顺序访问的转换是否对应于离开该内存页面的写入访问转换。
4. 根据权利要求1所述的方法,其中根据与所述顺序访问的数据结构之 一相关的内存页面的访问历史对数据结构进行维护的步骤包括响应于离开该内存页面的写入访问转换,将用于该内存页面的标识符放 置在用以表示该顺序的数据结构的第一端;以及响应于与被关闭的内存页面相关的顺序访问的数据结构,将用于该内存 页面的标识符放置在用以表示该顺序的数据结构的第二端。
5. 根据权利要求4所述的方法,还包括从表示该顺序的数据结构的所述 第一端再次使用内存页面。
6. 根据权利要求5所述的方法,还包括在确定空闲内存页面的列表为空 之后,从所述数据结构的所述第一端再次使用该内存页面。
7. 根据权利要求5所述的方法,其中再次使用内存页面的步骤包括向非 易失性存储器写入该内存页面的当前内容。
8. 根据权利要求7所述的方法,其中再次使用内存页面的步骤还包括从 该非易失性存储器向该内存页面写入一内存页面。
9. 根据权利要求1所述的方法,其中所述与该内存页面相关的顺序访问 的数据结构包括队列。
10. —种存储在计算机可读介质上的软件,用于对一个或者多个顺序访 问的数据结构使用的内存分页,所述软件包括使得计算机系统执行下列步骤 的指令,所述步骤包括提供数据结构(200),其表示将要再次使用内存页面的顺序;以及 根据与所述顺序访问的数据结构之一相关的内存页面的访问历史对数据结构进行维护,其中具有所述顺序的所述内存页面的位置取决于离开该内存页面的顺序访问转换。
11. 一种对一个或者多个顺序访问的数据结构使用的内存分页的系统, 包括提供数据结构(200)的装置,其中该数据结构(200)表示将要再次使用内 存页面的顺序;以及根据与所述顺序访问的数据结构之一相关的内存页面的访问历史对数 据结构进行维护的装置,其中具有所述顺序的所述内存页面的位置取决于离 开该内存页面的顺序访问转换。
12. —种对一个或者多个顺序访问的数据结构使用的内存分页的方法, 包括在第一种情况下根据最近最多使用的方式以及在第二种情况下根据最 近最少使用的方式,再次使用与顺序访问的数据结构相关的内存页面。
13. 根据权利要求12所述的方法,其中所述第一种情况包括写指针离开 该内存页面的转换。
14. 根据权利要求12所述的方法,其中所述第二种情况包括存取实体关 闭所述顺序访问的数据结构。
15. 根据权利要求12所述的方法,其中所述第二种情况包括读指针离开 该内存页面的转换。
16. —种存储在计算机可读介质上的软件,所述软件包括使得计算机系 统执行下列步骤的指令,所述步骤包括在第一种情况下根据最近最多使用 的方式以及在第二种情况下根据最近最少使用的方式,再次使用与顺序访问 的数据结构相关的内存页面。
全文摘要
描述一种对一个或者多个顺序访问的数据结构使用的内存分页的方法和相应的软件和系统。该方法包括提供数据结构(200),其表示将要再次使用内存页面的顺序;以及根据与所述顺序访问的数据结构之一相关的内存页面的访问历史对数据结构进行维护,其中具有所述顺序的所述内存页面的位置取决于离开该内存页面的顺序访问转换。具有所述顺序的所述内存页面的位置取决于离开该内存页面的顺序访问的转换。
文档编号G06F12/00GK101189584SQ200680019765
公开日2008年5月28日 申请日期2006年6月22日 优先权日2005年6月27日
发明者克雷格·W·斯坦菲尔 申请人:起元软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1