CN107329906A - 一种高带宽的多尺度故障位图缓存结构 - Google Patents
一种高带宽的多尺度故障位图缓存结构 Download PDFInfo
- Publication number
- CN107329906A CN107329906A CN201710323737.0A CN201710323737A CN107329906A CN 107329906 A CN107329906 A CN 107329906A CN 201710323737 A CN201710323737 A CN 201710323737A CN 107329906 A CN107329906 A CN 107329906A
- Authority
- CN
- China
- Prior art keywords
- caching
- failure
- sub
- block
- domain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提出了一种实现快速和高带宽的查询缓存各级逻辑结构故障的机制和存储结构。可以多尺度的标示缓存组、缓存行以及缓存子块的故障情况,支持高性能的容错缓存架构。本发明提出了静态分配和动态分配两种不同的位图空间配置方式,实现了更低的存储开销。
Description
所属技术领域
本发明专利涉及一种快速的高带宽的标示缓存阵列中各级逻辑组织结构中的故障分布情况的机制和存储结构。
背景技术
不仅漏检和磨损老化导致的永久故障对出厂后的芯片的可靠性造成影响,而且,出厂前难以检测的,时间上随机发生的,位置固定的,持续一定周期的,但可恢复的间隙性位失效对出厂后的芯片的可靠性也造成严重影响。应对暂态故障有效地纠错检错码在处理间隙性位失效时,也面临延迟开销大的问题,而且会减弱对暂态故障的处理,引起多位位故障。有效的标示这些位故障成为缓存正常工作的必要条件。这些位故障会导致缓存的各级逻辑组织结构的故障,引起缓存工作异常。
发明内容
本专利提出了一种实现快速和高带宽的查询缓存各级逻辑结构故障的机制和存储结构。可以多尺度的标示缓存组、缓存行以及缓存子块的故障情况,缓存中一片连续字节组成一个缓存子块,一个缓存行由若干个缓存子块构成,一个缓存组由若干个缓存行组成,支持高性能的容错缓存架构。本专利提出了静态分配和动态分配两种不同的位图空间配置方式,实现了更低的存储开销。
本发明在静态分配模式下存储结构,如图1,图2所示,具有如下特征:
1.本存储结构由缓存组及缓存行故障位图阵列和子块故障位图阵列两部分组成,其中缓存组及缓存行故障位图阵列主要包括缓存组故障位图域,缓存行故障位图域。子块故障位图阵列主要包括标志标示域和缓存子块故障位图域。
2.缓存组故障位图域,由若干位构成,标示了该缓存组的故障程度,无故障,有故障且无法修复和有故障且可以修复等几种情况
3.缓存行故障位图域,由若干位构成,标示了缓存组中的缓存行的故障情况,各行故障情况由其对应位标示。
4.指向缓存子块的指针域,动态分配模式下由若干位构成,指向所对应的缓存行的起始位置。
5.标志标示域,固定分配模式下由若干位构成,为同一缓存组对应的缓存行进行编号。。
6.缓存子块故障位图域,由若干位构成,标示了缓存子块的故障情况。
本发明在动态分配模式下存储结构,如图3,图4所示,具有如下特征:
1.本存储结构由缓存组及缓存行故障位图阵列和子块故障位图阵列两部分组成,其中缓存组及缓存行故障位图阵列主要包括缓存组故障位图域,缓存行故障位图域,指向缓存子块的指针域。子块故障位图阵列主要包括分区标示域和缓存子块故障位图域。
2.缓存组故障位图域,由若干位构成,标示了该缓存组的故障程度,无故障,有故障且无法修复和有故障且可以修复等几种情况
3.缓存行故障位图域,由若干位构成,标示了缓存组中的缓存行的故障情况,各行故障情况由其对应位标示。
4.指向缓存子块的指针域,动态分配模式下由若干位构成,指向所对应的缓存行的起始位置。
5.分区标示域,动态分配模式下由若干位构成,其组合分别表示缓存组起始缓存行,缓存组中间缓存行以及缓存组终止缓存行。
6.缓存子块故障位图域,由若干位构成,标示了缓存子块的故障情况
本发明提出了两种初始化方式,分为动态分配模式下的初始化和静态分配模式下的初始化:
本存储结构在系统初始化时填充,在电压频率动态调整时更新,类似于IntelPellson。可以根据奇偶校验的结果,及时更新。如果多次连续发现位故障,可以认为发生间歇性位失效。
在静态分配模式下:
步骤1:将缓存组及缓存行故障位图阵列中的缓存组故障位图域设为无故障,将缓存行故障位图域各位设为无故障,将子块故障位图阵列中各位设为无故障状态。
步骤2:检查是否发生位故障,若发生转至步骤3.否则转至步骤2.
步骤3:在子块故障位图阵列中将发生位故障的缓存子块标记为故障状态。
步骤4:在缓存组及缓存行故障位图阵列中查找到故障位所在行,将该行的缓存行故障位图域中标示故障位所在缓存行的那位标记为故障。
步骤5:检查更新后的缓存行故障位图域,若没有两个连续的无故障缓存行,则将该行的缓存组故障位图域设置为禁用;若出现故障的缓存行数量超过静态分配预先设定的数量,则将该行的缓存组故障位图域设置为禁用;否则则将该行的缓存组故障位图域设置为有故障且可以被修复。
在动态分配模式下:
步骤1:将缓存组及缓存行故障位图阵列中的缓存组故障位图域设为无故障,将缓存行故障位图域各位设为无故障,将子块故障位图阵列中各位设为无故障状态。
步骤2:检查是否发生位故障,若发生转至步骤3.否则转至步骤2.
步骤3:根据故障位的物理地址在缓存组及缓存行故障位图阵列中查找其所对应的位置,并在该行的缓存行故障位图域中把标示其所在的缓存行的位设置为故障状态。
步骤4:检查更新后的缓存行故障位图域,若没有两个连续的无故障缓存行,则将该行的缓存组故障位图域设置为禁用,结束初始化;若出现故障的缓存行数量超过动态分配的限制,则将该行的缓存组故障位图域设置为禁用,结束初始化;否则将该行的缓存组故障位图域设置为有故障且可以被修复。
步骤5:根据该行的指向缓存子块的指针域在子块故障位图阵列中查找到对应起始的位置,若该行的指针域为空,则转至步骤7。
步骤6:从起始缓存行行开始查找,找到第一个未分配缓存行,在该缓存行中查找故障位所在的缓存子块,将其对应的位置标记为故障,将该行的分区标示域设为终止行,将该行上一行的分区标示域设为中间行。转至步骤2。
步骤7:将其赋值为子块故障位图阵列中未被分配的缓存行的最小序号值。在该缓存行中查找故障位所在的缓存子块,将其对应的位置标记为故障。转至步骤2。
本发明提出了两种访问查询方式,分为动态分配模式下的访问查询和静态分配模式下的访问查询:
当使用静态分配模式时:
步骤1:根据物理地址的索引值同时在缓存组及缓存行故障位图阵列和子块故障位图阵列中查找,其位置为R1,R2.
步骤2:根据缓存组R1行的缓存组的故障位图域进行判断,若为无故障或故障无法修复,则退出并返回相应状态。
步骤3:检查R1的缓存行故障位图域,一个标有故障的位对应于子块故障位图阵列中的一行,该缓存行故障位图域共对应子块故障位图阵列中从R2开始到R2+K-1行。
步骤4:根据其对应的字块故障位图阵列中的故障位来进行具体的子块故障定位。
当使用动态分配模式时:
步骤1:根据物理地址的索引值同时在缓存组及缓存行故障位图阵列中查找,其位置为R1.
步骤2:根据缓存组R1行的缓存组的故障位图域进行判断,若为无故障或故障无法修复,则退出并返回相应状态。
步骤3:检查R1的缓存行故障位图域,一个标有故障的位对应于子块故障位图阵列中的一行,步骤4:访问FM index域,查找对应的子块故障位图阵列中的起始行。
步骤5:从查找到的子块故障位图阵列中的起始行开始,依次检查其后各行的分区标示域并查询各行的子块故障位图,直到找到分区结束标志。
本发明的有益效果是,延迟开销较低,对于平均的访问查询时间和缓存的性能的影响较小。本故障存储结构只需要较小的存储空间,就可以高效的记录各块的故障情况,并且与一般故障缓存结构相比,查询速度更加快速,可以多尺度的标示缓存组,缓存行及缓存子块的故障情况并且支持高性能的容错缓存架构。
具体实施方式
下面举例具体说明静态分配和动态分配的访问查询方式:
静态分配:
L1缓存的一个普通的关联度为8的缓存组,缓存组数量为4,缓存行的字节数为64字节,子块大小为8字节,给每个缓存组固定分配故障位图项为3。初始的缓存组及缓存行故障位图阵列的内容,子块故障位图阵列的内容和物理地址如图5所示。当发生缓存请求R1时,物理地址为00000011000,根据其索引值00在缓存组及缓存行故障位图阵列中查找第一行,其缓存组的故障位图域为01,说明改缓存组有故障且故障可以被修复,继续访问缓存行故障位图域,其值为10011000。同时根据物理地址索引值00以及给每个缓存组固定分配故障位图项数3在子块故障位图阵列中确定改缓存组对应的子块故障位图阵列行为第1到3行,根据物理地址set值000在其对应的子块故障位图阵列查找,查找到第1行,根据其物理地址偏移址在该行中查找,确定其子块为该行的第4块,有故障。
动态分配:
L1缓存的一个普通的关联度为8的缓存组,缓存组数量为4,缓存行的字节数为64字节,子块大小为8字节,故障位图项总数为8。初始的缓存组及缓存行故障位图阵列的内容,子块故障位图阵列的内容和物理地址如图6所示。当发生缓存请求R1时,物理地址为00000011000,根据其索引值00在缓存组及缓存行故障位图阵列中查找第一行,其缓存组的故障位图域为01,说明改缓存组有故障且故障可以被修复,继续访问缓存行故障位图域,其值为10011000。根据该行的指向缓存子块的指针域000,在子块故障位图阵列中找到该缓存组对应的子块故障位图阵列的第一行,根据分区标示域,向下面各行依次查找直至找到11,该行为缓存行对应的子块故障终止行,根据物理地址set值000在其对应的子块故障位图阵列查找,查找到第1行,根据其物理地址偏移址在该行中查找,确定其子块为该行的第4块,有故障。
附图说明
图1是本存储结构在静态分配模式下的缓存组及缓存行故障位图阵列的结构图,图中,1.缓存组故障位图域,2.缓存行故障位图域
图2是本存储结构在静态分配模式下的子块故障位图阵列的结构图,图中,1.标志标示域, 2.缓存子块故障位图域
图3是本存储结构在动态分配模式下的缓存组及缓存行故障位图阵列的结构图,图中,1.缓存组故障位图域,2.缓存行故障位图域,3.指向缓存子块的指针域
图4是本存储结构在动态分配模式下的子块故障位图阵列的结构图,图中,1.分区标示域, 2.缓存子块故障位图域
图5是本存储结构在固定模式下的查询实例
图6是本存储结构在动态模式下的查询实例。
Claims (3)
1.一种实现快速和高带宽的查询缓存各级逻辑结构故障的机制和存储结构,可以多尺度的标示缓存组、缓存行以及缓存子块的故障情况,其特征是:从多个尺度来标示存储故障情况,使得查询速度更加迅速。使用静态和动态两种分配模式,实现更低的存储开销。
2.根据权利要求1所述的本存储结构,其特征是:在静态分配模式下,一个缓存组及缓存行故障位图阵列包含缓存组故障位图域及缓存行故障位图域,一个子块故障位图域包括标志标示域和缓存子块故障位图域;在动态分配模式下,一个缓存组及缓存行故障位图阵列包含缓存组故障位图域,缓存行故障位图域和指向缓存子块的指针域,一个子块故障位图域包括分区标示域和缓存子块故障位图域。
3.根据权利要求1所述的两种分配模式,其特征是:在静态分配模式下,对每一个缓存组固定分配若干个由缓存子块构成的缓存行用来记录故障位置。在缓存组故障缓存行数量大于设定值时将该缓存组禁用;在动态分配模式下,固定分配子块故障位图的总项数,对每一个缓存组动态分配若干个由缓存子块构成的缓存行用来记录故障位置。比固定分配模式更加灵活,可以更加合理的分配存储空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710323737.0A CN107329906B (zh) | 2017-05-10 | 2017-05-10 | 一种高带宽的多尺度故障位图缓存结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710323737.0A CN107329906B (zh) | 2017-05-10 | 2017-05-10 | 一种高带宽的多尺度故障位图缓存结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107329906A true CN107329906A (zh) | 2017-11-07 |
CN107329906B CN107329906B (zh) | 2018-07-03 |
Family
ID=60193340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710323737.0A Active CN107329906B (zh) | 2017-05-10 | 2017-05-10 | 一种高带宽的多尺度故障位图缓存结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107329906B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168836A1 (en) * | 2005-12-30 | 2007-07-19 | Dempsey Morgan J | Repair bits for a low voltage cache |
CN202677396U (zh) * | 2012-07-20 | 2013-01-16 | 天津工大瑞工光电技术有限公司 | 一种基于空间搜索技术的异构容错电路设计系统 |
US20160283387A1 (en) * | 2013-10-29 | 2016-09-29 | Shannon Systems Ltd. | Dynamic caching method and system for data storage system |
-
2017
- 2017-05-10 CN CN201710323737.0A patent/CN107329906B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168836A1 (en) * | 2005-12-30 | 2007-07-19 | Dempsey Morgan J | Repair bits for a low voltage cache |
CN202677396U (zh) * | 2012-07-20 | 2013-01-16 | 天津工大瑞工光电技术有限公司 | 一种基于空间搜索技术的异构容错电路设计系统 |
US20160283387A1 (en) * | 2013-10-29 | 2016-09-29 | Shannon Systems Ltd. | Dynamic caching method and system for data storage system |
Non-Patent Citations (2)
Title |
---|
AMIN ANSARI等: "《Zerehcache: Armoring Cache Architectures in High Defect Density Technologies》", 《PROCEEDINGS OF THE 42TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICRO-ARCHITECTURE》 * |
黄智濒等: "《CacheFI:基于架构级故障注入的片上缓存容错评估工具》", 《国防科技大学学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN107329906B (zh) | 2018-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6518191B2 (ja) | アドレス断片化に対するメモリ・セグメントのリマッピング | |
EP0166217B1 (en) | Error logging memory system for avoiding miscorrection of triple errors | |
US4464713A (en) | Method and apparatus for converting addresses of a backing store having addressable data storage devices for accessing a cache attached to the backing store | |
US8176284B2 (en) | FLASH-based memory system with variable length page stripes including data protection information | |
EP0492106B1 (en) | Endurance management for solid state files | |
EP0675436B1 (en) | Recoverable set associative cache | |
US8402205B2 (en) | Multi-tiered metadata scheme for a data storage array | |
US9224500B2 (en) | Systems and methods for testing and assembling memory modules | |
US8132061B2 (en) | Repair bits for a low voltage cache | |
KR20040090410A (ko) | 에러 체크 방법, 에러 보정 코드 체커 및 이를 포함하는컴퓨터 시스템 | |
CA1058324A (en) | Memory diagnostic arrangement | |
US20030037278A1 (en) | System and method for fail-over memory | |
CN101320592A (zh) | 一种大容量flash固存控制器 | |
US9477548B2 (en) | Error repair location cache | |
WO2020021226A1 (en) | Fault tolerant memory system | |
CN88100490A (zh) | 大存储器有效地址测试法 | |
US3906200A (en) | Error logging in semiconductor storage units | |
JP3107454B2 (ja) | 自動車の制御装置における故障記憶装置 | |
US20040006669A1 (en) | Cache memory device and memory allocation method | |
US5461588A (en) | Memory testing with preservation of in-use data | |
CN107329906A (zh) | 一种高带宽的多尺度故障位图缓存结构 | |
US20150212935A1 (en) | Method for reliably addressing a large flash memory and flash memory | |
CN1156854C (zh) | 集成半导体存储器存储单元的功能检测法 | |
CN101145135B (zh) | 集成存储保护键数据的方法和存储器 | |
EP1622034A2 (en) | Apparatus and method for controlling address conversion buffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |