EO至E6的任何一行中。作为例外,生成器矩阵中的12元素(由圆围绕的行E4和列dl等等)仍然为“1”,作为原始值。
[0188]从图26理解到能通过将奇偶校验位XO至X17作为部分和,生成ECC EO至E6。图27示出以ECC电路(未示出)中的矩阵的形式,ECC的生成状态。易于理解到图27的矩阵设置在图25所示的奇偶校验位生成器矩阵侧。因此,ECC电路(未示出)包括5个6输入XOR电路和2个5输入XOR电路。奇偶校验位生成电路(未示出)包括18个3输入XOR电路,以及奇偶校验位校验电路(未示出)包括18个4输入XOR电路和I个具有INV的18输入AND电路。
[0189]在上述实施例的每一个中,从输入数据中的少量位,诸如2位或3位,生成相对多种奇偶校验位,诸如32种、28种、25种、24种、22种或18种并使用。由于奇偶校验位校验电路的第一级的XOR电路能由具有少量输入,诸如3至4输入的XOR电路构成,给予优先级,以便缩短处理延迟时间。通常,后一级中具有大量输入,诸如32至18输入、带INV的AND电路的处理延迟时间不显著,因此,思维方式适合于增加奇偶校验位校验的速度。尽管缩短奇偶校验位校验电路的处理延迟时间很重要,但通过尽可能地减少奇偶校验位种类,减少保持奇偶校验位的TCM(高速存储器)的容量也很重要,并且存在请求将优先级给予后者的情形。为解决这一需求,当用2种或以上奇偶校验位覆盖输入数据的每一位时,必须最小化奇偶校验位的种类数。
[0190]图28示出实现上述的奇偶校验位生成器矩阵的示例。在示例中,从输入数据dO至d31中的任何6或5位,生成12种奇偶校验位。图29示出构成奇偶校验位生成器矩阵的原理。在用两种奇偶校验位覆盖32位的输入数据中的每一位的前提下,采用由水平奇偶校验位和垂直奇偶校验位,覆盖每一位的原理。通过在m行乘η列的二维阵列中,排列输入数据dO至d31,由在每一行中排列的多个位,生成水平奇偶校验位,以及由在每一列中排列的多个位,生成垂直奇偶校验位,由两种奇偶校验位覆盖输入数据的每一位。
[0191]由于输入数据由32位构成,必须满足关系mXn ^ 32。分别通过结合水平奇偶校验位和垂直奇偶校验位获得的奇偶校验位的类型数为(m+n)种。m和η的可能有效的总组合是下述五种。当m = 2和η = 16 (mXn = 32)时,奇偶校验位的类型数为18。当m = 3和η = 11 (m X η = 33)时,奇偶校验位的类型数为14。当m = 4和n = 8(mXn = 32)时,奇偶校验位的类型数为12。当m = 5和n = 7(mXn = 35)时,奇偶校验位的类型数为12。当m = 6和η = 6 (mXn = 36)时,奇偶校验位的类型数为12。存在三种组合,其中,奇偶校验位的类型数为作为最小数的12种。由于由尽可能少的位数生成每一奇偶校验位也很重要,因此,将组合m = 6和η = 6 (mXn = 36)视为最佳。通过以对应于该组合的方式,按6行6列排列输入数据dO至d31,获得图29中所示的二维阵列。由于没有输入数据中的位分配给2维阵列的36个元素中的4个元素,因此,这些元素的位置为空。从图29,能构成分别由6或5位生成的6种水平奇偶校验位XO至X5和分别由6或5位生成的6种垂直奇偶校验位X6至XII。图28以奇偶校验位生成器矩阵的形式示出。以这种方式,能最小化奇偶校验位的类型数。
[0192]在由单一存储器构成TCM (高速存储器)的前提下,通过用2种奇偶校验位,覆盖输入数据的每一位,实现最小化奇偶校验位的类型的上述原理。类似的原理也能应用于如在第三实施例中,由两个存储器构成TCM(高速存储器),在存储器的一个中保持32位的数据,以及在另一存储器中保持伴随该数据的奇偶校验位的前提。
[0193]图30示出实现该原理的奇偶校验位生成器矩阵的示例。将包括在图28所示的奇偶校验位生成器矩阵中的行XO至Xll中的位位置的元素“I”的适当一个改变成空白,使得仅由生成器矩阵下在的向上箭头表示的位的每一个覆盖有仅一种奇偶校验位。图31示出以这种方式,构成奇偶校验位生成器矩阵的原理。由于存在6种水平奇偶校验位和6种垂直奇偶校验位,对所有奇偶校验位,减少用于逐位生成奇偶校验位的输入数据的位数认为是最佳的。因此,尽管二维阵列看起来与图29中所示相同,使分配给由图31的二维阵列中的粗线框表示的元素的输入数据的每一位用于水平奇偶校验位或垂直奇偶校验位。从二维阵列中的行和列的每一个,减少用于奇偶校验位的一位。图30示出以奇偶校验位生成器矩阵的形式的阵列。尽管存在仅由一种奇偶校验位覆盖其每一位的输入数据的位,但用来生成奇偶校验位的所有其它位由其它类型的奇偶校验位覆盖,因此,不能错过2位错误。
[0194]尽管图3中所示的ECC生成器矩阵和图8中所示的ECC校验矩阵(H)用在上述实施例的每一个中,但本发明能类似地应用于使用与它们不同的生成器矩阵和校验矩阵的情形。可以将“I”添加到图3中的E5和E6中的适当位置(例如,d24的位置),因此,14个“ I ”包括在ECC生成器矩阵的所有行的每一个中。
[0195]本发明还能应用于反相输入数据dO至d31中的任何位的值的情形,在此之后,生成ECC。在反相对应于ECC生成器矩阵的列的输入数据中的任何位(例如,dO和dl)的值后,可以使用ECC生成器矩阵。在这种情况下,以相应的方式,使用ECC校验矩阵则足以。
[0196]如图13所示,在第三实施例中,由两个存储器构成TCM(高速存储器):保持将由CPU内核30处理的32位本身的数据(写入数据和读取数据)的存储器29a和保持伴随该数据的七个位ECC和25位奇偶校验位(总共32位)的存储器2%。为覆盖处理延迟时间,直到由奇偶校验位/ECC编码器电路13中的ECC生成电路15生成ECC EO至E6为止,通过延迟将提供给后一 TCM 29b的CLK信号,高速该时刻。由于在2个时钟周期内,足以完成奇偶校验位/ECC解码器电路22中的ECC解码器电路41的处理,因此,存在足够的时间。然而,应注意到奇偶校验位/ECC解码器电路22中的奇偶校验位校验电路23和等待控制电路19中的处理必须在一个时钟周期中完成。
[0197]在实施例的基础上,已经具体地描述了由发明人实现的本发明。然而,很显然,本发明不限于这些实施例,而是在不背离精神的情况下,能不同地改变。
[0198]例如,MCU系统90等等的数据处理装置100可以由在单一半导体衬底上形成的集成电路(LS1:大规模集成电路)构成。CPU内核30可以是任意架构的处理器,或可以改变成访问存储器或高速缓冲控制器的另一总线主控器设备(例如,直接存储器存取控制器)。
[0199]例如,所示的逻辑电路仅是示例,并且能改变成能执行等效逻辑运算的另一电路。可以任意地采用正逻辑或负逻辑。
【主权项】
1.一种数据处理装置,包括: 处理器; 存储器; 奇偶校验位/ECC编码器电路,所述奇偶校验位/ECC编码器电路被设置在用于将多个位的写入数据从所述处理器写入所述存储器的信号路径中,并且包括奇偶校验位生成电路;以及 奇偶校验位/ECC解码器电路,所述奇偶校验位/ECC解码器电路被设置在用于将读取数据从所述存储器读取到所述处理器的信号路径中,并且包括奇偶校验位校验单元, 其中,所述奇偶校验位生成电路从所述写入数据生成多个位的奇偶校验位,并且将所述奇偶校验位连同所述写入数据写入到所述存储器中,构成所述写入数据的多个位中的每一个被配置成有助于在所述多个位的奇偶校验位中的至少两位的奇偶校验位的生成,以及 其中,所述奇偶校验位校验单元被配置成,能够检测从所述存储器读取的所述读取数据和所述多个位的奇偶校验位中的一位或两位的错误的存在/不存在。
2.根据权利要求1所述的数据处理装置, 其中,所述奇偶校验位/ECC编码器电路包括ECC生成电路,所述ECC生成电路将能执行I位纠错的纠错码添加到所述写入数据,所述奇偶校验位/ECC解码器电路包括纠错单元,所述纠错单元基于所述读取数据和对应于所述读取数据的纠错码来执行用于校正所述读取数据中的错误的纠错处理,以及 其中,所述奇偶校验位/ECC解码器电路被配置成,当由所述奇偶校验位校验单元检测到错误的存在时,能够提供等待信号来使所述处理器等待接收所述读取数据,直到完成所述纠错处理为止。
3.根据权利要求2所述的数据处理装置,其中, 所述处理器基于所述等待信号,来暂停流水线操作。
4.根据权利要求2所述的数据处理装置,其中, 并行地执行由所述奇偶校验位校验单元进行的检测错误的存在/不存在的处理和由所述纠错单元进行的纠错处理。
5.根据权利要求2所述的数据处理装置,其中, 所述纠错单元被配置成,能够确定所述读取数据中的错误的位数是一位还是两位,当所述错误的位数为一位时,执行所述纠错处理,当所述错误的位数为两位时,将纠错不可能的事实告知所述处理器。
6.根据权利要求5所述的数据处理装置,其中, 所述纠错不可能的事实的告知是到所述处理器的中断请求。
7.根据权利要求1所述的数据处理装置,其中, 所述奇偶校验位生成电路通过所述写入数据中的两位或三位,来生成所述多个位的奇偶校验位中的每一个。
8.根据权利要求7所述的数据处理装置,其中, 所述奇偶校验位生成电路包括异或门,该异或门从所述写入数据中的两位或三位来生成每个所述多个位的奇偶校验位。
9.根据权利要求1所述的数据处理装置, 其中,所述奇偶校验位/ECC编码器电路具有ECC生成电路,该ECC生成电路将能够校正一位的错误的纠错码添加到所述写入数据,所述奇偶校验位/ECC解码器电路包括纠错单元,该纠错单元基于所述读取数据和对应于所述读取数据的纠错码来执行校正所述读取数据中的错误的纠错处理,以及 其中,所述ECC生成电路被配置成,能够通过将由所述奇偶校验位生成电路从要写入所述存储器的写入数据所生成的多个位的奇偶校验位用作部分和,来生成所述纠错码。
10.根据权利要求1所述的数据处理装置,其中, 所述存储器包括被写入有所述写入数据的第一存储器、以及被写入有所述奇偶校验位的第二存储器。
11.一种数据处理装置,包括: 处理器; 存储器; 奇偶校验位生成电路,所述奇偶校验位生成电路被设置在用于将多个位的写入数据从所述处理器写入所述存储器的信号路径中;以及 奇偶校验位校验单元,所述奇偶校验位校验单元被设置在用于将读取数据从所述存储器读取到所述处理器的信号路径中, 其中,所述奇偶校验位生成电路从所述写入数据来生成多个位的奇偶校验位,并且将所述奇偶校验位连同所述写入数据写入到所述存储器中,并且构成所述写入数据的多个位中的每一个被配置成有助于所述多个位的奇偶校验位中的至少两位的奇偶校验位的生成,以及 其中,所述奇偶校验位校验单元被配置成,能够检测从所述存储器读取的所述读取数据和所述多个位的奇偶校验位中的一位或两位的错误的存在/不存在。
12.根据权利要求11所述的数据处理装置,进一步包括主存储设备, 其中,所述存储器是用于从所述主存储设备来读取数据并且临时存储该数据的高速缓冲存储器;以及 其中,所述奇偶校验位校验单元被配置成,能够检测从所述高速缓冲存储器所读取的被读取数据中的错误的存在/不存在,在错误存在的情况下,从所述主存储设备读取对应于所述被读取数据的数据并且将该数据重写在所述高速缓冲存储器中。
13.根据权利要求12所述的数据处理装置,其中,所述主存储设备是非易失性存储器。
【专利摘要】本发明涉及一种数据处理装置。包括处理器和存储器的数据处理装置具有奇偶校验位/ECC编码器电路和奇偶校验位/ECC解码器电路。奇偶校验位/ECC编码器电路设置在用于将数据写入存储器的信号路径中,包括用于从要写入的数据生成多个位的奇偶校验位的奇偶校验位生成电路,并且将所生成的奇偶校验位连同该数据写入到存储器中。奇偶校验位/ECC解码器电路设置在用于从存储器读取数据的信号路径中,并且包括奇偶校验位校验单元。奇偶校验位生成电路被配置成使得构成数据的多个位中的每一个有助于至少两个位的奇偶校验位的生成。因此,奇偶校验位校验单元能高速地检测两位错误。
【IPC分类】G06F11-10, G06F9-30, G06F9-38
【公开号】CN104765650
【申请号】CN201510009451
【发明人】坪井幸利, 长野英生
【申请人】瑞萨电子株式会社
【公开日】2015年7月8日
【申请日】2015年1月8日
【公告号】EP2894566A1, US20150194984