CN115640664A - 用于存储元件以提高可靠性的早期错误检测与自动校正技术 - Google Patents
用于存储元件以提高可靠性的早期错误检测与自动校正技术 Download PDFInfo
- Publication number
- CN115640664A CN115640664A CN202210835325.6A CN202210835325A CN115640664A CN 115640664 A CN115640664 A CN 115640664A CN 202210835325 A CN202210835325 A CN 202210835325A CN 115640664 A CN115640664 A CN 115640664A
- Authority
- CN
- China
- Prior art keywords
- state machine
- scheme
- ecc
- logic
- cad
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000015654 memory Effects 0.000 title claims abstract description 64
- 238000012937 correction Methods 0.000 title claims abstract description 42
- 238000001514 detection method Methods 0.000 title claims abstract description 29
- 239000004065 semiconductor Substances 0.000 claims abstract description 18
- 230000003068 static effect Effects 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 238000013479 data entry Methods 0.000 claims description 3
- 230000000737 periodic effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- WRRSFOZOETZUPG-FFHNEAJVSA-N (4r,4ar,7s,7ar,12bs)-9-methoxy-3-methyl-2,4,4a,7,7a,13-hexahydro-1h-4,12-methanobenzofuro[3,2-e]isoquinoline-7-ol;hydrate Chemical compound O.C([C@H]1[C@H](N(CC[C@@]112)C)C3)=C[C@H](O)[C@@H]1OC1=C2C3=CC=C1OC WRRSFOZOETZUPG-FFHNEAJVSA-N 0.000 claims 9
- 101100326580 Arabidopsis thaliana CAD4 gene Proteins 0.000 claims 5
- 238000010586 diagram Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 16
- 230000002085 persistent effect Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 5
- 239000002245 particle Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241000258963 Diplopoda Species 0.000 description 1
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- 241000521581 Millettia Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000005865 ionizing radiation Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000012857 radioactive material Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000011163 secondary particle Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/1201—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本申请案的实施例涉及用于存储元件以提高可靠性的早期错误检测与自动校正技术。具有错误检测与校正的半导体芯片包含多个管线且每一管线耦合到所述半导体芯片上的一或多个端口。所述半导体芯片进一步包含状态机,所述状态机耦合到所述管线以产生由与多个存储元件相关联的读取型事件及/或扫描型事件组成的若干个事件。所述状态机是以硬件实施且可跨越所述多个存储元件集中地检测并校正错误存储器条目。
Description
技术领域
本发明说明一般来说涉及半导体系统,且特定来说涉及用于存储元件以实现半导体系统中的经提高可靠性的早期错误检测与自动校正技术。
背景技术
在半导体中,存储元件中主要存在两种类型的错误,硬错误及软错误。硬错误是因永久性物理缺陷造成的问题。软错误是导致以意外方式更改所存储数据的临时状况的问题。软错误是因事件而非持久性物理状况导致。软错误可发生在传输线上、数字逻辑、模拟电路、磁性存储装置中及其它处,但在半导体存储装置中最常见,因为错误数据是持久的而在远远更长的时间内导致其它意外结果。软错误率(SER)是装置遭遇软错误的速率。其通常表达为单位时间故障数(FIT)或平均故障间隔时间(MTBF)。FIT是用于量化单位时间故障的单位且等效于每十亿个小时的装置操作一个错误。MTBF通常以装置操作年数为规格。
软错误可因使例如α粒子、宇宙射线及热中子等的辐射离子化而导致。α粒子可因封装中的放射性材料的痕迹衰变造成,且地球表面上的宇宙射线是由例如快中子、质子及介子等的高能次级粒子的射丛组成,所述高能次级粒子是由主要宇宙粒子形成。热中子是因快中子失去其能量并与其周围环境达到热平衡而造成,且可形成例如α粒子、γ射线及锂原子核等的带点粒子,所述带电粒子可在半导体存储装置中造成软错误。软错误还可因随机噪声或者例如电感或电容串扰等信号完整性问题导致。
传统上,如果被检测到,那么软错误可通过重新写入正确数据以取代错误数据来校正。系统可使用错误校正来使用错误校正码(ECC)即时校正软错误。然而,在许多系统中,确定正确数据或甚至发现存在错误可为根本不可能的。另外,在检测或校正可发生之前,系统可能已崩溃,在此情形中,恢复过程必须包含重新启动。可靠系统的一些特性可包含容错性(FT)、高可用性(HA)及灾难恢复(DR)。FT是关于使系统的个别组件具有故障恢复能力,且对于被认为是容错的系统组件来说,任何停机时间均是不可接受的。HA涉及使整个系统作为整体具有故障恢复能力。对于被认为具高可用性的系统来说,仅极少量的停机时间(例如,0.05%(即,99.95%正常运行时间))是可接受的。DR是关于恢复已关闭的系统(无论其是否被认为HA),从而确保满足HA正常运行时间目标。
宏存储元件(下文中,宏)以硬件实施,本文中描述其一些细节。宏是经预设计存储元件(例如逻辑设计者可在芯片设计中使用的配置存储器)的例示。宏是在晶体管层架处设计且因此就芯片面积及功率消耗来说相当高效。作为宏中的实施方案,列多路复用(columnmultiplexing,C-Muxing)用于确保逻辑条目中的邻近位分散在不同(例如,两个)物理条目中。这又确保多位翻转的程度被限制于小数目,理想地仅一个。举例来说,对于跨越n个位具有单个ECC的逻辑条目,具有CMUX=1的物理宏使得能够将逻辑条目的偶数位存储于物理位置0中且将逻辑条目的奇数位存储于物理位置1中。这允许检测并校正2位翻转,且检测但不校正3位到5位翻转。
在静态随机存取存储器(SRAM)或静态寄存器文件(SRF)宏中,当宏被读取时,其具有对应ECC的数据内容被存取且进行错误检查。SRF宏通常具有内置列多路复用。因此,如果软错误翻转多个位(例如,2个位),那么被翻转位不是同一逻辑条目的部分。因此,横跨逻辑条目的单个ECC字段将校正两个逻辑条目中的单位错误。换句话说,逻辑条目中的位翻转仅影响所述特定逻辑条目。
然而,对于三进制内容可寻址存储器(TCAM),比较命令不读取宏的内容且仅输出匹配及发生匹配的索引。因此,在比较期间,条目内容是不可用的。直到TCAM位置被明确读取且进行错误检查才发生错误检测。这使检测间隔远远更长。对于TCAM宏,不存在内置列多路复用支持。如此,当在TCAM中存在位翻转时,其不仅影响所述一个位置或数个位置,而且还影响整个优先级解码,致使完整宏实例不可用,直到错误被校正为止。由于TCAM用于关键封包处理及转发功能,因此未检测的错误可能丢弃或(甚至更糟糕的是)错误转发大量可能使整个网络瘫痪的业务。
总之,TCAM具有显著较大数目个位反转的高得多的概率。系统将见证丢失或(甚至更糟糕的是)被错误转发的封包,直到检测到并接着校正错误,校正错误通常甚至在检测之后花费数十毫秒的时间,检测本身是直到明确扫描了所有TCAM条目才可发生。这可为TCAM当今在网络产业中的主要问题。
发明内容
本申请案的一实施例提供一种包含错误检测与校正的系统,所述系统包括:多个管线,每一管线耦合到半导体芯片上的一或多个端口;及状态机,其耦合到所述多个管线且经配置以产生多个事件,其中:所述多个事件包括与多个存储元件相关联的读取型事件或扫描型事件中的一者,且所述状态机是以硬件实施且经配置以跨越所述多个存储元件检测并校正包含错误存储器条目的错误。
本申请案的另一实施例提供一种错误检测与校正方法,所述方法包括:将状态机耦合到多个管线;及配置所述状态机以进行以下操作:存取所述多个管线的配置存储器以产生多个事件;及实施LEAN方案以减少关键封包路径等待时间、芯片面积及芯片功率消耗中的至少两者,其中:所述多个事件包括与所述配置存储器相关联的读取型事件或扫描型事件中的一者。
本申请案的另一实施例提供一种错误检测与校正方法,所述方法包括:将状态机耦合到多个管线;及配置所述状态机以进行以下操作:存取所述多个管线的配置存储器以产生多个事件;及实施CAD方案以减少关键封包路径等待时间、芯片面积及芯片功率消耗中的至少两者,其中:所述多个事件包括读取型事件或扫描型事件中的一者。
附图说明
在所附权利要求书中陈述本发明技术的特定特征。然而,出于解释目的,在以下各图中陈述本发明技术的数个实施例。
图1是图解说明根据本发明技术的各个方面基于等待时间高效自动校正(LEAN)方案的宏例示架构的实例的框图。
图2是图解说明根据本发明技术的各个方面的图1的LEAN方案中的事件流的实例的时序图。
图3是图解说明三进制内容可寻址存储器(TCAM)中的位翻转的实例的表格。
图4是图解说明根据本发明技术的一些方面的典型比较与检测(CAD)架构的实例的框图。
图5是图解说明在图4的CAD的两个宏中具有错误的概率的实例的表格。
图6是图解说明根据本发明技术的一些方面的CAD加校正架构的实例的框图。
图7A是图解说明根据本发明技术的一些方面的利用多个错误校正码(ECC)字段的宏外部的列多路复用的实例的图式。图7B是图解说明根据本发明技术的一些方面的ECC位在存储于宏中的同时的交错的实例的图式。
图7C是图解说明根据本发明技术的一些方面的利用多个ECC字段的宏外部的列多路复用及对应表格的实例的图式。
图8是图解说明不同数目个数据位的所需ECC位及冗余奇偶校验位的实例的表格。
图9是图解说明用以读取管线条目的集中式状态机的实例的图式。
图10是图解说明根据本发明技术的一些方面的错误检测与校正方法的实例的流程图。
图11是图解说明根据本发明技术的一些方面的错误检测与校正方法的实例的流程图。
图12是电子系统,在所述电子系统内实施本发明技术的一些方面。
具体实施方式
下文陈述的详细说明打算为对本发明技术的各种配置的说明且不打算表示其中可实践本发明技术的仅有配置。附图并入本文中且构成详细说明的部分,详细说明包含用于提供对本发明技术的透彻理解的特定细节。然而,本发明技术不限于本文中所陈述的特定细节且可在不具有所述特定细节中的一或多者的情况下实践。在一些实例中,以框图形式展示结构及组件以避免使本发明技术的概念模糊。
本发明技术针对于用于存储元件的早期错误检测及自动校正技术以实现半导体系统中的经提高可靠性的方法及系统。所公开技术基于等待时间高效自动校正(LEAN)方案,所述LEAN方案一般来说专注于可靠性方面且特定来说专注于例如静态随机存取存储器(SRAM)或静态寄存器文件(SRF)及TCAM等的所有配置存储器的早期错误检测。本发明技术还专注于在无软件(S/W)介入的情况下例如SRAM、SRF及TCAM等的所有配置存储器的自动错误校正,且专注于优化用于例如SRAM及SRF等的配置存储器的错误检测与校正的硬件(H/W)逻辑及等待时间。
LEAN及比较与检测(CAD)方案能够在包含SRAM、SRF及TCAM存储元件的所有种类的半导体存储元件中在大约几纳秒中检测任何数目个位翻转。LEAN及CAD-校正(CAD-C)方案能够甚至在全(100%)业务负载的情况下在数十纳秒内自动校正错误而不需要任何软件介入。CAD方案能够在无任何冗余奇偶校验位及/或错误校正码(ECC)位或逻辑的情况下检测任何数目个位翻转,因此节省成本。CAD-C方案能够在不需要昂贵ECC位及逻辑的情况下自动校正任何数目个位翻转。LEAN及CAD-C方案例如通过消除宏中的列多路复用而优化关键封包路径等待时间以及芯片面积及功率。可通过使用芯片电路系统的时序模拟而确定关键路径。
可消除宏中的列多路复用,从而节省芯片面积及功率消耗以及实现有利纵横比来帮助消除拥塞及达成物理设计中的较佳时序。提供辅助状态机来以可配置时间间隔周期性地存取宏。在此方面,注意以下事实是重要的。除非通过封包或通过中央处理单元(CPU)存取,否则给定宏中的错误可能不会被检测到;封包不读取TCAM;且甚至更糟糕的是,如果此周期太长且错误未以及时方式检测及校正,那么宏中的可校正位翻转可变成甚至不可检测的错误,这归因于超出了所实施机构可处置的位翻转。本发明技术提供可配置方法,所述可配置方法用以甚至在TCAM中一检测到命中经检测错误条目的封包便将所有所述封包丢弃直到其被校正,使得业务不会被错误转发。
图1是图解说明根据本发明技术的各个方面基于LEAN方案的宏例示架构100的实例的框图。宏例示架构100包含多路复用器(multiplexer,Mux)110、存储器宏120、ECC逻辑130、ECC报告逻辑140、功能逻辑150、逻辑160、经校正条目缓冲逻辑170及若干个跳变器(flop),包含跳变器122、142、172以及任选跳变器124及152。宏例示架构100提供与功能逻辑150并联的ECC逻辑130及ECC报告逻辑140。此係所公开技术的重要特征,与现有方法的不同之处在于ECC逻辑及报告是与功能逻辑串联。写入数据输入102通过多路复用器110馈送以写入到存储器宏120,所述存储器宏是在路由器或交换机芯片(例如,半导体芯片)中使用的经预设计存储器(例如,RAM、SRF、TCAM)的例示。在一些实施方案中,存储器宏120可存储表格,例如,路由器或交换机的入口及出口地址表。
功能逻辑150包含能够执行芯片(例如,路由器或交换机)的功能性的电子电路系统。ECC逻辑130包含逻辑电路系统且负责错误检测与校正。ECC报告逻辑140包含用于向逻辑160报告错误校正的逻辑电路系统。来自ECC逻辑130的校正通过经校正条目缓冲逻辑170提供到跳变器172,所述跳变器是经校正条目缓冲器(cor_entry_buf)且用于补偿封包递送率(PDR)宏等待时间增加。所述校正接着经由多路复用器110发送到存储器宏120。跳变器122以及任选跳变器124及152用作延迟器且可补偿等待时间。在一些实施方案中,使用暂时性高速缓冲存储器来在通过ECC逻辑进行校正之后存储经校正条目且在经校正数据等待写回到存储器宏120的同时响应于读取操作而从高速缓冲存储器提供所述经校正数据。
图2是图解说明根据本发明技术的各个方面的图1的LEAN方案中的事件流的实例的时序图200。如从时序图200可见,在读取地址220有效的时钟循环期间接收读取命令210。包含事件A、B、C及D的事件群集230在读取地址220有效的时钟循环内发生。在事件A期间,来自存储器(例如,图1的存储器宏120)的读取数据是可用的。在事件B期间,外部跳变的存储器数据是可用的,ECC被检查,且一位经错误校正数据是可用的。在事件C期间,经跳变错误报告与经启用cor_entry_buf(例如,图1的跳变器172)是可用的,且cor_entry_buf准备好写回到存储器中磁泡(bubble)上。在事件D期间,cor_entry_buf是不可用的,因为其已经写回到存储器。输出数据(DOUT)240包含错误数据(ED)、在事件B、C及D期间可用的来自cor_entry_buf的经校正数据(CDC),及在E事件之后变得可用的直接来自存储器的经校正数据(CDM)。
图3是图解说明TCAM中的位翻转的实例的表格300。针对SRAM及TCAM两者展示通过7nm技术实施的存储器的逻辑条目中的错误概率。将错误展示为位翻转的数目,其中数据的位从零改变为一,或反之亦然。举例来说,针对SRAM及TCAM,2位翻转错误的概率分别是19.75%及19.72%,其几乎相同。针对较高位翻转错误,SRAM与TCAM的概率相差较大。在5nm技术中甚至观察到TCAM中的五位或更多位反转的较高概率。应注意,TCAM不具有本地列多路复用且错误校正的成本针对任何解决方案均增加,所述解决方案通过复制每逻辑条目奇偶校验位及/或ECC位而效仿列多路复用。
图4是图解说明根据本发明技术的一些方面的典型比较与检测(CAD)架构400的实例的框图。在单个封包处理管线(下文中,管线)中,带宽的上限主要通过给定技术管控。当芯片的总受支持带宽需要多于单个管线时,在所述芯片上使用多个封包处理管线。因此,不可避免地,芯片上针对不同管线存在具有相同数据的配置存储器(SRAM、SRF及TCAM)的副本。由于TCAM不支持在SRAM及SRF上可用的双重比较(例如双重读取),因此TCAM具有相同数据的甚至更多副本,因为所述数据无法像在SRAM及SRF中一样跨越两个管线共享。
本发明技术支持CAD,CAD在读取/扫描事件中跨越副本将对应位置的内容进行比较,以检测错误。CAD架构400包含宏410(宏0)及420(宏2)、逻辑电路系统430、具有双重存取支持的宏440、存取逻辑管线450(管线0)及存取逻辑管线460(管线1)。在一些实施方案中,宏410及420可为TCAM,且宏440可为SRAM或SRF。输入数据封包402由宏410及420读取,且逻辑电路系统430在读取/扫描事件中跨越副本将宏410与420内的对应位置的内容进行比较,以检测错误。应注意,宏410及420(TCAM)不在寄存器文件中单独公开。每管线(例如,存取逻辑管线450或存取逻辑管线460)仅存在一个逻辑实例,因此宏410与420(TCAM)的所有位置上的内容总是相同,除了在存在错误时,所述错误将由逻辑电路系统430检测。如果跨越宏410及420在任何位置上存在不匹配,那么将所述位置检测为有错误的。因此,错误检测不需要冗余位(奇偶校验/ECC)。应注意,在宏410及420(TCAM)两者中同时具有错误是极不可能的。如下文将论述,在宏410及420(TCAM)中跨越相同位置具有完全相同错误是几乎不可能的。宏440可包含用于提供输出数据404的相关联数据。典型TCAM存储待比较的秘钥及相关联数据中的对应位置。如果TCAM指示匹配,那么进行此动作。举例来说,当5元组数据(例如,源/目的地IP地址、源/目的地端口及协议字段)存储于TCAM中时,例如“将封包转发到特定目的地”、“将封包拷贝到CPU”及/或“丢弃封包”等的动作存储于相关联数据中。
图5是图解说明在图4的CAD的两个宏中具有错误的概率的实例的表格500。表格500是自解释性的且指示,虽然0.2兆位TCAM(512x200)的平均故障间隔时间(MTBF)是约16806723小时,但在图4的宏410及420两者中具有错误的MTBF是约1.16E+17年,其甚至远长于宇宙的年龄。此外,在宏410及420两者中在完全相同的位置上具有完全相同的错误的MTBF是几乎不可能的。
图6是图解说明根据本发明技术的一些方面的CAD加校正架构600的实例的框图。CAD加校正架构600类似于图4的CAD架构400,除了在逻辑电路系统430之前添加奇偶校验位块610。宏410与420两者的内容通过软件配置为相同的。奇偶校验位块610经实施以知晓哪一条目具有错误,使得另一良好条目可用于校正错误条目。在奇偶校验位块610内具有各自覆盖一位置中的非邻近位的多个(P个)奇偶校验位的情况下,可检测最高达(2xP-1)个连续位反转。举例来说,如果实施具有P=4的奇偶校验位块610,那么其可检测最高达七(=2x4-1)个连续位反转来进行自动校正,自动校正在数十纳秒内是受保障的。如果不可自动校正(超出给定芯片的连续位反转的受支持数目),那么仍可向软件指示不可通过硬件校正的错误,使得软件可使用现有错误校正机制校正错误。
总之,CAD是最廉价的技术且在无任何冗余位(例如ECC及/或奇偶校验或对应逻辑)的情况下提供全检测能力(逻辑条目中的任何数目个位反转)。可针对跨越管线具有多个副本的任何及所有配置存储器实施CAD。使用CAD,可从所有宏全部去除列多路复用,因此显著节省芯片面积及功率消耗。
当使用CAD时,不需要冗余ECC位及用于配置表的逻辑。这对于芯片面积、功率及等待时间节省是有益的。如果自动校正是合意的,那么仅需要奇偶校验位(仅一个,而非在ECC位的情形中许多)及逻辑(比ECC简单得多)。
图7A是图解说明根据本发明技术的一些方面的利用多个ECC字段的宏外部的列多路复用方案700A的实例的图式。一般来说,宏实施列多路复用,其中将逻辑条目中的邻近位存储于不同物理条目中。尤其对于较小的宏来说,此实施方案具有显著开销。列多路复用可在宏外部实施以实现宏的较佳纵横比(高且窄的宏阻挡水平路由,导致平面布置图中出现拥塞)、减少的面积、减少的功率、ECC实施方案的较佳时序及满足给定时序规范的显著较宽广的宏,这可减少宏实例计数,进而减少宏、测试设计(DFT)及芯片上的开销区。
当对于给定应用极重要时,可针对列多路复用实施充足ECC字段,以降低不可校正错误的概率。这可导致具有几乎为零的单位时间故障(FIT)或长MTBF。作为一实例,如果给定技术具有最大7位翻转,那么可通过利用多个ECC字段在宏外部实施列多路复用、使ECC位在存储于宏中的同时交错而降低不可校正错误的概率,如下文所论述。
在利用多个ECC字段在宏外部实施列多路复用的实例列多路复用方案700A中,ECC字段710由各自具有m个位的ECC字段E0及E1组成,且数据字段720包含逻辑条目中的数据位。如所展示,ECC字段E0仅考虑数据位中的偶数位(0、2、4等),且ECC字段E1仅考虑奇数位(1、3、5等)用于ECC计算。因此,任何两位反转可影响不同ECC字段,从而效仿列多路复用。应注意,ECC位自身需要在存储于宏中的同时交错以确保无逻辑上连续的ECC位在宏中彼此物理上邻近。使用列多路复用方案700A,可检测并校正最高达两位反转;可仅检测且不校正三位到五位反转;且无法检测六位或更多位反转。
图7B是图解说明根据本发明技术的一些方面的ECC位在存储于宏中的同时的交错方案700B的实例的图式。在交错方案700B中,ECC字段730包含各自具有m个位的交错ECC字段,且数据字段740包含可存储于一个单片宏或多个宏上的逻辑条目中的n个数据位。在一些实施方案中,数据位也可在存储于宏中的同时任选地与ECC位一起交错。
图7C是图解说明根据本发明技术的一些方面的利用ECC字段的宏外部列多路复用方案700C及对应表格770的实例的图式。ECC字段750由各自具有m个位的ECC字段E0、E1及E2组成,且数据字段760包含可存储于一个单片宏或多个宏中的逻辑条目中的数据位。如所展示,ECC字段E0仅考虑数据位中的位(0、3、6等),ECC字段E1仅考虑位(1、4、7等)用于ECC计算,且ECC字段E2仅考虑位(2、5、8等)用于ECC计算。
如表格770中所展示,使用宏外部列多路复用方案700C,可检测并校正一位到三位反转;可仅检测且不校正四位到八位反转;且甚至无法检测九位或更多位反转。
图8是图解说明不同数目个数据位的所需ECC位及冗余奇偶校验位的实例的表格800。表格800包含四个列810、820、830及840。列810展示数据位数目。列820展示每字段检测两位翻转且校正一位翻转所需的冗余ECC位的对应数目。列830指示每字段检测一位翻转所需的冗余奇偶校验位的对应数目,且列840包含是自解释性的评论。图9是图解说明用以读取管线920条目的集中式状态机910的实例的图式。状态机910可针对配置存储器(例如,SRAM、SRF、TCAM)条目例如以读取及/或扫描事件之间的可配置间隔触发周期性读取及/或扫描事件,以促进错误的检测及/或校正。这是对封包及CPU rad存取的补充。应注意,封包是针对配置存储器的事件的主要数目,且封包事件不读取TCAM条目。管线920是封包处理管线且包含若干个(n个)管线(管线0、管线1…管线n)。每一管线可包含被集中读取及/或扫描以检测并校正错误的适合逻辑及/或电路系统及配置存储器。状态机通过在无任何软件介入的情况下实施如上文所论述的本发明技术的一或多个方面(例如LEAN、CAD及CAD-C方案)而促进错误的检测及/或校正。在一些实施方案中,状态机910包含分别用于实施LEAN、CAD及CAD-C方案的LEAN、CAD及CAD-C架构。举例来说,LEAN架构可包含:ECC逻辑及ECC报告逻辑,其与功能逻辑并联实施;及逻辑实施方案,其用以从主要逻辑路径分离出ECC检查以便减少时序及等待时间。在一或多个实施方案中,状态机910通过跨越管线内的存储元件的副本将对应位置的内容进行比较而实施CAD方案,且可在无冗余奇偶校验位及/或ECC位或逻辑的情况下检测任何数目个位翻转以节省成本。在一些实施方案中,状态机910可在不需要ECC位及ECC逻辑的情况下实施CAD方案以将半导体芯片上的全部配置存储器内的复制条目(同一数据条目的复制副本)进行比较以便检测错误。在一或多个实施方案中,状态机910可实施CAD-C方案以识别复制条目当中的错误条目且自动校正错误条目,而不需要软件介入或ECC逻辑来识别及校正错误条目。
图10是图解说明根据本发明技术的一些方面的错误检测与校正方法1000的实例的流程图。方法1000包含将状态机(例如,图9的910)耦合到若干个管线(例如,图9的920)(1010)及配置状态机以存取所述管线的配置存储器(例如,图1的120)以便产生数个事件(1020)。方法1000进一步包含配置状态机以实施LEAN方案(如图1中所展示)以便减少关键封包路径等待时间、芯片面积及芯片功率消耗(1030)。所述管线是封包处理管线,且所述事件是配置存储器的读取型事件或扫描型事件中的一者,在所述读取型事件或扫描型事件期间分别读取或扫描配置存储器。
图11是图解说明根据本发明技术的一些方面的错误检测与校正方法1100的实例的流程图。方法1100包含将状态机(例如,图9的910)耦合到若干个管线(例如,图4的450及460)(1110)及配置状态机以存取所述管线的配置存储器(例如,图4的410及420)以便产生数个事件(1120)。方法1000进一步包含配置状态机以实施CAD方案(如图4中所展示)以便减少关键封包路径等待时间、芯片面积及芯片功率消耗(1130)。所述管线是封包处理管线,且所述事件是配置存储器的读取型事件或扫描型事件中的一者。
图12是电子系统,在所述电子系统内实施本发明技术的一些方面。电子系统1200可为数据中心或企业网络的网络交换机或路由器及/或可为其一部分。电子系统1200可包含用于各种其它类型的计算机可读媒体的各种类型的计算机可读媒体及接口。电子系统1200包含总线1208、一或多个处理单元1212、系统存储器1204(及/或缓冲器)、ROM 1210、永久性存储装置1202、输入装置接口1214、输出装置接口1206,及一或多个网络接口1216,或者其子组及变化形式。
总线1208共同地表示通信地连接电子系统1200的众多内部装置的所有系统、外围装置及芯片组总线。在一或多个实施方案中,总线1208通信地连接一或多个处理单元1212与ROM 1210、系统存储器1204及永久性存储装置1202。从这些各种存储器单元,一或多个处理单元1212检索待执行指令及待处理数据以便执行本公开的过程。在不同实施方案中,一或多个处理单元1212可为单个处理器或多核心处理器。在一或多个方面中,一或多个处理单元1212可用于实施图9的状态机910及/或实施图10及11的方法。
ROM 1210存储一或多个处理单元1212及电子系统1200的其它模块所需的静态数据及指令。另一方面,永久性存储装置1202可为读取与写入存储器装置。永久性存储装置1202可为甚至在电子系统1200关断时存储指令及数据的非易失性存储器单元。在一或多个实施方案中,大容量存储装置(例如磁盘或光盘及其对应磁盘驱动器)可用作永久性存储装置1202。
在一或多个实施方案中,可装卸存储装置(例如软盘、快闪驱动器及其对应磁盘驱动器)可用作永久性存储装置1202。如同永久性存储装置1202,系统存储器1204可为读取与写入存储器装置。然而,不同于永久性存储装置1202,系统存储器1204可为易失性读取与写入存储器,例如随机存取存储器(RAM)。系统存储器1204可存储一或多个处理单元1212可在运行时需要的指令及数据中的任一者。在一或多个实施方案中,本公开的过程存储于系统存储器1204、永久性存储装置1202及/或ROM 1210中。从这些各种存储器单元,一或多个处理单元1212检索待执行指令及待处理数据以便执行一或多个实施方案的过程。在一或多个方面中,存储单元1202可表示图2的管线920及图1的宏120或者图4的宏410及420内的存储元件。
总线1208还连接到输入装置接口1214及输出装置接口1206。输入装置接口1214使得用户能够将信息及选择命令传达到电子系统1200。举例来说,可与输入装置接口1214一起使用的输入装置可包含字母数字键盘及指向装置(也称为“光标控制装置”)。举例来说,输出装置接口1206可使得能够显示由电子系统1200产生的图像。举例来说,可与输出装置接口1206一起使用的输出装置可包含打印机及显示装置,例如液晶显示器(LCD)、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、柔性显示器、平板显示器、固态显示器、投影仪,或用于输出信息的任何其它装置。一或多个实施方案可包含用作输入装置及输出装置两者的装置,例如触摸屏。在这些实施方案中,提供到用户的反馈可为任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;且来自用户的输入可以包含声音、语音或触觉输入的任何形式接收。
最后,如图12中所展示,总线1208还通过一或多个网络接口1216将电子系统1200耦合到一或多个网络及/或耦合到一或多个网络节点。以此方式,电子系统1200可为计算机网络(例如局域网(LAN)、广域网(WAN)、内联网或网络的网络(例如因特网))的一部分。电子系统1200的任一或所有组件可联合本公开来使用。
本发明公开的范围内的实施方案可部分地或完全地使用将一或多个指令编码的有形计算机可读存储媒体(或者一或多种类型的多个有形计算机可读存储媒体)来实现。有形计算机可读存储媒体本质上也可为非暂时性的。
计算机可读存储媒体可为可被通用或专用计算装置(包含能够执行指令的任何处理电子器件及/或处理电路系统)读取、写入或以其它方式存取的任何存储媒体。举例来说,在不受限制的情况下,计算机可读媒体可包含任何易失性半导体存储器,例如RAM、DRAM、SRAM、T-RAM、Z-RAM及TTRAM。计算机可读媒体还可包含任何非易失性半导体存储器,例如ROM、PROM、EPROM、EEPROM、NVRAM、快闪、nvSRAM、FeRAM、FeTRAM、MRAM、PRAM、CBRAM、SONOS、RRAM、NRAM、赛道存储器、FJG及千足虫(Millipede)存储器。
此外,计算机可读存储媒体可包含任何非半导体存储器,例如光盘存储装置、磁盘存储装置、磁带、其它磁性存储装置,或能够存储一或多个指令的任何其它媒体。在一或多个实施方案中,有形计算机可读存储媒体可直接耦合到计算装置,而在其它实施方案中,有形计算机可读存储媒体可例如经由一或多个有线连接、一或多个无线连接或其任何组合间接耦合到计算装置。
指令可为可直接执行的或可用于开发可执行指令。举例来说,指令可实现为可执行或不可执行机器代码或者实现为可经编译以产生可执行或不可执行机器代码的呈高级语言的指令。此外,指令还可实现为数据或可包含数据。计算机可执行指令还可以任何格式组织,所述格式包含例程、子例程、程序、数据结构、对象、模块、应用程序、小程序、功能等。如所属领域的技术人员所认识到,包含但不限于指令的数目、结构、序列及组织的细节可在不改变基础逻辑、功能、处理及输出的情况下显著变化。
虽然以上论述主要提及执行软件的微处理器或多核心处理器,但一或多个实施方案是由一或多个集成电路(例如ASIC或FPGA)执行。在一或多个实施方案中,此类集成电路执行存储于电路自身上或分布式存储系统(例如存储网络)上的指令。
所属领域的技术人员将了解,本文中所描述的各种说明性块、模块、元件、组件、方法及算法可实施为电子硬件、计算机软件或两者的组合。为了图解说明硬件与软件的此可互换性,上文通常已就各种说明性块、模块、元件、组件、方法及算法的功能性对其进行了描述。此功能性是实施为硬件还是软件取决于特定应用及施加于总体系统上的设计约束。技术人员可针对每一特定应用以变化的方式实施所描述的功能性。可以不同方式布置(例如,以不同次序布置或以不同方式分割)各种组件及块,所有这些均不背离本发明技术的范围。
应理解,所公开的过程中的框的任何特定次序或层次是对实例方法的图解。基于设计偏好,应理解可重新布置所述过程中的框的特定次序或层次,或执行所有所图解说明框。可同时执行所述框中的任一者。在一或多个实施方案中,多任务及并行处理可为有利的。此外,不应将在上文所描述的实施例中的各种系统组件的分离理解为在所有实施例中需要此分离,且应理解,通常可将所描述的程序组件及系统一起集成于单个软件/硬件产品中或封装到多个软件/硬件产品中。
如本说明书及本申请案的任何技术方案中所使用,术语“基站”、“接收器”、“计算机”、“服务器”、“处理器”及“存储器”全部是指电子或其它技术装置。这些术语排除人或人群。出于本说明书的目的,术语“显示(display或displaying)”意指在电子装置上显示。
如本文中所使用,在一系列物项后面的短语“中的至少一者”(以术语“及”或者“或”分隔开物项中的任一者)将列表作为整体进行修饰,而不是修饰列表的每一成员(即,每一物项)。短语“中的至少一者”不要求选择所列示的每一物项中的至少一者;而是,所述短语认可包含所述物项中的任一者中的至少一者及/或所述物项的任一组合中的至少一者及/或所述物项中的每一者中的至少一者的含义。通过实例,短语“A、B及C中的至少一者”或者“A、B或C中的至少一者”各自是指仅A、仅B或仅C;A、B及C的任一组合;及/或A、B及C中的每一者中的至少一者。
谓语词“经配置以”、“可操作以”及“经编程以”并不暗示对一对象的任何特定有形或无形修饰,而是打算可互换使用。在一或多个实施方案中,经配置以监视并控制组件的操作的处理器还可意指经编程以监视并控制所述操作的处理器或可操作以监视并控制所述操作的处理器。同样地,经配置以执行代码的处理器可构造为经编程以执行代码或可操作以执行代码的处理器。
例如“一方面”、“所述方面”、“另一方面”、“一些方面”、“一或多个方面”、“一实施方案”、“所述实施方案”、“另一实施方案”、“一些实施方案”、“一或多个实施方案”、“一实施例”、“所述实施例”、“另一实施例”、“一些实施例”、“一或多个实施例”、“一配置”、“所述配置”、“另一配置”、“一些配置”、“一或多个配置”、“本发明技术”、“本公开”、“本发明公开”等短语及其其它变化形式等等是出于方便起见且不暗示与此类短语相关的公开对于本发明技术必不可少或者此公开适用于本发明技术的所有配置。与此类短语相关的公开可适用于所有配置或者一或多个配置。与此类短语相关的公开可提供一或多个实例。例如一方面或一些方面等的短语可指一或多个方面且反之亦然,且此类似地适用于其它前述短语。
词“示范性”在本文中用于意指“充当实例、例子或图解”。此外,就在说明或权利要求书中使用术语“包含”、“具有”等来说,此术语打算以与术语“包括”在“包括”用作技术方案中的过渡词时所解释的意义类似的方式为包含性。
所属领域的普通技术人员已知的或后来知晓的在本公开通篇描述的各个方面的要素的所有结构及功能等效物明确地以引用的方式并入本文中且打算由权利要求书涵盖。此外,本文中所公开的任何内容均不打算致力于公共的,而不管此公开是否明确地叙述于权利要求书中。任何技术方案要素将不根据35U.S.C.§112(f)的规定来解释,除非所述要素使用短语“用于…的构件”来明确地叙述,或者在方法技术方案的情形中,所述要素使用短语“用于…的步骤”来叙述。
提供先前说明旨在使得任何所属领域的技术人员能够实践本文中所描述的各个方面。所属领域的技术人员将容易明了对这些方面的各种修改,且本文中所界定的通用原理可应用于其它方面。因此,权利要求书并不打算限制于本文中所展示的方面,而是应被赋予与语言技术方案相一致的全部范围,其中以单数形式对一要素的提及并不打算意指“一个且仅一个”(除非具体如此陈述),而是意指“一或多个”。除非另有具体陈述,否则术语“一些”是指一或多个。男性代词(例如,他的)包含女性及中性性别(例如,她的及它的),且反之亦然。如果有的话,那么标题及副标题仅用于方便的目的且并不限制本发明公开。
Claims (23)
1.一种包含错误检测与校正的系统,所述系统包括:
多个管线,每一管线耦合到半导体芯片上的一或多个端口;及
状态机,其耦合到所述多个管线且经配置以产生多个事件,
其中:
所述多个事件包括与多个存储元件相关联的读取型事件或扫描型事件中的一者,且
所述状态机是以硬件实施且经配置以跨越所述多个存储元件检测并校正包含错误存储器条目的错误。
2.根据权利要求1所述的系统,其中所述多个存储元件嵌入于所述多个管线中,且其中所述错误包括所述多个管线的所述多个存储元件内的位翻转错误。
3.根据权利要求2所述的系统,其中所述状态机经配置以丢弃到达经检测错误存储器条目的封包直到所述错误存储器条目被校正,以便帮助防止业务被错误转发。
4.根据权利要求1所述的系统,其中所述多个事件包括具有可配置时间间隔的周期性事件。
5.根据权利要求1所述的系统,其中所述存储元件包括包含静态随机存取存储器SRAM、静态寄存器文件SRF或三进制内容可寻址存储器TCAM中的一或多者的配置存储器。
6.根据权利要求1所述的系统,其中所述状态机经配置以:
通过实施等待时间高效自动校正LEAN方案而检测并校正错误;且
以可配置间隔起始周期性扫描以触发读取操作来检查错误。
7.根据权利要求6所述的系统,其中所述状态机经配置以实施所述LEAN方案以便减少关键封包路径等待时间、芯片面积及芯片功率消耗中的至少两者。
8.根据权利要求7所述的系统,其中所述状态机经配置以在不对配置存储器进行列多路复用的情况下实施所述LEAN方案以便减少所述关键封包路径等待时间、所述芯片面积及所述芯片功率消耗中的至少两者。
9.根据权利要求7所述的系统,其中所述LEAN方案包括:
错误校正码ECC逻辑及ECC报告逻辑,其与功能逻辑并联实施;及
逻辑实施方案,其经配置以从主要逻辑路径分离出ECC检查以便减少时序及等待时间。
10.根据权利要求9所述的系统,其中LEAN架构进一步包括:
逻辑,其经配置以通过将正确条目写回到所述多个管线的存储元件中而实施所述LEAN方案,其中所述LEAN方案经配置以甚至在100%业务负载的情况下在少于100纳秒内自动校正错误而不需要软件介入;
暂时性高速缓冲存储器,其经配置以在通过所述ECC逻辑进行校正之后存储经校正条目且在经校正数据等待写回到宏的同时响应于读取操作而从高速缓冲存储器提供所述经校正数据。
11.根据权利要求1所述的系统,其中所述状态机经配置以通过在不对配置存储器进行列多路复用的情况下实施比较与检测CAD方案而检测错误以便减少关键封包路径等待时间、芯片面积及芯片功率消耗中的至少两者。
12.根据权利要求11所述的系统,其中所述状态机经配置以通过跨越所述多个管线内的存储元件的副本将对应位置的内容进行比较而实施所述CAD方案,且其中所述CAD方案经配置以在不使用奇偶校验位及/或ECC位或ECC逻辑的情况下检测位翻转以便节省成本。
13.根据权利要求12所述的系统,其中所述状态机经配置以通过进一步使用奇偶校验位块而实施CAD-校正CAD-C方案,所述奇偶校验位块经配置以促进错误检测以便帮助防止含有错误的内容被使用。
14.根据权利要求13所述的系统,其中所述状态机经配置以在不需要所述ECC位及所述ECC逻辑的情况下实施所述CAD-C方案以便校正位翻转错误。
15.根据权利要求13所述的系统,其中所述状态机经配置以在不需要所述ECC位及所述ECC逻辑的情况下实施所述CAD方案来将数据条目的复制副本进行比较以便检测错误。
16.根据权利要求13所述的系统,其中所述状态机经配置以在不需要软件介入或所述ECC逻辑的情况下实施所述CAD-C方案以便识别数据条目的复制副本当中的错误条目并校正所述错误条目。
17.一种错误检测与校正方法,所述方法包括:
将状态机耦合到多个管线;及
配置所述状态机以进行以下操作:
存取所述多个管线的配置存储器以产生多个事件;及
实施LEAN方案以减少关键封包路径等待时间、芯片面积及芯片功率消耗中的至少两者,
其中:
所述多个事件包括与所述配置存储器相关联的读取型事件或扫描型事件中的一者。
18.根据权利要求17所述的方法,其进一步包括通过与功能逻辑并联地提供ECC逻辑及ECC报告逻辑而实施所述LEAN方案;及
将正确条目写回到所述配置存储器中。
19.根据权利要求18所述的方法,其进一步包括配置所述状态机以在不对配置存储器进行列多路复用的情况下减少关键封包路径等待时间、芯片面积及芯片功率消耗中的至少两者。
20.一种错误检测与校正方法,所述方法包括:
将状态机耦合到多个管线;及
配置所述状态机以进行以下操作:
存取所述多个管线的配置存储器以产生多个事件;及
实施CAD方案以减少关键封包路径等待时间、芯片面积及芯片功率消耗中的至少两者,
其中:
所述多个事件包括读取型事件或扫描型事件中的一者。
21.根据权利要求20所述的方法,其中通过去除对配置存储器的列多路复用的需要而减少所述关键封包路径等待时间、所述芯片面积及芯片功率消耗中的所述至少两者。
22.根据权利要求20所述的方法,其中实施所述CAD方案包括在包含SRAM、SRF及TCAM的半导体存储元件中在少于100纳秒中检测位翻转。
23.根据权利要求20所述的方法,其进一步包括配置所述状态机以在不需要ECC位及ECC逻辑的情况下通过以下操作实施CAD-C方案来校正位翻转错误:进一步使用奇偶校验位块来通过识别所述配置存储器的对应位置的含有错误的内容而促进错误检测以阻止含有错误的内容被使用,其中所述CAD-C方案经配置以甚至在全业务负载的情况下在少于100纳秒内自动校正错误而不需要软件介入。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/381,143 | 2021-07-20 | ||
US17/381,143 US11948653B2 (en) | 2021-07-20 | 2021-07-20 | Early error detection and automatic correction techniques for storage elements to improve reliability |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115640664A true CN115640664A (zh) | 2023-01-24 |
Family
ID=82492599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210835325.6A Pending CN115640664A (zh) | 2021-07-20 | 2022-07-15 | 用于存储元件以提高可靠性的早期错误检测与自动校正技术 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11948653B2 (zh) |
EP (1) | EP4123457A1 (zh) |
CN (1) | CN115640664A (zh) |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867507A (en) * | 1995-12-12 | 1999-02-02 | International Business Machines Corporation | Testable programmable gate array and associated LSSD/deterministic test methodology |
US6687867B2 (en) * | 2000-12-05 | 2004-02-03 | Xilinx, Inc. | Method for testing a memory array |
US6668237B1 (en) * | 2002-01-17 | 2003-12-23 | Xilinx, Inc. | Run-time reconfigurable testing of programmable logic devices |
NO315959B1 (no) * | 2002-04-16 | 2003-11-17 | Thin Film Electronics Asa | Fremgangsmåter til lagring av data i et ikke-flyktig minne |
DE60316068T8 (de) * | 2002-05-13 | 2009-02-26 | SICRONIC REMOTE KG, LLC, Wilmington | Prüfverfahren und -gerät für Konfigurationsspeicherzellen in programmierbaren logischen Bauelementen (PLDS) |
US7489739B2 (en) * | 2004-09-17 | 2009-02-10 | Rambus, Inc. | Method and apparatus for data recovery |
US7409610B1 (en) * | 2005-07-20 | 2008-08-05 | Xilinx, Inc. | Total configuration memory cell validation built in self test (BIST) circuit |
US7187597B1 (en) * | 2005-09-01 | 2007-03-06 | Xilinx, Inc. | Integrated circuit with circuitry for overriding a defective configuration memory cell |
US7746699B1 (en) * | 2008-09-11 | 2010-06-29 | Xilinx, Inc. | Non-volatile memory read-check |
US8954821B2 (en) * | 2009-12-29 | 2015-02-10 | Microntechnology, Inc. | Memory device having address and command selectable capabilities |
US8332722B1 (en) | 2010-08-11 | 2012-12-11 | Microelectronics Research and Development Corporation | Method and architecture for performing scrubbing of an FPGA's configuration memory |
US9728273B2 (en) | 2014-05-21 | 2017-08-08 | Lattice Semiconductor Corporation | Embedded memory testing using back-to-back write/read operations |
WO2017043113A1 (en) * | 2015-09-11 | 2017-03-16 | Kabushiki Kaisha Toshiba | Memory device |
US10062451B2 (en) | 2015-11-09 | 2018-08-28 | Texas Instruments Incorporated | Background memory test apparatus and methods |
US10825541B1 (en) * | 2018-10-02 | 2020-11-03 | Xilinx, Inc. | Built in configuration memory test |
US11335428B2 (en) | 2018-10-09 | 2022-05-17 | Intel Corporation | Methods, systems and apparatus for in-field testing for generic diagnostic components |
US11249842B2 (en) * | 2019-05-24 | 2022-02-15 | Texas Instruments Incorporated | Error correcting codes for multi-master memory controller |
-
2021
- 2021-07-20 US US17/381,143 patent/US11948653B2/en active Active
-
2022
- 2022-06-29 EP EP22181891.7A patent/EP4123457A1/en active Pending
- 2022-07-15 CN CN202210835325.6A patent/CN115640664A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230027273A1 (en) | 2023-01-26 |
EP4123457A1 (en) | 2023-01-25 |
US11948653B2 (en) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108491288B (zh) | 优先化错误检测与调度 | |
US7328377B1 (en) | Error correction for programmable logic integrated circuits | |
US9965356B2 (en) | Method and system of high-availability PCIE SSD with software-hardware jointly assisted implementation to enhance immunity on multi-cell upset | |
US5504859A (en) | Data processor with enhanced error recovery | |
US7587658B1 (en) | ECC encoding for uncorrectable errors | |
US8589759B2 (en) | RAM single event upset (SEU) method to correct errors | |
US20170060657A1 (en) | Selective memory error reporting | |
US9444496B2 (en) | Correctable parity protected memory | |
US9065481B2 (en) | Bad wordline/array detection in memory | |
US9645904B2 (en) | Dynamic cache row fail accumulation due to catastrophic failure | |
US8566672B2 (en) | Selective checkbit modification for error correction | |
US5200963A (en) | Self-checking on-line testable static ram | |
TWI808153B (zh) | 錯誤偵測及校正電路 | |
US9626242B2 (en) | Memory device error history bit | |
Fiorin et al. | Fault-tolerant network interfaces for networks-on-Chip | |
US20170186500A1 (en) | Memory circuit defect correction | |
JP4793741B2 (ja) | 誤り訂正回路、誤り訂正方法 | |
KR100402638B1 (ko) | 리던던트 디바이스 초기화 방법 및 장치 | |
US10108486B2 (en) | Error protection | |
Fiorin et al. | Design of fault tolerant network interfaces for nocs | |
CN115640664A (zh) | 用于存储元件以提高可靠性的早期错误检测与自动校正技术 | |
RU2327236C2 (ru) | Оперативное запоминающее устройство с высокой степенью отказоустойчивости | |
JP6031850B2 (ja) | 情報機器、データ保証システム、処理装置、データ保証方法およびプログラム | |
US11630600B2 (en) | Device and method for checking register data | |
TWI723515B (zh) | 記憶體裝置及其資料存取方法 |
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 |