纠错码生成方法以及存储器管理装置制造方法及图纸

技术编号:2821310 阅读:171 留言:0更新日期:2012-04-11 18:40
本发明专利技术的课题在于提供纠错码生成方法以及存储器管理装置,从而能够正确地纠正高速缓存的数据错误。存储处理装置(24)由检索时从高速缓存读出的存储对象区域外的数据生成nt-ECC。此外,判断在先存储命令的存储地址是否与当前存储命令的存储地址一致、和数据宽度是否与预定数据宽度一致。当存在同一存储地址的在先存储命令、且存储数据的数据宽度小于预定数据宽度时,将ECC有效信息设定为无效,将该ECC有效信息与nt-ECC对应起来存储到存储缓存(25)中。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及写入到高速缓存(cache memory)的数据的纠错码生成 方法以及存储器管理装置。
技术介绍
将从主存储器读出的数据存储到高速缓存,访问高速缓存的数据, 从而提高CPU的处理速度。对于高速缓存的数据,附加纠,昔5马(Error Correcting Code),以实现数据保护。专利文献1中记载了如下内容在将小于检査位(checkbit)生成对 象的数据宽度的数据写入到存储器的情况下,利用复用器将这些数据组 合,形成一个数据,利用ECC生成单元,由该数据生成检査位,写入到 存储器中。从而,获得如下效果能够縮短半写(partial write)时的读-修改-写(read modify write)动作的访问时间。并且,专利文献2中记载了如下内容在进行超过双字边界的半写 的情况下,高速缓存中没有相应地址时,来自信道的数据被存储到交换 缓存(Swap Buffer),与半写相关的双字和来自交换缓存的信道的数据合 并,写入到主存储器。图16是具有数据RAM和ECCRAM的存储器系统中的现有的纠错 码生成方法的说明图。若从命令处理装置(未图示)输出存储命令,则确认存储对象的数 据是否存在于数据RAM (高速缓存)13中,当存在存储对象数据的情况 下,读出包括存储对象数据的8字节数据,进行错误检查。此时,与存 储命令对应的存储数据被写入到存储缓存(卩tore buffer) STB 11。之后,若从命令处理装置发布存储许可,则存储缓存STB 11的数据 被写入到写缓存WB 12,进一步,该数据被写入到数据RAM 13。在进行该写入的同时,从数据RAM 13读出8字节数据,由8字节数据中的 存储对象区域外的数据,生成纠错码ECC 1。此外,由8字节数据中的 存储对象区域的数据,生成纠错码ECC2。将2个ECC合并,生成针对 存储更新后数据的纠错码ECC,将生成的纠错码存储到ECCRAM 14。 上述的现有纠错码生成方法存在如下问题。在接受存储命令、对高速缓存进行检索时的错误检查中未检测到错 误,而在向高速缓存写入数据之后读出的数据的错误检查中检测到错误 时,不能准确地生成针对写入后数据的纠错码。此时,保存到ECCRAM 14中的是由存储命令执行前的数据生成的纠错码,由于存储命令执行前 的数据在该时刻丢失,所以即使检测到错误,也不能纠正数据的1位错 误。对于上述错误,可以想到的1个原因为,例如对SRAM(Static Random Access Memory:静态随机访问存储器)进行写入和读出时,在写入后立 即进行读出情况下,刚好在读出之前的数据残留在位线上,使得下一 周期的读出的冗余下降。在设计上,为了在写入后不残留数据,使用预 充电晶体管,在规定时间内,将位线充电到电源电压VDD。具体说明如 下写入时,根据写入数据,将与存储器单元连接的位线对的一侧设定 为低电平,对存储器单元进行写入。若写入结束,则使位线对短接到电 源电压VDD,直到开始下一周期的读取,从而将写入数据清除。但是,当使SRAM以设计值以上的动作周期进行动作时,或者,因 晶体管的制造偏差导致的预充电晶体管的特性差,而不能将位线对预充 电到电源电压VDD时,在下一周期的读出时产生错误。专利文献1:日本特开平10-232789号公报专利文献2:日本特公小58-21353号公报
技术实现思路
本专利技术的课题在于,能够正确地纠正高速缓存的数据错误。 本专利技术的存储器管理装置,具备缓存,其对存储命令的存储数据 进行存储;判断电路,其对高速缓存进行检索,判断所述存储命令的存储对象的数据是否存在于高速缓存中;第一纠错码生成电路,其在通过 所述判断电路判断为所述高速缓存中存在成为所述存储对象的数据的情 况下,根据在检索所述高速缓存时从所述高速缓存读出的存储对象区域 外的数据,生成第一纠错码,将所生成的所述第一纠错码存储到所述缓 存中;第二纠错码生成电路,其根据所述缓存的所述存储数据的存储对象区域的数据,生成第二纠错码;以及合并电路,其将所述第一纠错码 和所述第二纠错码合并,生成所述存储数据的纠错码。根据本专利技术,即使在对高速缓存写入数据之后检测到错误的情况下, 也能够使用由第一纠错码和第二纠错码生成的纠错码正确地纠正数据的 错误,该第一纠错码由在检索高速缓存时从高速缓存读出的存^l对象区 域外的数据生成,第二纠错码由存储数据的存储对象区域的数据生成。在本专利技术的存储器管理装置中,所述第一纠错码生成电路判断在先 存储命令的存储地址是否与当前存储命令的存储地址一致、和当前存储 命令的存储数据的数据宽度是否与预定数据宽度一致,当存在具有同一 存储地址的在先存储命令、且当前存储命令的存储数据的数据宽度小于 预定数据宽度时,将表示所述第一纠错码是否适当的ECC有效信息设定 为无效,将该ECC有效信息与所述存储数据和所述第一纠错码对应起来 进行存储。通过这种构成,判断ECC有效信息是有效还是无效,从而能够判断 第一纠错码是否适当。在本专利技术的存储器管理装置中,所述缓存由多个缓存构成,判断所 述多个缓存中是否存在同一存储地址、和当前存储命令的存{诸数据的数 据宽度是否与预定数据宽度一致,当所述多个缓存中存在同一存储地址、 且当前存储命令的存储数据的数据宽度小于预定数据宽度时,将所述 ECC有效信息设定为无效,将该ECC有效信息与所述存储数据和所述第 一纠错码对应起来,存储到相应缓存的所述存储地址中。通过这样构成,当多个缓存中存在同一存储地址、且当前存储命令 的存储数据的数据宽度小于预定数据宽度时,在先存储命令完成之后, 生成第一纠错码,能够使用该第一纠错码和由存储数据的存储对象区域的数据生成的第二纠错码,生成适当的纠错码。在本专利技术的存储器管理装置中,所述合并电路判断所述缓存的所述ECC有效信息是有效还是无效,当所述ECC有效信息被设定为有效时, 将所述第一纠错码和所述第二纠错码合并,生成所述存储数据的纠错码。 通过这样构成,生成ECC有效信息有效且适当的第一纠错码的情况 下,能够将该第一纠错码和由存储数据生成的第二纠错码合并,生成正 确的纠错码。在本专利技术的存储器管理装置中,当在所述缓存的所述ECC有效信息 被设定为无效的状态下,完成了在先存储命令时,将所述缓存的相应存 储地址的所述ECC有效信息改写为有效。通过这样构成,即使存在对同一存储地址写入数据的在先存储命令 的情况下,当该存储命令完成时,也仍能将后续的存储命令的存储数据 写入到高速缓存,而不产生处理等待时间。附图说明图1是表示存储器管理装置的基本结构的图。图2是实施方式的纠错码生成方法的说明图。图3是表示存储缓存和写缓存的数据结构的图。图4是IU-REQ时的动作流程图。图5是IU-REQ时的动作说明图。图6是表示IU-REQ时的动作的时序图。图7是ECC-VAL的设定电路的框图。图8是WB-GO时的动作说明图。图9是ST1-REQ时的动作流程图。图10是ST1-REQ时的动作说明图。图H是表示ST1-REQ时的动作的时序图。图12是ST2-REQ时的动作流程图。图13是ST2-REQ时的动作说明图。图14是表示ST2-REQ时的动作的流程图。图15是ECC生成电路的框图。图16是现有的纠错码生成方法的说明图。本文档来自技高网
...

【技术保护点】
一种纠错码生成方法,该纠错码生成方法执行如下处理: 将存储命令的存储数据存储到缓存; 对高速缓存进行检索,判断所述存储命令的存储对象的数据是否存在于所述高速缓存; 在判断为所述高速缓存中存在所述存储对象的数据的情况下,根据检索所述高速缓存时从所述高速缓存读出的存储对象区域外的数据,生成第一纠错码,保持所生成的所述第一纠错码; 根据所述缓存的所述存储数据的存储对象区域的数据,生成第二纠错码;以及 将所述第一纠错码和所述第二纠错码合并,生成所述存储数据的纠错码。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:三浦隆司
申请(专利权)人:富士通株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利