具有软错误容错功能的一级缓存数据存储方法及装置制造方法及图纸

技术编号:8323306 阅读:198 留言:0更新日期:2013-02-14 00:25
本发明专利技术公开了一种具有软错误容错功能的一级缓存数据存储方法及装置,方法实施步骤如下:1)在收到数据填充命令时,接收数据生成奇偶校验码并以数据位为单位分散存储;2)在收到数据命中命令时,读取各个数据位组合得到命中路数据,生成奇偶校验码并与存储的奇偶校验码进行比较,如果两者一致则直接将命中路数据输出,否则报告出错信息;装置包括数据存储阵列、校验阵列、解码器、数据写通路和数据读通路,数据存储阵列包含多个数据项,数据项包括多个字存储单元,字存储单元包含多个位存储模块,位存储模块包含多个数据位,多个位存储模块中的相同数据位构成完整的一路数据。本发明专利技术具有容软错误能力强、硬件开销小、时序性能好的优点。

【技术实现步骤摘要】

本专利技术涉及微处理器中一级缓存(一级cache)设计领域,具体涉及一种具有软错误容错功能的一级缓存数据存储方法及装置
技术介绍
随着工艺水平的提高,集成电路的特征尺寸不断减小,不断降低的供电电压、持续减小的节点电容都使得集成电路对环境的影响越来越敏感,可靠性问题日益突出。特别是在纳米级工艺下,芯片的软错误率急剧增大。所谓软错误是指集成电路受到高能粒子轰击或噪声干扰时发生的瞬时充放电对电路内部状态的破坏。软错误是一种瞬时错误,是可恢复的,其发生的时间和位置随机。软错误发生的概率与集成电路节点电量和源漏区面积相关。随着集成电路工艺的进步,供电电压不断降低,单个节点上存储的电荷越来越少,所以能量较低的粒子或噪声就可能引起软错误。但同时特征尺寸的降低也使得敏感源漏区的面积减小,导致单个晶体管器件发生瞬态故障的概率降低。由于特征尺寸和供电电压是同步减小的,所以单个晶体管器件发生软错误的概率在未来的很多年中将保持不变。但是随着工艺的进步,单片上集成的晶体管数目呈指数增长,所以总的来看,芯片发生软错误的概率也将呈指数增长。有研究表明,在纳米级工艺条件下,软错误是引起芯片失效的主要原因。在现代微处理器中,各种存储单元(包括片内存储体和寄存器等)占据了芯片面积的70%以上,是芯片中对高能粒子最为敏感的部分。存储单元发生的软错误包括单事件翻转(单个高能粒子轰击导致的一位存储单元发生翻转错)和多位翻转(单个高能粒子轰击导致的多个相邻存储单元发生翻转错)两种类型。研究表明微处理器发生的各种瞬态故障,绝大部分来自于存储单元。因此目前高可靠微处理器大多针对各种存储单元进行保护。对于单事件翻转,寄存器(Flip-flop)和片内存储体发生的概率一样;但对于多位翻转,由于片内存储器电路实现布局相对于寄存器更加紧凑,因此在深亚微米器件的线宽与粒子大小可比拟的条件下,单一的粒子轰击可能引发相邻存储单元的多位翻转概率将远高于寄存器。所以相对于处理器其他部分,片内存储器更容易发生软错误,更需要采用加固技术进行防护,除了能够防护单事件翻转类型软错误外,更重要的是也能够有效支持多位翻转型软错误防护。片内存储体容软错误设计一般采用信息冗余技术进行软错误检测与纠正,常用的信息冗余技术包括奇偶检验码技术和海明校验码技术。这些技术需要写入存储器时对数据进行冗余编码,将原始数据和编码都存储在存储器中,读出时对数据和检验码进行校验。对于奇偶检验码技术,所需的冗余编码少,增加的面积和时序性能开销小,但只考虑了容单事件翻转,而未考虑容多位翻转。对于海明校验码技术,不仅考虑了容单事件翻转,也考虑了容多位翻转,但需要的冗余编码多,导致面积增加和时序性能开销大。—级缓存(LI cache)是处理器片内的大容量存储体,为了提高缓存性能,减少缓存失效率,常组织成多路组相联的结构。如图I所示,现有技术的一级缓存存储装置一般为组相联一级缓存,组相联一级缓存包括标识阵列、数据阵列和数据冗余校验阵列三部分。标识阵列和数据阵列构成了一个典型的CAM-RAM结构,标识(tag)存储在CAM结构中,数据(data)存储在RAM结构中,CAM项和RAM项是一一对应的,组相联一级缓存的标识阵列和数据阵列实现了 η路组相联结构。标识阵列的每项包含了路O (Wayci)到路n (wayn)所有路的tag信息,并按Wayci标识、Way1标识到wayn标识的方式组织。数据阵列的每项包含了路O (way。)到路n (wayn)所有路的data信息,并按way。数据、Way1数据到wayn数据的方式组织,每路数据包含一个Cache line (即一个Cache块大小),由m个字(word)构成,每个字(word)为32位,每路数据按wordd、Word1到Wordm的方式组织。当访问组相联一级缓存时,用低位地址(address)来索引标识阵列,高位地址将作为一个搜索字输入到标识阵列中,同标识阵列中所有η路的标识进行并行比较,产生每路的命中/未命中信号。与此同时低位地址也用来索引数据阵列,读出索引项的所有η路的数据,然后基于标识阵列命中/未命中(match/dismatch)信 号产生的命中路路选择信息选择要读出的某路数据(即一个Cache line)。当填充组相联一级缓存时,待写入的数据(即一个Cache line)将根据填充路路选择信息将数据写入到组相 联一级缓存对应路的数据体中。现有技术的一级缓存存储装置软错误容错功能由数据冗余校验阵列实现。数据冗余校验阵列用于组相联一级缓存的软错误检测,与数据阵列一一对应。当写入某路数据时,将同时根据写入数据生成校验码,并把校验码写入该路的冗余校验阵列中。当读出某路数据时,相应地也读出该路的校验码,根据读出数据和校验码进行错误检测。冗余校验阵列每项包含了路O (Waytl)到路n (wayn)所有路的校验码信息。Waytl校验码用于检测数据阵列中way。数据的软错误,Way1校验码用于检测数据阵列中Way1数据的软错误,依此类推。现有技术的一级缓存存储装置中每路数据的冗余校验机制可采用海明码等复杂校验机制(ECC),也可采用简单的奇偶检验机制(P )。ECC校验机制容软错误能力强,可检测存储体的单事件翻转错和多位翻转错,但硬件实现开销大。P校验机制硬件实现开销小,能检测存储体的单事件翻转错,当发生单粒子引发的相邻单元多位翻转错时,由于现有技术的一级缓存存储装置组相联结构下相邻单元多位错会发生在同路数据体的不同数据位上,因此该结构下P校验机制将无法检测存储体发生的多位翻转错,容软错误能力相对较弱。
技术实现思路
本专利技术要解决的技术问题是能够在低硬件开销下实现存储体软错误的高容错能力。本专利技术提供一种容软错误能力强、硬件开销小、时序性能好的具有软错误容错功能的一级缓存数据存储方法及装置。为了解决上述技术问题,本专利技术采用的技术方案为 一种具有软错误容错功能的一级缓存数据存储方法,其实施步骤如下 1)在收到数据填充命令时,接收待填充数据并采用奇偶检验信息冗余编码生成奇偶校验码并存储奇偶校验码,同时将所述待填充数据分别以数据位为单位分散存储于数据存储阵列中; 2)在收到数据命中命令时,从数据存储阵列中读取分散存储的各个数据位,将各个数据位组合得到命中路数据,将命中路数据采用奇偶检验信息冗余编码生成奇偶校验码,将生成奇偶校验码与存储的奇偶校验码进行比较,如果两者一致则直接将命中路数据输出,否则检测到数据错误,报告出错信息。作为本专利技术具有软错误容错功能的一级缓存数据存储方法的进一步改进 所述步骤I)中将数据分别以数据位为单位分散存储于数据存储阵列中时,且不同路数据的相同数据位存储于数据存储阵列中的同一个存储区域。本专利技术还提供一种具有软错误容错功能的一级缓存数据存储装置,包括数据存储阵列、校验阵列、解码器、数据写通路和数据读通路,所述数据存储阵列包含多个数据项,任意一个所述数据项包括依次排列的多个字存储单元,所述字存储单元包含依次排列的多个位存储模块,所述位存储模块包含所有路的相同数据位,所有位存储模块中的相同数据位存储的数据构成完整的一路数据;所述校验阵列包含与数据存储阵列中每路数据一一对应的奇偶校验项,所述奇偶校验项中各个奇偶校验存储单元分别存储对应数本文档来自技高网
...

【技术保护点】
一种具有软错误容错功能的一级缓存数据存储方法,其特征在于其实施步骤如下:1)在收到数据填充命令时,接收待填充数据并采用奇偶检验信息冗余编码生成奇偶校验码并存储奇偶校验码,同时将所述待填充数据分别以数据位为单位分散存储于数据存储阵列中;2)在收到数据命中命令时,从数据存储阵列中读取分散存储的各个数据位,将各个数据位组合得到命中路数据,将命中路数据采用奇偶检验信息冗余编码生成奇偶校验码,将生成奇偶校验码与存储的奇偶校验码进行比较,如果两者一致则直接将命中路数据输出,否则检测到数据错误,报告出错信息。

【技术特征摘要】
1.一种具有软错误容错功能的一级缓存数据存储方法,其特征在于其实施步骤如下 1)在收到数据填充命令时,接收待填充数据并采用奇偶检验信息冗余编码生成奇偶校验码并存储奇偶校验码,同时将所述待填充数据分别以数据位为单位分散存储于数据存储阵列中; 2)在收到数据命中命令时,从数据存储阵列中读取分散存储的各个数据位,将各个数据位组合得到命中路数据,将命中路数据采用奇偶检验信息冗余编码生成奇偶校验码,将生成奇偶校验码与存储的奇偶校验码进行比较,如果两者一致则直接将命中路数据输出,否则检测到数据错误,报告出错信息。2.根据权利要求I所述的具有软错误容错功能的一级缓存数据存储方法,其特征在于所述步骤I)中将数据分别以数据位为单位分散存储于数据存储阵列中时,且不同路数据的相同数据位存储于数据存储阵列中的同一个存储区域。3.一种具有软错误容错功能的一级缓存数据存储装置,包括数据存储阵列(I)、校验阵列(2)、解码器(3)、数据写通路(4)和数据读通路(5),其特征在于所述数据存储阵列(I)包含多个数据项,任意一个所述数据项包括依次排列的多个字存储单元(11),所述字存储单元(11)包含依次排列的多个位存储模块(12),所述位存储模块(12)包含所有路的相同数据位,所有位存储模块(12)中的相同数据位存储的数据构成完整的一路...

【专利技术属性】
技术研发人员:高军王永文窦强张承义孙彩霞倪晓强隋兵才陈微赵天磊王蕾黄立波
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:

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

1