CN101261615B - 计算机点对点直接内存通信方法及其网卡 - Google Patents
计算机点对点直接内存通信方法及其网卡 Download PDFInfo
- Publication number
- CN101261615B CN101261615B CN2008100942553A CN200810094255A CN101261615B CN 101261615 B CN101261615 B CN 101261615B CN 2008100942553 A CN2008100942553 A CN 2008100942553A CN 200810094255 A CN200810094255 A CN 200810094255A CN 101261615 B CN101261615 B CN 101261615B
- Authority
- CN
- China
- Prior art keywords
- network interface
- interface card
- data
- communication
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种计算机点对点直接内存通信(Direct MemoryCommunication,DMC)方法。根据本发明的直接内存通信网卡插在最高内存区的“内存条”插槽中,网卡包含“内存条”,“通信控制器”,“并串转换/串并转换器”和“光收发器”等器件。根据通信协议把内存一部分的最高区进行注册预留,作为计算机CPU和网卡的共享区。用户把数据写到该共享区,网卡就可通过光纤自动将数据发送到对方。同理,对方网卡收到数据后,自动写到共享区,对方计算机CPU就可从共享区读取数据,从而实现两台计算机内存之间的直接高速通信。
Description
技术领域
本发明属于计算机通信领域,是将“内存条”扩充发送和接收的器件,成为高速通信网卡,实现直接内存通信(DMC,Direct Memory Communication)的方法
背景技术
现有的计算机通信网卡大多是插在PCI或PCI扩展总线插槽中,如以太网网卡(思科公司,DATA SHEET),Myrinet网卡(Myrinet公司)等,用户必须采用设备驱动程序,才能实现通信。现有技术的专利申请200510083263公开了一种主从系统中直接内存存取控制器及总线结构,它是一种适用于主从计算机系统的直接内存存取电路,该直接内存存取电路包含:“内存装置”、“外围装置”和“直接内存存取控制器”,具有第一及第二数据路径;第一总线连接该内存装置与该第一数据路径;第二总线连接外围装置与第二数据路径;用以在至少一个内存装置与至少一个外围装置间传输数据。上述“外围装置”就是“外围设备”。可见,该专利申请还是具有“外围设备”的,与本发明具有明显的区别。
发明内容
现有的网卡通信是把网卡作为计算机的一个设备来进行操作的,数据先要从内存送到网卡这个设备里,网卡才能把数据发送出去,接收数据时也是这样。
本发明的直接内存通信网卡,简称DMC网卡(DMC,Direct MemoryCommunication),是插在最高内存区的内存条插槽中;根据通信协议,把内存一部分的最高区进行注册预留,作为计算机和网卡的共享区。用户通过访问该共享区,实现计算机之间的点对点直接内存通信。
本发明的方法是把内存一部分的最高区进行注册预留,作为计算机CPU和网卡的共享区,用户把数据写到这个共享区,网卡就可自动将数据发送到对方。同理,对方网卡收到数据后,自动写到共享区,对方计算机CPU就可从共享区读取数据,从而实现两台计算机内存之间的直接通信。因此,用户感觉不到网卡的存在,硬件和软件两方面都可节省开销,并且减小了通信延迟,加快了通信速率。
本发明的第一个特点是:直接内存通信网卡是插在最高内存区的内存条插槽中的,无需外设部件互连标准PCI(Peripheral Component Interconnect)或PCI扩展总线的干预。
本发明的第二个特点是:将内存的一部分10KB-2MB(由通信量的大小来定)的最高区进行注册预留,作为CPU和网卡的共享区。
本发明的第三个特点是:直接内存通信网卡的结构如图1所示,图中的下部是内存条,与原有的内存条基本保持不变,只是要引出网卡通信所需的DATA线2(数据总线2)、ADDR线3(地址总线3)、CLK线4(时钟线4)以及若干控制线5。这些线连到FPGA芯片。
现场可编程门阵列FPGA(Field Programmable Gate Array)芯片是直接内存通信网卡的通信控制器,其包括网卡命令、网卡状态、发送队列、接收队列、发送控制和接收控制等逻辑电路。发送队列的输出线和接收队列的输入线分别连到并串转换/串并转换器7,再经过光收发器8,利用光纤与对方互联。
因此,本发明提供了一种适用于计算机点对点直接内存通信的方法,其利用插在最高内存区的内存条插槽中的网卡进行通信,用户程序事先将内存的一部分的最高区进行注册预留,作为CPU和网卡的共享区,根据通信协议,通过访问该共享区的特定地址,控制具有内存条、通信控制器、并串转换/串并转换器和光收发器的网卡,进行计算机之间的点对点直接内存通信。
本发明的直接内存通信网卡是插在计算机的最高内存区的内存条插槽中。
本发明的上述网卡用户程序把内存的一部分的最高区进行注册预留,作为CPU和网卡的共享区,用户把数据写到该共享区,网卡就可自动将数据发送到对方,对方网卡收到数据后,自动写到本地共享区,对方CPU从本地共享区读取数据。
本发明还提供了一种使用本发明上述方法的网卡,其特征在于内存条通过数据线线、地址线、时钟线和若干控制线与通信控制器相连,RAM与所述通信控制器相连,所述通信控制器与并串转换/串并转换器相连,所述并串转换/串并转换器与光收发器相连,再利用光纤与对方互联。
本发明的网卡的所述通信控制器,包括网卡命令、网卡状态、发送队列、接收队列、发送控制和接收控制的逻辑电路。
本发明的网卡的所述通信控制器是现场可编程门阵列FPGA芯片。
本发明的有益效果是:
(1)用户可用赋值语句来发送数据,节省了网卡驱动程序及其软件的开销;
(2)直接内存通信网卡不受PCI或PCI扩展总线的控制,节省了现有网卡所需的“总线桥中转”;
附图说明
图1是依据本发明的直接内存通信网卡的结构图。
其中1——内存条
2——数据线(DATA线)
3——地址线(ADDR线)
4——时钟线(CLK线)
5——控制线
6——通信控制器,可编程逻辑阵列(FPGA)
7——并串转换/串并转换器(SERDES)
8——光收发器
9——动态内存(RAM)
具体实施方式
按照图1所示的直接内存通信网卡的结构图,设计了一个直接内存通信网卡的实例。其中,各器件的参考型号为:
1——内存条:Fully Buffered Dual Inserted Memory Module-FB_DIMM。
6——通信控制器:可编程逻辑阵列(FPGA),美国Altera公司的CycloneII.
7——并串转换/串并转换器(SERDES),美国Vitesse公司的VSC 7146。
8——光收发器:美国Finisar公司的FTRJ-8519。
9——动态内存RAM:通信量较小时可不用。
该网卡的具体通信过程如下:
1.初始化
在内存物理地址最高位空间注册预留2MB容量的缓冲区,作为用户和内核的共享区。其中,包括:
(1)接收数据缓冲区100KB;
(2)发送数据帧缓冲区4KB;
(3)网卡命令缓冲区20bits;
(4)网卡状态缓冲区20bits;
2.发送数据帧
设1帧数据最多2KB,再加帧头、帧尾等不会超过4KB。用户只要将该帧写入上述的“发送数据帧缓冲区”,直接内存通信网卡就自动同时写入一个发送队列(FIFO)中。然后,再向“网卡命令缓冲区”写入一条“发送命令”,直接内存通信网卡就自动将一帧数据发送出去。
3.发送信号命令帧
与“发送数据帧”基本相同,只是帧很短,格式可以不同,可由用户自己定义。
4.接收数据帧
由网卡自动完成接收任务,收到的数据存放在网卡的100KB RAM中。由于100KB RAM可以存放50帧数据,故可自动连续接收50帧,而且还可自动完成应答控制。完成后,在网卡状态缓冲区中对应的“标志位”置‘1’。
5.用户接收数据
用户查询“标志位”为‘1’时,就发送网卡命令,将1MB RAM中的数据拷贝到接收数据缓冲区,然后再从接收数据缓冲区拷贝到用户区。
已经根据优选的实施例描述了本发明。显然,在阅读和理解了上述详细说明书后能做出多种修正和替换。本发明意欲的是本申请构建成包括了落入附属的权利要求书或其等同物的范围之内的所有这些修正和替换。
Claims (4)
1.一种适用于计算机点对点直接内存通信的方法,其特征在于利用插在最高内存区的内存条插槽中的网卡进行通信,用户程序事先将内存的一部分的最高区进行注册预留,作为CPU和网卡的共享区,根据通信协议,通过访问该共享区的特定地址,控制具有内存、通信控制器、并串转换/串并转换器和光收发器的网卡,所述用户程序把数据写到所述共享区,网卡就可自动将数据发送到对方,对方网卡收到数据后,自动写到本地共享区,对方CPU从本地共享区读取数据,进行计算机之间的点对点直接内存通信。
2.一种使用权利要求1所述的方法的所述网卡,其特征在于所述内存通过数据线线、地址线、时钟线和若干控制线与通信控制器相连,RAM与所述通信控制器相连,所述通信控制器与并串转换/串并转换器相连,所述并串转换/串并转换器与光收发器相连,再利用光纤与对方计算机的网卡互联。
3.如权利要求2所述的网卡,其特征在于所述通信控制器,包括网卡命令、网卡状态、发送队列、接收队列、发送控制和接收控制的逻辑电路。
4.如权利要求3所述的网卡,其特征在于所述通信控制器是现场可编程门阵列芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100942553A CN101261615B (zh) | 2008-04-24 | 2008-04-24 | 计算机点对点直接内存通信方法及其网卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100942553A CN101261615B (zh) | 2008-04-24 | 2008-04-24 | 计算机点对点直接内存通信方法及其网卡 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101261615A CN101261615A (zh) | 2008-09-10 |
CN101261615B true CN101261615B (zh) | 2012-11-14 |
Family
ID=39962079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100942553A Expired - Fee Related CN101261615B (zh) | 2008-04-24 | 2008-04-24 | 计算机点对点直接内存通信方法及其网卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101261615B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506403A (zh) * | 2016-11-17 | 2017-03-15 | 中国电子科技集团公司第四十研究所 | 一种具有交互能力的光纤通道协议数据发生方法 |
CN113420860A (zh) * | 2020-08-20 | 2021-09-21 | 阿里巴巴集团控股有限公司 | 内存智能卡、设备、网络、方法及计算机存储介质 |
-
2008
- 2008-04-24 CN CN2008100942553A patent/CN101261615B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101261615A (zh) | 2008-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9996491B2 (en) | Network interface controller with direct connection to host memory | |
CN101477504B (zh) | 数据传输系统及数据传输方法 | |
CN103119908A (zh) | 在PCIe接口上实现快速通路互连协议 | |
CN105740195B (zh) | Or链式总线的增强数据总线反转编码的方法和装置 | |
CN103559152B (zh) | 基于pcie协议的cpu访问本地总线的装置及方法 | |
CN103106169B (zh) | 基于aurora协议的高速总线接口的扩展架构 | |
CN106951379A (zh) | 一种基于axi协议的高性能ddr控制器及数据传输方法 | |
CN101169770A (zh) | Cpu接口转换系统 | |
CN104915303A (zh) | 基于PXIe总线的高速数字I/O系统 | |
CN101414291A (zh) | 一种主从分布式系统和应用于该系统的并行通信方法 | |
CN103077132A (zh) | 一种高速缓存处理方法及协议处理器高速缓存控制单元 | |
CN103346977A (zh) | 一种数据资源的动态分配方法 | |
CN101194242A (zh) | 存储器控制器和用于连接网络和存储器的方法 | |
CN105635176A (zh) | 一种基于RapidIO的网络数据传输方法 | |
CN103377170B (zh) | 异构处理器间spi高速双向对等数据通信系统 | |
CN104615386A (zh) | 一种核外高速缓存装置 | |
CN101261615B (zh) | 计算机点对点直接内存通信方法及其网卡 | |
CN204390227U (zh) | 计算设备扩展装置、以及可扩展的计算系统 | |
CN201378851Y (zh) | 一种ccd图像数据采集装置 | |
CN102929329A (zh) | 片上系统间互连网络的动态重构方法 | |
CN101415027B (zh) | 基于hdlc协议的通讯模块及数据实时转发存储控制方法 | |
CN103222286A (zh) | 路由交换装置、网络交换系统和路由交换方法 | |
CN101655825B (zh) | 一种使用fpga实现lpc-usb双向通信的装置及lpc-usb和usb-lpc数据转换方法 | |
CN104598404A (zh) | 计算设备扩展方法和装置、以及可扩展的计算系统 | |
CN102780598B (zh) | 一种总线通信方法、总线通信单元及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121114 Termination date: 20160424 |