[发明专利]用于交换数据的方法和系统有效
申请号: | 200880116894.3 | 申请日: | 2008-07-11 |
公开(公告)号: | CN101861568A | 公开(公告)日: | 2010-10-13 |
发明(设计)人: | G·史密斯 | 申请(专利权)人: | 通用电气公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F13/12 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 柯广华;徐予红 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 交换 数据 方法 系统 | ||
技术领域
一般来说,本发明涉及生产者(producer)/消费者(consumer)软件,更具体来说,涉及用于在生产者与消费者之间交换数据的方法和系统。
背景技术
一般来说,I/O扫描机制利用包括配置成使用共享存储缓冲器通过模块交换数据的生产者和消费者的软件实现。此外,数据交换通常要求通过底板(backplane)的握手机制,以便允许对数据的访问。具体来说,生产者要求对将数据写入共享存储缓冲器的访问,而消费者要求对从共享存储缓冲器读取数据的访问。相应地,在数据交换期间,至少某些扫描机制要求生产者和/或消费者等待对数据的访问。具体来说,握手机制可要求多次读访问或写访问。例如,通常实现共享存储器信号量(semaphore)、如Peterson算法,以便确保对共享存储器数据缓冲器的相干(coherent)访问。但是,这类信号量往往要求反复尝试以获得访问。此外,在生产者和/或消费者中之一捕获最新数据时,某些已知的扫描机制要求临界区域或超时。计算这类等待时间或超时会很困难并且容易出错。
相应地,至少某些已知的扫描机制向扫描模块发送命令,以便准备控制器访问。但是,这种机制往往要求该模块延迟其正常处理以读取该命令,由此引起数据交换的延迟。此外,至少某些已知的扫描机制使用硬件机制来帮助访问控制。但是,硬件机制可能安装和维护起来成本高和/或费时。
发明内容
在一方面,提供一种用于在第一模块与第二模块之间交换数据的方法。该方法包括在第一模块生成数据,其中第一模块配置成允许第二模块实质连续地访问数据。该方法还包括在第二模块读取数据,其中第二模块配置成允许第一模块实质连续地生成数据。该方法最后包括在读取数据时在第一模块与第二模块之间交换数据。
在另一方面,提供一种系统。该系统包括控制器以及配置成通过共享存储器接口与控制器交换数据的输入/输出模块。数据通过下列步骤进行交换:用第一模块生成数据,在第二模块读取数据,并且在读取数据时将数据从第一模块交换到第二模块。第一模块配置成允许第二模块实质连续地访问数据;而第二模块配置成允许第一模块实质连续地生成数据。
在又一方面,提供安装在输入/输出模块中的计算机程序。计算机程序包括配置成指示输入/输出模块在第一模块与第二模块之间交换数据的至少一个代码段。数据通过下列步骤进行交换:在第一模块生成数据,其中第一模块配置成允许第二模块实质连续地访问数据;在第二模块读取数据,其中第二模块配置成允许第一模块实质连续地生成数据;以及在读取数据时在第一模块与第二模块之间交换数据。
附图说明
图1是包括控制器和输入/输出模块的扫描机制的示范实施例。
图2和图3是可用于通过使用图1所示扫描机制交换数据的示范算法的流程图。
具体实施方式
本发明提供一种系统,该系统包括控制器以及配置成通过共享存储器接口与控制器交换数据的输入/输出(I/O)模块。在一个实施例中,该系统包括输入到I/O模块的计算机程序,并且包括用于交换数据的算法。该系统还可包括读取和操作计算机程序的处理器。该算法的技术效果是控制生产者和消费者,以便促进在控制器与I/O模块之间交换数据。该算法使生产者能够异步且相干地写入新数据,而不阻塞和等着协调与消费者的访问。消费者也异步读取最新的生产者数据,而不阻塞或等着生产者对数据的访问。在示范实施例中,系统不需要专用硬件。
此外,用于生产者/消费者交换的数据结构仅包括生产者状态字节、消费者状态字节和多个不同的数据缓冲槽(buffer bin),如4个不同的数据缓冲槽。对于生产者,该算法确保缓冲槽中至少之一始终可用于写入最近的生产数据,使得生产者不等待对消费者的访问。对于消费者,该算法使消费者能够即时锁定最新产生的数据缓冲器以读取数据。在示范实施例中,该算法仅要求2个共享存储器读/写操作以协商对适当数据缓冲槽的访问,由此改进在通过底板进行扫描时的性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于通用电气公司,未经通用电气公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200880116894.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:控制对数据库的访问的技术
- 下一篇:用于车辆发动时故障检测的装置和方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置