【技术实现步骤摘要】
【国外来华专利技术】用于消除计算机存储器中的副本和值冗余的系统、方法和设备
[0001]该主题总体上涉及电子计算机中的存储器中的数据压缩的领域。
技术介绍
[0002]数据压缩是一种通用技术,用以通过相较于不频繁的数据集合更有效地对频繁的数据集合进行编码,来较有效地存储和传输数据。由于一些原因,一般较有效地存储和传输数据是令人感兴趣的。在计算机存储器例如保留处理设备操作的数据和计算机指令的存储器中,例如在主存储器或缓存存储器中,更有效地例如K倍地存储所述数据是令人感兴趣的,因为它然后可以使所述存储器的大小潜在地减少K倍,使用潜在地减少K倍的通信容量在一个存储器与另一存储器之间传输数据,并使计算机系统内部或之间和/或存储器之间存储和传输所述数据的能量消耗潜在地减少K倍。可替代地,与没有数据压缩相比,人们可以在可用的计算机存储器中存储潜在地增加K倍的数据。这对于在不必增加更多的存储器的情况下实现计算机潜在地高K倍的性能——其可能是昂贵的或者由于资源限制可能只是不太理想——是令人感兴趣的。作为另一示例,智能手机、平板电脑、膝上/台式机或机顶盒的大小和重量可能受到限制,因为较大或较重的智能手机、平板电脑、膝上/台式机或机顶盒对终端用户的价值较低;因此潜在地降低了此类产品的市场价值。然而,较多的存储器容量或较高的存储器通信带宽可以潜在地增加产品的市场价值,因为较多的存储器容量或存储器通信带宽可以产生较高的性能,从而提高产品的效用。
[0003]总而言之,在包括孤立设备或互连设备的计算机化产品的总体格局中,数据压缩可以潜在地提高性能,降低能 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种计算机存储器压缩方法(1200),包括:关于副本存储器对象的出现以及独特存储器对象中数据值的值冗余,分析(1210)计算机存储器内容;通过消除所述副本存储器对象和经由利用每个其余独特存储器对象的数据值的数据值局部性对每个其余独特存储器对象进行压缩,来对所述计算机存储器内容进行编码(1220);提供(1230)代表所编码的计算机存储器内容的存储器对象的元数据(500),其中,所述元数据(500)反映了被消除的副本存储器对象、其余独特存储器对象以及用于压缩每个其余独特存储器对象的压缩类型;以及使用所述元数据(500)在所编码的计算机存储器内容中定位(1240)存储器对象。2.根据权利要求1所述的方法,其中,对于所编码的计算机存储器内容的每个存储器对象,所述元数据(500)包括:信息(510),其表明所述存储器对象是被消除的副本存储器对象或其余独特存储器对象;当所述存储器对象是独特存储器对象时,表明所使用的压缩类型的信息(520)和对所述独特存储器对象的独特存储器对象引用(530、U_PTR);以及当所述存储器对象是副本存储器对象时,对独特存储器对象的独特存储器对象引用(530、U_PTR),其非压缩内容与所述副本存储器对象相同。3.根据权利要求2所述的方法,其中,对于作为独特存储器对象的每个存储器对象,所述元数据(500)还包括对被消除的副本存储器对象的副本存储器对象引用(540、D_PTR),其非压缩内容与所述独特存储器对象相同。4.根据权利要求3所述的方法,还包括通过以下方式处理(600)所述计算机存储器内容中的每个单独的存储器对象:创建签名(S),所述签名是所述存储器对象的数据值的密集表示;遍历树数据结构(400),以将所创建的签名(S)与所述树数据结构(400)中已代表的签名进行比较;如果所创建的签名(S)与所述树数据结构(400)中代表的签名中的任何签名不匹配(660):在所述树数据结构(400)中插入节点;在所插入的节点中输入所创建的签名(S);以及为所述单独的存储器对象生成所述元数据(500),所述元数据具有:表明它是独特存储器对象的信息(510);以及对所述单独的存储器对象的所述独特存储器对象引用(530、U_PTR);以及如果所创建的签名(S)与所述树数据结构(400)中代表的签名相匹配(650):为所述单独的存储器对象生成所述元数据(500),所述元数据具有:表明它是副本存储器对象的信息(510);以及对由所述树数据结构(400)中的匹配签名所代表的独特存储器块的所述独特存储器对象引用(530、U_PTR);以及更新由所述树数据结构(400)中的匹配签名所代表的独特存储器块的所述元数据(500),以引入对所述单独的存储器对象的副本存储器对象引用(540、D_PTR)。
5.根据权利要求4所述的方法,还包括,当所创建的签名(S)与所述树数据结构(400)中代表的签名相匹配(650)时:确定所述单独的存储器对象是否与所述匹配签名所代表的所述独特存储器块相同;以及如果所述单独的存储器对象和所述匹配签名所代表的所述独特存储器块不相同:在所述树数据结构(400)中插入节点;在所插入的节点中输入所创建的签名(S);以及为所述单独的存储器对象生成所述元数据(500),所述元数据具有:表明它是独特存储器对象的信息(510);以及对所述单独的存储器对象的所述独特存储器对象引用(530、U_PTR)。6.根据权利要求4或5所述的方法,还包括,当所述计算机存储器内容中的所有存储器对象都已被处理(600)时:遍历所述树数据结构(400),以为所述树数据结构(400)的节点所代表的独特存储器对象的数据值生成值频率表;以及通过基于熵的压缩方案,使用所生成的值频率表来压缩每个独特存储器对象。7.根据权利要求4或5所述的方法,还包括,当所述计算机存储器内容中的所有存储器对象都已被处理(600)时:通过检查由所述树数据结构(400)的节点所代表的独特存储器对象的数据值来遍历所述树数据结构(400),以及确定一个或更多个基值;以及通过基于增量编码的压缩方案,使用所确定的一个或更多个基值来压缩每个独特存储器对象。8.根据任何前一权利要求所述的方法,其中,所述数据值的粒度比所述存储器对象的粒度细,以及所述存储器对象的粒度比所述计算机存储器内容的粒度细。9.根据权利要求8所述的方法,其中,所述计算机存储器内容是计算机存储器的页面,所述存储器对象是存储器块,以及每个存储器块包括多个数据值。10.根据在从属于权利要求2时的权利要求9所述的方法,还包括:接收对具有物理存储器页面地址(PA)的存储器页面中的存储器块的读请求;从查找表(1010)中确定压缩存储器页面地址(CA);检索所述存储器块的元数据(1020);根据所述压缩存储器页面地址(CA)和检索到的元数据的所述独特存储器对象引用(530、U_PTR),来计算压缩存储器块地址(1040);在计算出的压缩存储器块地址(1040)处检索压缩存储器块(1105);以及使用来自存储器块的检索到的元数据的表明压缩类型的信息(520;1120、ENC),来对检索出的压缩存储器块(1105)进行解压缩(1110)。11.根据在从属于权利要求3时的权利要求9或10所述的方法,还包括:接收涉及原始存储器位置处的独特存储器块(830)的更新的回写请求;在更新前将所述独特存储器块(830)复制到所述计算机存储器内容的专用空闲存储器区域(840)中的新存储器位置(870);更新链接到所述独特存储器块(830)的副本存储器块(810、820)的元数据,从而使其副
本存储器对象引用(540、D_PTR)被重新定向到所述专用空闲存储器区域(840)中的新存储器位置(870);以及根据所述回写请求,更新在其原始存储器位置(830)处的所述独特存储器块。12.根据权利要求11所述的方法,还包括:提供包括对所述专用空闲存储器区域(840)的起始地址(805)的引用(F_PTR)的元数据;以及在将所述独特存储器块(830)复制到所述专用空闲存储器区域(840)中的所述新存储器位置(870)之后,更新所述引用(F_PTR)以反映新起始地址(880)。13.根据权利要求4并根据权利要求9或10中任一项所述的方法,还包括:接收涉及原始存储器位置处的独特存储器块(830)的更新的回写请求;发现被去重的存储器块(820)是所述独特存储器块(830)的副本;通过使用所述独特存储器块(830)的签名(S),将所发现的被去重的存储器块(820)提升为所述树数据结构(400)中的独特;根据所述回写请求,将所述独特存储器块(830)的更新内容写到专用空闲存储器区域(840)中的新存储器位置(870);以及更新所述独特存储器块(830)的元数据,从而使其独特存储器对象引用(530、U_PTR)被重新定向到所述专用空闲存储器区域(840)中的所述新存储器位置(870),而其任何副本存储器对象引用(540、D_PTR)被移除。14.根据权利要求13所述的方法,还包括:提供包括对所述专用空闲存储器区域(840)的起始地址(805)的引用(F_PTR)的元数据;以及在根据所述回写请求将所述独特存储器块(830)的更新内容写到所述专用空闲存储器区域(840)中的所述新存储器位置(870)之后,更新所述引用(F_PTR)以反映新的起始地址(880)。15.根据权利要求9至14中任一项所述的方法,还包括:接收涉及副本存储器块(920)的更新的回写请求;将更新的副本存储器块的内容作为新的独特存储器块(980)存储在专用空闲存储器区域(940)中;以及更新先前链接到所述副本存储器块(920)的独特存储器块(910)的元数据,以反映所述独特存储器块(910)不再链接到所述副本存储器块(920),同时维持所述独特存储器块(910)和其他副本存储器块(930)之间的任何链接。16.根据权利要求11至15中任一项所述的方法,还包括:监测存储器页面的随时间变化的压缩比;以及如果压缩比不满足给定的标准,则通过执行根据权利要求1至10中任一项所述的方法的功能,来对所述存储器页面执行重新压缩。17.根据权利要求15至16中任一项所述的方法,还包括:通过执行根据权利要求1至10中任一项所述的方法的功能,周期性地执行对存储器页面的重新压缩,以提高压缩比。18.根据任何前一权利要求所述的方法,其中,通过利用数据值局部性进行的所述压缩
涉及以下之一:基于熵的编码;增量编码;基于字典的编码;以及基于模式的编码。19.一种计算机存储器压缩设备(205),包括:分析器单元(214),其被配置为关于副本存储器对象的出现以及独特存储器对象中的数据值的值冗余来分析计算机存储器内容;编码器单元(212),其被配置为通过消除所述副本存储器对象和经由利用每个其余独特存储器对象的数据值的数据值局部性对每个其余独特存储器对象进行压缩,来对所述计算机存储器内容进行编码,所述编码器单元(212)还被配置为提供代表所编码的计算机存储器内...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。