【技术实现步骤摘要】
【国外来华专利技术】用于混合式数据压缩和解压缩的方法、设备和系统相关申请的交叉引用本专利申请要求于2015年5月21日提交的题为“METHODS,DEVICESANDSYSTEMSFORDATACOMPRESSIONANDDECOMPRESSION”的瑞典专利申请No1550644-7的优先权,其内容通过引用整体地并入本文。本专利申请还要求于2016年1月29日提交的题为“METHODS,DEVICESANDSYSTEMSFORDECOMPRESSINGDATA”的瑞典专利申请No1650119-9的优先权,其内容通过引用整体地并入本文。
本专利申请的公开内容总体上涉及数据压缩和解压缩的领域,例如在高速缓存/存储器子系统中和/或在计算机系统的数据传输子系统中,或者在数据通信系统中的数据压缩和解压缩。
技术介绍
数据压缩是用于减小数据大小的一种较为成熟的技术。数据压缩适用于保存在计算机系统的存储器子系统中的数据以增大存储器容量。当在计算机系统内的不同子系统之间传输数据时,或者通常当在包括通信网络的数据通信系统中的两点之间进行传输时,也使用数据压缩。数据压缩需要两个基本的操作:1)压缩( ...
【技术保护点】
一种用于将未经压缩的数据块(1805;2505)压缩成经压缩的数据块(1818;2518)的混合式数据压缩设备(1810;2510),所述未经压缩的数据块包括一种或多种数据类型的一个或多个数据值,所述混合式数据压缩设备包括:多个数据压缩器(1814;2514),每个压缩器被配置用于相应的数据压缩方案(1814‑1...1814‑n;2514‑1...2514‑n);以及预测器机构(1812;2512),所述预测器机构被配置用于预测所述未经压缩的数据块(1805;2505)的数据值的数据类型,并且用于将所预测数据类型中的主导数据类型用作主要标准来选择所述多个数据压缩器中经估计 ...
【技术特征摘要】
【国外来华专利技术】2015.05.21 SE 1550644-7;2016.01.29 SE 1650119-91.一种用于将未经压缩的数据块(1805;2505)压缩成经压缩的数据块(1818;2518)的混合式数据压缩设备(1810;2510),所述未经压缩的数据块包括一种或多种数据类型的一个或多个数据值,所述混合式数据压缩设备包括:多个数据压缩器(1814;2514),每个压缩器被配置用于相应的数据压缩方案(1814-1...1814-n;2514-1...2514-n);以及预测器机构(1812;2512),所述预测器机构被配置用于预测所述未经压缩的数据块(1805;2505)的数据值的数据类型,并且用于将所预测数据类型中的主导数据类型用作主要标准来选择所述多个数据压缩器中经估计最适合的数据压缩器;其中,所述混合式数据压缩设备被配置成通过使所选择的经估计最适合的数据压缩器对整个所述未经压缩的数据块进行压缩来生成所述经压缩的数据块(1818;2518)。2.根据权利要求1所述的混合式数据压缩设备(1810;2510;3010),其中,所述混合式数据压缩设备被配置成生成(1816;2516;3016)元数据(1824;2524;3024),所述元数据与所述经压缩的数据块(1818;2518)相关联并且用于识别所选择的经估计最适合的数据压缩器的数据压缩方案。3.根据权利要求2所述的混合式数据压缩设备(1810;2510),其中,所述混合式数据压缩设备被配置成将所生成的元数据与所述经压缩的数据块(1818;2518)一起存储在数据存储装置(1820;2520)中,所述数据存储装置能由数据解压缩设备(1830;2530)访问。4.根据权利要求2所述的混合式数据压缩设备(3010),其中,所述混合式数据压缩设备被配置成通过链路(3020)将所生成的元数据(3024)与所述经压缩的数据块(3018)一起传输至数据解压缩设备(3030)。5.根据任一前述权利要求所述的混合式数据压缩设备(1810;2510),其中,所述多个数据压缩器(1814;2514)包括:·第一数据压缩器,所述第一数据压缩器被配置用于第一数据压缩方案;以及·第二数据压缩器,所述第二数据压缩器被配置用于不同于所述第一数据压缩方案的第二数据压缩方案,并且其中,所述第一数据压缩方案和所述第二数据压缩方案中的每一个都是无损式压缩方案或有损式压缩方案。6.根据权利要求5所述的混合式数据压缩设备(1810;2510),其中,所述第一数据压缩方案和所述第二数据压缩方案是被选择为下述中的两种的无损式压缩方案:·统计式(可变长度)编码;·基于字典的压缩;·增量编码;·基于模式的压缩;·基于重要性的压缩;或者·通用块值压缩。7.根据权利要求5或6所述的混合式数据压缩设备(1810;2510),其中,所述第一数据压缩方案被设计成利用第一数据类型的数据值之间的数据局部性,所述数据局部性是时间型的、空间型的或时间型和空间型的组合;并且其中,所述第二数据压缩方案被设计成利用第二数据类型的数据值之间的数据局部性,所述数据局部性时间型的、空间型的或时间型和空间型的组合。8.根据任一前述权利要求所述的混合式数据压缩设备(1810;2510),其中,所述数据块是下述中之一:用于存储在计算机系统的缓存中的缓存行、缓存组、缓存块或缓存扇区,用于存储在计算机系统内的存储器中或在计算机系统内传输的存储器行、存储器页面或存储器扇区,以及用于在数据通信系统中的传输链路上传输的数据包、微片、有效载荷或数据头。9.根据任一前述权利要求所述的混合式数据压缩设备(1810;2510),其中,所述数据值的所述数据类型是下述中的任一种:整数、指针、浮点数、字符、字符串、布尔值、代码指令、或者由特定格式或标准限定的数据类型。10.根据任一前述权利要求所述的混合式数据压缩设备(1810;2510),其中,所述预测器机构(1812;2512)被配置成:将所述未经压缩的数据块(1805;2505)分成区段;对于所有区段,检查每个区段的检查位部分以将该区段分类为多个候选数据类型中的所预测数据类型;以及比较所有区段的所预测数据类型的出现率,以确定所述未经压缩的数据块的主导数据类型。11.根据权利要求10所述的混合式数据压缩设备(1810;2510),其中,所述候选数据类型是下述中的两种或更多种:整数、指针、浮点数、字符、字符串、布尔值、通用数据值块、数据代码指令或者由特定形式或标准限定的数据类型12.根据权利要求10或11所述的混合式数据压缩设备(1810;2510),其中,对于不同的候选数据类型,所述检查位部分是不同的。13.根据权利要求10至12中任一项所述的混合式数据压缩设备(1810;2510),其中:所述候选数据类型中之一是整数,所述数据块的大小是m个字节,所述区段的大小是n个字节,m/n是2的倍数,所述检查位部分是所述区段的p个最高有效字节,并且n/p为2。14.根据权利要求13所述的混合式数据压缩设备(1810;2510),其中,所述预测器机构(1812;2512)被配置成:如果所述检查位部分等于多个预限定的p字节值中的任何一个,则将所述区段分类为整数。15.根据权利要求10至14中任一项所述的混合式数据压缩设备(1810;2510),其中:所述候选数据类型中之一是指针,所述数据块的大小是m个字节,所述区段的大小是n个字节,m/n是2的倍数,所述检查位部分是所述区段的p个最高有效字节,并且n/p为2。16.根据权利要求15所述的混合式数据压缩设备(1810;2510),其中,所述预测器机构(1812;2512)被配置成:如果所述检查位部分的两个最高有效字节而不是两个最低有效字节等于预限定的p/2字节值,则将所述区段分类为指针。17.根据权利要求10至16中任一项所述的混合式数据压缩设备(1810;2510),其中:所述候选数据类型中之一是浮点数,所述数据块的大小是m个字节,所述区段的大小是n个字节,m/n是2的倍数,并且所述检查位部分是与所述区段的最高有效位紧邻的q个最高有效位。18.根据权利要求17所述的混合式数据压缩设备(1810;2510),其中,所述预测器机构(1812;2512)被配置成:通过将所述区段的所述检查位部分与所述数据块中表现出相同的或聚类的浮点指数的相邻区段的检查位部分进行匹配,将所述区段分类为浮点数。19.根据权利要求10至18中任一项所述的混合式数据压缩设备(1810;2510),其中:所述候选数据类型中之一是通用数据值,所述数据块的大小是m个字节,所述区段的大小是n个字节,m/n是2的倍数,并且所述检查位部分是整个区段。20.根据权利要求19所述的混合式数据压缩设备(1810;2510),其中,所述预测器机构(1812;2512)被配置成:当所述区段的所有数据值具有相同的通用数据值时,将所述区段分类为通用数据值。21.根据权利要求20所述的混合式数据压缩设备,其中,所述通用数据值为空值。22.根据权利要求10至21中任一项所述的混合式数据压缩设备(1810;2510),其中,所述混合式数据压缩设备被配置成:当所述未经压缩的数据块(1805;2505)的所有区段已经被分类为通用数据值时,选择以通用块值压缩作为其数据压缩方案的数据压缩器(1814;2514)作为所述经估计最适合的数据压缩器。23.根据权利要求10至22中任一项所述的混合式数据压缩设备(1810;2510),其中,所述预测器机构(1812;2512)被配置成:在所述区段的两种不同的所预测数据类型具有相同的出现率的情况下,在确定所述未经压缩的数据块的主导数据类型时使一种所预测数据类型优先于另一种所预测数据类型。24.根据权利要求23所述的混合式数据压缩设备(1810;2510),其中,所述预测器机构(1812;2512)被配置成:当确定所述未经压缩的数据块的主导数据类型时,使整数优先于指针和浮点数,并使指针优先于浮点数。25.根据权利要求10至24中任一项所述的混合式数据压缩设备(1810;2510),其中,所述预测器机构(1812;2512)被配置成:当所述区段的所预测数据类型不存在时,选择默认数据压缩器作为所述经估计最适合的数据压缩器。26.根据权利要求10至24中任一项所述的混合式数据压缩设备(1810;2510),其中,所述预测器机构(1812;2512)被配置成:当所述区段的所预测数据类型不存在时,选择不压缩而不是选择经估计最适合的数据压缩器,因此避免对所述未经压缩的数据块进行压缩。27.根据任一前述权利要求所述的混合式数据压缩设备(1810;2510),还被配置成:在多个压缩循环期间,关于针对相应主导数据类型的数据压缩器的理想选择,监测相应选择的经估计最适合的数据压缩器;检测出另一数据压缩器在特定主导数据类型的压缩性方面更有效;以及对于将来的压缩循环,针对所述特定主导数据类型将所述最适合的数据压缩器改变为所述另一数据压缩器。28.根据权利要求27所述的混合式数据压缩设备(1810;2510),其中,针对相应主导数据类型的数据压缩器的理想选择由oracle选择器提供,所述oracle选择器使用所述多个数据压缩器(1814;2514)所有的数据压缩方案对所述未经压缩的数据块进行压缩,并且选择所具有的数据压缩方案对相应的未经压缩的数据块产生最佳压缩性的压缩器作为相应的理想选择。29.根据任一前述权利要求所述的混合式数据压缩设备,其中,所述多个数据压缩器包括:第一数据压缩器(1630),所述第一数据压缩器被配置用于作为通用块值压缩方案的第一数据压缩方案;以及第二数据压缩器(1620),所述第二数据压缩器被配置用于第二数据压缩方案,所述第二数据压缩方案不同于所述第一数据压缩方案并且是统计式(可变长度)编码、基于字典的压缩、增量编码、基于模式的压缩以及基于重要性的压缩中的一种,其中,所述混合式数据压缩设备被配置成:如果所述预测器机构(1630)获悉通用数据值主导所述未经压缩的数据块(1605),则通过使所述第一数据压缩器(1630)将整个所述未经压缩的数据块(1605)压缩成经压缩的通用值数据块来生成所述经压缩的数据块(1618),否则,通过使所述第二数据压缩器(1630)按照所述第二数据压缩方案对整个所述未经压缩的数据块(1605)进行压缩来生成所述经压缩的数据块(1618)。30.根据权利要求29所述的混合式数据压缩设备,其中,所述经压缩的通用值数据块包含单个位。31.根据权利要求29或30所述的混合式数据压缩设备,其中,所述预测器机构(1630)与所述第一数据压缩器(1630)集成。32.根据权利要求29至31中任一项所述的混合式数据压缩设备,其中,所述预测器机构(1630)被配置成:当所述未经压缩的数据块(1605)的所有数据值都具有通用数据值时,获悉所述通用数据值主导所述未经压缩的数据块。33.根据权利要求29至32中任一项所述的混合式数据压缩设备,其中,所述通用数据值是空值。34.一种用于将未经压缩的数据块(1805;2505)压缩成经压缩的数据块(1818;2518)的混合式数据压缩方法,所述未经压缩的数据块包括一种或多种数据类型的一个或多个数据值,所述混合式数据压缩方法包括:预测(2810)所述未经压缩的数据块(1805;2505)的数据值的数据类型;将所预测数据类型中的主导数据类型作为主要标准,从多个数据压缩方案(1814-1...1814-n;2514-1...2514-n)中选择(2820)经估计最适合的数据压缩方案,以及按照所选择的经估计最适合的数据压缩方案对整个所述未经压缩的数据块进行压缩(2830),以生成所述经压缩的数据块(1818;2518)。35.根据权利要求34所述的混合式数据压缩方法,还包括生成(1816;2516;3016)与所述经压缩的数据块(1818;2518)相关联的元数据(1824;2524;3024),所述元数据用于识别所选择的经估计最适合的数据压缩方案。36.根据权利要求35所述的混合式数据压缩方法,其中,所述混合式数据压缩设备被配置成将所生成的元数据与所述经压缩的数据块(1818;2518)一起存储在数据存储装置(1820;2520)中,所述数据存储装置能由数据解压缩设备(1830;2530)访问。37.根据权利要求35所述的混合式数据压缩方法,还包括将所生成的元数据(3024)与所述经压缩的数据块(3018)一起通过链路(3020)传输至数据解压缩设备(3030)。38.根据权利要求34至37中任一项所述的混合式数据压缩方法,其中,所述多个数据压缩方案(1814-1...1814-n;2514-1...2514-n)包括:·第一数据压缩方案;以及·第二数据压缩方案,所述第二数据压缩方案不同于所述第一数据压缩方案,并且其中,所述第一数据压缩方案和所述第二数据压缩方案中的每一个都是无损式压缩方案或有损式压缩方案。39.根据权利要求38所述的混合式数据压缩方法,其中,所述第一数据压缩方案和所述第二数据压缩方案是被选择作为下述中的两种的无损式压缩方案:·统计式(可变长度)编码;·基于字典的压缩;·增量编码;·基于模式的压缩;·基于重要性的压缩;或·通用块值压缩。40.根据权利要求38或39所述的混合式数据压缩方法,其中,所述第一数据压缩方案被设计成利用第一数据类型的数据值之间的数据局部性,所述数据局部性时间型的、空间型的或时间型和空间型的组合;并且其中,所述第二数据压缩方案被设计成利用第二数据类型的数据值之间的数据局部性,所述数据局部性时间型的、空间型的或时间型和空间型的组合。41.根据权利要求34至40中任一项所述的混合式数据压缩方法,其中,所述数据块为下述中之一:用于存储在计算机系统的缓存中的缓存行、缓存组、缓存块或缓存扇区,用于在计算机系统内的存储器中或在计算机系统内传输的存储器行、存储器页面或存储器扇区,以及用于在数据通信系统中的传输链路上传输的数据包、微片、有效载荷或数据头。42.根据权利要求34至41中任一项所述的混合式数据压缩方法,其中,所述数据值的数据类型是下述中的任一种:整数、指针、浮点数、字符、字符串、布尔值、代码指令、或者由特定的格式或标准限定的数据类型。43.根据权利要求34至42中任一项所述的混合式数据压缩方法,还包括:将所述未经压缩的数据块(1805;2505)分成区段;对于所有区段,检查每个区段的检查位部分以将所述区段分类为多个候选数据类型中的所预测数据类型;以及比较所有区段的所预测数据类型的出现率,以确定所述未经压缩的数据块的主导数据类型。44.根据权利要求43所述的混合式数据压缩方法,其中,所述候选数据类型为下述中的两种或更多种:整数、指针、浮点数、字符、字符串、布尔值、通用数据值块、数据代码指令、或者由特定格式或标准限定的数据类型45.根据权利要求43或44所述的混合式数据压缩方法,其中,对于不同的候选数据类型,所述检查位部分是不同...
【专利技术属性】
技术研发人员:安耶洛斯·阿雷拉基斯,佩尔·斯滕斯特伦,
申请(专利权)人:零点科技公司,
类型:发明
国别省市:瑞典,SE
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。