发明名称 压缩储存自由空间管理
摘要 一种改良方法、系统,及电脑程式储存装置(如包含设置在磁性、电气、光学或其他储存装置上的软体)以管理压缩主记忆体配置及利用,其可避免系统因它种因素所导致的异常终止或无效率操作。本发明之特点为可用储存量减低至足以威胁系统异常终止时,可减少(并且最后去除)所有非必要处理。在另一例中,依以下至少一者来决定目前记忆体使用量:配置记忆体量中未使用之估计;决定未完成 I/O请求所需之记忆体量。将压缩记忆体当成目前记忆体使用及至少一其他测量或估计量之函数来管理。压缩记忆体可藉由:维持一组动态门槛;估计可易于释出之储存量(已使用但可利用)及保证之储存量(配置但未使用)等来管理。保证之储存区估计可包含:目前储存区利用;及保证给新页之储存区估计(根据允许的新页数目),其执行次数,估计压缩比,及快取记忆体中常驻次数估计值。
申请公布号 TW455763 申请公布日期 2001.09.21
申请号 TW088101837 申请日期 1999.02.06
申请人 万国商业机器公司 发明人 彼得安东尼法兰纳斯克;菲利普海德柏格
分类号 G06F12/02;G06F12/08 主分类号 G06F12/02
代理机构 代理人 陈长文 台北巿敦化北路二○一号七楼
主权项 1.一种管理压缩记忆体之方法,用于一包含压缩记 忆体之电脑系统中,其中一记忆体配置单元能占据 可变量之实体记忆体空间,该管理压缩记忆体的之 方法包含以下步骤: 判定目前记忆体使用量; 估计配置但未使用之记忆体量;以及 将压缩记忆体当成目前记忆体使用及配置但未使 用记忆体量之函数来管理。2.如申请专利范围第1 项之方法,更包含以下步骤; 估计已使用但可利用记忆体;以及 该管理包含将记忆体当成该已使用但可利用记忆 体之函数来管理。3.如申请专利范围第1项之方法, 更包含将记忆体当成固定页之极大记忆体使用函 数来管理之步骤。4.如申请专利范围第1项之方法, 其中该单元系一页,其中该管理更包含限制常驻记 忆体中之页数之步骤。5.如申请专利范围第1项之 方法,更包含以下步骤: 判定未完成I/O请求所需记忆体量;以及 将压缩记忆体当成目前记忆体使用及未完成I/O请 求所需记忆体量之函数来管理。6.如申请专利范 围第1项之方法,该管理步骤更包含将压缩记忆体 当成可利用实际位址量函数之步骤。7.如申请专 利范围第1项之方法,其中该管理更包含以下步骤; 依至少一测量及估计量,包含目前记忆体使用及配 置但未使用记忆体,而动态地设定至少一中断等级 及门槛;以及 依该至少一测量及估计之而回应该等中断及门槛 交叉。8.如申请专利范围第3项之方法,其中该至少 一测量及估计量包含以下至少之一;未完成I/O请求 所需之记忆体量;已使用但可利用记忆体量;及可 利用实际位址。9.如申请专利范围第1项之方法,其 中该单元系一页,而其中该管理更包含判定是否可 允许一页请求之步骤。10.如申请专利范围第1项之 方法,其中该单元系一页,而其中该管理更包含控 制将数页写入磁碟之步骤。11.如申请专利范围第1 项之方法,其中该单元系一页,其中该管理更包含 控制页数归零之步骤。12.如申请专利范围第2项之 方法,其中该单元系一页,而其中该管理更包含藉 由使用矫正表而控制页数在已使用但可利用状态 之步骤。13.如申请专利范围第1项之方法,其中该 单元系一页,而其中该管理更包含进入一紧急状态 之步骤;及删除所有之处理,除了用以使归零,将页 写入磁碟,及未完成I/O所需者以外。14.如申请专利 范围第13项之方法,其中该管理更包含离开紧急状 态并恢复正常操作之步骤。15.如申请专利范围第1 项之方法,其中该单元系一页,而其中该配置但未 使用记忆体之估计系根据以下至少之一;配置页之 次数;发生I/O完成之次数;及一快取误差比。16.如 申请专利范围第2项之方法,其中该单元系一页,该 已使用但可利用记忆体之估计系根据诸页占据之 空间估计,其可在不写入磁碟之下归零。17.一种管 理压缩记忆体之方法,于一包含压缩记忆体之电脑 系统中,其中一记忆体配置单元能占据可变量之实 体记忆体空间,方法包含以下步骤; 判定目前记忆体使用量; 判定未完成I/O请求所需之记忆体量;以及 将压缩记忆体当成目前记忆体使用及未完成I/O请 求所需记忆体量之函数来管理。18.如申请专利范 围第17项之方法,更包含以下步骤: 估计已使用但可利用记忆体;以及 该管理包含将记忆体当成该已使用但可利用记忆 体之函数来管理。19.如申请专利范围第17项之方 法,更包含将记忆体当成固定页之极大记忆体使用 函数来管理之步骤。20.如申请专利范围第17项之 方法,其中该单元系一页,其中该管理更包含限制 常驻在记忆体中之页数之步骤。21.如申请专利范 围第17项之方法,更包含以下步骤: 估计配置但未使用记忆体量;以及 将压缩记忆体当成目前记忆体使用及配置但未使 用记忆体量之函数来管理。22.如申请专利范围第 17项之方法,该管理步骤更包含将压缩记忆体当成 可利用实际位址量函数之步骤。23.如申请专利范 围第17项之方法,其中该管理更包含以下步骤; 依至少一测量及估计量,包含目前记忆体使用及配 置但未使用记忆体,而动态地设定至少一中断等级 及门槛;以及 依该至少一测量及估计之而回应该等中断及门槛 交叉。24.如申请专利范围第19项之方法,其中该至 少一测量及估计量包含以下至少之一;未完成I/O请 求所需之记忆体量;已使用但可利用记忆体量;及 可利用实际位址。25.如申请专利范围第17项之方 法,其中该单元系一页,而其中该管理更包含判定 是可允许一页请求之步骤。26.如申请专利范围第 17项之方法,其中该单元系一页,而其中该管理更包 含控制将数页写入磁碟之步骤。27.如申请专利范 围第17项之方法,其中该单元系一页,而其中该管理 更包含控制页数归零之步骤。28.如申请专利范围 第18项之方法,其中该单元系一页,而其中该管理更 包含藉由使用矫正表而控制页数在已使用但可利 用状态之步骤。29.如申请专利范围第17项之方法, 其中该单元系一页,而其中该管理更包含进入一紧 急状态之步骤;及删除所有之处理,除了用以使页 归零,将页写入磁碟,及未完成I/O所需者以外。30. 如申请专利范围第29项之方法,其中该管理更包含 离开紧急状态并恢复正常操作之步骤。31.如申请 专利范围第21项之方法,其中该单元系一页,而其中 该配置但未使用记忆体之估计系根据以下至少之 一;配置页之次数;发生I/O完成之次数;及一快取误 差比。32.如申请专利范围第18项之方法,其中该单 元系一页,该已使用但可利用记忆体之估计系根据 诸占据之空间估计,其可在不写入磁碟之下归零。 33.一种管理压缩记忆体之电脑系统,其中一记忆体 配置单元能占据可变量之实体记忆体空间,该系统 包含; 装置,用以判定目前记忆体使用量; 装置,用以估计配置但未使用之记忆体量;以及 一自由空间管理员,连接至该判定装置及该估计装 置,用以将压缩记忆体当成目前记忆体使用及配置 但未使用记忆体量之函数来管理。34.如申请专利 范围第33项之系统,更包含: 装置,用以估计已使用但可利用记忆体;以及 该自由空间管理员,连接至该估计装置,包含装置 用以将记忆体当成该已使用但可利用记忆体之函 数来管理。35.如申请专利范围第33项之系统,其中 该自由空间管理员更包含装置,用以将记忆体当成 固定页之极大记忆体使用函数来管理。36.如申请 专利范围第33项之方法,其中该单元系一页,其中该 自由空间管理员更包含装置,用以限制常驻在记忆 体中之页数。37.如申请专利范围第33项之系统,更 包含: 装置,用以判定未完成I/O请求所需记忆体量;以及 该自由空间管理员包含装置,用以将压缩记忆体当 成目前记忆体使用及未完成I/O请求所需记忆体量 之函数来管理。38.如申请专利范围第33项之系统, 其中该自由空间管理员包含装置,用以将压缩记忆 体当成可利用实际位址量函数。39.如申请专利范 围第35项之系统,其中该至少一测量及估计量,包含 以下至少之一;未完成I/O请求所需之记忆体量;已 使用但可利用记忆体量;及可利用实际位址。40.如 申请专利范围第33项之系统,其中该单元系一页,而 其中该自由空间管理员更包含装置,用以判定是否 可允许一页请求。41.如申请专利范围第33项之系 统,其中该单元系一页,而其中该自由空间管理员 更包含装置,用以控制将数页写入磁碟。42.如申请 专利范围第33项之系统,其中该单元系一页,其中自 由空间管理员更包含装置,用以控制页数归零。43. 如申请专利范围第34项之系统,其中该单元系一页, 而其中该自由空间管理员更包含: 一页之矫正表,表示存在于磁碟上有效拷贝之页框 ; 装置,藉由使用矫正表而用以控制页数在已使用但 可利用状态。44.如申请专利范围第33项之系统,其 中该单元系一页,而其中该自由空间管理员更包含 : 装置,用以侦测并进入一紧急状态;以及 装置,用以删除所有之处理,连接至该用以侦测并 进入一紧急状态之装置,除了以下至少之一;页归 零,将页写入磁碟,及未完成I/O所需者以外。45.如 申请专利范围第44项之系统,其中该自由空间管理 员更包含装置用以离开紧急状态;及装置,用以恢 复正常操作,连接至该装置用以离开紧急状态。46. 如申请专利范围第33项之系统,其中该单元系一页, 而其中该装置用以估计配置但未使用记忆体量系 根据以下至少之一;配置页之次数;发生I/O完成之 次数;及一快取误差比。47.如申请专利范围第34项 之系统,其中该单元系一页而其中该装置用以估计 已使用但可利用记忆体量,包含装置用以估计诸页 占据之空间量,其在可不写入磁碟之下归零。48.一 种管理压缩记忆体之电脑系统,其中一记忆体配置 单元能占据可变量之实体记忆体空间,该系统包含 : 装置,用以判定目前记忆体使用量; 装置,用以判定未完成I/O请求所需之记忆体量;以 及 一自由空间管理员,用以将压缩记忆体当成目前记 忆体使用及未完成I/O请求所需记忆体量之函数来 管理。49.如申请专利范围第48项之系统,更包含: 装置,用以估计已使用但可利用记忆体;以及 该自由空间管理员,包含装置用以将记忆体当成该 已使用但可利用记忆体之函数来管理。50.如申请 专利范围第48项之系统,其中该自由空间管理员更 包含装置,用以将记忆体当成固定页之极大记忆体 使用函数来管理。51.如申请专利范围第48项之系 统,其中该单元系一页,其中该自由空间管理员更 包含装置,用以限制常驻在记忆体中之页数。52.如 申请专利范围第48项之系统,更包含: 装置,用以估计配置但未使用之记忆体量;以及 装置,用以将压缩记忆体当成目前记忆体使用及配 置但未使用记忆体量之函数来管理。53.如申请专 利范围第48项之系统,其中该自由空间管理员更包 含装置,用以将压缩记忆体当成可利用实际位址量 函数。54.如申请专利范围第48项之系统,其中该自 由空间管理员更包含: 装置,依至少一测量及估计量,包含目前记忆体使 用及配置但未使用记忆体,而动态地设定至少一中 断等级及门槛;以及 装置,依该至少一测量及估计之而回应该等中断及 门槛交叉。55.如申请专利范围第50项之系统,其中 该至少一测量及估计量,包含以下至少之一;未完 成I/O请求所需之记忆体量;已使用但可利用记忆体 量;及可利用实际位址。56.如申请专利范围第48项 之系统,其中该单元系一页,而其中该管理更包含 装置,用以判定是否可允许一页请求。57.如申请专 利范围第48项之系统,其中该单元系一页,而其中该 自由空间管理员更包含装置,用以控制将数页写入 磁碟。58.如申请专利范围第48项之系统,其中该单 元系一页,其中自由空间管理员更包含装置,用以 控制页数归零。59.如申请专利范围第49项之系统, 其中该单元系一页,而其中该自由空间管理员更包 含: 一页之矫正表,表示存在于磁碟上有效拷贝之页框 ; 装置,藉由使用矫正表而用以控制页数在已使用但 可利用状态。60.如申请专利范围第48项之系统,其 中该单元系一页,而其中该自由空间管理员更包含 : 装置,用以侦测并进入一紧急状态;以及 装置,用以删除所有之处理,连接至该用以侦测并 进入之装置,除了页归零,将页写入磁碟,及未完成I /O所需者以外。61.如申请专利范围第50项之系统, 其中该自由空间管理员更包含装置用以侦测一恢 复正常状态;及装置用以离开紧急状态并恢复正常 操作,连接至该装置用以侦测一恢复正常状态。62. 如申请专利范围第52项之系统,其中该单元系一页, 而其中该装置用以估计装置但未使用记忆体量系 根据以下至少之一;配置页之次数;发生I/O完成之 次数;及一快取误差比。63.如申请专利范围第49项 之系统,其中该单元系一页而其中该装置用以估计 已使用但可利用记忆体量系根据估计诸页占据之 空间,其可在不写入磁碟之下归零。64.如申请专利 范围第54项之系统,其中用以动态地设定至少一中 断等级及门槛之装置,更包含装置根据以下至少之 一而用以设定门槛间距离:估计之压缩比;该自由 空间管理员在各个其状态之时间分数;以及I/O率。 65.一种管理压缩记忆体之电脑系统,其中一记忆体 配置单元能占据可变量之实体记忆体空间,该系统 包含: 至少一处理器; 连接至诸处理器之至少一快取记忆体; 该等记忆体单元组织成页,区段及线; 连接至该快取记忆体及压缩记忆体之压缩控制器; 衆多中断暂存器及一自由空间表,连接至该压缩控 制器; 装置,用以判定目前记忆体使用量,连接至压缩控 制器; 装置,用以估计配置但未使用之记忆体量,连接至 该压缩控制器;以及 一自由空间管理员,连接至诸处理器及压缩控制器 ,用以将压缩记忆体当成目前记忆体使用及配置但 未使用记忆体量之函数来管理; 该压缩控制器包含: 装置,用以压缩线其从快取记忆体接出并储存结果 在从自由空间表取出之数个固定大小区段中; 装置,用以解压缩快取记忆体撷取上之线; 装置,用以增加区段,其藉由以下操作如从记忆体 删除一线,或者压缩一变化线其现在使用较少空间 而释出,并加入自由空间表; 装置,用以维持自由空间表上数个区段之计数F,该 计数可供自由空间管理员利用;以及 装置,用以维持一组门槛在该中断暂存器,该等门 槛指示一大小F,其中交叉该等门槛导致一处理器 中断;以及 该自由空间管理员更包含: 装置,用以在自由空间表上维持适当数目之区段; 装置,用以依至少一测量及估计量,包含目前记忆 体使用及配置但未使用记忆体,而动态地设定至少 一中断等级及门槛;以及 装置,依该至少一测量及估计之而用以回应该等中 断及门槛交叉。66.一种机器可读取之电脑程式储 存装置,确实地实施机器可执行之指令程式以执行 诸方法步骤以管理一压缩记忆体,其中一记忆体配 置单元能占据可变量之实体记忆体空间,该等方法 步骤包含: 判定目前记忆体使用量; 估计配置但未使用之记体量;以及 将压缩记忆体当成目前记忆体使用及配置但未使 用记忆体量之函数来管理。67.如申请专利范围第 66项之电脑程式储存装置,更包含以下步骤; 估计已使用但可利用记忆体;以及 该管理包含将记忆体当成该已使用但可利用记忆 体之函数来管理。68.如申请专利范围第66项之电 脑程式储存装置,更包含将记忆体当成固定页之极 大记忆体使用函数来管理之步骤。69.如申请专利 范围第66项之电脑程式储存装置,其中该单元系一 页,其中该管理更包含限制常驻在记忆体中之页数 之步骤。70.如申请专利范围第66项之电脑程式储 存装置,更包含以下步骤: 判定未完成I/O请求所需记忆体量;以及 将压缩记忆体当成目前记忆体使用及未完成I/O请 求所需记忆体量之函数来管理。71.如申请专利范 围第66项之电脑程式储存装置,该管理步骤更包含 将压缩记忆体当成可利用实际位址量函数之步骤 。72.如申请专利范围第66项之电脑程式储存装置, 其中该管理更包含以下步骤: 依至少一测量及估计量,包含目前记忆体使用及配 置但未使用记忆体,而动态地设定至少一中断等级 及门槛;以及 依该至少一测量及估计之而回应该等中断及门槛 交叉。73.如申请专利范围第68项之电脑程式储存 装置,其中该至少一测量及估计量包含以下至少之 一;未完成I/O请求所需之记忆体量;已使用但可利 用记忆体量;以及利用实际位址。74.如申请专利范 围第66项之电脑程式储存装置,其中该单元系一页, 而其中该管理更包含判定是否可允许一页请求之 步骤。75.如申请专利范围第66项之电脑程式储存 装置,其中该单元系一页,而其中该管理更包含控 制将数页写入磁碟之步骤。76.如申请专利范围第 66项之电脑程式储存装置,其中该单元系一页,其中 该管理更包含控制页数归零之步骤。77.如申请专 利范围第67项之电脑程式储存装置,其中该单元系 一页,而其中该管理更包含藉由使用矫正表而控制 页数在已使用但可利用状态之步骤。78.如申请专 利范围第66项之电脑程式储存装置,其中该单元系 一页,而其中该管理更包含进入一紧急状态之步骤 ;及删除所有之处理,除了用以使页归零,将页写入 磁碟,及未完成I/O所需者以外。79.如申请专利范围 第78项之电脑程式储存装置,其中该管理更包含离 开紧急状态并恢复正常操作之步骤。80.如申请专 利范围第66项之电脑程式储存装置,其中该单元系 一页,而其中该配置但未使用记忆体之估计系根据 以下至少之一:配置页之次数;发生I/O完成之次数; 及一快取误差比。81.如申请专利范围第67项之电 脑程式储存装置,其中该单元系一页,该已使用但 可利用记忆体之估计系根据诸页占据之空间估计, 其可在不写入磁碟之下归零。82.一种管理压缩记 忆体之方法,于一包含压缩记忆体之电脑系统中, 其中一记忆体配置单元能占据可变量之实体记忆 体空间,方法包含以下步骤: 判定目前记忆体使用量; 判定未完成I/O请求所需之记忆体量;以及 将压缩记忆体当成目前记忆体使用及未完成I/O请 求所需记忆体量之函数来管理。83.如申请专利范 围第82项之方法,更包含以下步骤: 估计已使用但可利用记忆体;以及 该管理包含将记忆体当成该已使用但可利用记忆 体之函数来管理。84.如申请专利范围第82项之方 法,更包含将记忆体当成固定页之极大记忆体使用 函数来管理之步骤。85.如申请专利范围第82项之 方法,其中该单元系一页,其中该管理更包含限制 常驻在记忆体中之页数之步骤。86.如申请专利范 围第82项之方法,更包含以下步骤: 估计配置但未使用记忆体量;以及 将压缩记忆体当成目前记忆体使用及配置但未使 用记忆体量之函数来管理。87.如申请专利范围第 82项之方法,该管理步骤更包含将压缩记忆体当成 可利用实际位址量函数之步骤。88.如申请专利范 围第82项之方法,其中该管理更包含以下步骤: 依至少一测量及估计量,包含目前记忆体使用及配 置但未使用记忆体,而动态地设定至少一中断等级 及门槛;以及 依该至少一测量及估计之而回应该等中断及门槛 交叉。89.如申请专利范围第84项之方法,其中该至 少一测量及估计量包含以下至少之一:未完成I/O请 求所需之记忆体量;已使用但可利用记忆体量;及 可利用实际位址。90.如申请专利范围第82项之方 法,其中该单元系一页,而其中该管理更包含判定 是否可允许一页请求之步骤。91.如申请专利范围 第82项之方法,其中该单元系一页,而其中该管理更 包含控制将数页写入磁碟之步骤。92.如申请专利 范围第82项之步骤,其中该单元系一页,其中该管理 更包含控制页归零之步骤。93.如申请专利范围第 83项之步骤,其中该单元系一页,而其中该管理更包 含藉由使用矫正表而控制页数在已使用但可利用 状态之步骤。94.如申请专利范围第82项之步骤,其 中该单元系一页,而其中该管理更包含进入一紧急 状态之步骤;及删除所有之处理,除了用以使页归 零,将页写入磁碟,及未完成I/O所需者以外。95.如 申请专利范围第29项之方法,其中该管理更包含离 开紧急状态并恢复正常操作之步骤。96.如申请专 利范围第86项之方法,其中该单元系一页,而其中该 配置但未使用记忆体之估计系根据以下至少之一; 配置页之次数;发生I/O完成之次数;及一快取误差 比。97.如申请专利范围第83项之方法,其中该单元 系一页,该已使用但可利用记忆体之估计系根据诸 占据之空间估计,其可在不写入磁碟之下归零。图 式简单说明: 第一图a说明一计算环境的例子,其并有并使用本 发明的记忆体管理功能; 第一图b说明一页表; 第一图c说明压缩主记忆体页的实体位址组织的例 子; 第二图a说明根据本发明而管理压缩记忆体的方法 例子; 第二图b说明在无矫正表的系统中,第一图空间管 理员使用的门槛策略的例子; 第三图说明在无矫正表的系统中压缩记忆体管理 过程的例子; 第四图说明在矫正表的系统中压缩记忆体管理过 程的例子;以及 第五图说明在矫正表的系统中策略的估计可用空 间门槛的例子。
地址 美国