存储器控制装置、计算机系统及数据再现记录装置的制作方法

文档序号:6614805阅读:238来源:国知局
专利名称:存储器控制装置、计算机系统及数据再现记录装置的制作方法
技术领域
本发明涉及存储器控制装置、计算机系统及数据再现记录装置, 特别是涉及从存储器读出数据及纠错码的存储器控制装置。
背景技术
半导体存储器芯片中,由于电气噪声、存储单元的缺陷及外来宇 宙射线等原因,在记录数据中会产生错误。记录数据的错误产生概率 是极小的。但是,近些年来随着半导体的微形化技术的发展,单位面 积的存储单元数量增大,结果,数据错误的发生概率就不能忽视了。众所周知,对该错误进行检测、校正的方法是,采用纠错码(Error Correcting Code: ECC)的纠错机构。ECC是采用按记录的数据长度 的汉明码(hamming code)的纠错码。采用ECC的纠错机构,将ECC 和数据一起保存在存储器中。在从存储器读出数据时,读出数据及 ECC,通过数据及ECC对读出的数据进行错误检测及校正。例如, 对于64位的数据,采用8位的ECC,可以校正l位的错误。图1是利用现有的采用ECC的纠错机构的一般计算机系统的构 成图。在图1中所示的计算机系统1000中,对64位的数据采用8位 的ECC。计算机系统1000,包括存储器块1001、芯片组1002、及 CPU 1003。 CPU 1003对芯片组1002输出数据读出及写入指令。芯片 组1002根据CPU 1003发出的指令,向存储器块1001进行数据的读 出及写入。芯片组1002,当读出数据时,从存储器块1001读出64 位数据及8位ECC,对读出的数据进行错误检测及校正。而芯片组 1002,在数据写入时,根据从CPU 1003写入64位的数据,生成8 位ECC,并将数据及ECC写入存储器块1001中。存储器块1001具有多个存储器芯片1004。各存储器芯片1004, 包括8位数据用的位线1005、及1位ECC用的位线1006。在由芯片组1002进行数据的写入及读出时,采用数据用的位线1005,而在ECC 的写入及读出时采用ECC用的位线1006。但是,具有ECC用的位线的存储器芯片,与普通的存储器芯片 相比存在成本高的问题。因此,基于ECC的纠错机构只在高价的服 务器系统中使用。与此相对,公开了有关采用普通的存储器芯片,进行纠错的存储 器控制装置的技术(例如,参照专利文献l)。图2是表示具有专利文献1记载的现有存储器控制装置的计算机 系统的构成图。图2中所示的计算机系统1100,包括微型机(7 ^3乂)块1110、存储器控制装置1120、及由普通的存储器芯片构 成的存储器1130。微型机块1110,对于存储器控制装置1120发出对 存储器1B0进行数据的读出及写入的指令。存储器控制装置1120, 在数据写入时,对每64位的数据1131赋予纠错码1132,并写入存 储器1130中。存储器控制装置1120,将纠错码1132,与数据1131 同样配置在存储器映射(map)上。而存储器控制装置1120,在数据 读出时,按时间序列读出数据1131及纠错码1132,采用读出的纠错 码1132进行数据1131的纠错。这样,专利文献1记载的存储器控制装置112,使用数据用的位 线对数据1131和纠错码1132进行读出及写入。这样采用普通的存储 器映象,可以实施纠错。但是,专利文献1记载的存储器控制装置1120,由于对存储器 1130的全区域的数据1131赋予纠错码1132,所以存储器1130需要 存放数据1131及纠错码1132的存储器容量,存在存储器容量增加的 问题。这样,在存储器容量有限的构成系统中是很难实现的。 (专利文献l)日本特开2005-182613号公报发明内容本发明鉴于上述问题,其目的在于提供一种存储器控制装置,既 进行纠错,又抑制存储器容量的增加。为了达到上述目的,本发明所涉及的存储器控制装置,从存储器读出包括纠错码的数据,包括纠错单元,根据上述纠错码,对上述 数据进行错误检测及纠错,并将进行了错误检测及纠错的数据输出给 外部;以及选择器,选择是将从上述存储器读出的上述数据输出给上 述纠错单元、还是将从上述存储器读出的上述数据输出给外部。根据这一构成,对存储器中存放的赋予了纠错码的数据,纠错单 元可以进行错误检测及纠错,将错误检测及纠错后的数据输出给外 部。而对于存储器中存放的未赋予纠错码的数据,可以不进行错误检 测及纠错,而将数据输出给外部。这样,可以对于需要高可靠性的数 据,赋予纠错码,而对于不需要高可靠性的数据,不赋予纠错码,存 放在存储器中。从而,由于可以削减对不需要高可靠性的数据的纠错 码的数据区域,所以与对存储器的全部数据赋予多余纠错码的情况相 比,可以削减存储器容量。即,本发明可以提供既进行纠错、又抑制 存储器容量增加的存储器控制装置。另外,上述存储器控制装置,也可以根据来自具有CPU的微型 机块的指令,从存储器读出包括纠错码的数据;上述存储器控制装置 还包括指令置换单元,将上述纠错码置换成与上述CPU的动作无 关的指令并输出给外部。根据这一构成,通过指令置换单元,所读出的纠错码,置换成与 CPU动作无关的指令,输出给微型机块。这样,在微型机块中即使 不进行识别纠错码的处理等,对系统动作也没有妨碍。从而可以减少 微型机块中的处理量。另外,上述存储器控制装置,也可以还包括地址变换单元,将 从外部输入的地址,变换成包括存放上述纠错码的区域的上述存储器 上的地址。根据这一构成,外部装置即使不指定考虑了存放纠错码的区域的 地址,也可以读出进行了错误检测及纠错的数据。从而,外部装置, 由于可以在不考虑纠错码区域部分的情况下对数据进行存取,所以可 以减少外部装置的处理量。另外,也可以是,上述存储器控制装置,根据来自具有CPU的 微型机块的指令,从存储器读出包括纠错码的数据;上述选择器,在从上述微型机块读出程序数据时成为第1逻辑的指令读出信号是上 述第1逻辑的情况下,将从上述存储器读出的上述数据输出给上述纠 错单元,而在上述指令读出信号不是上述第1逻辑的情况下,将从上述存储器读出的上述数据输出给上述微型机块;上述地址变换单元, 当上述指令读出信号是上述第1逻辑时,将从上述微型机块输入的地 址变换成包括存放上述纠错码的区域的上述存储器上的地址。根据这一构成,只在由微型机块进行的指令读出时,由地址变换 单元进行地址变换,及由纠错单元进行错误检测及纠错。从而,可以 只对需要高可靠性的程序数据,赋予纠错码,存放在存储器中。另外,也可以是,上述存储器控制装置还包括纠错码生成单元, 对从外部输入的数据,生成纠错码;地址判断单元,判断从外部输入 的地址是否包含在规定的地址范围内;以及第2选择器,当通过上述 地址判断单元判断为从外部输入的地址包含在上述规定的地址范围 内时,将从外部输入的数据输出给上述纠错码生成单元,而当通过上 述地址判断单元判断为从外部输入的地址不包含在上述规定的地址 范围内时,将上述数据输出给上述存储器;上述选择器,当通过上述 地址判断单元判断为从外部输入的地址包含在上述规定的地址范围 内时,将从上述存储器读出的上述数据输出给上述纠错单元,而当通 过上述地址判断单元判断为从外部输入的地址不包含在上述规定的 地址范围内时,将从上述存储器读出的上述数据输出给外部;上述地 址变换单元,当通过上述地址判断单元判断为从外部输入的地址包含 在上述规定的地址范围内时,将从外部输入的地址变换成包括存放上 述纠错码的区域的上述存储器上的地址。根据这一构成,根据从外部输入的地址是否在存储器内规定的地 址范围内,由纠错单元进行错误检测及校正。这样,除程序数据之外, 还可以对程序的堆栈数据等对系统动作有影响的重要数据赋予纠错 码,存放在存储器中。从而,通过纠错码对对系统动作有影响的重要 数据进行保护,可以提高系统的坚固性。另外,由于可以将应附加纠 错码的区域控制在存储器内规定的地址范围内,所以可以削减存储器 容量。另外,也可以是,上述存储器控制装置还包括地址存储单元, 将用于决定上述规定的地址范围的值作为固定值进行保持;上述地址 判断单元,根据上述地址存储单元保持的用于决定上述规定的地址范 围的值,判断从外部输入的地址是否包含在上述规定的地址范围内。根据这一构成,可以按每个系统自由设定存储器内存放赋予了纠 错码的数据的地址范围,可以应用于各种装置中。另外,也可以是,上述存储器控制装置还包括地址存储单元, 保持从外部输入的用于决定上述规定的地址范围的值;上述地址判断 单元,根据上述地址存储单元保持的用于决定上述规定的地址范围的 值,判断从外部输入的地址是否包含在上述规定的地址范围内。根据这一构成,可以按每个系统自由设定存储器内存放赋予了纠 错码的数据的地址范围,可以应用于各种装置中。另外,也可以是,上述存储器控制装置,至少通过来自直接存储 器存取控制装置的指令,从存储器读出包括纠错码的数据,上述选择 器,当是来自上述直接存储器存取控制装置的读出指令时,将从上述 存储器读出的上述数据及上述纠错码,输出给上述直接存储器存取控 制装置。根据这一构成,当从外部调试软件转储存储器内容时,即使不通 过纠错单元,也可以用调试软件进行错误检测及纠错。这样,调试软 件可以对存储器保持的数据进行正常转储。另外,也可以是,上述存储器控制装置,根据从具有CPU的微 型机块及直接存储器存取控制装置发出的指令,从存储器读出包括纠 错码的数据,上述选择器,在从上述微型机块读出程序数据时成为第 1逻辑的指令读出信号是上述第1逻辑的情况下,或者在从上述直接 存储器存取控制装置读出数据时成为第2逻辑的直接存储器存取读 出信号是上述第2逻辑的情况下,将从上述存储器读出的上述数据输 出给上述纠错单元,而在上述指令读出信号不是上述第1逻辑、且上 述直接存储器存取读出信号不是上述第2逻辑的情况下,将从上述存 储器读出的上述数据输出给上述微型机块或上述直接存储器存取控 制装置。根据这一构成,当从外部的调试软件转储存储器内容时,以DMA 读出信号为控制信号,在存储器控制装置内进行错误检测及纠错。这 样,就不必用调试软件进行错误检测及纠错,可以减少调试软件中的 处理量。
另外,也可以是,上述存储器控制装置,根据来自具有CPU的 微型机块的指令,从存储器读出包括纠错码的数据;上述微型机块包 括总线控制单元,将来自上述CPU的指令分配给上述存储器控制 装置或其他装置;以及寄存器,保持用于决定上述总线控制单元的分 配目的地的信息;上述存储器控制装置还包括寄存器设定变更单元, 当上述纠错单元检测出错误时,变更上述寄存器保持的信息。
根据这一构成,当在读出的数据中检测出错误时,可以不用本来 在存储器上的程序数据,而从与存储器总线不同的系统总线上配置的 程序ROM等中读出程序数据,执行处理。即,可以不使用发生了错 误的存储器执行处理,可以提高系统的坚固性。
另外,也可以是,上述存储器控制装置,根据来自具有CPU的 微型机块的指令,从存储器读出包括纠错码的数据;上述CPU具有 保持表示程序配置场所的信息的寄存器;上述存储器控制装置还包 括寄存器设定变更单元,当上述纠错单元检测出错误时,变更上述 寄存器保持的信息。
根据这一构成,当在读出的数据中检测出错误时,可以不用本来 在存储器上的程序数据,而从与存储器总线不同的系统总线上配置的 程序ROM等中读出程序数据,执行处理。即,可以不使用发生了错 误的存储器执行处理,可以提高系统的坚固性。
另外,本发明所涉及的计算机系统,包括存储器控制装置,从 存储器读出包括纠错码的数据;数据区域插入单元,在对程序源进行 了编译后的目标程序中插入规定大小的数据区域;地址解析单元,包 括上述数据区域插入单元插入的上述数据区域而进行上述目标程序 中的操作数的地址解析;纠错码计算单元,计算上述目标程序的纠错 码;以及纠错码写入单元,将由上述纠错码计算单元算出的纠错码, 写入上述数据区域;上述存储器控制装置,通过上述纠错码写入单元,将在上述数据区域写入了纠错码的目标程序写入上述存储器;上述存 储器控制装置包括纠错单元,根据上述纠错码,对上述数据进行错 误检测及纠错,并将进行了错误检测及纠错的数据输出给外部;以及 选择器,选择是将从上述存储器读出的上述数据输出给上述纠错单 元,还是将从上述存储器读出的上述数据输出给外部。根据这一构成,即使附加纠错码,程序内的操作数,也可考虑纠 错码的区域而进行地址解析。从而,外部装置可以不进行地址变换, 对存储器中所保持的数据进行存取。另外,本发明所涉及的计算机系统,包括存储器;存储器控制 装置,对上述存储器进行包括纠错码的数据的写入及读出;以及微型 机块,对上述存储器控制装置发出向上述存储器进行的数据写入及读 出指令;上述存储器控制装置包括纠错单元,根据上述纠错码,对 上述数据进行错误检测及纠错,并将进行了错误检测及纠错的数据输 出给外部;以及选择器,选择是将从上述存储器读出的上述数据输出 给上述纠错单元,还是将从上述存储器读出的上述数据输出给外部。根据这一构成,对于存储器中存放的赋予了纠错码的数据,纠错 单元可以进行错误检测及纠错,将错误检测及纠错后的数据输出给外 部。而对于存储器中存放的未赋予纠错码的数据,不进行错误检测及 纠错,将数据输出给外部。这样,可以对于需要高可靠性的数据,赋 予纠错码,而对于不需要高可靠性的数据,不赋予纠错码,存放在存 储器中。从而,由于可以削减对不需要高可靠性的数据的纠错码的数 据区域,所以与对存储器的全部数据赋予多余纠错码的情况相比,可 以削减存储器容量。即,本发明可以提供既进行纠错、又抑制存储器 容量增加的计算机系统。另外,本发明所涉及的数据再现记录装置,包括存储器控制装 置,从存储器读出包括纠错码的数据;数据区域插入单元,在对程序 源进行了编译后的目标程序中插入规定大小的数据区域;地址解析单 元,包括上述数据区域插入单元插入的上述数据区域而进行上述目标 程序中的操作数的地址解析;纠错码计算单元,计算上述目标程序的 纠错码;以及纠错码写入单元,将由上述纠错码计算单元算出的纠错码,写入上述数据区域;上述存储器控制装置,通过上述纠错码写入 单元,将在上述数据区域写入了纠错码的目标程序写入上述存储器; 上述存储器控制装置包括纠错单元,根据上述纠错码,对上述数据 进行错误检测及纠错,并将进行了错误检测及纠错的数据输出给外 部;以及选择器,选择是将从上述存储器读出的上述数据输出给上述 纠错单元,还是将从上述存储器读出的上述数据输出给外部。根据这一构成,对于存储器中存放的赋予了纠错码的数据,纠错 装置可以进行错误检测及纠错,将错误检测及纠错后的数据输出给外 部。而对于存储器中存放的未赋予纠错码的数据,可以不进行错误检 测及纠错,将数据输出给外部。这样,可以对于需要高可靠性的数据, 赋予纠错码,而对于不需要高可靠性的数据,不赋予纠错码,存放在 存储器中。从而,由于可以削减对不需要高可靠性的数据的纠错码的 数据区域,所以与对存储器的全部数据赋予多余纠错码的情况相比, 可以削减存储器容量。即,本发明可以提供既进行纠错、又抑制存储 器容量增加的数据再现记录装置。另外,本发明所涉及的程序数据的生成方法,该程序数据通过存 储器控制装置写入上述存储器中,其特征在于上述存储器控制装置 从存储器读出包括纠错码的数据,并包括纠错单元,根据上述纠错 码,对上述数据进行错误检测及纠错,并将进行了错误检测及纠错的 数据输出给外部;以及选择器,选择是将从上述存储器读出的上述数 据输出给上述纠错单元,还是将从上述存储器读出的上述数据输出给 外部;上述程序数据的生成方法包括数据区域插入步骤,在对程序 源进行了编译后的目标程序中插入规定大小的数据区域;地址解析步 骤,包括上述数据区域插入步骤中插入的上述数据区域而进行上述目 标程序中的操作数的地址解析;纠错码计算步骤,计算上述目标程序 的纠错码;以及纠错码写入步骤,将上述纠错码计算步骤中算出的纠 错码,写入上述数据区域。这样,即使附加纠错码,程序内的操作数,也可考虑纠错码的区 域而进行地址解析。从而,外部装置可以不进行地址变换,对存储器 中所保持的数据进行存取。从以上看出,本发明可以提供一种存储器控制装置,既进行纠错、 又抑制存储器容量的增加。


图1是表示现有的计算机系统的构成图。图2是表示现有的计算机系统的构成图。图3是表示本发明的实施方式1所涉及的计算机系统的构成图。 图4是表示本发明的实施方式1所涉及的计算机系统中的程序映象(program image)生成方法流程的流程图。图5是用于说明本发明的实施方式1所涉及的计算机系统中的程序映象生成方法的图。图6是表示本发明的实施方式2所涉及的计算机系统的构成图。 图7是表示本发明的实施方式2所涉及的计算机系统的地址变换部的构成图。图8是模式化表示存储器的存储器地址和存取请求地址间关系 的图。图9是模式化表示存储器的存储器地址和存取请求地址间关系 的图。图10是表示本发明的实施方式3所涉及的计算机系统的构成图。 图11是表示本发明的实施方式4所涉及的计算机系统的构成图。 图12是表示本发明的实施方式5所涉及的计算机系统的构成图。 图13是表示本发明的实施方式6所涉及的计算机系统的构成图。 图14是表示本发明的实施方式7所涉及的计算机系统的构成图。
具体实施方式
下面参照附图,对本发明的实施例中的存储器控制装置进行说明。(实施方式l)本发明的实施方式1所涉及的存储器控制装置,对从存储器读出 的数据,选择地进行错误检测及纠错。这样,可以从存储器读出赋予纠错码的数据、及未赋予纠错码的数据。首先,说明本发明的实施方式1所涉及的存储器控制装置的构成。图3是表示具有本发明的实施方式1所涉及的存储器控制装置的 计算机系统的构成图。图3中所示的计算机系统100,例如是在DVD记录器等数据再 现记录装置中所使用的计算机系统。计算机系统IOO,包括微型机块 110、存储器控制装置120、及存储器130。存储器130,例如是可以以64位为单位进行数据读出及写入的 RAM等。存储器130,保持多个程序数据131、对应于各程序数据 131的纠错码132、及程序以外的数据133。此处,程序以外的数据 133例如是视频数据及音频数据等不需要纠错的数据。微型机块110,对存储器控制装置120发出向存储器130进行数 据读出及写入的指令。微型机块110,包括总线控制单元(Bus Control Unit: Bcu) 111、微型机核心112、 CPU核心115、 CI总线116、及 CD总线117。总线控制单元111,对CI总线116及CD总线117进行控制。 微型机核心112.在程序数据的读出指令时(指令读出时),生 成有效的指令读出信号124。微型机核心112,具有指令高速缓冲存 储器113、及数据高速缓冲存储器114。指令高速缓冲存储器113保 持对存储器控制装置120等的指令。数据高速缓冲存储器114保持根 据指令进行写入或读出的数据。CPU核心115进行指令发行等的微 型机块110的控制。CI总线116是指令高速缓冲存储器113和总线控制单元111间 的总线。CD总线117是数据高速缓冲存储器114和总线控制单元111 间的总线。存储器控制装置120根据微型机块110发出的指令,向存储器 130进行程序数据131、纠错码132及程序以外的数据133的写入及 读出。存储器控制装置120包括选择器121、纠错部122、及指令置 换部123。选择器121,根据指令读出信号124,选择将从存储器130读出 的数据(程序数据131、纠错码132及程序以外的数据133)是输出 给纠错部122、还是输出给微型机块110。具体地说,选择器121, 当指令读出信号124有效时,将从存储器130读出的数据输出给纠错 部122。选择器121,当指令读出信号124是无效时,将从存储器130 读出的数据不通过纠错部122及指令置换部123,输出给微型机块 110。纠错部122,根据从存储器130读出的程序数据131及纠错码 132,对从存储器130读出的程序数据131进行错误检测及纠错。纠 错部122,将进行了错误检测及纠错的程序数据131、及纠错码132 输出给指令置换部123。指令置换部123,将纠错部122输出的纠错码132置换成与CPU 核心115动作无关的指令,输出给微型机块IIO。例如,指令置换部 123将纠错部122输出的纠错码132转换成nop指令,输出给微型机 块IIO。另外,指令置换部123将由纠错部122进行了纠错的数据输 出给微型机块110。纠错部122,也可以将进行了错误检测及纠错的 程序数据131不通过指令置换部123,而输出给微型机块110。 下面,说明计算机系统100的动作。 首先,说明将程序数据131写入存储器130的动作。 微型机块110,生成对写入存储器130中的程序数据131赋予纠 错码132的程序映象134。下面,对由微型机块110生成程序映象134 的处理进行详细说明。例如,微型机块110通过软件处理,生成程序 映象134。图4是表示配置在存储器130中的程序映象134生成方法流程的 流程图。图5是用于说明程序映象134生成方法的图。首先,微型机块IIO,按每个对程序源进行编译后的规定大小的 目标程序(object) 140,插入规定大小的数据区域141 (S101)。例 如,如图5中所示,在jmp指令142、与表示jmp指令142转移目的 地的标签143之间插入数据区域141。此处,规定大小的数据区域的 大小,与对规定大小的目标程序的纠错码大小相同。例如,规定大小的目标程序140是512位的目标程序,规定大小的数据区域141是 64位的数据区域。接着,微型机块110,包括步骤S101插入的数据 区域141,对目标程序140中的操作数(operand)进行地址解析(S102)。 具体地说,在图5中所示的例子中,jmp指令142的操作数,考虑从 jmp指令142的位置到包括规定大小的数据区域141的区域部分的标 签143的距离进行地址解析。接着,微型机块110计算每个规定大小 的目标程序140的纠错码132 (S103)。接着,微型机块110将在步 骤S103中算出的纠错码132写入数据区域141 (S104)。通过以上的处理,生成在每个规定大小的程序数据131中配置有 对规定大小的程序数据131的纠错码132的程序映象134。另外,在步骤S102,由于进行考虑到数据区域141的区域部分 的地址解析,所以对于数据区域141即使写入了纠错码B2,规定大 小的数据区域141和纠错码132的大小也是相同的,因此jmp指令 142的操作数变为考虑了纠错码132的区域部分进行地址解析的状 态。接着,微型机块110将生成的程序映象134及写入指令输出给存 储器控制装置120。存储器控制装置120将程序映象134写入存储器 130。通过以上步骤,赋予了纠错码132的程序数据131写入存储器 130中。下面,说明将程序以外的数据133写入存储器130的动作。 微型机块110,将程序以外的数据133及写入指令输出给存储器 控制装置120。存储器控制装置120将程序以外的数据133写入存储 器130。通过以上步骤,未赋予纠错码132的程序以外的数据133写 入存储器130中。下面,说明从存储器130读出程序数据131的动作。 微型机块110,对存储器控制装置120发出程序数据131的读出 指令。微型机块IIO,使指令读出信号124有效。存储器控制装置120,根据从微型机块110输出的指令,读出与 程序数据131对应的纠错码132。选择器121,由于指令读出信号124 是有效的,所以将读出的程序数据131及纠错码132输出给纠错部122。纠错部122,根据程序数据131及纠错码132,进行程序数据131 的错误检测及纠错。指令置换部123,将纠错部122输出的纠错码132 置换成与CPU核心115的动作无关的指令,输出给微型机块110。 另外,指令置换部123将通过纠错部122进行了纠错的程序数据131 输出给微型机块110。通过以上的步骤,从存储器130读出程序数据131。另外,当发 生了错误时,读出由纠错部122进行了纠错的程序数据131。下面,说明从存储器130读出程序以外的数据133的动作。微型机块110,对存储器控制装置120发出程序以外的数据133 的读出指令。微型机块IIO,使指令读出信号124无效。存储器控制装置120,根据从微型机块110输出的指令,读出程 序以外的数据133。选择器121,由于指令读出信号124是无效的, 所以使读出的程序以外的数据133不通过纠错部122及指令置换部123, 输出给微型机块110。通过以上步骤,可从存储器130读出程 序以外的数据133。以上本发明的实施方式1所涉及的存储器控制装置120,对于存 放在存储器130中的赋予了纠错码132的程序数据131,纠错部122 进行错误检测及纠错,将错误检测及纠错后的程序数据131输出给微 型机块110。而对于存放在存储器130中的未赋予纠错码132的程序 以外的数据133,不进行错误检测及纠错,将数据输出给微型机块 110。这样,可以对于需要高可靠性的程序数据131赋予纠错码132, 而对于不需要高可靠性的程序以外的数据133不赋予纠错码132,存 放在存储器130中。从而,可以削减对不需要高可靠性的程序以外的 数据133的纠错码132的数据区域,所以与对存储器的全部数据都赋 予纠错码的情况相比可以削减存储器容量。即,本发明可以提供既进 行纠错、又抑制存储器容量增加的存储器控制装置120。另外,本发 明可以提供既进行纠错、又抑制存储器容量增加的计算机系统100。 本发明还可以实现具有计算机系统100的抑制存储器容量增加的 DVD记录器等数据再现记录装置。另外,写入存储器130中的程序映象134考虑纠错码132的区域 部分进行地址解析。从而,微型机块110不必考虑纠错码132的区域 部分的地址。即,微型机块110不进行地址变换就可以对存储器130 中保持的数据进行存取。另外,通过指令置换部123,读出的纠错码132可置换成与CPU 核心115的动作无关的指令,输出给微型机块IIO。这样,在微型机 块110中即使不进行识别纠错码132的处理等,对系统动作也不会有 妨碍。另外,选择器121,在指令读出时通过有效的指令读出信号124 进行控制。从而,可以只对需要高可靠性的程序数据131赋予纠错码 132,存放在存储器中。在图5中,以jmp指令142的地址解析为例进行了说明,但是在 参照存储器上地址的其他指令(例如,分支指令等)中,在指令和参 照目标地址之间插入数据区域141时,只要进行同样的地址解析即 可。在上述说明中,微型机块110通过图4中所示处理,生成存储器 130中配置的程序映象134,但是也可以通过外部的计算机系统生成 程序映象134,并由微型机块IIO执行的专用写入程序或调试软件, 将程序映象134写入存储器130中。另外,在上述说明中,存储器130以64位为单位进行数据读出 及写入,但是存储器130的构成并不限定于此。存储器130也可以以 字节为单位或以字为单位(以多字节为单位)进行数据的读出及写入。另外,对于存储器130中保持的规定大小的程序数据131的纠错 码132的大小,可以设定任意的大小。 (实施方式2)本发明的实施方式2所涉及的存储器控制装置,将来自微型机块 的地址变换成考虑了保持纠错码区域的存储器上的地址。这样,微型 机块可以与对普通存储器进行存取一样对赋予了纠错码的数据进行 存取。首先,说明本发明的实施方式2所涉及的存储器控制装置的构成。图6是表示具有本发明的实施方式2所涉及的存储器控制装置的 计算机系统的构成图。图6中所示的计算机系统200,与图3中所示 的实施方式1所涉及的计算机系统100相比,存储器控制装置220的 构成不同,与图3相同的部分加有相同的标号,其详细说明予以省略。存储器控制装置220,具有选择器121、纠错部222、及地址变 换部223。选择器121,根据指令读出信号124,选择将从存储器130读出 的数据(程序数据131、纠错码132、及程序以外的数据133)是输 出给纠错部222、还是输出给微型机块IIO。具体地说,选择器121, 当指令读出信号124有效时,将从存储器130读出的数据输出给纠错 部222。选择器121,当指令读出信号124是无效时,将从存储器130 读出的数据不通过纠错部222,而输出给微型机块IIO。纠错部222,根据从存储器130读出的程序数据131及纠错码 132,对从存储器130读出的程序数据131进行错误检测及纠错。纠 错部222,将进行了错误检测及纠错的程序数据输出给微型机块110。 纠错部222,将纠错码132不输出给微型机块110。地址变换部223,根据规定的计算式,将从微型机块110输入的 存取请求地址224,变换成包含存放纠错码132的区域的存储器130 上的存储器地址225。地址变换部223由指令读出信号124进行控制。 具体地说,地址变换部223在指令读出信号124有效时,根据规定的 计算式,将存取请求地址224变换成存储器130上的存储器地址225。 地址变换部223在指令读出信号124无效时对存取请求地址224不变 换,输出给存储器130。图7是表示地址变换部223的详细构成图。地址变换部223,具有存储器地址计算部226,存储器地址计算 部226通过规定的计算式,从存取请求地址224向存储器130上的存 储器地址225进行地址变换。图8是模式化表示存储器130的存储器地址225和存取请求地址 224间关系的图。在图8中,存储器130为64位数据宽度,对每64位的数据赋予 8位纠错码132。从而,存储器地址225对存取请求地址224的每0x40 位错开8位。这样,存储器地址计算部226通过下式(1)计算存储 器地址225。ADDR=addr+(addr/0x40) X 8...... (1)此处,ADDR表示存储器地址225, addr表示存取请求地址224。 而(addr/0x40)是addr除以0x40的商。另夕卜,0x40等的地址是以位 为单位的地址。例如,根据上式(1),当存取请求地址224为0x40 时,存储器地址225为0x48。根据存储器130的数据宽度以及对每几位的数据赋予纠错码 132,确定存储器地址计算部226使用的计算式。图9是模式化表示 数据宽度为32位,每32位的数据均赋予8位的纠错码132时的存储 器130的存储器地址225与存取请求地址224间关系的图。例如,如 图9中所示,存储器130的数据宽度为32位,每32位的数据赋予8 位的纠错码132时,存储器地址225在存取请求地址224的每0x20 位错开8位。从而,由存储器地址计算部226执行的计算式为下式(2)。ADDR-addr十(addr/0x20) X8...... (2)艮P,即使存储器130的数据总线宽度变化,同样也可以计算出存 储器地址225。在上述说明中,作为存取请求地址224及存储器地址225采用了 以位为单位的地址,但是也可以是以字节为单位或以多字节为单位 (以字为单位)等的地址。下面,说明从存储器130读出程序数据131的动作。假设存取请 求地址224为0x40。首先,微型机块110,对存储器控制装置220输出程序数据131 的读出指令。微型机块110输出0x40,作为程序数据131的地址一 一即存取请求地址224。微型机块110使指令读出信号124为有效。地址变换部223,由于指令读出信号124是有效的,所以将存取 请求地址224变换成存储器130上的存储器地址225。存储器地址计 算部226通过上式(1)变换存取请求地址224,计算0x48作为存储器地址225 。存储器控制装置220读出计算出的存储器地址225( 0x48 ) 的程序数据131。另外,存储器控制装置220读出对应于读出的程序 数据131的纠错码132 (例如,存储器地址225读出0x88的数据)。选择器121,由于指令读出信号124是有效的,所以将读出的程 序数据131及纠错码132输出给纠错部222。纠错部222,根据程序数据131及纠错码132,对程序数据131 进行错误检测及纠错。纠错部222,将进行了错误检测及纠错的程序 数据输出给微型机块IIO。通过以上的步骤,从存储器130读出程序数据131。另外,当发 生了错误时,读出由纠错部222进行了纠错的程序数据131。下面,说明从存储器130读出程序以外的数据133的动作。微型机块110,对存储器控制装置220发出程序以外的数据133 的读出指令。微型机块IIO,使指令读出信号124无效。存储器地址计算部226,由于指令读出信号124是无效的,所以 对存取请求地址224不进行变换。存储器控制装置220以存取请求地 址224为存储器地址225读出程序以外的数据133。选择器121,由于指令读出信号124是无效的,所以将读出的程 序以外的数据133输出给微型机块110。通过以上的步骤,从存储器 130读出程序以外的数据133。下面,说明将程序数据131写入存储器130的动作。假设存取请 求地址224为0x40。首先,微型机块IIO对存储器控制装置220输出程序数据131的 写入指令。微型机块110输出0x40,作为写入程序数据131的地址 ——即存取请求地址224。微型机块110使指令读出信号124有效。地址变换部223,由于指令读出信号124是有效的,所以将存取 请求地址224变换成存储器130上的存储器地址225。存储器地址计 算部226通过上式(1)变换存取请求地址224,计算0x48作为存储 器地址225 。存储器控制装置220读出在算出的存储器地址225 ( 0x48 ) 的数据写入前的程序数据Bl。存储器控制装置220,根据读出的程 序数据(例如64位)、及接受了写入指令的程序数据(例如8位),计算出存储器130中写入的程序数据(例如64位)及纠错码132 (例 如8位)。存储器控制装置220将算出的程序数据131及纠错码132 写入存储器130。通过以上步骤,赋予了纠错码132的程序数据131 写入存储器130。关于写入的纠错码132的生成,将在下述的实施方 式3中说明。下面,说明将程序以外的数据133写入存储器130的动作。微型机块110,对存储器控制装置220发出程序以外的数据133 的写入指令。微型机块IIO,使指令读出信号124无效。存储器地址计算部226,由于指令读出信号124是无效的,所以 不变换存取请求地址224。存储器控制装置220以存取请求地址224 为存储器地址225,将程序以外的数据133写入存储器130。通过以 上步骤,未赋予纠错码132的程序以外的数据133写入存储器130中。以上,本发明的实施方式2所涉及的计算机系统200,从微型机 块IIO对未进行包括纠错码132区域的地址解析的程序映象234进行 存取时,通过地址变换部223进行纠错码132区域部分的地址校正。 这样,微型机块110可以不考虑纠错码132的区域部分,对程序数据 Bl进行存取。从而可以减少微型机块110中的处理量。另外,本发明的实施方式2所涉及的计算机系统200,只在由微 型机块110进行指令读出时,由地址变换部223进行地址变换及由纠 错部222进行错误检测及纠错。从而,可以只对程序数据131赋予纠 错码132并存放在存储器130中。另外,本发明的实施方式2所涉及的计算机系统200,只对需要 高可靠性的程序数据131赋予纠错码132,写入存储器130。而对于 视频数据及音频数据等不需纠错码的程序以外的数据133不赋予纠 错码,写入存储器130中。这样,可以削减对程序以外的数据133的 纠错码的数据区域,与对存储器的全部数据赋予多余校正码的情况相 比,可以削减存储器容量。 (实施方式3)本发明的实施方式3所涉及的存储器控制装置,根据来自微型机 块的地址,判断进行写入或读出的数据,是附加了纠错码的数据、还是未附加纠错码的数据。这样,微型机块通过只指定地址,就可以指 定附加或不附纠错码,在存储器中保持数据。首先,说明本发明的实施方式3所涉及的存储器控制装置的构成。图10是表示具有本发明的实施方式3所涉及的存储器控制装置 的计算机系统的构成图。图10中所示的计算机系统300,与图6中 所示的实施方式2所涉及的计算机系统200相比,存储器控制装置 320的构成不同,与图5相同的部分加有相同的标号,其详细说明予 以省略。存储器控制装置320,包括选择器121、纠错部222、地址变 换部223、纠错码生成部321,第2选择器322,地址存储部323,及 区域判断部324。纠错码生成部321,对从微型机块110输入的写入数据,生成纠错码。地址存储部323,将存储器130上的边界地址331作为固定值进 行保持。边界地址331,是用于决定存放附加了纠错码132的数据的 区域的地址范围的值。例如,如图10中所示,在存储器130中,将 比边界地址331的值小的地址作为存放附加了纠错码132的数据的有 ECC区域,而将比边界地址331的值大的地址作为存放未附加纠错 码B2的数据的无ECC区域。区域判断部324,根据地址存储部323保持的边界地址331,判 断从微型机块110输入的存取请求地址224,是否包含在地址存储部 323保持的存放附加了纠错码132的数据的地址范围内,具体地说, 区域判断部324,对来自微型机块110的存取请求地址224与地址存 储部323保持的边界地址331进行比较,判断存取请求地址224是否 包含在地址存储部323保持的地址范围内。区域判断部324将判断结 果作为区域判断信号325输出。地址变换部223、选择器121及第2 选择器322,通过区域判断部324输出的区域判断信号325进行控制。第2选择器322,根据区域判断部324输出的区域判断信号325, 将从微型机块110输入的写入数据输出给纠错码生成部321或存储器130。具体地说,第2选择器322,当通过区域判断部324判断为存 取请求地址224包含在存放附加了纠错码132的数据的地址范围内 时,将从微型机块110输入的写入数据输出给纠错码生成部321。第 2选择器322,当通过区域判断部324判断为存取请求地址224不包 含在存放附加了纠错码132的数据的地址范围内时,将从微型机块 IIO输入的写入数据,不通过纠错码生成部321,而输出给存储器130。地址变换部223,当由区域判断部324判断为存取请求地址224 包含在存放附加了纠错码132的数据的地址范围内时,将来自微型机 块110的存取请求地址224变换为包含存放了纠错码132的存储器 130上的存储器地址225,并输出给存储器130。地址变换部223,当 由区域判断部324判断为存取请求地址224不包含在存放附加了纠错 码132的数据的地址范围内时,不变换来自微型机块110的存取请求 地址224,而将其作为存储器地址225,输出给存储器130。选择器121,当由区域判断部324判断为存取请求地址224包含 在存放附加了纠错码132的数据的地址范围内时,将来自存储器130 的读出数据输出给纠错部222。选择器121,当由区域判断部324判 断为存取请求地址224不包含在存放附加了纠错码132的数据的地址 范围内时,将来自存储器130的读出数据,不通过纠错部222,而输 出给微型机块IIO。下面,说明计算机系统300的动作。首先,说明从存储器130读出程序数据131的动作(读出有ECC 区域的数据的动作)。首先,微型机块110,对存储器控制装置320输出程序数据131 的读出指令。微型机块110输出比边界地址331小的地址,作为读出 的程序数据131的地址——即存取请求地址224。区域判断部324,对存取请求地址224和地址存储部323保持的 边界地址331进行比较。此处,存取请求地址224由于比边界地址 331小,所以区域判断部324输出表示存取请求地址224比边界地址 331小的逻辑(例如、有效)的区域判断信号325。存储器地址计算部226,由于区域判断信号325是有效的,所以将存取请求地址224变换成存储器130上的存储器地址225。存储器 控制装置320读出变换后的存储器地址225的程序数据131,及对应 的纠错码132。地址变换的处理,与实施方式2相同,其详细说明予 以省略。选择器121,由于区域判断信号325是有效的,所以将读出的程 序数据131及纠错码132输出给纠错部222。纠错部222,根据读出 的程序数据131及纠错码132,对读出的程序数据131进行错误检测 及纠错。纠错部222,将进行了错误检测及纠错的程序数据131输出 给微型机块IIO。通过以上的步骤,从存储器130读出程序数据131。当发生错误 时,可读出由纠错部122进行了纠错的程序数据131。下面,对从存储器130读出程序以外的数据133的动作(读出无 ECC区域的数据的动作)进行说明。微型机块110,对存储器控制装置320输出程序以外的数据133 的读出指令。另外,微型机块110输出比边界地址331大的地址作为 程序以外的数据133的地址——即存取请求地址224。区域判断部324,对存取请求地址224和地址存储部323保持的 边界地址331进行比较。此处,由于存取请求地址224比边界地址 331大,所以区域判断部324输出表示存取请求地址224比边界地址 331大的逻辑(例如,无效)的区域判断信号325。存储器地址计算部226,由于区域判断信号325是无效的,所以 不变换存取请求地址224。存储器控制装置320以存取请求地址224 为存储器地址,读出程序以外的数据133。选择器121,由于区域判断信号325是无效的,所以将读出的程 序以外的数据133输出给微型机块110。通过以上的步骤,可从存储 器130读出程序以外的数据133。下面说明将程序数据131写入存储器130的动作(将数据写入有 ECC区域的动作)。首先,微型机块110对存储器控制装置320输出程序数据131的 写入指令。微型机块IIO,输出比边界地址331小的地址,作为写入程序数据131的地址——即存取请求地址224。区域判断部324,对存取请求地址224和地址存储部323保持的 边界地址331进行比较。此处,由于存取请求地址224比边界地址 331小,所以区域判断部324输出表示存取请求地址224比边界地址 331小的逻辑(例如,有效)的区域判断信号325。存储器地址计算部226,由于区域判断信号325是有效的,所以 将存取请求地址224变换为存储器130上的存储器地址225。第2选择器322,由于区域判断信号325是有效的,所以将来自 微型机块110的写入程序数据131输出给纠错码生成部321。纠错码 生成部321从写入的程序数据131生成纠错码132。存储器控制装置320,在变换后的存储器地址225中,写入来自 微型机块110的程序数据131及纠错码生成部321生成的纠错码132。 通过以上步骤,在存储器130中写入赋予了纠错码132的程序数据 131。下面,对将程序以外的数据133写入存储器130的动作(在无 ECC区域写入数据的动作)进行说明。微型机块110,对存储器控制装置320输出程序以外的数据133 的写入指令。另外,微型机块110输出比边界地址331大的地址作为 写入数据133的地址——即存取请求地址224。区域判断部324,对存取请求地址224和地址存储部323保持的 边界地址331进行比较。此处,由于存取请求地址224比边界地址 331大,所以区域判断部324输出表示存取请求地址224比边界地址 331大的逻辑(例如,无效)的区域判断信号325。存储器地址计算部226,由于区域判断信号325是无效的,所以 不变换存取请求地址224。第2选择器322,由于区域判断信号325 是无效的,所以将来自微型机块110的写入数据133输出给存储器 130。存储器控制装置320,以来自微型机块110的存取请求地址224 为存储器地址225,写入来自微型机块110的程序以外的数据133。 通过以上的步骤,在存储器130中写入未赋予纠错码132的程序以外的数据133。以上,本发明的实施方式3所涉及的计算机系统300,当存取请 求地址224处于有ECC区域的地址范围内时进行数据读出时,通过 地址变换部223进行地址变换,由纠错部222进行错误检测及校正。 另外,计算机系统300,当存取请求地址224处于有ECC区域的地 址范围内时进行数据写入时,通过地址变换部223进行地址变换,通 过纠错码生成部321生成纠错码132。这样,不仅对上述的实施方式 1及2所示的程序映像,而且可以对程序的堆栈数据等对系统动作有 影响的重要数据也附加纠错码132,存放在存储器130中。从而,通 过纠错码132保护对系统动作有影响的重要数据,可以提高系统的坚 固性。另外,由于可以使应附加纠错码132的区域控制在存储器130 内的规定地址范围内,所以可以削减存储器的容量。另外,本发明的实施方式3所涉及的计算机系统300,具有保持 用于决定有ECC区域的地址范围的值的地址存储部323。这样,可 以按每个系统自由设定在存储器130内存放赋予了纠错码132的数据 的地址范围,可以应用在各种装置中。在上述说明中,决定了一个边界地址331,并假定在存取请求地 址224比边界地址331小时,在有ECC区域的地址范围内。但是也 可以假定在存取请求地址224比边界地址331大时,在有ECC区域 的地址范围内。另外,也可以是2个边界地址331,使由2个边界地 址331夹着的地址区域为有ECC区域的地址范围。还可以是3个以 上边界地址331,指定更细的有ECC区域的地址范围。在上述说明中,地址存储部323将边界地址331作为固定值进行 保持,但是也可以在用户侧任意设定地址存储部323中保持的边界地 址331。 B即,地址存储部323也可以保持从外部输入的边界地址331。 (实施方式4)本发明的实施方式4所涉及的存储器控制装置,在从调试软件读 出时,将纠错码及程序数据输出给调试软件。这样,调试软件可以根 据纠错码及程序数据进行错误检测及纠错,并进行调试。图11是表示具有本发明的实施方式4所涉及的存储器控制装置的计算机系统的构成图。图11中所示的计算机系统400,与图6中 所示的实施方式2的计算机系统200的不同点是微型机块410的构 成、及具有PC (个人计算机)440。与图6相同的部分加有相同标号, 其详细说明予以省略。微型机块410,包括总线控制单元111、微型机核心112及DMA 控制装置(Direct Memory Access Controller: DMAC(直接存储器存取 控制器))411。DMA控制装置411,与微型机核心112—样,通过总线控制单 元111读出存储器130保持的数据。DMA控制装置411将读出的程 序数据131及纠错码132输出给PC440。在计算机系统400中,存储器控制装置220根据微型机核心112 及DMA控制装置411输出的指令,从存储器130读出包含纠错码132 的数据。PC440具有调试软件441。调试软件441经过调试单元(图中未 示出),与微型机块410相连接。调试软件441通过DMA控制装置 411从存储器130进行读出,对存储器130保持的数据进行调试。另 外,调试软件441根据读出的程序数据131及纠错码132,对读出的 程序数据131进行错误检测及纠错。选择器121,当从DMA控制装置411读出时,将从存储器130 读出的程序数据131及纠错码132,不通过纠错部222,而输出给微 型机块410的DMA控制装置411 。根据以上的构成,调试软件441可以不通过DMA控制装置411 及存储器控制装置320,读出存储器130保持的程序数据131及纠错 码132。另外,DMA控制装置411根据读出的程序数据131及纠错 码132,对读出的程序数据131进行错误检测及纠错。以上,本发明的实施方式4所涉及的计算机系统400,当通过 PC440上的调试软件441读出存储器130保持的数据时,由调试软件 441进行程序数据131的错误检测及纠错。这样,即使在存储器控制 装置220中不增加硬件,也可以由调试软件441对存储器130的程序 数据131进行无错误地转储(夕'yy),进行调试。(实施方式5)本发明的实施方式5所涉及的存储器控制装置,在从调试软件读 出时,进行错误检测及纠错,只将程序数据输出给调试软件。这样, 也可以不用调试软件进行错误检测及纠错。图12是表示具有本发明的实施方式5所涉及的存储器控制装置 的计算机系统的构成图。图12中所示的计算机系统500,与图11中 所示的实施方式4的计算机系统400的不同点是PC440具有的调试 软件541及微型机块410具有的DMA控制装置511的构成,以及存 储器控制装置220的选择器121及地址变换部223的控制方法。与图 ll相同的部分加有相同标号,其详细说明予以省略。DMA控制装置511,与微型机核心112 —样通过总线控制单元 111读出存储器130保持的数据。另外,DMA控制装置511在从DMA 控制装置511读出存储器130中保持的数据时,生成有效的DMA读 出信号510,而在从DMA控制装置511读出存储器130中保持的数 据之外,生成无效的DMA读出信号510。在计算机系统500中,存储器控制装置220根据微型机核心112 及DMA控制装置511输出的指令,从存储器130读出包含纠错码132 的数据。调试软件541,经过调试单元(图中未示出),与微型机块410 相连接。调试软件541通过DMA控制装置511,从存储器130进行 读出,并对存储器130保持的数据进行调试。选择器121,当来自DMA控制装置511的DMA读出信号510 及指令读出信号124中的至少一方为有效时,将从存储器130读出的 程序数据131及纠错码132输出给纠错部222。选择器121,当DMA 读出信号510及指令读出信号124都是无效时,将从存储器130读出 的程序数据不通过纠错部222,而输出给微型机块410。地址变换部223,当DMA读出信号510及指令读出信号124中 的至少一方为有效时,将来自微型机块410的存取请求地址224变换 成存储器130上的存储器地址225,输出给存储器130。地址变换部 223,当DMA读出信号510及指令读出信号124都是无效时,对来自微型机块110的存取请求地址224不进行变换,而作为存储器地址 225输出给存储器130。根据以上的构成,通过PC440上的调试软件541读出存储器130 保持的数据时,DMA控制装置511使DMA读出信号510有效。由 此,地址变换部223将存取请求地址224变换成存储器130上的存储 器地址225。存储器控制装置220,读出变换后的存储器地址225的 程序数据131及纠错码132。选择器121将读出的程序数据131及纠 错码132输出给纠错部222。纠错部222,根据读出的程序数据131 及纠错码132,进行程序数据131的错误检测及纠错。纠错部222, 将进行了错误检测及纠错的程序数据131输出给微型机块410。DMA 控制装置511通过总线控制单元111取得来自纠错部222的进行了错 误检测及纠错的程序数据131,输出给调试软件541。通过以上步骤, 进行了错误检测及纠错的程序数据131输出给调试软件541。在上述的实施方式2所涉及的计算机系统200中,选择了是只由 指令读出信号124的控制将从存储器130读出的数据输出给纠错部 222、还是直接输出给微型机块110。从而,当从调试软件541读出 存储器130保持的数据时,可读出程序数据131及纠错码132。对于 想对程序进行调试的用户来说,纠错码132是不需要的数据。另一方 面,实施方式5所涉及的计算机系统500,选择器121及地址变换部 223通过指令读出信号124及DMA读出信号510进行控制。从而, 当从调试软件541读出存储器130保持的数据时,可读出经过错误检 测及纠错后的程序数据131。以上,本发明的实施方式5所涉及的计算机系统500,即使从调 试软件541读出存储器130的内容,也可以与普通的存储器(无ECC 的存储器) 一样只读出程序数据。另外,由于存储器控制装置220进 行错误检测及纠错,所以没必要在调试软件541上进行错误检测及纠 错的处理。(实施方式6)本发明的实施方式6所涉及的存储器控制装置,当在存储器保持 的程序数据中检测出错误时,通过控制总线控制单元,变更参照程序数据的存储器。这样,微型机块,在发生错误时,可以从其他存储器 读出程序数据。图13是表示具有本发明的实施方式6所涉及的存储器控制装置 的计算机系统的构成图。图13中所示的计算机系统600,与图6中 所示的实施方式2的计算机系统200的不同点是存储器控制装置620 及微型机块610的构成,以及具有系统总线614及程序ROM615。与 图6相同的部分加有相同标号,其详细说明予以省略。微型机块610,包括总线控制单元611、微型机核心112、及系 统总线控制器(System Bus Controller: SBC) 612。系统总线控制器612对系统总线614进行控制。程序ROM 615 配置在系统总线614上。总线控制单元611,将通过CI总线116及CD总线117发出的来 自微型机核心112的存取请求,分配给存储器控制装置620、或系统 总线控制器612。具体地说,总线控制单元611根据来自CI总线116 及CD总线117的存取请求的地址值,将存取请求分配给存储器控制 装置620、或系统总线控制器612。总线控制单元611具有总线控制 寄存器613。总线控制寄存器613保持用于决定总线控制单元611的 存取请求的分配目的地的信息。存储器控制装置620,包括选择器121、纠错部622、地址变换 部223、及寄存器设定变更部624。纠错部622,根据从存储器130读出的程序数据131及纠错码 132,对从存储器130读出的程序数据131进行错误检测及纠错。纠 错部622当在数据中检测出错误时使错误检测信号625为有效。寄存器设定变更部624,当错误检测信号625变为有效时(纠错 部622检测出错误时),变更总线控制寄存器613保持的信息。具体 地说,寄存器设定变更部624,将总线控制寄存器613中保持的存储 器130的地址,变更为系统总线控制器612的地址。这样,总线控制 单元611,使本来对存储器130进行的来自CI总线116或CD总线 117的存取请求,变为对系统总线控制器612进行。如上所述,本发明的实施方式6所涉及的存储器控制装置600,当纠错部622检测出存储器130上的程序数据131错误时,可变更总 线控制寄存器613的设定。这样,对存储器130的存取转到对系统总 线控制器612。这样,在系统总线614上配置程序ROM615,不使用 发生了错误的存储器,而使用程序ROM615的数据就可以继续系统 的动作。从而可以提高计算机系统600的坚固性。 (实施方式7)本发明的实施方式7所涉及的存储器控制装置,当在存储器保持 的程序数据中检测出错误时,通过控制CPU核心,变更参照程序数 据的存储器。这样,微型机块,在发生错误时,可以从其他存储器读 出程序数据。图14是表示具有本发明的实施方式7所涉及的存储器控制装置 的计算机系统的构成图。图14中所示的计算机系统700,与图13中 所示的实施方式6的计算机系统600的不同点是微型机块710的CPU 核心715的构成、及存储器控制装置620的寄存器设定变更部724的 构成。与图13相同的部分加有相同标号,其详细说明予以省略。微型机块710,包括总线控制单元111、及微型机核心712。微 型机核心712包括指令高速缓冲存储器113、数据高速缓冲存储器 114、及CPU核心715。 CPU核心715具有陷阱基址寄存器(TBR) 716。陷阱基址寄存器716是保持表示程序配置场所的信息的寄存器, 具体地说,陷阱基址寄存器716保持表示中断处理程序的地址的中断 向量的配置场所的信息。此处所谓中断处理程序(handler),是用于 在CPU核心715的处理中发生中断时,中断当前执行中的处理,进 行中断处理而进行分支的特殊程序。通常时,为了在存储器130上配 置中断向量,在陷阱基址寄存器716中,设定表示系统起动时存储器 130上地址的信息。寄存器设定变更部724,当错误检测信号625变成有效时(纠错 部622检测出错误时),变更陷阱基址寄存器716保持的信息。具体 地说,寄存器设定变更部724当错误检测信号625为有效时,将陷阱 基址寄存器716的设定变更为系统总线上的程序ROM等的地址。如上所述,本发明的实施方式7所涉及的计算机系统700,当纠 错部622检测出错误,且发生错误中断时,变更陷阱基址寄存器716 的值。这样,微型机块710,可以在不使用发生错误的存储器130的 情况下执行中断处理。从而可以提高计算机系统700的坚固性。 (产业应用性)本发明可以适用于存储器控制装置,特别是可以适用于对从存储 器读出的数据进行纠错的DVD记录器等数据再现记录装置中。
权利要求
1、一种存储器控制装置,从存储器读出包括纠错码的数据,其特征在于,包括纠错单元,根据上述纠错码,对上述数据进行错误检测及纠错,并将进行了错误检测及纠错的数据输出给外部;以及选择器,选择是将从上述存储器读出的上述数据输出给上述纠错单元、还是将从上述存储器读出的上述数据输出给外部。
2、 如权利要求1所述的存储器控制装置,其特征在于 上述存储器控制装置,根据来自具有CPU的微型机块的指令,从存储器读出包括纠错码的数据; 上述存储器控制装置还包括指令置换单元,将上述纠错码置换成与上述CPU的动作无关的 指令并输出给外部。
3、 如权利要求1所述的存储器控制装置,其特征在于: 上述存储器控制装置还包括地址变换单元,将从外部输入的地址,变换成包括存放上述纠错 码的区域的上述存储器上的地址。
4、 如权利要求3所述的存储器控制装置,其特征在于 上述存储器控制装置,根据来自具有CPU的微型机块的指令,从存储器读出包括纠错码的数据;上述选择器,在从上述微型机块读出程序数据时成为第1逻辑的 指令读出信号是上述第1逻辑的情况下,将从上述存储器读出的上述 数据输出给上述纠错单元,而在上述指令读出信号不是上述第1逻辑 的情况下,将从上述存储器读出的上述数据输出给上述微型机块;上述地址变换单元,当上述指令读出信号是上述第1逻辑时,将 从上述微型机块输入的地址变换成包括存放上述纠错码的区域的上 述存储器上的地址。
5、 如权利要求3所述的存储器控制装置,其特征在于 上述存储器控制装置还包括纠错码生成单元,对从外部输入的数据,生成纠错码;地址判断单元,判断从外部输入的地址是否包含在规定的地址范围内;以及第2选择器,当通过上述地址判断单元判断为从外部输入的地址 包含在上述规定的地址范围内时,将从外部输入的数据输出给上述纠 错码生成单元,而当通过上述地址判断单元判断为从外部输入的地址 不包含在上述规定的地址范围内时,将上述数据输出给上述存储器;上述选择器,当通过上述地址判断单元判断为从外部输入的地址 包含在上述规定的地址范围内时,将从上述存储器读出的上述数据输 出给上述纠错单元,而当通过上述地址判断单元判断为从外部输入的 地址不包含在上述规定的地址范围内时,将从上述存储器读出的上述 数据输出给外部;上述地址变换单元,当通过上述地址判断单元判断为从外部输入 的地址包含在上述规定的地址范围内时,将从外部输入的地址变换成 包括存放上述纠错码的区域的上述存储器上的地址。
6、 如权利要求5所述的存储器控制装置,其特征在于 上述存储器控制装置还包括地址存储单元,将用于决定上述规定的地址范围的值作为固定值 进行保持;上述地址判断单元,根据上述地址存储单元保持的用于决定上述 规定的地址范围的值,判断从外部输入的地址是否包含在上述规定的 地址范围内。
7、 如权利要求5所述的存储器控制装置,其特征在于-上述存储器控制装置还包括地址存储单元,保持从外部输入的用于决定上述规定的地址范围 的值;上述地址判断单元,根据上述地址存储单元保持的用于决定上述 规定的地址范围的值,判断从外部输入的地址是否包含在上述规定的 地址范围内。
8、 如权利要求1所述的存储器控制装置,其特征在于 上述存储器控制装置,至少通过来自直接存储器存取控制装置的指令,从存储器读出包括纠错码的数据,上述选择器,当是来自上述直接存储器存取控制装置的读出指令 时,将从上述存储器读出的上述数据及上述纠错码,输出给上述直接 存储器存取控制装置。
9、 如权利要求1所述的存储器控制装置,其特征在于 上述存储器控制装置,根据来自具有CPU的微型机块及直接存储器存取控制装置的指令,从存储器读出包括纠错码的数据,上述选择器,在从上述微型机块读出程序数据时成为第1逻辑的 指令读出信号是上述第1逻辑的情况下,或者在从上述直接存储器存取控制装置读出数据时成为第2逻辑的直接存储器存取读出信号是 上述第2逻辑的情况下,将从上述存储器读出的上述数据输出给上述 纠错单元,而在上述指令读出信号不是上述第1逻辑、且上述直接存 储器存取读出信号不是上述第2逻辑的情况下,将从上述存储器读出 的上述数据输出给上述微型机块或上述直接存储器存取控制装置。
10、 如权利要求1所述的存储器控制装置,其特征在于上述存储器控制装置,根据来自具有CPU的微型机块的指令, 从存储器读出包括纠错码的数据; 上述微型机块包括总线控制单元,将来自上述CPU的指令分配给上述存储器控制 装置或其他装置;以及寄存器,保持用于决定上述总线控制单元的分配目的地的信息; 上述存储器控制装置还包括寄存器设定变更单元,当上述纠错单元检测出错误时,变更上述 寄存器保持的信息。
11、 如权利要求1所述的存储器控制装置,其特征在于 上述存储器控制装置,根据来自具有CPU的微型机块的指令,从存储器读出包括纠错码的数据;上述CPU具有保持表示程序配置场所的信息的寄存器; 上述存储器控制装置还包括寄存器设定变更单元,当上述纠错单元检测出错误时,变更上述寄存器保持的信息。
12、 一种计算机系统,其特征在于,包括 存储器控制装置,从存储器读出包括纠错码的数据; 数据区域插入单元,在对程序源进行了编译后的目标程序中插入规定大小的数据区域;地址解析单元,包括上述数据区域插入单元插入的上述数据区域而进行上述目标程序中的操作数的地址解析;纠错码计算单元,计算上述目标程序的纠错码;以及 纠错码写入单元,将由上述纠错码计算单元算出的纠错码,写入上述数据区域;上述存储器控制装置,通过上述纠错码写入单元,将在上述数据 区域中写入了纠错码的目标程序写入上述存储器; 上述存储器控制装置包括纠错单元,根据上述纠错码,对上述数据进行错误检测及纠错, 并将进行了错误检测及纠错的数据输出给外部;以及选择器,选择是将从上述存储器读出的上述数据输出给上述纠错 单元,还是将从上述存储器读出的上述数据输出给外部。
13、 一种计算机系统,其特征在于,包括 存储器;存储器控制装置,对上述存储器进行包括纠错码的数据的写入及 读出;以及微型机块,对上述存储器控制装置发出向上述存储器进行数据写 入及读出的指令;上述存储器控制装置包括纠错单元,根据上述纠错码,对上述数据进行错误检测及纠错, 并将进行了错误检测及纠错的数据输出给外部;以及选择器,选择是将从上述存储器读出的上述数据输出给上述纠错 单元,还是将从上述存储器读出的上述数据输出给外部。
14、 一种数据再现记录装置,其特征在于,包括 存储器控制装置,从存储器读出包括纠错码的数据;数据区域插入单元,在对程序源进行了编译后的目标程序中插入规定大小的数据区域;地址解析单元,包括上述数据区域插入单元插入的上述数据区域而进行上述目标程序中的操作数的地址解析;纠错码计算单元,计算上述目标程序的纠错码;以及 纠错码写入单元,将由上述纠错码计算单元算出的纠错码,写入上述数据区域;上述存储器控制装置,通过上述纠错码写入单元,将在上述数据 区域中写入了纠错码的目标程序写入上述存储器; 上述存储器控制装置包括纠错单元,根据上述纠错码,对上述数据进行错误检测及纠错, 并将进行了错误检测及纠错的数据输出给外部;以及选择器,选择是将从上述存储器读出的上述数据输出给上述纠错 单元,还是将从上述存储器读出的上述数据输出给外部。
15、 一种程序数据的生成方法,该程序数据通过存储器控制装置 写入上述存储器中,其特征在于上述存储器控制装置从存储器读出包括纠错码的数据,并包括纠错单元,根据上述纠错码,对上述数据进行错误检测及纠错, 并将进行了错误检测及纠错的数据输出给外部;以及选择器,选择是将从上述存储器读出的上述数据输出给上述纠错 单元,还是将从上述存储器读出的上述数据输出给外部;上述程序数据的生成方法包括数据区域插入步骤,在对程序源进行了编译后的目标程序中插入 规定大小的数据区域;地址解析步骤,包括上述数据区域插入步骤中插入的上述数据区 域而进行上述目标程序中的操作数的地址解析;纠错码计算步骤,计算上述目标程序的纠错码;以及纠错码写入步骤,将上述纠错码计算步骤中算出的纠错码,写入 上述数据区域。
全文摘要
本发明涉及存储器控制装置、计算机系统及数据再现记录装置。本发明所涉及的存储器控制装置,从存储器读出包括纠错码的数据,该存储器控制装置包括纠错单元,根据上述纠错码,对上述数据进行错误检测及纠错,并将进行了错误检测及纠错的数据输出给外部;以及选择器,选择是将从上述存储器读出的上述数据输出给上述纠错单元、还是将从上述存储器读出的上述数据输出给外部。
文档编号G06F11/10GK101221520SQ20071019660
公开日2008年7月16日 申请日期2007年11月29日 优先权日2006年11月29日
发明者出口直人, 山本泰宜, 隅田圭三 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1