【技术实现步骤摘要】
加速压缩方法以及加速压缩装置
本专利技术涉及一种加速装置,且特别涉及一种对压缩操作进行硬件加速的加速压缩方法以及加速压缩装置。
技术介绍
压缩加速装置(compressionaccelerator)是专门协助执行压缩/解压缩的硬件。压缩加速装置一般会采用基于字典的压缩算法(例如LZ77、LZSS、LZ78、LZW等算法)。在字典(即滑动窗,slidingwindow)中的位置信息(包含匹配长度与匹配偏移量)被用来替代原始数据(rawdata),从而实现数据压缩。对于压缩加速装置来说,最复杂的部分在于进行最长首码字串匹配(longest-prefixstringmatching),而最长首码字串匹配方法通常可归类为:基于内容可定址存储器(CAM-based,ContentAddressableMemory-based)以及基于散列(hash-based)二种。以基于散列的字串匹配器为例,其通常利用散列电路将待压缩字串的多个字符(散列键,HaskKey)转换为散列值(HashValue)。散列电路依据散列值对散列表(hashtable)进行查表与比较。散列键对应的散列值出现在散列表中,表明字典(滑动窗)的内容具有这个字符(散列键),因此压缩加速装置可以获得这个字符在字典(滑动窗)中的位置(匹配偏移量),接着进行最长匹配(LongestMatch,LM)比较。所谓最长匹配比较,是从所述匹配偏移量开始,在字典(滑动窗)中寻找最长能匹配的长度。最后,压缩加速装置可以输出匹配对(matchpair,即匹配长度与匹配偏移量)来替代原始数据(rawdata),从而实现数据 ...
【技术保护点】
1.一种加速压缩方法,实施于加速压缩装置中,该加速压缩装置包括预取缓冲器及字串匹配处理流水线,所述加速压缩方法包括:从数据缓冲器提取待压缩字串并存储至所述预取缓冲器,其中所述待压缩字串包括Q个字符;以及在每个发布周期从所述预取缓冲器并行发布P个实例,其中,所述P个实例的每一个依序对应于以所述待压缩字串中的连续P个字符的每一个字符作为一起始字符的子字串,其中Q和P为大于1的正整数,且Q大于P,其中:当所述P个实例所对应的P个所述子字串互为完全相同时,将所述P个实例中的其中之一发送至所述字串匹配处理流水线进行匹配操作,而不将所述P个实例中的其余实例发送至所述字串匹配处理流水线。
【技术特征摘要】
1.一种加速压缩方法,实施于加速压缩装置中,该加速压缩装置包括预取缓冲器及字串匹配处理流水线,所述加速压缩方法包括:从数据缓冲器提取待压缩字串并存储至所述预取缓冲器,其中所述待压缩字串包括Q个字符;以及在每个发布周期从所述预取缓冲器并行发布P个实例,其中,所述P个实例的每一个依序对应于以所述待压缩字串中的连续P个字符的每一个字符作为一起始字符的子字串,其中Q和P为大于1的正整数,且Q大于P,其中:当所述P个实例所对应的P个所述子字串互为完全相同时,将所述P个实例中的其中之一发送至所述字串匹配处理流水线进行匹配操作,而不将所述P个实例中的其余实例发送至所述字串匹配处理流水线。2.如权利要求1所述的加速压缩方法,其中,当所述P个实例所对应的P个所述子字串互不完全相同时,将所述P个实例的每一个发送至所述字串匹配处理流水线进行所述匹配操作。3.如权利要求1所述的加速压缩方法,其中该方法还包括:存储所有所述实例于中介缓冲器,其中每个所述实例包含所对应的所述子字串的状态、匹配长度及匹配偏移量,其中没有被发送至所述字串匹配处理流水线的实例在该中介缓冲器的该状态为不匹配状态。4.如权利要求1所述的加速压缩方法,其中所述字串匹配处理流水线还包括散列匹配器及最长字串匹配器,所述匹配操作还包括:为每一所述实例发送散列请求给所述散列匹配器,当所述散列匹配器传来的第一回复中包含匹配信息时,发送数据请求给所述最长字串匹配器;以及依据所述最长字串匹配器传来的第二回复中包含的长度是否小于最大匹配长度的判断,去更新所述实例的状态、匹配长度及匹配偏移量;以及按照所述实例所对应的所述子字串在所述待压缩字串中的原始顺序,并依据所述实例的每一个的所述状态、所述匹配长度及所述匹配偏移量,而输出结果给格式化器,使得所述格式化器据以压缩所述待压缩字串。5.如权利要求4所述的加速压缩方法,其中,还包括:当所述第一回复包含不匹配信息时,将所述实例的所述状态更新为不匹配状态;以及当所述第一回复包含所述匹配信息时,还将所述实例的所述状态更新为数据请求状态,更新所述实例的所述匹配长度为所述子字串的长度,以及更新所述实例的所述匹配偏移量为所述第一回复中的偏移量。6.如权利要求4所述的加速压缩方法,其中,当所述第二回复所包含的所述长度小于所述最大匹配长度时,更新所述实例的所述状态为部分匹配状态,以及以所述长度更新所述实例的所述匹配长度;以及当所述第二回复包含的所述长度不小于所述最大匹配长度时,更新所述实例的所述状态为完全匹配状态,以所述最大匹配长度更新所述实例的所述匹配长度,以及发出相应于所述实例的另一数据请求给所述最长字串匹配器以继续后续的字串比对。7.如权利要求4所述的加速压缩方法,其中,输出所述结果给所述格式化器的步骤包括:当所述实例的所述状态为不匹配状态时,所述结果包含所述实例中的字符;以及当所述实例的所述状态为部分匹配状态或者完全匹配状态时,所述结果包含所述实例中的所述匹配长度及所述匹配偏移量。8.如权利要求4所述的加速压缩方法,其中,所述实例所对应的所述子字串在所述待压缩字串中的所述原始顺序由退却指针控制,其中在每个所述发布周期,所述退却指针顺序向后跳转P个字符。9.如权利要求1所述的加速压缩方法,其中发布所述实例的顺序由发布指针控制,其中在每个所述发布周期,所述发布指针顺序向后跳转P个字符。10.一种加速压缩装置,包括:预取缓冲器,用以存储从数据缓冲器提取的...
【专利技术属性】
技术研发人员:李琳,王峥,李晓阳,齐宗普,
申请(专利权)人:上海兆芯集成电路有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。