提高计算机末级高速缓存可靠性的数据压缩装置及其方法制造方法及图纸

技术编号:6109466 阅读:199 留言:0更新日期:2012-04-11 18:40
一种提高计算机末级高速缓存可靠性的压缩数据装置及其方法,通过数据压缩装置、压缩仲裁器、扩展标记、生成可变ECC码装置、缓存数据错误校验装置以及解压仲裁器相互连接,且其解压缩方法运用数据压缩装置和数据解压缩装置对一级缓存与末级高速缓存存储的数据进行解压缩,将获得的空间用于存储错误校验码,从而降低纠错校验技术的硬件耗费。增加末级高速缓存的存储空间可支持纠错能力更强的错误校验码,并可根据该存储空间的大小调整数据保护单元的粒度以存储更多的错误校验码,另外通过数据压缩提高错误校验能力,可显著提高计算机末级高速缓存的可靠性。

【技术实现步骤摘要】

本专利技术属于计算机系统中末级高速缓存数据压缩和差错检查与纠正
,具 体涉及一种提高计算机末级高速缓存可靠性的压缩数据装置及其方法。
技术介绍
在SRAM器件工艺不断提升的同时,缓存系统的可靠性受到越来越严重的威胁。其 中软错误是威胁计算机缓存系统可靠性的最主要因素之一。软错误是指由Alpha粒子或 者宇宙射线诱发的不可预测的随机存储错误,容易引起计算机系统的崩溃和数据丢失。特 别是对于应用于恶劣环境的计算机对容忍软错误的能力要求更高。对于计算机缓存,传统 避免软错误发生的保护策略主要采用冗余或者错误校验码技术。其中,错误校验码技术是 保护计算机缓存最有效的技术,被工业界所广泛采用。但是,由于错误校验码需要存储冗余 位,这使得在缓存芯片上必须增加额外的存储资源,其硬件耗费很高,从而成为提高可靠性 预防软错误的瓶颈。数据压缩技术是一种被广泛应用于数据通信与数据保存的技术,它通过减少数据 中的冗余信息来减少数据通信和保存的开销,增加缓存有效存储空间。数据压缩与解压带 来的附加延时影响计算机运行性能,好的数据压缩方法成为数据压缩的关键。常见的方法 有基于文本串字典匹配的压缩方法、基于值局部性字典的压缩方法、基于符号位冗余消除 的压缩方法。本专利技术采用的数据压缩算法,是基于符号位冗余消除的压缩算法开发出的频 用模板压缩算法。该算法将所有的存储数据字分成8种模式,当压缩时,如果访问的字匹配 某种模式,则为该字生成模式前缀编码,然后串接去掉冗余位后该字的值,形成该字的压缩 编码。每个字根据模式不同可分别占用更少的空间,因此该算法可以实现较高的压缩率,而 且压缩延时也较短,更适合作为本专利技术中的缓存压缩算法。但是,传统的数据压缩方法仅用于提高缓存容量,压缩后大小不一的数据块给缓 存管理带来较大的困难,容易产生碎片,增加管理调度的延迟和耗费。而本专利技术利用末级高 速缓存数据压缩的空间增加错误校验码的冗余位存储,提高错误校验码的纠错能力,从而 提高整个缓存系统的可靠性。
技术实现思路
为了克服上述现有技术存在的不足,本专利技术的目的在于提供一种提高计算机末级 高速缓存可靠性的压缩数据装置及其方法,通过数据压缩装置、压缩仲裁器、扩展标记、生 成可变ECC码装置、缓存数据错误校验装置以及解压仲裁器相互连接,且其解压缩方法运 用数据压缩装置和数据解压缩装置对一级缓存与末级高速缓存存储的数据进行解压缩,将 获得的空间用于存储错误校验码,从而降低纠错校验技术的硬件耗费。增加末级高速缓存 的存储空间可支持纠错能力更强的错误校验码,并可根据该存储空间的大小调整数据保护 单元的粒度以存储更多的错误校验码,另外通过数据压缩提高错误校验能力,可显著提高 计算机末级高速缓存的可靠性。为了达到上述目的,本专利技术所采用的技术方案是—种提高计算机末级高速缓存可靠性的压缩数据装置,包括数据压缩装置和数据 解压缩装置,该数据压缩装置的数据输入口 1同对应的一级缓存相通信连接,数据压缩装 置的预压缩信号输出口 2和压缩数据输出口 4分别同该提高计算机末级高速缓存可靠性的 压缩数据装置的压缩仲裁器的预压缩信号输入口 3和生成可变ECC码装置的压缩数据输入 口 5相通信连接,该压缩仲裁器的数据输出口 6、状态信息输出口 7、未压缩数据输入口 8以 及压缩数据输入口 9分别和对应的末级高速缓存、设置在末级高速缓存内的属于该提高计 算机末级高速缓存可靠性的压缩数据装置的扩展标记、一级缓存以及生成可变ECC码装置 的压缩数据输出口 10相通信连接。而所述的数据解压缩装置的校验后读取压缩数据输入 口 11和解压数据输出口 12分别同该提高计算机末级高速缓存可靠性的压缩数据装置的缓 存数据错误校验装置的校验后读取压缩数据输出口 13和解压仲裁器的解压数据输入口 14 相通信连接,缓存数据错误校验装置的读取压缩数据输入口 15和解压仲裁器的读取未压 缩数据输入口 16同末级高速缓存相通信连接,解压仲裁器的读取数据输出口 17和状态信 息输入口 18分别同一级缓存和末级缓存的扩展标记相通信连接。所述的提高计算机末级高速缓存可靠性的压缩数据装置的方法,当控制器需要将 一级缓存的数据写入末级高速缓存时,控制器将该一级缓存的512位缓存数据块先传送到 数据压缩装置进行预压缩。预压缩的过程为将该数据块的数据先编码为48位前缀和压缩 数据,并根据该48位前缀获取压缩数据的大小,随即数据压缩装置对48位前缀、压缩数据 的大小以及预设的11位ECC冗余位进行累加,得到的累加和同每个数据块的数据大小位 数即512位进行比较。如果累加和大于512,得到未压缩的状态信息,并通过预压缩信号输 出口 2经由预压缩信号输入口 3发送到压缩仲裁器,压缩仲裁器通过状态信息输出口 7将 该未压缩的状态信息发送到扩展标记中,这时控制器将该数据块的数据通过一级缓存直接 发送到压缩仲裁器中,然后由压缩仲裁器的数据输出口 6发送到末级高速缓存。如果累加 和小于512,得到压缩的状态信息,并通过预压缩信号输出口 2经由预压缩信号输入口 3发 送到压缩仲裁器,压缩仲裁器通过状态信息输出口 7将该压缩的状态信息发送到扩展标记 中,这时将48位前缀和压缩数据合并为带有48位前缀的压缩数据并将其存放在数据压缩 装置中,随后通过压缩数据输出口 4将带有48位前缀的压缩数据传送到生成可变ECC码装 置的压缩数据输入口 5。根据压缩数据的大小,利用扩展HAMMING码的方法生成数据保护 单元的粒度并根据生成数据保护单元的粒度从而生成相应的ECC码,将该ECC码作为带有 48位前缀的压缩数据的后缀,最后将带有48位前缀和后缀的压缩数据通过压缩数据输出 口 10传送到压缩仲裁器的压缩数据输入口 9,并通过压缩仲裁器的数据输出口 6存入末级 高速缓存。当所述的控制器需要从末级高速缓存读取数据时,先通过控制器获取扩展标记 中对应的状态信息位,将该压缩的状态信息位的状态信息发送到解压仲裁器进行仲裁。如 果该状态信息为压缩,控制器驱动末级高速缓存通过末级高速缓存寻址方式将对应末级高 速缓存地址的带有48位前缀和后缀的压缩数据发送到缓存数据错误校验装置的读取压缩 数据输入口 15,随后经过缓存数据错误校验装置来对该带有48位前缀和后缀的压缩数据 实施校验。如果校验结果无错误位,则将该带有48位前缀和后缀的压缩数据通过校验后读 取压缩数据输出口 13发送到数据解压缩装置的校验后读取压缩数据输入口 11,数据解压 缩装置对校验后的压缩数据进行解压缩,进行解压缩后的数据经由解压数据输出口 12发送到解压仲裁器的解压数据输入口 14,解压仲裁器将解压缩后的数据通过读取数据输出口 17发送到一级缓存。如果校验结果有错误位,则放弃该带有48位前缀和后缀的压缩数据, 另外如果所述的状态信息为未压缩,控制器驱动末级高速缓存通过末级高速缓存寻址方式 将对应末级高速缓存地址的未压缩数据直接发送至解压仲裁器的解压仲裁器的读取未压 缩数据输入口 16,解压仲裁器将解压缩后的数据通过读取数据输出口 17发送到一级缓存。所述的根据生成数据保护单元的粒度从而生成相应的ECC码的规则为64位的生 成数据保护单元粒度生成8个8位的冗余位,128位的生成数据保护单元粒度生本文档来自技高网
...

【技术保护点】
1.一种提高计算机末级高速缓存可靠性的压缩数据装置,包括数据压缩装置和数据解压缩装置,其特征在于:该数据压缩装置的数据输入口(1)同对应的一级缓存相通信连接,数据压缩装置的预压缩信号输出口(2)和压缩数据输出口(4)分别同该提高计算机末级高速缓存可靠性的压缩数据装置的压缩仲裁器的预压缩信号输入口(3)和生成可变ECC码装置的压缩数据输入口(5)相通信连接,该压缩仲裁器的数据输出口(6)、状态信息输出口(7)、未压缩数据输入口(8)以及压缩数据输入口(9)分别和对应的末级高速缓存、设置在末级高速缓存内的属于该提高计算机末级高速缓存可靠性的压缩数据装置的扩展标记、一级缓存以及生成可变ECC码装置的压缩数据输出口(10)相通信连接。所述的数据解压缩装置的校验后读取压缩数据输入口(11)和解压数据输出口(12)分别同该提高计算机末级高速缓存可靠性的压缩数据装置的缓存数据错误校验装置的校验后读取压缩数据输出口(13)和解压仲裁器的解压数据输入口(14)相通信连接,缓存数据错误校验装置的读取压缩数据输入口(15)和解压仲裁器的读取未压缩数据输入口(16)同末级高速缓存相通信连接,解压仲裁器的读取数据输出口(17)和状态信息输入口(18)分别同一级缓存和末级缓存的扩展标记相通信连接。...

【技术特征摘要】

【专利技术属性】
技术研发人员:孙宏滨徐敏超郑南宁刘传银
申请(专利权)人:西安交通大学
类型:发明
国别省市:87

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1