用于压缩和紧凑虚拟存储器的方法和装置的制造方法_5

文档序号:9308576阅读:来源:国知局
法,所述方法包括:动态更新用于虚拟存储器的存储器设备中的压缩存储部分,所述存储器设备包括与所述压缩存储部分分开的未压缩存储部分,所述虚拟存储器能够将存储器地址映射到所述压缩存储部分;将所述未压缩存储部分中分配的存储区域压缩到所述压缩存储部分中,其中所述存储区域变为可用于将来在所述存储器设备中的分配,其中所更新的压缩部分能够存储所压缩的存储区域;以及响应于对访问所压缩的存储区域中的数据的请求,将所压缩的存储区域解压缩回所述存储器设备中的所述未压缩部分。2.根据权利要求1所述的介质,其中所述请求导致页面错误,所述页面错误指示所述数据在所述未压缩存储部分中不可用。3.根据权利要求1所述的介质,其中所述更新包括:从所述未压缩存储部分为所述压缩存储部分分配额外的存储,其中用于在所述未压缩存储部分中分配的可用存储的大小由于所述存储区域的所述压缩而增大。4.根据权利要求1所述的介质,其中所述压缩存储部分存储多个压缩存储单元,每个压缩存储单元对应于由所述未压缩存储部分压缩得到的独立存储区域,其中所述压缩存储单元中的至少两个压缩存储单元并非连续存储于所述压缩存储部分中,还包括:对所述压缩存储部分进行紧凑化,其中所述紧凑化使得所述压缩存储单元中的所述至少两个压缩存储单元连续存储于所述压缩存储部分中。5.根据权利要求4所述的介质,其中所压缩的存储区域对应于所述压缩存储部分中的特定的压缩存储单元,其中所述特定的压缩存储单元存储于所述至少两个压缩存储单元之间,其中所述解压缩将所述特定的压缩存储单元从所述压缩存储部分移除,以允许连续存储所述压缩存储单元中的所述至少两个压缩存储单元。6.根据权利要求4所述的介质,其中所述存储器设备与独立存储设备耦接,其中所述更新包括:将所述压缩存储单元中的一个或多个压缩存储单元从所述压缩存储部分换出至所述独立存储设备,其中所述换出使得所述压缩存储部分的大小减小以增大所述未压缩存储部分的大小。7.根据权利要求6所述的介质,还包括:确定针对所述请求的所压缩的存储区域的所述数据在所述压缩存储部分中是否为当前可用的,其中如果所压缩的存储区域的所述数据在所述压缩存储部分中为当前可用的,则对所压缩的存储区域进行解压缩。8.根据权利要求7所述的介质,还包括:如果所压缩的存储区域的所述数据在所述压缩存储部分中不为当前可用的,则将所压缩的存储区域从所述独立存储设备换入至所述压缩存储部分。9.根据权利要求6所述的介质,其中所述压缩存储单元中的所述一个或多个压缩存储单元中的特定的一个存储于所述至少两个压缩存储单元之间,其中所述换出从所述压缩存储部分移除所述特定的压缩存储单元,以允许连续存储所述压缩存储单元中的所述至少两个压缩存储单元。10.根据权利要求6所述的介质,其中所述换出包括: 选择用于所述交换的所述压缩存储单元中的所述一个或多个压缩存储单元,并且其中所述选择基于与所述压缩存储单元相关联的使用性能。11.根据权利要求10所述的介质,其中所述存储区域对应于所述存储器设备中固定大小的存储单元,其中所述压缩存储单元具有不同大小,并且其中所述压缩存储单元按照顺序线性地存储于所述压缩存储部分中。12.根据权利要求11所述的介质,其中所述使用性能对应于与所述压缩存储单元相关联的所述线性顺序。13.根据权利要求12所述的介质,其中使用性能指示何时针对所述压缩存储单元访问数据,并且其中所选择的所述压缩存储单元中的所述一个或多个压缩存储单元根据所述选择的所述线性顺序为最近最少使用的。14.根据权利要求11所述的介质,其中所述存储器设备经由具有数据传输缓冲区的接口与所述独立存储设备耦接,其中所述交换基于经由所述数据传输缓冲区通过所述接口的数据传输,并且其中所述紧凑化允许所述数据传输缓冲区同时承载多个所述压缩存储单J L ο15.根据权利要求11所述的介质,其中所述压缩存储部分包括一个或多个存储段,每个存储段对应于所述压缩存储单元中的一个或多个压缩存储单元的阵列,所述存储段中的一个存储段的特定阵列包括两个或更多个压缩存储单元,所述紧凑化包括: 在所述特定存储段内移动所述压缩存储单元中的至少一个压缩存储单元,以便在所述特定存储段内的连续存储空间中存储所述两个或更多个压缩存储单元。16.根据权利要求15所述的介质,其中每个存储段具有存储容量,每个存储段具有使用率,所述使用率指示所述存储容量中的多少存储容量已用于存储对应的压缩存储单元阵列,所述紧凑化还包括: 跨所述存储段移动所述压缩存储单元中的一个或多个压缩存储单元,其中所述存储段中的至少一个存储段的对应使用率由于所述压缩存储单元中的所述一个或多个压缩存储单元的所述移动而增大。17.根据权利要求4所述的介质,其中所述压缩存储部分包括多个存储器插槽池,每个压缩存储单元存储于所述存储器插槽中的一个或多个连续的存储器插槽中,每个池对应于所述压缩存储单元的独立分区,每个池与独立线程相关联,并且其中经由相关联的线程针对每个池独立且异步地执行所述紧凑化。18.根据权利要求6所述的介质,其中所述存储区域对应于所述存储器设备中的存储页面,其中所述未压缩存储部分包括存储页面的工作集,以支持当前活动的数据处理过程,还包括: 响应于休眠请求,将所述存储页面的工作集压缩到所述压缩存储部分中的一系列压缩存储单元;以及 将所述一系列压缩存储单元换出至所述存储设备。19.一种其中存储有指令的机器可读非暂态存储介质,所述指令在被计算机执行时使得所述计算机执行一种方法,所述方法包括:基于存储器设备提供虚拟存储器,所述存储器设备被动态划分为未 压缩存储部分和压缩存储部分,所述未压缩存储部分用于存储经由耦接到所述存储器设备的处理器处理的工作数据; 将所述未压缩存储部分的一个或多个存储页面压缩到所述压缩存储部分中的一个或多个不同大小的压缩存储单元中,其中所述压缩增大所述未压缩存储部分中的可用存储空间; 响应于针对对所述压缩存储单元中的一个压缩存储单元中的数据的访问请求的页面错误,将所述一个压缩存储单元从所述压缩存储部分解压缩到所述未压缩存储部分;以及将所述不同大小的压缩存储单元中的至少一个压缩存储单元从所述压缩存储部分换出至海量存储设备,其中所述换出增大所述未压缩存储部分中的可用存储空间。20.一种其中存储有指令的机器可读非暂态存储介质,所述指令在被计算机执行时使得所述计算机执行一种方法,所述方法包括: 将存储器设备的未压缩部分的一个或多个存储页面压缩到所述存储器设备的压缩部分中的一个或多个不同大小的压缩存储单元中,所述存储器设备与海量存储设备耦接;将所述不同大小的压缩存储单元紧凑化到所述存储器设备的所述压缩部分中的段中; 响应于对所述压缩存储单元中的一个压缩存储单元的访问请求,将所述一个压缩存储单元从所述存储器设备的所述压缩部分解压缩到所述存储器设备的所述未压缩部分;以及将所述压缩存储单元的所述段换出至所述海量存储设备以增大所述存储器设备中的可用存储空间。21.—种计算机实现的方法,包括: 动态更新存储器设备中的压缩存储部分,所述存储器设备包括能够支持用于至少一个处理器的数据处理的未压缩存储部分; 将所述未压缩存储部分中分配的存储区域压缩到所述压缩存储部分中,其中所述存储区域变为可用于将来在所述存储器设备中的分配,其中所更新的压缩部分能够存储所压缩的存储区域;以及 响应于对访问所压缩的存储区域中的数据的请求,将所压缩的存储区域解压缩回所述存储器设备中的所述未压缩部分。22.一种计算机系统,包括: 包括可执行指令的存储器,所述存储器被动态划分为压缩部分和未压缩部分; 海量存储设备; 处理器,所述处理器耦接到所述存储器和所述海量存储设备,所述处理器执行来自所述存储器的所述可执行指令,所述处理器被配置为 将所述未压缩存储部分中分配的存储区域压缩到所述压缩存储部分中,其中所述存储区域变为可用于将来在所述存储器设备中的分配,其中所更新的压缩部分能够存储所压缩的存储区域; 响应于对访问所压缩的存储区域中的数据的请求,将所压缩的存储区域解压缩回所述存储器设备中的所述未压缩部分;以及 响应于检测到所述存储器设备中的高存储器使用,将所压缩的存储区域换出至所述存储设备,以增大所述存储器设备中的可用存储空间。
【专利摘要】本发明描述了一种用于存储器设备的方法与装置,该存储器设备包括用于虚拟存储器的压缩存储的动态更新部分。存储器设备可以包括与压缩存储部分分开的未压缩存储部分。虚拟存储器能够将存储器地址映射到压缩存储部分。可以将未压缩存储部分中分配的存储区域压缩到压缩存储部分中。因此,存储区域变为可用于存储器设备中所请求的未来分配(例如在压缩之后)。可以更新压缩存储部分以存储所压缩的存储区域。响应于对访问所压缩的存储区域中的数据的请求,可以将所压缩的存储区域解压缩回存储器设备中的未压缩部分。
【IPC分类】G06F12/02, G06F12/08
【公开号】CN105027093
【申请号】CN201380068367
【发明人】小J·索科尔
【申请人】苹果公司
【公开日】2015年11月4日
【申请日】2013年11月25日
【公告号】DE112013006298T5, US20140189281, WO2014105323A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1