CN109643262B - 具有故障检测的纠错硬件 - Google Patents
具有故障检测的纠错硬件 Download PDFInfo
- Publication number
- CN109643262B CN109643262B CN201780051527.9A CN201780051527A CN109643262B CN 109643262 B CN109643262 B CN 109643262B CN 201780051527 A CN201780051527 A CN 201780051527A CN 109643262 B CN109643262 B CN 109643262B
- Authority
- CN
- China
- Prior art keywords
- ecc
- read
- write
- output
- logic
- 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.)
- Active
Links
Classifications
-
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- 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/1012—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 codes or arrangements adapted for a specific type of error
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
Abstract
在所描述的示例中,纠错码(ECC)硬件包括写入生成(Gen)ECC逻辑(115b)和耦合到存储器电路(130)的ECC输出的检查ECC块(120b),检查ECC块(120b)具有耦合到XOR电路(120b2)的读取Gen ECC逻辑(120b1),XOR电路(120b2)将校正子信号输出到校正子解码块(120c),校正子解码块(120c)耦合到单个位纠错块(120d)。第一MUX(115a)接收写入数据并与写入Gen ECC逻辑(115b)的输入串联,或者第二MUX(120e)从存储器电路(130)接收读取数据并与读取Gen ECC逻辑(120b1)的输入串联。交叉耦合连接器(150、150’)将来自存储器电路(130)的读取数据耦合到第一MUX(115a)的第二输入,或者将写入数据耦合到第二MUX(120e)的第二输入。ECC位比较器(135)将写入Gen ECC逻辑(115b)的输出与读取Gen ECC逻辑输出(120b1)进行比较。
Description
技术领域
本申请总体涉及纠错码(ECC),并且更具体地涉及用于ECC逻辑电路的故障检测的硬件。
背景技术
纠错码(ECC)存储器是一种计算机数据存储设备,其可以检测和纠正大多数传统类型的内部数据损坏。ECC存储器电路可以用在通常不能容忍数据损坏的计算机中,例如用于科学或需要符合功能安全要求的安全关键高级驾驶员辅助系统(ADAS)的汽车存储器。
在存储器(例如,静态随机存取存储器(SRAM)、只读存储器(ROM)或快闪存储器)上实现ECC是在安全关键应用中使用的标准安全机制,以确保存储器内的数据完整性。传统上,ECC冗余位(例如,在汉明(Hamming)码中)通过写入路径ECC逻辑电路被添加到存储器数据内容,并且以相同的周期一起写入存储器,以便当存储器由读取路径ECC逻辑电路读出时提供在存储器中存储的数据的检查。本文使用的ECC通常使用汉明码中的冗余位用于单个位错误的单个位纠错和用于多位错误(例如,双位错误)的多位错误检测。
传统上,在写入路径和读取路径中提供生成ECC硬件单元,其中在写入路径中具有生成ECC单元,并且在读取路径中具有包括另一生成ECC单元的检查ECC块。写入路径电路和读取路径电路没有交叉耦合连接,并且因此彼此独立地操作。在存储器读取操作期间,ECC由检查ECC块重新计算,该ECC通过XOR电路与存储的ECC进行比较。该XOR电路的结果(输出)称为校正子。如果校正子为零,则没有发生错误。如果校正子为非零,则可以将其用于将表索引到“校正子解码”以在单个位纠错(SEC)的情况下确定哪些位出错,或者在双位错误检测(DED)的情况下确定该错误是不可纠正的。因此,传统的ECC存储器通常可以有效地保持存储器系统免于大多数位错误。
发明内容
在所描述的示例中,锁步ECC电路硬件包括纠错电路,该纠错电路使用写入路径电路和读取路径电路之间的交叉耦合连接,这使得能够在存储器电路的一侧重新使用ECC生成逻辑以在另一侧检查错误,从而降低了ECC逻辑要求并节省了大量半导体芯片面积。所描述的示例包括一种用于存储器电路的ECC电路的故障检测方法,该存储器电路在写入路径电路中具有写入生成(Gen)ECC逻辑并且在读取路径电路中具有包括读取Gen ECC逻辑的检查ECC逻辑。通过数字比较器比较读取Gen ECC逻辑的输出和写入Gen ECC逻辑的输出,以检查相应位串是否匹配。当位串不匹配时,检测到写入Gen ECC逻辑或读取Gen ECC逻辑中的故障。在写入操作期间发生锁步错误(比较器输出不匹配)的情况下,可以重复写入操作。在读取操作期间发生锁步错误的情况下,则可以纠正单个位错误,并且可以发送多位错误中断信号。
附图说明
图1是根据一个示例实施例的示例ECC存储器电路的框图,该ECC存储器电路具有所描述的用于在读取侧ECC逻辑中进行故障检测的锁步ECC电路硬件,该锁步ECC电路硬件具有多路复用器,该多路复用器具有用于接收写入数据的第一输入并与ECC生成逻辑的输入串联。在正常写入操作期间选择写入数据,并且在读取操作期间选择读取数据。
图2是根据一个示例实施例的另一示例ECC存储器电路的框图,该ECC存储器电路具有所描述的用于在写入侧ECC逻辑中进行故障检测的锁步ECC电路硬件,该锁步ECC电路硬件具有多路复用器,该多路复用器具有用于从存储器电路接收读取数据的第一输入并与用于在ECC逻辑中进行故障检测的Gen ECC逻辑的输入串联。
图3是示出根据一个示例实施例的用于ECC电路的故障检测的示例方法中的步骤的流程图。
图4是根据一个示例实施例的示例ECC存储器电路,其包括所描述的用于在其读取路径和写入路径中进行故障检测的ECC硬件,该ECC硬件基本上组合了上文相对于图1和图2描述的读取侧和写入侧错误检查实施例。
图5是根据一个示例实施例的示例ADAS系统的系统图,其包括作为处理器存储器的图4中所示的所描述的ECC存储器电路的两个实例,该处理器存储器具有所描述的用于在其读取路径和写入路径中的ECC逻辑中进行故障检测的锁步ECC电路硬件。
具体实施方式
附图不一定按比例绘制。在附图中,相同的附图标记表示相似或等同的元件。一些示出的动作或事件可以以不同的顺序发生和/或与其他动作或事件同时发生。此外,一些示出的动作或事件对于实现根据本说明书的方法是可选的。
如本文所使用的,在没有进一步限定的情况下,术语“耦合到”或“与…耦合”(等)描述间接或直接电连接。因此,如果第一设备“耦合”到第二设备,则该连接可以通过在路径中仅有寄生的直接电连接,或者通过经由包括其他设备和连接的中间项的间接电连接。对于间接耦合,中间项通常不修改信号的信息,但可以调整其电流电平、电压电平和/或功率电平。
在ECC存储器电路的ECC逻辑硬件中,写入侧可能存在瞬时或永久错误,这可能导致在写入操作期间将错误的ECC位写入存储器。ECC存储器电路的读取侧中的ECC逻辑硬件中的瞬时或永久错误可能导致存储器读取数据的损坏或者导致在读取数据实际上未被损坏时将存储器读取数据错误标记为损坏的。如果写入路径电路和读取路径电路独立操作,则可以检测ECC存储器电路的ECC逻辑中的瞬时/永久错误,但是这种检测的实现将需要大量的附加逻辑,包括在ECC存储器电路的两侧的额外ECC生成逻辑。
图1示出了ECC存储器电路100,其包括存储器电路130(例如,SRAM、ROM或快闪存储器芯片)和所描述的“锁步”ECC硬件110,“锁步”ECC硬件110在其被配置用于验证读取路径电路120中的读取路径Gen ECC 120b1的位输出的ECC逻辑电路中具有故障检测。存储器电路130包括单端口存储器,其中对于给定的时钟脉冲仅可以执行一个操作(读取或写入)。该单端口存储器特征使得来自ECC GEN逻辑之一(在特定时间/时钟处未激活的一侧,如图1所示的写入未激活,以及如图2所示读取未激活)的位输出能够用作启用所描述的锁步错误检测的参考。
存储器电路130包括至少具有半导体表面的公共衬底105。例如,衬底105可以包括体硅衬底或体硅衬底上的外延层。
存储器电路130具有单独的数据输出和单独的ECC输出。示出为k位的数据与示出为r位的ECC位一起被存储。例如,如果非ECC存储器存储64位数据,则ECC存储器将存储相同64位数据以及额外8位ECC。因此,写入64+8位并且读出64+8位。ECC 8位用于验证64个数据位,并转到检查ECC中的XOR逻辑。
写入路径电路115包括写入生成(Gen)ECC逻辑115b,并且校验ECC逻辑120b包括读取路径电路120中的读取Gen ECC逻辑120b1。当在写入模式下操作(写入模式在下文描述的图2中激活)时,数据位(示出为WR数据,例如64位)和来自写入ECC Gen逻辑115b的对应的计算的ECC位(例如8位)各自以相同的时钟周期写入存储器电路100。在图1和图2中,存储器电路130的数据宽度在一个示例中可以是72位(72位宽存储器),包括64位(数据)+8位(ECC),其可以实现为宽度64和宽度8的两个单独的存储器,或者是单个72位宽的存储器。
如上文所描述的,64个信息/数据位和8个ECC位仅是示例。ECC位的实际数量可以基于数据(信息)的对应位宽度,例如以下示例中给出的:
信息位的数量k | SEC-DED的r位 |
1 | 3 |
2-4 | 4 |
5-11 | 5 |
12-26 | 6 |
27-57 | 7 |
58-120 | 8 |
121-247 | 9 |
248-502 | 10 |
在写入GEN ECC逻辑115b的输入处提供多路复用器(Mux)115a,以在来自存储器电路130的由交叉耦合连接150提供的示出为k位的交叉耦合的读取数据以及通常来自处理器的写入(wr)数据中复用。处理器可以包括微处理器、数字信号处理器(DSP)或微控制器单元(MCU)。Mux 115a被示出具有选择线,该选择线被示出为基于存储器电路130处于自处理器的读取模式而用于选择包括在一条线上的来自存储器的rd数据和在另一条线上的wr数据的输入线中的哪个被发送到Mux 115a的输出。当处于读取模式时,Mux 115a选择rd数据,而当处于写入模式时,选择wr数据。
数字比较器135经耦合以在一个输入处接收来自写入Gen ECC逻辑115b的输出(作为其在读取期间未激活时的参考)并且在其另一输出处接收读取路径Gen ECC 120b1的输出。因此,数字比较器135重新使用来自写入Gen ECC逻辑115b的输出用于验证读取路径GenECC 120b1的位输出,两者都仅作为示例示出为8位。读取Gen ECC 120b1和XOR电路120b2一起构成检查ECC块120b。XOR电路120b2的输出将“校正子”信号提供到校正子解码块120c。如果校正子为零,则没有发生错误。如果校正子为非零,则校正子解码块120c确定哪些位出错(SEC),或者错误是不可纠正的(例如,错误是双位错误)。将单个位错误提供到SEC块120d,SEC块120d输出示出为rd数据的纠正的读取数据。
对于ECC硬件110,数字比较器135的输出被连接为对多位(2位或更多位)错误中断生成的使能,并且被连接为对SEC块120d的使能。因此,当且仅当写入路径中的ECC计算和读取路径中的ECC计算彼此匹配(在图1中示为相同的r位)时,由SEC块120d进行的存储器读取数据的SEC和使用由校正子解码120c提供的校正子计算进行的多位错误标记两者均由来自数字比较器135的使能信号启用。如果写入路径中的ECC计算和读取路径中的ECC计算彼此不匹配使得在读取操作期间存在锁步错误,并且可以纠正单个位错误,并且在多位错误(例如双位错误)的情况下,可以发送位错误中断(禁用)信号。
图2示出了示例ECC存储器电路200,其包括所描述的用于在其写入路径中进行故障检测的ECC硬件110’,写入路径包括写入Gen ECC逻辑115b,其中MUX 120e被添加在读取路径电路120’中,并且交叉耦合连接150’从写入路径电路115’被添加到读取路径电路120’中的MUX 120e,以将写入数据复用到从存储器电路130读取的数据。这里,所描述的在其ECC逻辑电路中具有故障检测的锁步ECC硬件110被配置用于在写入模式激活时验证写入GenECC逻辑115b的位输出。示出为“存储器写入”的控制输入是控制MUX 120e的输入选择节点的控制信号。当处于写入模式时,MUX 120e选择wr数据,而当处于读取模式时,选择rd数据。
由读取Gen ECC逻辑120b1输出的ECC位用于通过数字比较器135验证写入Gen ECC逻辑115b的操作,数字比较器135比较由相应的Gen ECC逻辑115b和120b1生成的ECC位。生成的数字比较器135的输出用作到处理器(例如,微处理器、数字信号处理器(DSP)或微控制器单元(MCU))的中断,以重复写入事务。在写入操作期间由数字比较器135标记错误的情况下,可以重复写入操作以确保写入存储器电路130的数据不出错。如果错误是瞬时故障,则重复写入通常将修复硬件错误问题。在永久故障的情况下,数字比较器135将再次保持生成错误,在这种情况下,处理器可以采取适当的动作,例如向应用软件指示系统中发生了永久故障。在读取操作的情况下,该同样的故障响应也是如此。
图3是示出根据一个示例实施例的用于与单端口存储器电路相关联的ECC电路的故障检测的示例方法300中的步骤的流程图。步骤301包括将读取Gen ECC逻辑(图1和图2中的120b1)的输出与写入Gen ECC逻辑(图1和图2中的115b)的输出进行比较。步骤302包括当来自比较的比较输出确定写入Gen ECC逻辑的输出的值不等于读取Gen ECC逻辑120b1的输出的值时,检测到写入Gen ECC逻辑或读取Gen ECC逻辑中的故障。
步骤103包括当在读取操作期间故障是单个位错误时,纠正单个位错误,并且当在读取操作期间故障是多位错误时,发送多位错误中断信号。当在写入操作期间故障是错误时,重复写入。如上文针对图1的在读取侧实现故障检测的存储器电路100所描述的,将单个位错误提供到SEC块120d,SEC块120d输出示出为rd数据的纠正的读取数据。如上文针对图2的在写入侧实现故障检测的存储器电路200所描述的,可以重复写入操作以确保写入存储器芯片的数据不出错。
上文关于图1(写入侧错误检查)和图2(读取侧错误检查)描述的实施例可以独立地实现(有一个而没有另一个)以检测存储器电路130的一侧上的错误。替代性地,上文关于图1和图2描述的读取侧和写入侧错误检查实施例可以组合在一起以在存储器电路130的两侧上实现错误检查。
图4是示例ECC存储器电路400,其包括所描述的ECC硬件110”以用于在其读取路径和写入路径两者中进行故障检测,ECC硬件110”基本上组合了上文关于图1和图2描述的读取侧和写入侧错误检查实施例。除了Mux 115a,ECC存储器电路400还包括第二Mux 120e和交叉耦合连接150’,该第二Mux 120e具有用于从存储器电路400接收读取数据的第一输入并与读取Gen ECC逻辑120b1的输入串联,该交叉耦合连接150’用于将写入数据耦合到第二MUX 120e的第二输入。这里,数字比较器135参与读取侧错误检查和写入侧错误检查两者。
与本文描述的ECC存储器电路相反,传统ECC逻辑仅用于检测和纠正内部存储器(例如,RAM)错误。对于具有本文所描述的ECC逻辑的ECC存储器电路,除了检测和纠正内部存储器错误之外,还实现ECC逻辑中的故障检测,其中还检测ECC计算和生成逻辑中的任何瞬时/永久错误,这使得能够采取纠正动作。如上文所描述的,在读取Gen ECC 120b1(参见图1)的锁步错误的情况下,可以纠正单个位错误并且可以生成多位错误中断信号。在写入Gen ECC逻辑115b(参见图2)中的锁步逻辑出错的情况下,重复写入操作。此外,所描述的锁步ECC电路硬件是非侵入式的,并且可以连续地(在每个时钟周期,在运行中)操作以用于检查存储器ECC逻辑,其中在附加的Mux和比较器方面仅具有有限的面积损失。
通过以下示例进一步说明所描述的实施例。图5是包括示出为4001和4002的图4中所示的所描述的ECC存储器电路的两个实例的示例ADAS系统500的系统图,ECC存储器电路包括处理器存储器1301(示出为处理器存储器1)和1302(示出为处理器存储器N)。ECC存储器电路具有所描述的锁步ECC电路硬件,该锁步ECC电路硬件被示出为ECC逻辑1101和1102,用于在处理器存储器的读取路径和写入路径中进行故障检测。图像传感器505(例如,CMOS彩色相机)从场景(例如,从汽车的后视方向)生成图像数据。图像数据通过相机接口510耦合到图像识别系统515。图像识别系统515被示出为包括视频识别处理器515a、快闪存储器515b、外部DDR存储器515c和控制器局域网(CAN)总线Tx/Rx(收发器)515d。
图像识别系统515通过CAN总线520耦合到处理器块530,处理器块530包括处理器核心530a。处理器核心530a被示为通过总线接口535耦合以使用ECC存储器电路4001和4002的处理器存储器1301和1302。如上文所描述的,在ADAS系统500的操作期间,ECC存储器电路4001和4002使用所描述的锁步ECC电路硬件,其在写入路径电路和读取路径电路之间具有交叉耦合连接,这使得能够在处理器存储器的一侧重新使用ECC生成逻辑来检查另一侧的错误,并且降低ECC逻辑要求并节省大量半导体芯片面积。
在所描述的实施例中,修改是可能的,并且在权利要求的范围内,其他实施例也是可能的。
Claims (25)
1.一种用于单端口存储器电路的纠错码硬件即ECC硬件,包括:
写入路径电路,其包括写入生成ECC逻辑即写入Gen ECC逻辑,所述写入Gen ECC逻辑用于从写入数据生成第一ECC位并且用于将所述第一ECC位和所述写入数据写入所述存储器电路;
读取路径电路,其包括检查ECC块,所述检查ECC块用于耦合来自所述存储器电路的读取数据,所述检查ECC块包括耦合到XOR电路的读取Gen ECC逻辑,所述读取Gen ECC逻辑具有用于耦合到所述存储器电路的ECC输出的输入,其中所述XOR电路的输出将校正子信号提供到校正子解码块,所述校正子解码块耦合到单个位纠错块即SEC块并且用于生成多位错误检测中断信号即MED中断信号;
第一多路复用器即第一MUX或第二MUX,所述第一MUX具有用于接收所述写入数据的第一输入并与所述写入ECC生成逻辑的输入串联,所述第二MUX具有用于从所述存储器电路接收所述读取数据的第一输入并与所述读取Gen ECC逻辑的输入串联;
交叉耦合连接器,其用于将来自所述存储器电路的所述读取数据耦合到所述第一MUX的第二输入,或者交叉耦合连接器,其用于将所述写入数据耦合到所述第二MUX的第二输入,以及
ECC位比较器,其用于将所述写入Gen ECC逻辑的输出与所述读取Gen ECC逻辑的输出进行比较。
2.根据权利要求1所述的ECC硬件,其中所述比较器的输出经耦合作为所述校正子解码块的使能输入并且作为所述SEC块的使能输入。
3.根据权利要求1所述的ECC硬件,其中所述ECC硬件和所述单端口存储器电路形成在至少具有半导体表面的公共衬底上。
4.根据权利要求1所述的ECC硬件,其中所述ECC硬件包括所述第一MUX和所述第二MUX。
5.一种用于单端口存储器电路的纠错码硬件即ECC硬件,包括:
写入路径电路,其包括写入生成ECC逻辑即写入Gen ECC逻辑,所述写入Gen ECC逻辑用于从写入数据生成第一ECC位并且用于将所述第一ECC位和所述写入数据写入所述存储器电路;
读取路径电路,其包括检查ECC块,所述检查ECC块用于耦合来自所述存储器电路的读取数据,所述检查ECC块包括耦合到XOR电路的读取Gen ECC逻辑,所述读取Gen ECC逻辑具有用于耦合到所述存储器电路的ECC输出的输入,其中所述XOR电路的输出将校正子信号提供到校正子解码块,所述校正子解码块耦合到单个位纠错块即SEC块并且用于生成多位错误检测中断信号即MED中断信号;
第一多路复用器即第一MUX和第二MUX,所述第一MUX具有用于接收所述写入数据的第一输入并与所述写入ECC生成逻辑的输入串联,所述第二MUX具有用于从所述存储器电路接收所述读取数据的第一输入并与所述读取Gen ECC逻辑的输入串联;
交叉耦合连接器,其用于将来自所述存储器电路的所述读取数据耦合到所述第一MUX的第二输入,以及交叉耦合连接器,其用于将所述写入数据耦合到所述第二MUX的第二输入;
ECC位比较器,其用于将接收的所述写入Gen ECC逻辑的输出与所述读取Gen ECC逻辑的输出进行比较。
6.根据权利要求5所述的ECC硬件,其中所述比较器的输出经耦合作为所述校正子解码块的使能输入并且作为所述SEC块的使能输入。
7.根据权利要求5所述的ECC硬件,其中所述ECC硬件和所述单端口存储器电路形成在至少具有半导体表面的公共衬底上。
8.一种用于单端口存储器电路的纠错码硬件即ECC硬件的故障检测方法,所述ECC硬件在写入路径电路中具有写入生成ECC逻辑即写入Gen ECC逻辑,并且在读取路径电路中具有包括读取Gen ECC逻辑的检查ECC逻辑,所述方法包括:
将所述读取Gen ECC逻辑的输出与所述写入Gen ECC逻辑的输出进行比较;
当来自所述比较的比较输出确定所述写入Gen ECC逻辑的所述输出的值不等于所述读取Gen ECC逻辑的所述输出的值时,检测到所述写入Gen ECC逻辑或所述读取Gen ECC逻辑中的故障,并且
其中当所述故障是单个位错误时,纠正所述单个位错误,并且当所述故障是多位错误时,发送多位错误中断信号。
9.根据权利要求8所述的方法,其中所述读取路径电路进一步包括耦合到所述读取GenECC逻辑的输出的XOR电路,所述读取Gen ECC逻辑具有耦合到所述存储器电路的ECC输出的另一输入,并且其中所述XOR电路的输出将校正子输出提供到校正子解码块,所述校正子解码块耦合到单个位纠错块即SEC块和多位错误生成电路,
所述方法进一步包括将所述比较输出耦合作为多位错误检测电路即MED电路的使能输入并且作为SEC块的使能输入。
10.根据权利要求8所述的方法,其中对于每个时钟周期连续地执行所述比较和所述检测。
11.根据权利要求8所述的方法,其中所述单端口存储器电路包括静态随机存取存储器即SRAM、只读存储器即ROM或快闪存储器。
12.根据权利要求8所述的方法,其中所述单端口存储器电路是用于高级驾驶员辅助系统即ADAS的处理器的存储器。
13.一种高级驾驶员辅助系统即ADAS系统,包括:
图像传感器,其用于从场景生成图像数据;
图像识别系统,其经耦合以从所述图像传感器接收所述图像数据,所述图像识别系统包括视频识别处理器和收发器;
处理器块,其包括耦合到所述图像识别系统的处理器核心,所述处理器核心经耦合以使用至少一个ECC存储器电路,所述ECC存储器电路包括ECC存储器硬件和单端口处理器存储器;
所述ECC存储器硬件包括:
写入路径电路,其包括写入生成ECC逻辑即写入Gen ECC逻辑,所述写入Gen ECC逻辑用于从写入数据生成第一ECC位并且用于将所述第一ECC位和所述写入数据写入所述处理器存储器;
读取路径电路,其包括检查ECC块,所述检查ECC块用于耦合来自所述处理器存储器的读取数据,所述检查ECC块包括耦合到XOR电路的读取Gen ECC逻辑,所述读取Gen ECC逻辑具有用于耦合到所述处理器存储器的ECC输出的输入,其中所述XOR电路的输出将校正子信号提供到校正子解码块,所述校正子解码块耦合到单个位纠错块即SEC块并且用于生成多位错误检测中断信号即MED中断信号;
第一多路复用器即第一MUX或第二MUX,所述第一MUX具有用于接收所述写入数据的第一输入并与所述写入ECC生成逻辑的输入串联,所述第二MUX具有用于从所述处理器存储器接收所述读取数据的第一输入并与所述读取Gen ECC逻辑的输入串联;
交叉耦合连接器,其用于将来自所述存储器电路的所述读取数据耦合到所述第一MUX的第二输入,或者交叉耦合连接器,其用于将所述写入数据耦合到所述第二MUX的第二输入;以及
ECC位比较器,其用于将所述写入Gen ECC逻辑的输出与所述读取Gen ECC逻辑的输出进行比较。
14.根据权利要求13所述的ADAS系统,其中所述比较器的输出经耦合作为所述校正子解码块的使能输入并且作为所述SEC块的使能输入。
15.根据权利要求13所述的ADAS系统,其中所述ECC存储器硬件和所述处理器存储器形成在至少具有半导体表面的公共衬底上。
16.根据权利要求13所述的ADAS系统,其中所述ECC存储器硬件包括所述第一MUX和所述第二MUX。
17.根据权利要求13所述的ADAS系统,其中所述处理器存储器包括静态随机存取存储器即SRAM、只读存储器即ROM或快闪存储器。
18.根据权利要求13所述的ADAS系统,其中所述ECC存储器硬件和所述处理器存储器形成在至少具有半导体表面的公共衬底上。
19.根据权利要求18所述的ADAS系统,其中公共衬底和所述半导体表面都包括硅。
20.根据权利要求13所述的ADAS系统,其中所述图像传感器包括彩色相机。
21.一种用于纠错码硬件即ECC硬件的故障检测方法,其包括:
将单端口存储器电路的读取Gen ECC逻辑的输出与写入Gen ECC逻辑的输出进行比较,所述单端口存储器电路在写入路径电路中具有写入生成ECC逻辑即写入Gen ECC逻辑,并且在读取路径电路中具有包括读取Gen ECC逻辑的检查ECC逻辑;
当来自所述比较的比较输出确定所述写入Gen ECC逻辑的所述输出的值不等于所述读取Gen ECC逻辑的所述输出的值时,检测到所述写入Gen ECC逻辑或所述读取Gen ECC逻辑中的故障,并且
其中当所述故障是单个位错误时,纠正所述单个位错误,并且当所述故障是多位错误时,发送多位错误中断信号。
22.根据权利要求21所述的方法,其中所述读取路径电路进一步包括耦合到所述读取Gen ECC逻辑的输出的XOR电路,所述读取Gen ECC逻辑具有耦合到所述存储器电路的ECC输出的另一输入,并且其中所述XOR电路的输出将校正子输出提供到校正子解码块,所述校正子解码块耦合到单个位纠错块即SEC块和多位错误生成电路,
所述方法进一步包括将所述比较输出耦合作为多位错误检测电路即MED电路的使能输入并且作为SEC块的使能输入。
23.根据权利要求21所述的方法,其中对于每个时钟周期连续地执行所述比较和所述检测。
24.根据权利要求21所述的方法,其中所述单端口存储器电路包括静态随机存取存储器即SRAM、只读存储器即ROM或快闪存储器。
25.根据权利要求21所述的方法,其中所述单端口存储器电路是用于高级驾驶员辅助系统即ADAS的处理器的存储器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/244,739 | 2016-08-23 | ||
US15/244,739 US9904595B1 (en) | 2016-08-23 | 2016-08-23 | Error correction hardware with fault detection |
PCT/US2017/047890 WO2018039156A1 (en) | 2016-08-23 | 2017-08-22 | Error correction hardware with fault detection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109643262A CN109643262A (zh) | 2019-04-16 |
CN109643262B true CN109643262B (zh) | 2023-08-08 |
Family
ID=61225790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780051527.9A Active CN109643262B (zh) | 2016-08-23 | 2017-08-22 | 具有故障检测的纠错硬件 |
Country Status (6)
Country | Link |
---|---|
US (4) | US9904595B1 (zh) |
EP (1) | EP3504624B1 (zh) |
JP (2) | JP7303408B2 (zh) |
KR (2) | KR102267860B1 (zh) |
CN (1) | CN109643262B (zh) |
WO (1) | WO2018039156A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9904595B1 (en) * | 2016-08-23 | 2018-02-27 | Texas Instruments Incorporated | Error correction hardware with fault detection |
US10417077B2 (en) | 2016-09-29 | 2019-09-17 | 2236008 Ontario Inc. | Software handling of hardware errors |
GB201710839D0 (en) * | 2017-07-05 | 2017-08-16 | Irdeto Bv | Data protection |
US10901840B2 (en) * | 2018-06-28 | 2021-01-26 | Western Digital Technologies, Inc. | Error correction decoding with redundancy data |
US10985765B2 (en) | 2018-08-07 | 2021-04-20 | Samsung Electronics Co., Ltd. | Apparatus including safety logic |
US10977109B2 (en) | 2018-08-07 | 2021-04-13 | Samsung Electronics Co., Ltd. | Apparatus including safety logic |
US11069421B1 (en) | 2020-06-16 | 2021-07-20 | Nxp Usa, Inc. | Circuitry for checking operation of error correction code (ECC) circuitry |
US20240013847A1 (en) * | 2021-09-29 | 2024-01-11 | Dream Chip Technologies Gmbh | Electronic circuit and method for self-diagnosis of a data memory |
US11921580B2 (en) * | 2022-07-08 | 2024-03-05 | Micron Technology, Inc. | Redundant multiport memory for vehicle applications |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409492A (zh) * | 2001-09-07 | 2003-04-09 | 萧正杰 | 纠错码电路 |
CN101042938A (zh) * | 2006-03-24 | 2007-09-26 | 富士通株式会社 | 以纠错码存储器构成的具有冗余功能的半导体存储器设备 |
CN102246155A (zh) * | 2008-12-10 | 2011-11-16 | 飞思卡尔半导体公司 | 多处理器数据处理系统中的错误检测 |
US8560927B1 (en) * | 2010-08-26 | 2013-10-15 | Altera Corporation | Memory error detection circuitry |
CN103959250A (zh) * | 2011-12-01 | 2014-07-30 | 维亚塞斯公司 | 用于检测数据项读取中的错误的方法 |
CN106463179A (zh) * | 2014-04-16 | 2017-02-22 | 英特尔公司 | 利用存储器控制器处理数据错误事件的方法、装置和系统 |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5823678B2 (ja) * | 1974-11-20 | 1983-05-17 | 日本電気株式会社 | ジコチエツクキノウオユウスルアヤマリテイセイカイロ |
US4531213A (en) * | 1982-03-03 | 1985-07-23 | Sperry Corporation | Memory through checking system with comparison of data word parity before and after ECC processing |
JP2583547B2 (ja) * | 1988-01-13 | 1997-02-19 | 株式会社日立製作所 | 半導体メモリ |
US5173905A (en) * | 1990-03-29 | 1992-12-22 | Micron Technology, Inc. | Parity and error correction coding on integrated circuit addresses |
US5488691A (en) | 1993-11-17 | 1996-01-30 | International Business Machines Corporation | Memory card, computer system and method of operation for differentiating the use of read-modify-write cycles in operating and initializaiton modes |
US5509129A (en) * | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
US5928349A (en) * | 1995-02-24 | 1999-07-27 | International Business Machines Corporation | Mixed-endian computing environment for a conventional bi-endian computer system |
US5758050A (en) * | 1996-03-12 | 1998-05-26 | International Business Machines Corporation | Reconfigurable data storage system |
US6216247B1 (en) * | 1998-05-29 | 2001-04-10 | Intel Corporation | 32-bit mode for a 64-bit ECC capable memory subsystem |
US7134069B1 (en) * | 1999-06-16 | 2006-11-07 | Madrone Solutions, Inc. | Method and apparatus for error detection and correction |
US6957378B2 (en) * | 2001-06-04 | 2005-10-18 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US20030009721A1 (en) | 2001-07-06 | 2003-01-09 | International Business Machines Corporation | Method and system for background ECC scrubbing for a memory array |
US7028213B2 (en) | 2001-09-28 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Error indication in a raid memory system |
US7051264B2 (en) * | 2001-11-14 | 2006-05-23 | Monolithic System Technology, Inc. | Error correcting memory and method of operating same |
US7320100B2 (en) * | 2003-05-20 | 2008-01-15 | Cray Inc. | Apparatus and method for memory with bit swapping on the fly and testing |
US7437593B2 (en) * | 2003-07-14 | 2008-10-14 | International Business Machines Corporation | Apparatus, system, and method for managing errors in prefetched data |
US7392456B2 (en) * | 2004-11-23 | 2008-06-24 | Mosys, Inc. | Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory |
US8281221B2 (en) * | 2005-10-18 | 2012-10-02 | Nec Corporation | Operation method of MRAM including correcting data for single-bit error and multi-bit error |
US7861138B2 (en) * | 2006-12-05 | 2010-12-28 | Qimonda Ag | Error correction in memory devices |
JP4343945B2 (ja) * | 2006-12-28 | 2009-10-14 | 三菱電機株式会社 | 電子制御装置 |
JP5158838B2 (ja) | 2007-03-23 | 2013-03-06 | 古河電気工業株式会社 | マグネットワイヤ用無酸素銅線材の試験方法及び無酸素銅マグネットワイヤの製造方法 |
WO2008133087A1 (ja) * | 2007-04-17 | 2008-11-06 | Nec Corporation | 半導体記憶装置及びその動作方法 |
JP4994112B2 (ja) | 2007-05-22 | 2012-08-08 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置およびメモリ制御方法 |
US8250452B2 (en) | 2007-08-20 | 2012-08-21 | Infineon Technologies Ag | Method and apparatus for embedded memory security |
JP4564520B2 (ja) * | 2007-08-31 | 2010-10-20 | 株式会社東芝 | 半導体記憶装置およびその制御方法 |
KR101489827B1 (ko) * | 2008-03-25 | 2015-02-04 | 삼성전자주식회사 | 낸드 플래시 메모리와 컨트롤러 간의 효율적인 프로토콜을사용하는 반도체 메모리 장치 |
JP5259343B2 (ja) * | 2008-10-31 | 2013-08-07 | 株式会社東芝 | メモリ装置 |
US8281227B2 (en) * | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
EP2443418B1 (en) * | 2009-06-16 | 2018-12-05 | TomTom North America Inc. | Methods and systems for creating digital street network database |
KR101062755B1 (ko) * | 2009-07-29 | 2011-09-06 | 주식회사 하이닉스반도체 | Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법 |
US8381083B2 (en) * | 2009-10-22 | 2013-02-19 | Arm Limited | Error control coding for single error correction and double error detection |
KR20110087036A (ko) * | 2010-01-25 | 2011-08-02 | 삼성전자주식회사 | 덮어쓰기 가능한 불휘발성 메모리 장치 및 그것의 데이터 쓰기 방법 |
US8438344B2 (en) * | 2010-03-12 | 2013-05-07 | Texas Instruments Incorporated | Low overhead and timing improved architecture for performing error checking and correction for memories and buses in system-on-chips, and other circuits, systems and processes |
US8612814B1 (en) * | 2010-06-14 | 2013-12-17 | Altera Corporation | Memory error detection circuitry |
US8972821B2 (en) * | 2010-12-23 | 2015-03-03 | Texas Instruments Incorporated | Encode and multiplex, register, and decode and error correction circuitry |
US8984367B2 (en) * | 2011-02-25 | 2015-03-17 | Altera Corporation | Error detection and correction circuitry |
US8516339B1 (en) * | 2011-04-01 | 2013-08-20 | Xilinx, Inc. | Method of and circuit for correcting adjacent bit errors in a memory |
US9081588B2 (en) | 2012-01-31 | 2015-07-14 | Mentor Graphics Corporation | Execution time profiling for interpreted programming languages |
US9081568B1 (en) * | 2012-09-25 | 2015-07-14 | Amazon Technologies, Inc. | Electrical power system with automatic transfer switch failure protection |
US9013921B2 (en) * | 2012-12-06 | 2015-04-21 | Samsung Electronics Co., Ltd. | Semiconductor memory device |
US10796617B2 (en) * | 2013-06-12 | 2020-10-06 | Infineon Technologies Ag | Device, method and system for processing an image data stream |
CN105340022B (zh) * | 2013-06-24 | 2019-11-12 | 美光科技公司 | 用于校正数据错误的电路、设备及方法 |
WO2015037159A1 (ja) * | 2013-09-13 | 2015-03-19 | 株式会社 東芝 | 半導体記憶装置及びメモリシステム |
GB201320983D0 (en) * | 2013-11-28 | 2014-01-15 | Ibm | Data encoding in solid-state storage apparatus |
US9342404B2 (en) * | 2013-12-12 | 2016-05-17 | Phison Electronics Corp. | Decoding method, memory storage device, and memory controlling circuit unit |
KR101611261B1 (ko) * | 2013-12-12 | 2016-04-12 | 엘지전자 주식회사 | 스테레오 카메라, 이를 구비한 차량 운전 보조 장치, 및 차량 |
JP6212396B2 (ja) * | 2014-01-08 | 2017-10-11 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
US9854707B2 (en) | 2014-01-10 | 2017-12-26 | Rosemount Aerospace Inc. | Integrated pipe heat exchanger |
US9430328B2 (en) * | 2014-01-24 | 2016-08-30 | Stmicroelectronics S.R.L. | Error correction in memory devices by multiple readings with different references |
US9495232B2 (en) | 2014-03-28 | 2016-11-15 | Intel IP Corporation | Error correcting (ECC) memory compatibility |
CA2945957C (en) | 2014-04-14 | 2023-03-14 | Sirius Xm Radio Inc. | Systems, methods and applications for using and enhancing vehicle to vehicle communications, including synergies and interoperation with satellite radio |
JP6332134B2 (ja) * | 2014-09-16 | 2018-05-30 | 株式会社デンソー | メモリ診断回路 |
CN105830159B (zh) * | 2014-11-27 | 2019-04-09 | 京微雅格(北京)科技有限公司 | 块存储器配置结构和配置方法 |
US9904595B1 (en) * | 2016-08-23 | 2018-02-27 | Texas Instruments Incorporated | Error correction hardware with fault detection |
-
2016
- 2016-08-23 US US15/244,739 patent/US9904595B1/en active Active
-
2017
- 2017-08-22 KR KR1020197005416A patent/KR102267860B1/ko active IP Right Grant
- 2017-08-22 CN CN201780051527.9A patent/CN109643262B/zh active Active
- 2017-08-22 WO PCT/US2017/047890 patent/WO2018039156A1/en unknown
- 2017-08-22 JP JP2019511460A patent/JP7303408B2/ja active Active
- 2017-08-22 KR KR1020217018553A patent/KR102399843B1/ko active IP Right Grant
- 2017-08-22 EP EP17844237.2A patent/EP3504624B1/en active Active
- 2017-12-15 US US15/844,259 patent/US10599514B2/en active Active
-
2020
- 2020-02-13 US US16/790,444 patent/US11372715B2/en active Active
-
2022
- 2022-05-25 US US17/824,605 patent/US11740968B2/en active Active
- 2022-06-16 JP JP2022096954A patent/JP2022123052A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409492A (zh) * | 2001-09-07 | 2003-04-09 | 萧正杰 | 纠错码电路 |
CN101042938A (zh) * | 2006-03-24 | 2007-09-26 | 富士通株式会社 | 以纠错码存储器构成的具有冗余功能的半导体存储器设备 |
CN102246155A (zh) * | 2008-12-10 | 2011-11-16 | 飞思卡尔半导体公司 | 多处理器数据处理系统中的错误检测 |
US8560927B1 (en) * | 2010-08-26 | 2013-10-15 | Altera Corporation | Memory error detection circuitry |
CN103959250A (zh) * | 2011-12-01 | 2014-07-30 | 维亚塞斯公司 | 用于检测数据项读取中的错误的方法 |
CN106463179A (zh) * | 2014-04-16 | 2017-02-22 | 英特尔公司 | 利用存储器控制器处理数据错误事件的方法、装置和系统 |
Non-Patent Citations (1)
Title |
---|
FT51:一种容软错误高可靠微控制器;龚锐等;《计算机学报》;20071015(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2018039156A1 (en) | 2018-03-01 |
US9904595B1 (en) | 2018-02-27 |
EP3504624B1 (en) | 2021-03-03 |
KR102399843B1 (ko) | 2022-05-20 |
US20220283899A1 (en) | 2022-09-08 |
US20200210287A1 (en) | 2020-07-02 |
JP2022123052A (ja) | 2022-08-23 |
US11372715B2 (en) | 2022-06-28 |
JP7303408B2 (ja) | 2023-07-05 |
US10599514B2 (en) | 2020-03-24 |
KR102267860B1 (ko) | 2021-06-23 |
KR20210076195A (ko) | 2021-06-23 |
EP3504624A4 (en) | 2019-07-24 |
KR20190042013A (ko) | 2019-04-23 |
US20180107541A1 (en) | 2018-04-19 |
US11740968B2 (en) | 2023-08-29 |
EP3504624A1 (en) | 2019-07-03 |
CN109643262A (zh) | 2019-04-16 |
JP2019525362A (ja) | 2019-09-05 |
US20180060163A1 (en) | 2018-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109643262B (zh) | 具有故障检测的纠错硬件 | |
US10372531B2 (en) | Error-correcting code memory | |
US10546628B2 (en) | Using dual channel memory as single channel memory with spares | |
EP1160987B1 (en) | Method and apparatus for verifying error correcting codes | |
US20150378826A1 (en) | Circuits, apparatuses, and methods for correcting data errors | |
US8327222B2 (en) | Mechanism for adjacent-symbol error correction and detection | |
US20060282751A1 (en) | Fault tolerant memory system | |
CN107436821B (zh) | 为包括多个数据位和地址位的块生成错误码的装置和方法 | |
US7480847B2 (en) | Error correction code transformation technique | |
US7587658B1 (en) | ECC encoding for uncorrectable errors | |
US9378098B2 (en) | Methods and systems for redundant data storage in a register | |
US20150169399A1 (en) | Dram address protection | |
US9665423B2 (en) | End-to-end error detection and correction | |
Maestro et al. | Fault tolerant single error correction encoders | |
CN111880961A (zh) | 用于透明寄存器数据错误检测和纠正的系统和方法 | |
US20170005672A1 (en) | Partial parity ecc checking mechanism with multi-bit hard and soft error correction capability | |
Asuvaran et al. | Low delay error correction codes to correct stuck-at defects and soft errors | |
US11809272B2 (en) | Error correction code offload for a serially-attached memory device | |
RU2297034C2 (ru) | Отказоустойчивое устройство хранения информации | |
JP2002251898A (ja) | シングルイベントアップセット補償回路 | |
JPS6232826B2 (zh) | ||
JPH01223546A (ja) | 記憶装置 |
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 |