主机间数据的传输方法技术

技术编号:7370153 阅读:190 留言:0更新日期:2012-05-27 10:27
本发明专利技术公开一种主机间数据的传输方法,适于具有外围装置组件互连扩充的二主机间的数据传输,传输方法包含于第一主机的一内存建立来源缓冲区并切割成来源区块、于第二主机的一内存建立目的映像区并切割成目的区块、第一主机将待传数据转成数据段及其元数据并写入来源区块、第一主机向第二主机发送中断通知以通知第二主机接收数据、以及第二主机将接收到的元数据及数据段依序写入目的区块,通过此方法,可以提高主机间数据传输的效率。

【技术实现步骤摘要】

本专利技术涉及一种数据传输方法,特别是涉及一种在二个主机间进行数据的传输方法。
技术介绍
计算机间数据的传输相当频繁,故其传输速率将直接影响计算机的效能。在网络技术普及之后,计算机间数据的传输则更为频繁,因此,对于数据传输速率的要求也相对提升。近年来,在服务系统的大量应用下,对于高速数据传输的需求也日益提高。为了提高速据传输速率,支持高可靠性(HA,High Availability),又要使系统尽可能简单、有效,业界提出了基于周边装置组件互连扩充(Peripheral Component Interconnect,PCI Express)的高级交换架构(Advanced Switching Architecture)、基于 PCI Express 的月艮务质量(Quality-Of-Service, Q0S)特性的非透明桥(non-transparent Bridge,NTB)技术,此技术可用来在周边装置组件与外围装置组件间进行数据传输,也可适用于高性能的芯片到芯片、板子到板子、背板和机箱之间的互连。此外,传统在二台主机间的数据传输,则依赖互连网的网络协议来达到,例如传输网P示十(Transmission Control Protocol/Internet Protocol,TCP/IP)。虽然业界提出了上述两者数据传输的技术,但对于二台主机间的数据传输,未同时具有高可靠性、架构简单且传输速率高的技术。
技术实现思路
本专利技术所要解决的技术问题在于提供一种主机间高传输速率数据传输的方法。本专利技术适于将一第一主机的数据传输至一第二主机,第一主机与第二主机间具有一周边装置组件互连扩充(Peripheral Component hterconnect,PCIExpress),所提出的技术手段包括下述步骤于该第一主机的一内存建立一来源缓冲区,并切割该来源缓冲区为多个来源区块;于该第二主机的一内存建立与该来源缓冲区映射的一目的映射区及多个目的区块;该第一主机将该数据转成数据段及其元数据并写入该些来源区块;该第一主机向该第二主机发送一中断通知,通知该第二主机接收数据;以及该第二主机将该来源区块的该元数据及该数据段依序写入该目的区块。其中,第一主机与该第二主机间具有一周边装置组件互连扩充。本专利技术与现有技术相互比较时,具备下列特性及优点1.不需借助外部其它硬件,通过软硬件结合方式,达到二主机间的数据传输。2.提高二主机间数据传输速度。以下结合附图和具体实施例对本专利技术进行详细描述,但不作为对本专利技术的限定。 附图说明图1为依据本专利技术的硬件架构示意图2为依据本专利技术第一实施例的流程示意图。具体实施例方式下面配合图表将本专利技术较佳实施例说明如下请参照图1,为依据本专利技术的硬件架构示意图。本专利技术的适于将第一主机20的数据传输至第二主机30。第一主机20与第二主机30间以周边装置组件互连扩充 40 (Peripheral Component Interconnect, PCIExpress)互连。第一主机20与第二主机30可以是但不限于服务器,第一主机20与第二主机30 可以分别为本地与远程的服务主机。以下实施例的说明是以从第一主机20发送数据至第二主机30为例进行说明,但本专利技术并不以此为限制,也可将本专利技术应用于将第二主机30的数据发送至第一主机20的应用上。从图中可以看见,第一主机20包含内存22(也可称本地物理内存,localphysical memory)及上层缓冲洸(upper layer receive buffer)。第二主机30也包含内存32及上层缓冲36。上层缓冲沈,36可以分别是第一主机20及第二主机30的应用层。第一主机20可在内存22建立(或称划分)缓冲区M (也可称传输缓冲区),而缓冲区M可以被切割成多个区块Ma,Mb,Mc,以本实施例而言,缓冲区M可以称为来源缓冲区对,而区块则可称为是来源区块Ma,24b, 24c0同样的第二主机30可在内存32建立目的缓冲区34 (以下称目的映射区)及多个目的区块34a,34b,34c。来源组冲区M及目的映射区34对第一主机20与第二主机30均为可见的。在本实施例中,第一主机20先将待传送的数据置于上层缓冲沈(也可称为上层的待传数据,upper layer data to be sent),其后第一主机20通过与第二主机30间的周边装置组件互连扩充将数据发送给第二主机30。第二主机30在接收到数据后,则将之上传至上层缓冲36,供第二主机30使用。接着,请参考图2,为依据本专利技术第一实施例的流程示意图。图中可以得知,包含下述步骤步骤S50 于第一主机20的内存22建立来源缓冲区24,并切割来源缓冲区M为多个来源区块24a,24b, 24c ;步骤S52 于第二主机30的内存32建立与来源缓冲区M映射的目的映射区34及多个目的区块Ma,:34b,:34c ;步骤S54 第一主机20将待传数据转成数据段及其元数据(Meta Data)并写入来源区块 24a,24b,24c ;步骤S56 第一主机20向第二主机30发送一中断通知,通知第二主机30接收数据;以及步骤S58 第二主机30将来源区块Ma,24b, 24c的元数据及数据段依序写入目的区块 34a,34b,34c。如上所述,第一主机20在进行数据传输时,先将待传数据置于上层缓冲沈,而在将数据置于上层缓冲26之前或之后,可以执行上述步骤S50及S52,此两步骤是用来建立来源缓冲区24、来源区块Ma,24b, 24c,目的映射区34、及目的区块:34a,34b, 34c,以做为数据传输使用。此来源缓冲区M与目的映射区34较佳的为连续的物理内存。每个来源区块及目的区块是相互映射的,故两者的大小相同,其大小可以是但不限于2048兆字节Q048 Mega Bytes)。接着,进行步骤S54,即第一主机20将位于上层缓冲沈的待传数据拷贝(或称写入)到来源缓冲区M中的来源区块Ma,Mb J4c,其中,第一主机20在进行拷贝数据的同时,先解析待传数据,并制作对应的元数据及数据段后再将元数据及数据段拷贝至来源区块Ma,24b, 24c,也就是说,每个被拷贝的来源区块Ma,24b, 24c中均具有元数据及数据段,而元数据包含了在该来源区块Ma,24b, 24c中的数据段的数据长度及标记,标记可以是但不限于整型数据标示、或字符串信息。数据标示可以是一个旗标(Flag)或一个比特 (Bit),用来表示是新数据(New Data)或脏数据(Dirty Data)。当第一主机20将待传数据拷贝至来源区块Ma,24b, 24c时,待传数据可能仅占用一个来源区块Ma,24b, 24c,也可能占用多个来源区块24a,24b, Mc,但第一主机20均会对写入的来源区块Ma,24b, 24c的元数据的数据标示设定(或称更新)为新数据,第一主机20对于第二主机已经收过的数据, 则会将其元数据中的数据标示(或称更新)为脏数据。其后,进行步骤S56,第一主机20向第二主机30发送一中断通知,通知第二主机 30接收数据。第一主机20发出中断通知的时机点可以是写入来源区块的数据段个数达到一预定值时,第一主机20向第二主机30发出中断通知,也可以是在第一主机20前次发出本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:吴清秀陈志丰
申请(专利权)人:英业达股份有限公司
类型:发明
国别省市:

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

1
相关领域技术