具有故障冗余的分布式高速缓存一致性目录的制作方法

文档序号:9252393阅读:469来源:国知局
具有故障冗余的分布式高速缓存一致性目录的制作方法
【技术领域】
[0001] 本公开设及高速缓存一致性目录,并且更具体地设及用于高速缓存一致性系统的 方法、系统和广品。
【背景技术】
[0002] 在每个处理器共享存储器的多处理器系统中,可W实施高速缓存一致性方案。在 此类方案中,可W采用目录W跟踪对一致的高速缓存行的访问。可WW分布的方式实施此 类目录,其中该目录的多个部分被实施为该多处理器系统的单独组件。但是,在现有技术的 此类示例系统中,此类组件的故障致使整个高速缓存一致性系统不可用。

【发明内容】

[0003] 在此说明书中公开了各种示例系统和方法。一个示例系统包括许多处理器,其中 每个处理器包括高速缓存存储器。此类系统还可W包括禪接到处理器的许多目录控制器, 其中每个目录控制器被配置为管理对应的高速缓存一致性目录,每个高速缓存一致性目录 被配置为跟踪对应的存储器地址集合,并且每个处理器用指示由每个高速缓存一致性目录 跟踪的对应的存储器地址集合的信息来配置。该样的示例系统还可W包括一个或多个组 件,该一个或多个组件被配置为识别高速缓存一致性目录中的一个高速缓存一致性目录的 故障并且在无故障的高速缓存一致性目录当中再分配由故障的高速缓存一致性目录先前 跟踪的存储器地址集合。所述一个或多个组件还可W被配置为用描述在无故障的高速缓存 一致性目录当中再分配存储器地址集合的信息来重新配置每个处理器。
[0004] 在此说明书中还公开用于诸如上述系统之类的系统的方法。该样的方法可W包 括;识别高速缓存一致性目录中的一个高速缓存一致性目录的故障。该样的方法还可W包 括在无故障的高速缓存一致性目录当中再分配由故障的高速缓存一致性目录先前跟踪的 存储器地址集合。该样的方法还可W包括用描述在无故障的高速缓存一致性目录当中再分 配存储器地址集合的信息来重新配置每个处理器。
【附图说明】
[0005] 图1阐述了包括分布式高速缓存一致性目录的计算机系统的一个实施例的方框 图。
[0006] 图2阐述了说明在多处理器、高速缓存一致性系统中提供高速缓存一致性目录的 冗余的示例方法的流程图。
[0007] 图3阐述了说明在多处理器、高速缓存一致性系统中提供高速缓存一致性目录的 冗余的另一个示例方法的流程图。
[000引图4阐述了说明在多处理器、高速缓存一致性系统中提供高速缓存一致性目录的 冗余的另一个示例方法的流程图。
[0009] 在附图中举例示出特定的实施例并且将在该里详细描述。但是,应当理解的是附 图和详细描述不旨在将权利要求限制到所公开的特定实施例,甚至在关于特定特征仅仅描 述单个实施例时。相反地,意图是覆盖对受益于本公开的本领域的技术人员来说显而易见 的所有修改、等效物和可替代物。除非另有说明,在本公开中提供的特征的示例旨在是说明 性的而不是限制性的。
[0010] 贯穿本申请使用的,"可W(may)"-词用于许可的意思(即,意味着有潜能),而 不是强制的意思(即,意味着必须)。类似地,词"包括(include)""包括(including)"和 "包括(includes)"意味着包括但不限于。
[0011] 各种单元、电路、或其它组件可W被描述为"被配置为"执行一个任务或多个任务。 在此语境中,"被配置为"是对通常意味着"具有在操作期间执行一个任务或多个任务的电 路"的结构的广义叙述。因而,单元/电路/组件可W被配置为执行任务甚至在单元/电 路/组件当前未开启时执行任务。通常地,形成对应于"被配置为"的结构的电路可W包括 硬件电路。类似地,在描述中为了方便起见,各单元/电路/组件可W被描述为执行一个任 务或多个任务。此类描述将被解释为包括短语"被配置为"。对被配置为执行一个或多个任 务的单元/电路/组件的叙述明确地不意图援引35U.S.C. § 112的第六段,用于那个单元 /电路/组件的解释。
【具体实施方式】
[0012] 图1阐述了下面进一步详细描述的包括分布式高速缓存一致性目录的计算机系 统的一个实施例的方框图。图1的示例计算机系统102还包括若干处理器110AU10B、和 110C,其经由点到点链路114、内部总线、或一些其它的数据通信链路禪接到一个或多个1/ 〇(输入/输出)块112和一个或多个存储器块104。在一些实施例中,每个处理器110可 W经由图1中未描述的链路直接禪接到单独的存储器104和单独的I/O块112,而每个处理 器110经由点到点链路114禪接到所有存储器104和I/O块112。该样的计算机系统102 可W被配置用于不同的应用,其包括例如作为移动设备、个人桌上型计算机、笔记本或膝上 型计算机、服务器和类似设备。
[0013] 图1的示例I/O块112可W被配置为协调计算机系统102和一个或多个外围设备 之间的数据转移。该样的外围设备可W包括但不限于存储设备(例如,基于磁介质或光介 质的存储设备,其包括硬盘驱动器、磁带驱动器、CD驱动器、DVD驱动器等)、音频处理子系 统、或任何其它适合类型的外围设备。在一些实施例中,I/O块112可W被配置为实施通用 串行总线扣SB)协议版本或IE邸1394 (Firewire?)协议。
[0014] 示例I/O块112还可W被配置为协调计算机系统102和经由网络禪接到计算机系 统102的一个或多个设备(例如,其它计算机系统)之间的数据转移。在一些实施例中, I/O块112可W被配置为执行实施W太网(16邸802.3)联网标准(诸如千兆位W太网或 10-千兆位W太网)所必需的数据处理,但是预期可W实施任何适合的联网标准。在一些实 施例中,I/O块112可W被配置为实施多个离散网络接口端口。
[0015] 图1的示例存储器块104可W包括任何适合类型的存储器,例如静态随机存取存 储器(SRAM)、动态随机存取存储器值RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 巧EPROM)、或闪速存储器。应当注意在图1中示出的计算机系统的实施例中,描述了单个存 储器块。在其它实施例中,可W采用任何适合数目的存储器块。
[0016]处理器110可W共享计算机存储器104并且每个都可w包括高速缓存存储器 122AU22B、和122C。图1的系统可W被配置用于高速缓存一致性。高速缓存一致性指存储 在诸如存储器104之类的共享资源的本地高速缓存中的数据的一致性。例如,如果存储器 地址被读取到第一处理器110A的本地高速缓存122A的高速缓存行中然后被读取到第二处 理器110B的本地高速缓存122B中,则在任何后续向存储器地址的写入之前必然有所有其 它处理器中的对应高速缓存行的无效。W该种方式,其它处理器不会读取高速缓存行的本 地版本,其在写入存储器地址之后可W包括过期数据。应注意的是,虽然该里描述实时高速 缓存一致性协议的示例,但该样的协议仅仅是示例并且可W采用其它类型的高速缓存一致 性协议。
[0017]为实现高速缓存一致性,每个处理器110可W包括高速缓存一致性控制器106A、 10她、106C,并且图1的系统可W采用由目录控制器116A、116B、116C管理的全局高速缓存 一致性目录118。全局高速缓存一致性目录118可W包括代表每个处理器110的高速缓存 行的条目、与每个高速缓存行相关联的存储器地址、与一致性相关的状态信息、和可用于支 持高速缓存一致性方案的其它信息。当处理器打算将存储器地址读取到高速缓存行中或写 入存储在本地高速缓存中的存储器地址时,处理器的高速缓存一致性控制器106可W经由 目录控制器116的一个从全局高速缓存一致性目录118请求信息或向全球高速缓存一致性 目录118通知信息。目录控制器116被称成是'管理(a血inister)'高速缓存一致性目录, 因为目录控制器116维护高速缓存一致性目录118中的条目并且还基于来自高速缓存一致 性目录的信息响应来自高速缓存一致性控制器106的请求。
[001引在图1的示例中,高速缓存一致性目录118在若干组件128AU28B、和128C当中被 分配,使得全局高速缓存一致性目录118被分成=个部分,有效地被分成=个高速缓存一 致性目录118A、118B和118C。每个高速缓存一致性目录118A、118B、118C可W与单独存储 器地址集合相关联。为此,每个目录控制器116A、116B、和116C被配置为具有指示与目录控 制器管理的高速缓存一致性目录相关联的存储器地址集合的信息。此外,每个高速缓存一 致性控制器106A、106B、106C被配置为具有指示与每个高速缓存一致性目录相关联的存储 器地址集合的信息。W该种方式,每个高速缓存一致性控制器106基于写入或读取的存储 器地址知道高速缓存行写入或读取的目标是哪个高速缓存一致性目录。
[0019] 在组件128中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1