数据处理装置的制造方法
【专利说明】数据处理装置
[0001]相关申请的交叉引用
[0002]2014年I月8日提交的日本专利申请N0.2014-001426的公开内容,包括说明书、附图和摘要通过引用被整体包含在此。
技术领域
[0003]本发明涉及一种数据处理装置,并且更具体地,涉及能适合用于请求高速操作和功能安全性的MCU系统的技术。
【背景技术】
[0004]在一些情况下,请求MCU(微控制器单元)系统满足高速操作和功能安全性。例如,在汽车应用领域中,为实现先进驾驶辅助系统(ADAS)的自动驾驶,使用判定MCU(大脑芯片)。请求判定MCU满足实现极其高速处理的高速操作和即使在电路由于软错误等等操作的情况下,也保证整个系统的安全性的功能安全性。
[0005]通过结合能执行超过IGHz的高速操作的CPU(中央处理单元)和诸如紧密親合到CPU或高速缓冲存储器的TCM(紧密耦合存储器)的高速存储器,构成这种MCU系统。对于功能安全性,能安装在高速存储器中出现软错误的情况下,检测似乎由该软错误导致的数据中出现的错误并且校正该错误的机构。
[0006]专利文献I公开了具有对执行流水线过程的处理器的性能设备施加小的影响的软纠错方法的高速缓冲存储器设备。在将数据写入数据阵列时,添加奇偶校验位检验位和纠错码(ECC)以及在读取时进行奇偶校验位校验。当检测到数据错误时,暂停流水线,并且在暂停期间执行纠错。专利文献2公开了校正寄存器文件中的错误的方法。该方法具有错误检测步骤和纠错步骤。当在错误检测步骤中检测到错误时,中断算术处理并且执行纠错步骤。专利文献3公开了单一错误检测/校正方法,以及专利文献4公开了纠错装置。在检测到奇偶校验位错误的情况下,进行纠错。专利文献5公开了能校正甚至大字长的错误的单纠错/双错误检测方法(SEC-DED)的纠错电路。非专利文献I描述了用来抑制电路规模同时保证纠错/检测性能的SEC-DEC的生成器矩阵和校验矩阵。
[0007]相关技术文献
[0008]专利文献
[0009]专利文献1:日本未审专利申请公开N0.2011-257966
[0010]专利文献2:国际公开TO 2008/152728
[0011]专利文献3:日本未审专利申请公开N0.Hei 1(1989)-175041
[0012]专利文献4:日本未审专利申请公开N0.2013-70122
[0013]专利文献5:日本未审专利申请公开N0.Hei 10(1998)-27139
[0014]非专利文献
[0015]非专利文献1:Μ.Y.Hsiao, “A Class of Optimal Minimum Odd-weight~coIumnSEC-DEC Codes”,IBM Journal of Research and Development, 14 卷,第 4 期,IBM 发布,1970年7月
【发明内容】
[0016]本申请的发明人已经研宄了专利文献I至5和非专利文献1,因此,发现下述新问题。
[0017]通常用在上述已知技术等等中的I位纠错/2位纠错检测(SEC-DEC)方法中的纠错处理(ECC)电路是不适合于高速操作或由多级的流水线实现的复杂电路。因此,如在专利文献I至4中所述,提出了在将数据从处理器写入存储器时,通过除纠错码(ECC)外,还添加在奇偶校验位写入数据,在读取时进行奇偶校验位校验,并且仅在错误出现的情况下,才执行纠错处理的技术。通过该技术,在无错误发生时,仅执行能实现高速操作的奇偶校验位校验则足矣。由于错误的实际发生频率并不高,因此,抑制通过纠错处理,在流水线中导致干扰的频率。
[0018]添加到纠错码(ECC)的奇偶校验位能检测到一位错误。然而,当存在两位错误时,奇偶校验位做出无错误的错误判定(错误判定)。当仅在奇偶校验位校验中检测错误的情况下,执行I位纠错/2位错误检测(SEC-DED)方法的纠错处理时,不能检测到2位错误的发生。即,存在在2位错误发生的情况下,通过奇偶校验位校验,不能检测发生的问题。为解决这一问题,在纠错处理前,代替奇偶校验位,必须执行能检测2位错误的错误检测处理。然而,由于纠错处理本身是I位纠错/2位错误检测(SEC-DED)方法,所以通过与纠错处理一样复杂的电路,实现在前的2位错误检测的机制。此外,在字节(8位)单元的通用奇偶校验位的情况下,接收8位数据和I位奇偶校验位的9个输入的异或对奇偶校验位校验是必要的。发现该技术不足以解决超出例如IGHz的高速操作。
[0019]最终发现在请求执行超过IGHz的高速操作的MCU系统中,为在I位纠错/2位错误检测(SEC-DED)方法的纠错处理前,执行错误检测,能在例如流水线的一级中,即,一个时钟周期中操作的高速2位错误检测电路是必要的。
[0020]在下文中,将描述用于解决这些问题的手段。从说明书和附图的描述,其它问题和新颖特征将变得显而易见。
[0021]实施例如下。
[0022]实施例涉及包括处理器和从处理器访问的存储器的数据处理装置,并且配置如下。
[0023]该装置包括设置在用于将多个位的数据从处理器写入存储器的信号路径中并且由所写入的数据,生成多个位的奇偶校验位的奇偶校验位生成电路,以及奇偶校验位/ECC编码器电路,用于将数据和所生成的奇偶校验位写入存储器。该装置还设有奇偶校验位/ECC解码器电路,其设置在用于从存储器,将数据读入处理器的信号路径中,并且包括奇偶校验位校验单元。
[0024]奇偶校验位生成电路被配置成使得,构成数据的每一位有助于至少两位的奇偶校验位的生成,并且奇偶校验位校验单元被配置成能检测从存储器读取的数据和奇偶校验位中的一位或两位错误的存在/不存在。
[0025]通过该实施例获得的效果将简述如下。
[0026]本发明提供2位错误检测电路,其不会错误地将2位错误判定为无错误,以及能以比I位纠错/2位错误检测(SEC-DEC)方法的纠错处理更高的速度操作,并且能在SEC-DEC方法的纠错处理前执行错误检测。
【附图说明】
[0027]图1是示出根据第一实施例的数据处理装置100的配置示例的框图。
[0028]图2是表示ECC生成电路I的配置示例的框图。
[0029]图3示出由ECC生成电路I实现的ECC的生成器矩阵(G)。
[0030]图4是表示奇偶校验位生成电路11的配置示例的框图。
[0031]图5示出由奇偶校验位生成电路11实现的奇偶校验位的生成器矩阵。
[0032]图6是表示奇偶校验位/ECC解码器电路31的配置示例的框图。
[0033]图7是表示ECC解码器电路3的更详细配置示例的框图。
[0034]图8示出ECC解码器电路3中的ECC的校验矩阵⑶。
[0035]图9是表示根据第二实施例的数据处理装置100中的奇偶校验位/ECC编码器电路53的配置示例的框图。
[0036]图10示出由根据第二实施例的奇偶校验位生成电路54实现的奇偶校验位的生成器矩阵。
[0037]图11是示出图10所示的奇偶校验位的生成器矩阵的配置的概念的说明图。
[0038]图12是将基于图10的生成器矩阵的奇偶校验位用作部分和,生成ECC的状态的说明图。
[0039]图13是表示根据第三实施例的数据处理装置100的配置示例的框图。
[0040]图14是表示奇偶校验位/ECC编码器电路13的配置示例的框图。
[0041]图15示出由根据第三实施例的奇偶校验位生成电路14实现的奇偶校验位的生成器矩阵。
[0042]图16是示出图15中所示的奇偶校验位的生成器矩阵的另一配置的概念的说明图。
[0043]图17是将基于图15的生成器矩阵的奇偶校验位用作部分和,生成ECC的状态的说明图。
[0044]图18是表示奇偶校验位/ECC解码器电路22的配置示例的框图。
[0045]图19是表示ECC解码器电路41的更详细配置的框图。
[0046]图20是表示根据第四实施例的数据处理装置100的配置示例的框图。
[0047]图21示出在与第三实施例相同的前提下,能应用的另一奇偶校验位的生成器矩阵。
[0048]图22示出能用在实施例的每一个中的奇偶校验位的生成器矩阵的另一示例。
[0049]图23是对应于图22的奇偶校验位的生成器矩阵的奇偶校验位生成电路的框图。
[0050]图24示出能用在实施例的每一个中的奇偶校验位的生成器矩阵的又一示例。
[0051]图25示出能用在实施例的每一个中的奇偶校验位的生成器矩阵的又一示例。
[0052]图26是示出图25中所示的奇偶校验位的生成器矩阵的配置的概念的说明图。
[0053]图27是将基于图25的生成器矩阵的奇偶校验位用作部分和,生成ECC的状态的说明图。
[0054]图28示出能用在每一实施例中的、最小化奇偶校验位的类型数的奇偶校验位的生成器矩阵。
[0055]图29是示出图28中所示的奇偶校验位的生成器矩阵的配置的概念的说明图。
[0056]图30示出其中能用在每一实施例中、最小化奇偶校验位的类型数的另一奇偶校验位的生成器矩阵。
[0057]图31是示出图30中所示的奇偶校验位的生成器矩阵的配置的概念的说明图。
【具体实施方式】
[0058]1.实施例的概述
[0059]首先,将描述本申请中公开的代表性实施例的概述。在代表性实施例的概述的描述中的括号中引用的图中的附图标记仅示出在附图标记被指定到的部件的原理中包括的内容。
[0060][I]能检测2位错误的奇偶校验位加法
[0061]根据在本申请中公开的代表性实施例的数据处理装置(100,90)包括处理器(30)和存储器(51,29a,29b)并且构成如下。数据处理装置具有设置在信号路径中的奇偶校验位/ECC编码器电路(13,38e,52,53),用于将多个位的数据从处理器写入存储器并且包括奇偶校验位生成电路(ll,14,20,37e,54)。数据处理装置进一步具有设置在信号路径中的奇偶校验位/ECC解码器电路(22,31,38d),用于将读取数据从存储器读入到处理器中,并且包括奇偶校验位校验单元(23,37d,48)。
[0062]奇偶校验位生成电路由写入数据生成多个位的奇偶校验位,并且将奇偶校验位连同写入数据写入到存储器中,以及构成写入数据的每一位被配置成有助于多个位的奇偶校验位中的至少两位的奇偶校验位的生成。
[0063]奇偶校验位校验单元被配置成能检测从存储器读取的读取数据和位的奇偶校验位的一位或二位的错误的存在/不存在。
[0064]通过该配置,在I位纠错/2位错误检测(SEC-DEC)方法的纠错前,2位错误检测电路能以比纠错更高的速度操作以便执行错误检测。可以为纠错提供校正2位错误的能力。
[0065][2]CPU内核的等待信号
[0066]在条目I中,奇偶校验位/ECC编码器电路具有将能校正I位错误的纠错码添加到写入数据的ECC生成电路(1,15,55),以及奇偶校验位/ECC解码器电路具有纠错单元(3至6,41,42),作为执行在读取数据和对应于该读取数据的纠错码的基础上,纠正读取数据中的错误的纠错处理的ECC解码器电路。
[0067]奇偶校验位/ECC解码器电路被配置成当由奇偶校验位校验单元检测到存在错误时,能提供等待信号,使处理器等待,用于接收读取数据,直到完成纠错处理为止。
[0068]通过该配置,当存在错误时,仅能生成用于纠错处理的开销。
[0069][3]通过等待信号暂停流水线
[0070]在条目2中,处理器在等待信号的基础上,暂停流水线操作。
[0071]因此,能安全地停止处理器的操作。
[0072][4]错误检测和纠错的并行处理
[0073]在条目2中,并行地执行由奇偶校验位校验单元,检测错误的存在/不存在的处理和由纠错单元的纠错处理。
[0074]通过该配置,能最小化用于纠错处理的开销。
[0075][5]错误不可校正(错误输出)
[0076]在条目2中,纠错单元被配置成能确定读取数据中的错误的位数是否是一位或两位,当错误的位数为一位时,执行纠错处理,以及当错误的位数为两位时,将纠错不可能的事实告知处理器。
[