标识高速缓冲存储器的存储单元的装置和方法

文档序号:6596135阅读:234来源:国知局
专利名称:标识高速缓冲存储器的存储单元的装置和方法
技术领域
用于标识高速缓冲存储器的存储单元的装置,该高速缓冲存储器在计算单元和主存储器之间作为中间存储器工作,并且该高速缓冲存储器含有主存储器的提供给计算单元的数据的备份。
背景技术
现代的处理器或微控制器拥有显著加速访问主存储器中的数据或指令的当今推广的高速缓冲存储器(Cache-Speicher)。高速缓冲存储器大多是作为SRAM建立的中间存储器,所述中间存储器含有主存储器的数据的备份,并由于很短的访问时间可将所述数据很快地提供给处理器。高速缓冲存储器在也称为缓存行(Cache-line)的存储块中被组织。在制造该高度集成的电路及其运行时,在电路之内可能发生大量永久性的缺陷, 但是所述缺陷常常仅涉及局部狭小限制的区域,例如寄存器的单个比特或单个存储器单元。如果在高速缓冲存储器之内出现这种缺陷,则整个高速缓冲存储器可能由此变得不能用。从US 5,708,789中已知一种方法,借助该方法使高速缓冲存储器对于单个有缺陷的存储器单元是容忍的。它基于在高速缓存控制器之内的专门的寄存器中存储高速缓冲存储器的有错误的存储块的索引(Index)比特。在处理器每次访问高速缓冲存储器时,将这些所存储的索引比特与由处理器所要求的地址进行比较。在一致时生成防止采用所涉及的存储块(缓存行)的信号。不过只在在所要求的存储器地址和高速缓冲存储器的存储块之间存在明确的关联的这种高速缓冲存储器的情况下,该方法才起作用。除此之外,附加地需要索引比特用的寄存器以及比较单元。

发明内容
本发明所基于的任务在于,说明一种用于标识高速缓冲存储器的存储单元的装置和方法,其中,可靠地防止整个高速缓冲存储器的失效。具有权利要求1的特征的用于标识高速缓冲存储器的存储单元的本发明装置具有防止采用有错误的存储块的优点。通过标识高速缓冲存储器的至少一个存储块的功能状态的信息单元,可以选择性地关断有缺陷的存储块,其中,剩余的高速缓冲存储器的功能性保持。有利地存在信息比特作为用于标识存储块的功能状态的信息单元。该标识不仅适用于具有存储器位置的直接映射的高速缓冲存储器,而且适用于全相联和η倍(n-fach)相联高速缓冲存储器。尤其是当必须将大数量的存储块标记为有缺陷的时,本发明装置可以以附加硬件的小耗费来实现。在一种改进方案中,分别存在用于标识每一个存储块的功能状态的信息比特。通过采用每一个存储块(缓存行)的该附加信息比特表明,该存储块是有缺陷的还是有效的。通过信息比特所标识的存储块作为最小的信息单元,除了数据信息之外,含有显示所存储的数据的有效性的管理比特和指明数据地址的标志。作为替代方案,分别设置多个存储块用的信息比特,其中,将由数据信息、管理比特和标志所组成的每一个存储块利用相同的索引布置在分别另一高速缓冲存储块中。以此方式,借助一个信息比特可以同时关断存储块中的多个、所谓的组,由此对附加信息比特用的存储位置的需求减小,并且需要用于组织高速缓冲存储器的少量的管理耗费。在本发明的另一扩展方案中,信息单元是前置于高速缓冲存储器和存放有缺陷的存储块的位置的存储器。因此可以取消用于存储索引比特的寄存器以及连接在其上的比较单元。有利地将存储器与给该存储器输送索引的计算单元相连接,其中,存储器将该索引与标识有缺陷的存储块的位置的索引进行比较,并且在一致时,禁止访问存储块。在此, 比较结果在无附加的硬件耗费的情况下被纳入计算单元访问高速缓冲存储器的正常过程中,并被评价。在一种扩展方案中,至少将计算单元和高速缓冲存储器布置在半导体衬底上。利用本发明装置防止由于在高速缓冲存储器的局部限制的区域中的永久性的缺陷而关断承载计算单元和高速缓冲存储器的整个芯片。在本发明的另一改进方案中,存在一种用于标识高速缓冲存储器的存储单元的方法,该高速缓冲存储器在计算单元和主存储器之间作为中间存储器工作,并含有主存储器的提供给计算单元的数据的备份。为了可靠地防止整个高速缓冲存储器失效,执行测试用于识别存储块的功能状态,以便识别有缺陷的存储块,并通过在信息单元中设置信息来禁止访问有缺陷的存储块。借助这种软件测试,可靠地识别和标识有缺陷的存储块,使得在计算单元的继续的运行流程中,不再能使用所述有缺陷的存储块。替代于软件测试,也存在在运行期间识别错误的可能性。为此可以使用具有相应的硬件支持的所谓错误识别或错误纠正码。在禁止访问有缺陷的存储块时,从主存储器中装载由计算单元所要求的数据,由此确保正确地继续计算单元中的过程流程。由于高速缓冲存储器拥有协调计算单元对高速缓冲存储器和主存储器的访问的自己的高速缓存控制器(Cache-Controller),所以最简单地经由能够实现对高速缓冲存储器的受控制的访问的该高速缓存控制器来进行测试。因此可以特别简单地设计测试软件。高速缓存控制器有利地允许通过在高速缓存控制器之内创建直接由计算单元写的配置寄存器来选出主存储块的存储块。由此可以简单和快速地比较所测试的地址。在一种改进方案中,为了连续访问所有的存储块,对配置寄存器重新编程。因此可以按照顺序访问组的所有数据块。


本发明准许很多的实施形式。借助附图中所示出的图应进一步阐述其中的一种实施形式。图1展示具有高速缓冲存储器的计算单元的原理图, 图2展示高速缓冲存储器的构造的第一实施例,
图3展示高速缓冲存储器的构造的第二实施例,图4展示本发明方法的实施例的示意流程图,和图5展示在高速缓冲存储器之前前置存储器的第三实施例。
具体实施例方式用相同的附图标记标识相同的特征。在图1中,计算单元1布置在半导体衬底2上。高速缓冲存储器3和主存储器4 被放置在相同的半导体衬底2上,其中,高速缓冲存储器3被建立为SRAM和用作含有主存储器4的备份的中间存储器。计算单元1与高速缓冲存储器3相连接,所述高速缓冲存储器3经由数据总线5与主存储器4通信。高速缓冲存储器3由于很短的访问时间可以很快速地将数据提供给计算单元1。存在不同类型的高速缓冲存储器,这些高速缓冲存储器通过以下方式来区分 可以将主存储器4的各个块如何分配给高速缓冲存储器3中的存储器位置。在直接映射(direct mapped)、全相联映射(Fully associative)禾口 η 倍相联映射(n_way set associative (η路组相联))之间进行区分。在直接映射的情况下,对于预先给定的地址,只有在高速缓冲存储器3之内的数据可能位于何处的一种可能性。这些数据位于被看作是最小存储单元并也被称为缓存行的存储块中。在全相联映射的情况下,地址的数据可以位于高速缓冲存储器3的每一个任意的存储块中。在向高速缓冲存储器询问所选出的数据是否存储在该高速缓冲存储器中时,因此需要检验高速缓冲存储器3的所有标签(Tag)。在此,标签是由存储器地址所形成的标
ο在η倍相联映射的情况下,自由选择η个直接分配的高速缓冲存储器。在图2中,示出了具有全相联映射的高速缓冲存储器3。高速缓冲存储器3由三个高速缓冲存储块6,7和8组成。每一个高速缓冲存储块6,7和8具有大量由索引I所标识的行。在预先给定的示例中存在行0至255。为了能够实现在每一个高速缓冲存储块6,7 和8中数据的明确识别,高速缓冲存储块6,7,8的每一个存储块除了本来的数据D之外还具有附加的管理比特V和标签T形式的标志。在此,每一个索引I均表示由管理比特V、标志T和数据D所组成的存储块。这种存储块9a,9b,9c也被称为缓存行。具有相同的索引 I的多个存储块9a,9b,9c被称为组9。管理比特V说明,存储块9a,9b,9c是否含有一般地有效的数据。标志(标签T)由施加在高速缓冲存储器3上的存储器地址形成。为此,将地址划分成偏移(Offset)、地址的索引以及标志、标签T。使用偏移,以便选出在存储块9a,9b或9c之内的所希望的数据(例如字节)。索引I在高速缓存访问时,对于所希望的数据所处于的组9进行寻址。由于在直接映射高速缓冲存储器中,存在由恰好存储块9a所组成的组9,所以索引I在此情况下直接说明高速缓冲存储器3中的存储器位置。在图2中,将每一个存储块9a,9b和9c扩展附加的比特U。在该比特U中存储相应存储块9a,9b,9c的运行状态,即说明存储块9a,9b或9c是有缺陷的还是有效的。在计算单元1访问高速缓冲存储器3时由计算单元1提供索引Ικ,以便可以识别相应的组9。此外,将同样由计算单元1发送的由所施加的地址形成的标志Tk分别在比较
5器10a,10b, IOc中与保存在存储块9a,9b,9c中的标志T进行比较,以便识别所希望的存储块9a,9b, 9c的存在或错误。由于速度原因,在所选出的组9中平行地分析所有标志T。借助对于每一个高速缓冲存储块6,7和8所设置的与(Und)元件11a,lib和11c, 对于每一个高速缓冲存储块6,7和8的每一个存储块9a,9b,9c除了标志T之外也分析比特U和管理比特V。由生成高速缓冲存储器3的输出信号的或(Oder)元件12来联合与元件11a,lib和lie的输出信号。如果将在存储块9a,9b,9c之一中的比特U设置为零,这表达相应的存储块是有缺陷的,则由于所述的逻辑,在或元件12的输出端处输出错误信号(失败信号 (Miss-Signal)),这意味着,由计算单元1所要求的数据不可用。如果比特U处于1,则在或元件12的输出端处输出成功信号(Hit-Signal),这意味着,由计算单元1所要求的数据已
经供进一步处理。在图3中所示出的本发明实施形式中,只对于每一个组9设置比特U。在此情况下,计算单元1也询问确定的数据组的存在,其方式是计算单元1发送标志Tk和索引Ικ。借助比较器10a,IOb和IOc将标志Tk与保存在存储块9a,9b,9c中的标志T进行比较,其结果分别经由与元件lla,llb和Ilc利用管理比特V的内容来处理。也在此情况下在或元件12 中联合三个与元件11a,lib和lie的结果。在与元件13中,将或元件的输出信号与比特U 聚集在一起。如果比特U说明组9是作用良好的,则向计算单元1输出成功信号和因此显示,所希望的数据在高速缓冲存储器3中可供使用。如果比特U显示组9的数据的缺陷,由此关断整个组,则失败信号在与元件13的输出端处等待处理。该实施形式在η倍相联高速缓冲存储器中得到应用,因为由此减少对于附加硬件的需求。应借助图4来阐述本发明方法的一种可能的实施形式。在方框401中执行存储器测试,其中识别有缺陷的存储块9a,9b,9c。随后,如果所涉及的存储块9a,9b, 9c是有缺陷的,则在方框402中通过将比特U设置为零来标记所述所涉及的存储块9a,9b,9c。通过将比特U设置为1来标记有效的存储块9a,9b,9c。在方框403中,在由计算单元1访问高速缓冲存储器3时(如结合图2和3中所说明的那样),将比特U—起考虑在内用于产生成功或失败信号。对具有有错误的存储器单元的存储块9a,9b,9c的访问,因此总是被解释为失败信号。如果出现这种失败信号,则在方框404中从主存储器4中装载由计算单元所要求的数据。但是代替比特U,内容可寻址存储器14 (Content Addressable Memory-CAM)也可以接受关于哪些存储位置是有缺陷的和哪个存储块9a,9b,9c被关断的信息。在高速缓冲存储器3的测试之后,在存储器14中对于每一个有缺陷的存储块存放索引I。在图5中,这种存储器14与没有进一步示出的计算单元1相连接,并作为输入信号从计算单元1获得所希望的索引Ικ。通过将所希望的索引Ik与存放在存储器14中的针对有错误的存储块的索引I进行比较,很简单地确定,由计算单元1所希望的数据是否可用。借助比较器10a,IOb 和IOc将由计算单元1所输出的标志Tk与保存在存储块9a,9b,9c中的标志T进行比较。 分别经由与元件11a,lib和lie利用有关的存储块9a,9b,9c的管理比特V的内容来处理每一个比较器的结果。又在或元件12中联合三个存储块9a,9b,9c的结果。在另一与元件15中,将存储器14的索引比较的结果与或元件12的输出信号一起进行评价。如果由计算单元1所要求的索引Ik未被存放在存储器14中,并且存储块9a,%,9c的标志T中的一个与由计算单元1所输出的标志Tk相一致,则不输出信号,因为所希望的数据是有效的。如果所要求的索引Ik与存放在存储器14中的索引I的比较是肯定的, 则经由非门(Inverter)Ie向与元件15引导存储器14的信号,因为用索引I标识的组9含有不能继续处理的有缺陷的数据块。 通过关断各个无效的存储块9a,9b,9c或存储块的整个组9,可以消除高速缓冲存储器的局部限制的错误,由此整个半导体芯片包括计算单元继续保持为有效的。
权利要求
1.用于标识高速缓冲存储器的存储单元的装置,该高速缓冲存储器在计算单元(1)和主存储器(4)之间作为中间存储器工作,并且含有主存储器(4)的提供给计算单元(1)的数据(D)的备份,其特征在于,存在标识高速缓冲存储器(3)的至少一个存储块(9a,9b,9c)的功能状态的信息单元(U,14)。
2.按照权利要求1的装置,其特征在于,存在信息比特(U)作为信息单元。
3.按照权利要求2的装置,其特征在于,分别存在信息比特(U)用于标识每一个存储块 (9a,9b,9c)的功能状态。
4.按照权利要求1或3的装置,其特征在于,所述存储块(9a,9b,9c)除了数据信息之外还含有显示所存储的数据(D)的有效性的管理比特(V)和指明数据(D)地址的标志(T)。
5.按照权利要求2的装置,其特征在于,分别设置多个存储块(9)用的信息比特(U),其中,将由数据信息(D)、管理比特(V)和标志(T)所组成的每一个存储块(9a,9b,9c)利用相同的索引(I)布置在分别另一主存储块(6,7,8)中。
6.按照权利要求1的装置,其特征在于,所述信息单元是前置于高速缓冲存储器(3)并且存放至少一个有缺陷的存储块(9a,9b,9c)的位置的存储器(14)。
7.按照权利要求6的装置,其特征在于,所述存储器(14)与给存储器(14)输送索引 (Ik)的计算单元(1)相连接,其中,存储器(14)将所述索引(Ik)与标识有缺陷的存储块(9a, 9b,9c)的位置的索引(I)进行比较,并且在一致时,禁止访问存储块(9a,9b,9c)。
8.按照以上权利要求之一的装置,其特征在于,至少将计算单元(1)和高速缓冲存储器(3)布置在半导体衬底(2)上。
9.用于标识高速缓冲存储器的存储单元的方法,该高速缓冲存储器在计算单元(1)和主存储器(4)之间作为中间存储器工作,并且含有主存储器(4)的提供给计算单元(1)的数据(D)的备份,其特征在于,为了识别至少一个存储块(9a,9b,9c)的功能状态,执行测试, 以便识别有缺陷的存储块(如,%,9(),并且通过在信息单元(仏14)中设置信息来禁止访问有缺陷的存储块(9a,9b,9c )。
10.按照权利要求9的方法,其特征在于,在禁止访问存储块(9a,9b,9c)时,从主存储器(4)中装载由计算单元(1)所要求的数据(D)。
11.按照权利要求9或10的方法,其特征在于,经由高速缓存控制器进行所述测试,所述高速缓存控制器能够实现对高速缓冲存储器(3 )的有控制的访问。
12.按照权利要求11的方法,其特征在于,通过在高速缓存控制器之内创建直接由计算单元(1)写的配置寄存器来进行存储单元(6,7,8)的存储块(9a,9b,9c)的选择。
13.按照权利要求12的方法,其特征在于,为了连续访问所有存储块(9a,9b,9c),将配置寄存器重新编程。
全文摘要
本发明涉及一种用于标识高速缓冲存储器的存储单元的装置,该高速缓冲存储器在计算单元(1)和主存储器(4)之间作为中间存储器工作,并且含有主存储器(4)的提供给计算单元(1)的数据(D)的备份。为了可靠地防止整个高速缓冲存储器失效,存在标识高速缓冲存储器(3)的至少一个存储块(9a,9b,9c)的功能状态的信息单元(U,14)。
文档编号G06F12/08GK102272740SQ200980154181
公开日2011年12月7日 申请日期2009年11月24日 优先权日2009年1月12日
发明者蒂尔斯纳 H., 格梅利希 R. 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1