CN109643262B - 具有故障检测的纠错硬件 - Google Patents

具有故障检测的纠错硬件 Download PDF

Info

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
Application number
CN201780051527.9A
Other languages
English (en)
Other versions
CN109643262A (zh
Inventor
S·贾兰
I·珀若撒盼
A·G·卡基斯瓦尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CN109643262A publication Critical patent/CN109643262A/zh
Application granted granted Critical
Publication of CN109643262B publication Critical patent/CN109643262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection 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的处理器的存储器。
CN201780051527.9A 2016-08-23 2017-08-22 具有故障检测的纠错硬件 Active CN109643262B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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