用于使事务同步的可配置事务存储器制造技术

技术编号:5083717 阅读:224 留言:0更新日期:2012-04-11 18:40
一种可配置事务存储器(102)使来自客户端(104到110)的事务同步。所述可配置事务存储器(102)包括存储器缓冲器(120)和事务缓冲器(128)。所述存储器缓冲器(120)包括分配控制装置(124)和存储装置(126),且所述分配控制装置(124)可配置以选择性地在事务缓冲器(128)与用于数据字的数据缓冲器(130)之间分配所述存储装置。所述事务缓冲器(128)存储指示数据字与客户端的每一组合的状态(132到134),对于所述数据字和所述客户端的每一组合,来自所述客户端的所述在进行中的事务中的写入存取参考所述数据字。事务仲裁器(122)针对来自每一客户端的所述在进行中的事务产生完成状态。所述完成状态在没有碰撞的情况下被提交或在碰撞的情况下被中止。碰撞是来自所述客户端的所述事务的参考一数据字的存取跟随在来自另一客户端的在进行中的另一事务的参考所述数据字的写入存取之后。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体上涉及事务存储器,且更明确地说,涉及可配置事务存储器。
技术介绍
可编程逻辑装置(PLD)是一种众所周知类型的集成电路,其可经编程以执行指定 逻辑功能。一种类型的PLD( S卩,现场可编程门阵列(FPGA))通常包括可编程瓦片阵列。这 些可编程瓦片可包括(例如)输入/输出块(IOB)、可配置逻辑块(CLB)、专用随机存取存 储器块(包括块RAM(BRAM))、乘法器、数字信号处理块(DSP)、处理器、时钟管理器、延迟锁 定环(DLL)等。每一可编程瓦片通常包括可编程互连和可编程逻辑两者。可编程互连通常包括大 量具有变动长度的互连线,其由可编程的互连点(PIP)互连。可编程逻辑使用可编程元件 来实施用户设计的逻辑,所述可编程元件可包括(例如)函数产生器、寄存器、算术逻辑等。可编程互连和可编程逻辑通常通过将配置数据流加载到内部配置存储器单元中 来编程,所述配置数据流界定如何配置可编程元件。所述配置数据可从存储器(例如,从外 部PR0M)读取或通过外部装置写入到FPGA中。个别存储器单元的总体状态接着确定FPGA 的功能。用户设计可实施包括多个专用处理器的PLD中的多处理系统。用户设计还可通过 实施PLD的可编程逻辑和互连资源中的软处理器来实施多处理系统。实例性用户设计可使 用专用处理器和软处理器来实施PLD中的多处理系统,所述软处理器为经特殊设计以实施 用户设计的特定功能的状态机。为了执行用户设计的功能,处理器可能需要交换数据。设计用于在多处理系统的 处理器之间交换数据的协议可能为耗时且昂贵的。处理器之间的数据交换可能会限制多处 理系统的性能。本专利技术可解决以上问题中的一者或一者以上。
技术实现思路
本专利技术的各种实施例提供一种可配置事务存储器,其用于使来自客户端的事务同 步。每一客户端具有在进行中的事务,直到针对所述事务产生完成状态为止。来自所述客 户端的所述在进行中的事务包括一个或一个以上存取。每一存取为参考所述可配置事务存 储器中的数据字的读取存取或写入存取。所述可配置事务存储器包括存储器缓冲器和事务 缓冲器。所述存储器缓冲器包括分配控制装置和存储装置。所述分配控制装置可配置以选 择性地在事务缓冲器与用于数据字的数据缓冲器之间分配所述存储装置。所述事务缓冲器 存储指示数据字与客户端的每一组合的状态,对于所述数据字和所述客户端的每一组合, 来自所述客户端的所述在进行中的事务中的写入存取参考所述数据字。响应于所述状态, 事务仲裁器针对来自每一客户端的所述在进行中的事务产生完成状态。所述完成状态响应 于不存在碰撞而被提交或响应于存在碰撞而被中止。在来自所述客户端的所述事务的参考5一数据字的存取跟随在来自另一客户端的在进行中的另一事务的参考所述数据字的写入 存取之后的情况下存在碰撞。将了解,在以下具体实施方式和所附权利要求书中陈述各种其它实施例。 附图说明在审阅以下详细描述后且在参看附图后将容易明白本专利技术的各种方面和优点,在 附图中图1为说明根据本专利技术各种实施例的可配置事务存储器的系统的框图;图2为根据本专利技术各种实施例的用于跟踪对数据字的存取的实例条目的字段图;图3为根据本专利技术的一个或一个以上实施例的可包括可配置事务存储器的可编 程逻辑装置的框图;图4为根据本专利技术各种实施例的用于跟踪可配置事务存储器的事务的存取的过 程的流程图;图5为根据本专利技术各种实施例的用于完成可配置事务存储器的事务的过程的流 程图;以及图6为根据本专利技术各种实施例的用于配置可配置事务存储器的系统的框图。 具体实施例方式图1为说明根据本专利技术各种实施例的可配置事务存储器102的系统的框图。每一 客户端104到110可为用于处理事务的处理器或状态机。多处理器系统的客户端104到110可使用对可配置事务存储器102的读取和写入 存取来有效地交换数据。可配置事务存储器102可在不使用锁定或互斥的情况下使数据交 换同步。与锁定或互斥相比,可配置事务存储器102可提供用于交换数据的较佳性能和较 简单协议。性能可得以改进,因为消除了锁定和互斥的开销。协议可较简单,因为同步是由 可配置事务存储器102而非用户供应的锁定和/或互斥提供的。使用可配置事务存储器 102的简化的数据交换同步可通过消除复杂且倾向于出错的用户供应的锁定和/或互斥来 改进稳健性。可配置事务存储器102可使来自客户端104到110的事务同步。事务可包括多个 读取和/或写入存取,且可配置事务存储器102应作为原子操作来处理这些存取。可配置 事务存储器102可在以原子方式执行所述存取之后成功地完成事务的存取。如果某一冲突 阻止可配置事务存储器102以原子方式执行存取,那么可配置事务存储器102可中止事务。 在可配置事务存储器102中止来自客户端104的事务之后,客户端104可稍后重试所述事 务。可配置事务存储器102可在已清除所述冲突时成功地完成所重试的事务。可配置事务存储器102的实例性应用包括用于数据库的网络处理和查询处理。可 容易地在由处理器执行的软件程序的控制流的局部区中或在状态机的局部状态序列中指 定来自客户端104到110中的一者的每一事务。在实例性情景中,客户端104可在线路112上向可配置事务存储器102发布事务。 如果可配置事务存储器102成功地作为原子操作来完成事务的存取,那么可配置事务存储 器102可在线路114上以提交信号做出响应。如果可配置事务存储器102由于与来自另一客户端106的另一事务的碰撞冲突而无法以原子方式执行事务的存取,那么可配置事务存 储器102可在线路116上以中止信号做出响应。可配置事务存储器102可包括存储器缓冲器120和事务仲裁器122。存储器缓冲 器120可包括分配控制装置124和存储装置126。分配控制装置124可在事务缓冲器128 与数据缓冲器130之间划分存储装置126。事务缓冲器128可包括状态132到134以用于 分别跟踪客户端104到110的存取。事务的每一存取可读取或写入数据字136到138中的 一者或这些数据字中的一者的一部分。在一个实施例中,每一客户端104到110可一次发布一个事务,且每一事务可包括 多个存取,所述存取各自读取或写入数据字136到138中的一者。状态132可跟踪来自客 户端104的在进行中的当前事务的存取。状态132可针对每一数据字136到138包括读取 位,所述读取位由来自客户端104的当前事务读取或参考,且状态132可针对每一数据字 136到138包括写入位,所述写入位由来自客户端104的当前事务写入或参考。对于来自客 户端104的当前事务的每一存取,事务仲裁器122可更新状态132以适合于对数据字的存 取的类型来设置读取或写入位。在实例性情景中,对于来自客户端104的当前事务的每一存取,事务仲裁器122检 验其它客户端的状态(例如,状态134)以寻找与来自另一客户端(例如,客户端110)的在 进行中的事务中的写入存取的碰撞。如果状态134指示来自客户端110的当前事务已参考 数据字,那么事务仲裁器122针对客户端104更新状态132以指示存在碰撞。事务仲裁器 122可类似地进行检验以寻找所述存取与来自其它客户端106和108的当前事务之间的碰 撞。在客户端104已完成当前事务的存本文档来自技高网
...

【技术保护点】
一种用于使来自多个客户端的多个事务同步的可配置事务存储器,每一客户端具有在进行中的相应事务,直到针对所述相应事务产生完成状态为止,来自所述客户端的所述在进行中的相应事务包括至少一个存取,每一存取为参考所述可配置事务存储器中的多个数据字中的一者的读取存取和写入存取中的一者,所述可配置事务存储器包含:  存储器缓冲器,其包括分配控制装置和存储装置,其中所述分配控制装置可配置以选择性地在事务缓冲器与用于所述数据字的数据缓冲器之间分配所述存储装置,所述事务缓冲器用于存储指示数据字与客户端的每一组合的状态,对于所述数据字和所述客户端的每一组合,来自所述客户端的所述在进行中的相应事务中的写入存取参考所述数据字;以及  事务仲裁器,其耦合到所述存储器缓冲器以用于响应于所述状态产生来自每一客户端的所述在进行中的相应事务的完成状态,其中所述完成状态为响应于碰撞的不存在而被提交和响应于碰撞的存在而被中止中的一者,且在参考来自所述客户端的所述相应事务的一数据字的存取跟随在参考来自另一客户端的在进行中的另一事务的所述数据字的写入存取之后的情况下存在所述碰撞。

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

【专利技术属性】
技术研发人员:钦丹柏R库尔卡尼克里斯多夫卡克利斯
申请(专利权)人:吉林克斯公司
类型:发明
国别省市:US[美国]

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

1