错误检测和校正码的可配置分开存储的制作方法

文档序号:6476863阅读:182来源:国知局
专利名称:错误检测和校正码的可配置分开存储的制作方法
技术领域
本发明涉及数字装置的存储器配置,且更明确地说,涉及一种用于存储程序指令和/ 或数据(操作码)的可配置存储器,其可选择地存储错误检测和校正码。
背景技术
在具有由程序指令控制的处理器的数字装置中,典型的错误校正码(ECC)或奇偶 校验实施方案存储ECC或奇偶性数据作为操作码(op-code)字的一部分。此类实施方案 需要较宽字程序存储器,即每存储器位置更多位,来容纳额外ECC或奇偶性数据,然而, 对于不需要ECC或奇偶性的应用,存储器容量被浪费,因为未使用的额外存储器字位预 留给ECC或奇偶性数据。

发明内容
因此,需要一种具有可经配置以在需要时用于ECC或奇偶性实施方案的存储器空间 的数字装置,另外在数字装置不需要ECC或竒偶校验的情况下,可使整个存储器空间可 用于程序指令和/或数据(操作码)。根据本发明的教示,标准大小(例如,标准字宽) 存储器(例如,快闪存储器、电可编程只读存储器(EEPROM)、电池支持的随机存取存 储器(RAM)等)可经配置以基于所需数字装置应用而用于ECC或非ECC功能性,或 者奇偶性或非奇偶性功能性。当需要ECC或奇偶性实施方案时,存储器的最后部分可经 分配以用于ECC或奇偶性数据,而不是操作码存储。当不需要ECC或奇偶性实施方案 时,整个存储器可用于操作码(例如,程序指令和/或数据)存储。这允许在具有不同稳 健性(例如,应用程序码完整性)要求的应用屮最有效地使用数字装置的存储器。
当在数字装置中实施ECC或奇偶校验时,根据本发明的特定实例实施例,ECC或奇 偶性数据可存储在存储器的末端处,且可视需要针对每一操作码字获取。这需要来自存 储器的额外读取循环,但在程序执行的速度存在余量(headroom)时将不是问题。因此 可使用仅一种类型的数字装置存储器提供针对ECC/奇偶性或非ECC/非奇偶性应用的数 字处理,而不会引起额外硬件成本。
例如偶或奇奇偶性的奇偶性实施方案可检测单位错误,但不能校正错误。然而,奇 偶性实施方案具有最小额外开销,例如每指令和/或数据字仅使用一个额外位。奇偶性位 可以针对N位操作码以N的群组(假定N位宽存储器字(例如针对24位应用程序码的24的群组)存储在存储器的末端。因此,针对多达N个字的奇偶性可在一次存储器读取 存取的情况下载入到N位宽高速缓冲存储器中。当将奇偶性位载入到高速缓冲存储器中 时,可导致执行速度的非常小的减小,例如针对24位字,可导致4%的速度减小。
单位错误校正双错误检测错误校正码(SECDED ECC)可检测并校正单位错误,且 检测2位错误。SECDED ECC需要6位的额外开销来检测并校正24位字中的单位错误。 对于24位存储器字,这意味着减少了 25%的可用于操作码存储的存储器。针对每一 24 位操作码字的6位ECC错误校正码可以四的群组(4x6位二24位)存储在存储器的末端。 因此,相当于错误校正码的多达四个字可每存储器存取载入到高速缓冲存储器中。对于 连续程序执行,每四次操作码字存取将需要一次额外存储器存取(高速缓冲存储器每次 存储器读取存取存储四个错误校正码),这将使程序执行速度减小约20%。
根据本发明的特定实例实施例, 一种具有可配置存储器的数字装置可包括数字处 理器;主存储器,其与数字处理器通信;操作码锁存器,其用于存储从主存储器读取的 操作码(op-code)字;以及奇偶校验逻辑,其耦合到主存储器、操作码锁存器和数字处 理器,借此奇偶校验逻辑确定存储在操作码锁存器中的操作码字是否具有奇偶性错误; 其中主存储器可配置以用于存储操作码(op-code)字和奇偶性位,或仅操作码字。
根据本发明的另一特定实例实施例, 一种具有可配置存储器的数字装置可包括数 字处理器;主存储器,其与数字处理器通信;操作码锁存器,其用于存储从主存储器读 取的操作码(op-code)字;以及错误校正码(ECC)逻辑,其耦合到主存储器、操作码 锁存器和数字处理器,借此ECC逻辑确定存储在操作码锁存器中的操作码字是否具有错 误并试图校正所述错误;其中主存储器可配置以用于存储操作码字和ECC数据字,或仅 操作码字。


可通过参看结合附图作出的以下描述内容获得对本发明的更完整理解,附图中
图1是根据本发明的特定实例实施例包括数字处理器、具有可配置存储空间的存储
器、奇偶性或ECC高速缓冲存储器和相关联逻辑以及操作码锁存器的数字装置的示意框 图2是根据本发明的特定实例实施例中的一个特定实例实施例图1的数字装置的奇 偶校验操作的示意流程图3是根据本发明的特定实例实施例中的另一特定实例实施例图1的数字装置的 ECC操作的示意性流程图;以及图4是图1的数字装置的一部分的更详细示意性框图。
虽然本发明容许各种修改和替代形式,但其特定实例实施例已在附图中展示并在本 文中详细描述。然而,应了解,不希望本文对特定实例实施例的描述将本发明限于本文 所揭示的特定形式,而是相反,本发明将涵盖如所附权利要求书界定的所有修改和等效 物。
具体实施例方式
现参看附图,示意性地说明特定实例实施例的细节。附图中的相同元件将由相同标 号表示,且类似元件将由具有不同小写字母后缀的相同标号表示。
参看图1,描绘根据本发明的特定实例实施例的数字装置,其包括数字处理器、具 有可配置存储空间的存储器、奇偶性或ECC高速缓冲存储器和相关联逻辑以及操作码锁 存器。数字装置100可包括处理器102、奇偶性或ECC高速缓冲存储器116、存储器104 和操作码锁存器112。处理器102 (例如,微处理器、微控制器、数字信号处理、专用集 成电路(ASIC)、可编程逻辑阵列(PLA)等)可将用以在地址总线108上检索程序指令 和/或数据(例如,操作码)的地址发送到存储器104和高速缓冲存储器及逻辑116。当 存储器104经由地址总线108接收来自处理器102的地址时,其经由数据总线106a将位 于所述地址中的操作码传回到操作码锁存器112。随后在地址总线108上断言表示奇偶性 位或ECC数据字的位置的第二地址以检索多个奇偶性位或ECC数据字,其一者与所寻 址的操作码相关联。所检索的多个奇偶性位(奇偶性位的数目等于相关联奇偶性位所处 的存储器字中的位的数目)或ECC数据字存储在高速缓冲存储器及逻辑116中(如果其 先前尚未存储在其中)。经由总线IIO从操作码锁存器112读取操作码,且在高速缓冲存 储器及逻辑116中进行其奇偶性或ECC校验。经奇偶校验或ECC校验(且如果必需的 话,经校正)的操作码经由总线106呈现给处理器102。可将错误信号114发送到处理器 102,且在接收到错误信号114后,处理器102可中止进一步操作。当不需要奇偶校验时, 可使用整个存储器104来存储操作码,例如程序指令和/或数据。可在集成电路裸片上制 造数字装置IOO,且可将集成电路裸片封闭在集成电路封装(未图示)中。
参看图2,描绘根据本发明的特定实例实施例中的一个特定实例实施例图1的数字 装置的奇偶校验操作的示意性流程图。可由高速缓冲存储器及逻辑116 (例如,奇偶校验 逻辑312 (图4))用步骤254中的错误检测算法来校验程序指令和/或数据字250 (例如, 24位操作码)以及1位奇偶性252。如果对于步骤252,必须从存储器104获取1位奇 偶性(不在高速缓冲存储器116中),或如果在步骤256中检测到奇偶性错误,那么可将停止或错误信号114发送到数字处理器102。在接收到此停止或错误信号114后,数字处 理器102可停止或中止进一步操作。
参看图3,描绘根据本发明的特定实例实施例中的另一特定实例实施例图1的数字 装置的ECC操作的示意性流程图。可在步骤354中由ECC逻辑312 (图4)应用程序指 令和/或数据字350 (例如,24位操作码)以及ECC数据352 (例如,6位校验值)以产 生经错误校正的程序指令和/或数据字356 (例如,24位经错误校正的操作码)。接着可 将此经错误校正的操作码356经由数据总线106发送到数字处理器102。如果对于步骤 352,必须从存储器104获取6位校验值(不在高速缓冲存储器116中),那么可将停止 或错误信号114发送到数字处理器102,使得数字处理器102可停止直到6位校验值可在 步骤354中使用为止。
参看图4,描绘图1的数字装置的一部分的更详细示意性框图。处理器102 (图1) 可耦合到具有指令/数据(操作码)部分304a和奇偶性或ECC部分304b的存储器304。 数字处理器102在地址总线108上请求来自存储器部分304a的操作码。此操作码将存储 (锁存)在操作码锁存器112中。接下来,数字处理器102请求针对存储在操作码锁存 器112中的操作码的相关联奇偶性位或ECC数据字。如果相关联奇偶性位或ECC数据 字已存储在奇偶性或ECC高速缓冲存储器306中,那么奇偶性或ECC逻辑312可立即 用奇偶性位或ECC数据字来处理存储在操作码锁存器中的操作码,以经由总线106向处 理器102产生经校验的操作码。
然而,如果相关联奇偶性位或ECC数据字不存储在奇偶性或ECC高速缓冲存储器 306中,那么处理器102必须从存储器部分304b获取相关联奇偶性位或ECC数据字。此 额外存储器存取将减慢奇偶性或ECC校验,且对于非常快速的处理器,可能需要发布 CPU停止114,直到操作码和相关联奇偶性位或ECC数据字可用于奇偶性或ECC逻辑 312中的处理为止。图1和4的上文提及的数字装置可制造在集成电路裸片上,且可将 集成电路裸片封闭在集成电路封装(未图示)中。当不需要奇偶性或ECC校验时,整个 存储器304可用于操作码。
如果应用存在充足的余量,那么可不需要ECC高速缓冲存储器。因此,可在一个存 储器读取循环上读取操作码350,且在下一存储器读取循环上读取奇偶性位或ECC数据 352。这将需要非ECC实施的解决方案的约两倍的存储器读取时间,但不需要现有数字 装置100中的任何特殊的新逻辑实施方案。举例来说,典型的指令存储器读取操作可包 含(1)获取操作码字,(2)获取与刚获取的操作码相关联的奇偶性或ECC数据,(3)将奇偶性或ECC算法应用于所获取的操作码字和奇偶性或ECC数据,以及(4)呈现经 校验(且经校正)的操作码字以供数字处理器102使用。
对于具有ECC实施方案的较快处理器,可将停止功能314应用于数字处理器102的 中央处理单元(CPU),使得可在指令循环期间检索ECC数据。这需要ECC高速缓冲存 储器306,但可检索用于多个程序指令和/或数据字的ECC数据并将其存储在ECC高速 缓冲存储器306中。例如24位宽存储器字将针对每一存储器读取操作供应四个6位ECC 数据字。举例来说,(1)断言新的操作码地址,(2)在地址稳定之后,与存储在ECC高 速缓冲存储器中的内容进行比较,如果高速缓冲存储器未命中,那么停止CPU, (3)在 CPU停止期间从存储器获取ECC数据,(4)经ECC校正的程序指令和/或数据字可用于 CPU,且(5)解除停止CPU以解码经ECC校正的程序指令和/或数据字。
虽然已参考本发明的实例实施例描绘、描述并界定本发明的实施例,但此类参考并 不意味着对本发明的限制,且不应推断出此类限制。所揭示的标的物容许形式和功能上 的相当多的修改、更改和等效物,如相关领域的且受益于本发明的一般技术人员将作出 的。所描绘和描述的本发明的实施例仅为实例,且未详尽阐释本发明的范围。
9
权利要求
1.一种具有可配置存储器的数字装置,其包括数字处理器;主存储器,其与所述数字处理器通信;操作码锁存器,其用于存储从所述主存储器读取的操作码(op-code)字;以及奇偶校验逻辑,其耦合到所述主存储器、操作码锁存器和所述数字处理器,借此所述奇偶校验逻辑确定存储在所述操作码锁存器中的所述操作码字是否具有奇偶性错误;其中所述主存储器可配置以用于存储操作码(op-code)字和奇偶性位,或仅操作码字。
2. 根据权利要求1所述的数字装置,其进一步包括耦合在所述主存储器与所述奇偶校 验逻辑之间的奇偶性高速缓冲存储器,其中所述奇偶性高速缓冲存储器存储从所述 主存储器读取的多个奇偶性位。
3. 根据权利要求1所述的数字装置,其中如果所述奇偶校验逻辑指示从所述主存储器 检索的所述操作码字中的奇偶性错误,那么所述数字处理器将中止操作。
4. 根据权利要求1所述的数字装置,其中所述数字处理器是微控制器。
5. 根据权利要求1所述的数字装置,其中所述数字处理器是微处理器。
6. 根据权利要求1所述的数字装置,其中所述数字处理器是数字信号处理器。
7. 根据权利要求2所述的数字装置,其中所述数字处理器、奇偶性高速缓冲存储器、 主存储器和奇偶校验逻辑被制造在集成电路裸片上。
8. 根据权利要求7所述的数字装置,其中所述集成电路裸片被封闭在集成电路封装 中。
9. 根据权利要求1所述的数字装置,其中当所述主存储器经配置以用于仅存储操作码 字时,所述奇偶校验逻辑被停用。
10. 根据权利要求2所述的数字装置,其中在从所述主存储器的单一读取操作期间,所 述多个奇偶性位存储在所述奇偶性高速缓冲存储器中。
11. 根据权利要求IO所述的数字装置,其中所述奇偶校验逻辑在进行从所述主存储器 的另一读取之前校验所述奇偶性高速缓冲存储器中的与所述操作码字相关联的奇 偶性位。
12. 根据权利要求IO所述的数字装置,其中所述奇偶校验逻辑将所计算的奇偶性与所述高速缓冲存储器中的与所述操作码字相关联的所述奇偶性位进行比较,并在所述 奇偶校验失败的情况下强制实行中止或复位动作。
13. —种具有可配置存储器的数字装置,其包括-数字处理器;主存储器,其与所述数字处理器通信;操作码锁存器,其用于存储从所述主存储器读取的操作码(op-code)字;以及 错误校正码(ECC)逻辑,其耦合到所述主存储器、操作码锁存器和所述数字处理器,借此所述ECC逻辑确定存储在所述操作码锁存器中的所述操作码字是否具有错误并试图校正所述错误;其中所述主存储器可配置以用于存储操作码字和ECC数据字,或仅操作码字。
14. 根据权利要求13所述的数字装置,其进一步包括耦合在所述主存储器与所述ECC 逻辑之间的ECC高速缓冲存储器,其中所述ECC高速缓冲存储器存储从所述主存 储器读取的多个ECC数据字。
15. 根据权利要求13所述的数字装置,其中所述ECC逻辑将校正从程序存储器读取的 具有一位错误的所述操作码字,并在两个或两个以上位错误时中止所述数字处理器 的操作。
16. 根据权利要求13所述的数字装置,其中所述数字处理器是微控制器。
17. 根据权利要求13所述的数字装置,其中所述数字处理器是微处理器。
18. 根据权利要求13所述的数字装置,其中所述数字处理器是数字信号处理器。
19. 根据权利要求14所述的数字装置,其中所述数字处理器、ECC高速缓冲存储器、 主存储器和ECC逻辑且被制造在集成电路裸片上。
20. 根据权利要求19所述的数字装置,其中所述集成电路裸片被封闭在集成电路封装 中。
21. 根据权利要求13所述的数字装置,其中当所述主存储器经配置以用于仅存储操作 码字时,所述ECC逻辑被停用。
22. 根据权利要求13所述的数字装置,其中在从所述主存储器的单一读取操作期间, 多个ECC数据字存储在所述ECC高速缓冲存储器中。
23. 根据权利要求22所述的数字装置,其中所述ECC逻辑在进行从所述主存储器的另 一读取之前校验所述ECC高速缓冲存储器中的与所述操作码字相关联的ECC数据 字。
24. 根据权利要求22所述的数字装置,其中所述ECC逻辑将所计算的ECC值与所述高速缓冲存储器中的与所述操作码字相关联的ECC值进行比较,并在检测到单位错误的情况下设置旗标且在执行所述操作码字之前校正所述操作码字,否则如果检测到双位错误,那么所述数字装置将强制实行中止或复位。
全文摘要
数字装置的存储器空间可经配置以在需要时用于指令/数据(操作码)和ECC或奇偶性两者,否则整个存储器空间可经配置以仅用于程序指令/数据。标准字宽存储器可经配置以基于所需应用而用于ECC或非ECC功能性,或者奇偶性或非奇偶性功能性。当需要ECC或奇偶性实施方案时,所述存储器的最后部分可经分配以用于ECC或奇偶性数据,而不是应用程序码。当不需要ECC或奇偶性实施方案时,整个存储器可用于所述应用程序码。这允许数字装置和存储器用于具有不同稳健性(例如,应用程序码完整性)要求的应用中,而不必制造不同的数字装置。
文档编号G06F11/10GK101657797SQ200880011808
公开日2010年2月24日 申请日期2008年4月10日 优先权日2007年4月13日
发明者伊戈尔·沃耶沃达, 科布斯·马尔纳韦克 申请人:密克罗奇普技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1