使用管理数据输入/输出接口将外部phy设备连接到mac设备

文档序号:1435296 发布日期:2020-03-20 浏览:16次 >En<

阅读说明:本技术 使用管理数据输入/输出接口将外部phy设备连接到mac设备 (Connecting an external PHY device to a MAC device using a management data input/output interface ) 是由 J·福纳尔 Z·福多尔 于 2019-08-12 设计创作,主要内容包括:示例包括通过确定外部物理层设备与介质访问控制设备之间的通信链路的模式来将外部物理层设备连接到介质访问控制设备;以及当通信链路的模式是串行千兆比特介质无关接口(SGMII)时,启用外部物理层设备与介质访问控制设备之间的集成电路间(I2C)接口,并且将管理数据输入/输出(MDIO)事务的目的地设置为外部物理层设备。(Examples include connecting an external physical layer device to a media access control device by determining a mode of a communication link between the external physical layer device and the media access control device; and when the mode of the communication link is Serial Gigabit Media Independent Interface (SGMII), enabling an inter-integrated circuit (I2C) interface between the external physical layer device and the media access control device and setting a destination of a management data input/output (MDIO) transaction as the external physical layer device.)

使用管理数据输入/输出接口将外部PHY设备连接到MAC设备

背景技术

开放系统互连(OSI)模型是一种概念框架,其对电信或计算系统的通信功能进行表征和标准化,而不考虑其底层内部结构和技术。该模型将通信系统分成抽象层。

物理层(PHY)负责在设备与物理传输介质之间发送和接收非结构化的原始数据。层规范定义了诸如电压电平、电压变化的时序、物理数据速率、最大传输距离和物理连接器之类的特性。这些特性包括引脚布局、电压、线路阻抗、电缆规格、无线设备的信号时序和频率。可以就网络拓扑而言来描述物理层的组件。使用物理层的协议的示例是以太网(如在standards.ieee.org处描述的由电气电子工程师协会(IEEE)802.3标准定义的)。

数据链路层提供节点到节点数据传送——两个直接连接的节点之间的链路。数据链路层定义了用于建立和终止两个物理连接的设备之间的连接的协议。数据链路层还定义了用于两个物理连接的设备之间的流控制的协议。在一个示例中,IEEE 802.3以太网标准将数据链路层划分为两个子层:a)介质访问控制(MAC)层——负责控制网络中的设备如何获得对介质的访问权以及对传输数据的权限;以及b)逻辑链路控制(LLC)层——负责识别并封装网络层协议,以及控制错误校验和帧同步。

在一些情况下,将外部PHY设备连接到MAC设备(例如,以太网网络接口控制器(NIC))存在困难。一种方法是将PHY设备集成到MAC设备中(称为内部PHY方法)。然而,这种方法对由PHY模块递送的能力引入了各种限制。显著地,内部PHY方法无法提供切换到不同的、更合适的PHY设备的能力(例如,就更好地支持的连接、更好地支持的温度范围等而言)。

另一种方法是使用外部PHY设备但是具有通过串行器/解串器(SERDES)接口的连接。SERDES接口包括通常用于高速通信的一对功能块以补偿受限的输入/输出。这些块对在串行数据与并行接口之间在每个方向上的数据进行转换。SerDes的主要用途是提供通过单线或差分对的数据传输,以便于使I/O引脚和互连的数量最小化。在这种方法中,通过使用能够将并行数据转换为数据的串行等效物(并且反之亦然)的集成电路来实现到外部PHY设备的连接。遗憾的是,一些外部PHY设备不支持SERDES连接。因此,需要一种更好的方法。

具体实施方式

本发明的实施例公开了用于网络I/O设备(例如,以太网NIC)的改进的设备驱动程序,以使用管理数据I/O(MDIO)接口针对包括一个或多个外部PHY设备的硬件配置成功地建立完全链接功能。在实施例中,完全链接功能根据IEEE 802.1BA标准(称为局域网和城域网IEEE标准-音视频桥接(AVB)系统(IEEE Standard for Local and Metropolitan AreaNetworks–Audio-Visual Bridging(AVB)System),其可以在www.ieee802.org/1/pages/802.1ba.html处获得)提供发送和接收音视频桥(AVB)分组的能力。

图1示出了示例计算系统100。如图1所示,计算系统100包括与网络170(例如,其可以是互联网)耦合的计算平台101。在一些示例中,如图1中所示,计算平台101经由网络通信信道175并且通过网络I/O设备110(例如,网络接口控制器(NIC))与网络170耦合,该网络I/O设备110具有与网络通信信道175连接或耦合的一个或多个端口。在实施例中,网络通信信道175包括PHY设备(未示出)。在实施例中,网络I/O设备110是以太网NIC。网络I/O设备110通过网络170将来自计算平台101的数据分组发送到其他目的地,并且从其他目的地接收数据分组以供转发到计算平台101。

根据一些示例,如图1所示的计算平台101包括电路120、主存储器130、网络(NW)I/O设备驱动程序140、操作系统(OS)150、至少一个应用160以及一个或多个存储设备165。在一个实施例中,OS 150是LinuxTM。在另一实施例中,OS 150是

Figure BDA0002163092330000031

服务器。网络I/O设备驱动程序140操作以初始化并管理由网络I/O设备110执行的I/O请求。在实施例中,被发送到网络I/O设备110和/或从网络I/O设备110接收到的分组和/或分组元数据存储在主存储器130和/或存储设备165中的一个或多个中。在至少一个实施例中,存储设备165可以是硬盘驱动器(HDD)和/或固态驱动器(SSD)中的一个或多个。在实施例中,存储设备165可以是非易失性存储器(NVM)。在一些示例中,如图1中所示,电路120可以经由通信链路155与网络I/O设备110通信地耦合。在一个实施例中,通信链路155是符合由***组件接口(PCI)特殊兴趣组(PCI-SIG)在pcisig.com处发布的***组件接口快速(PCIe)标准的3.0版本或其他版本的PCIe总线。在一些示例中,操作系统150、NW I/O设备驱动程序140和应用160至少部分地经由在主存储器130(例如,易失性或非易失性存储器设备)、存储设备165中包括的一个或多个存储器设备与电路120的元件(例如,处理核心122-1至122-m,其中“m”是大于2的任何正整数)之间的协作来实现。在实施例中,OS 150、NW I/O设备驱动程序140和应用160由一个或多个处理核心122-1至122-m执行。

在一些示例中,计算平台101包括但不限于服务器、服务器阵列或服务器群、web服务器、网络服务器、互联网服务器、工作站、小型计算机、大型计算机、超级计算机、网络装置、web装置、分布式计算系统、多处理器系统、基于处理器的系统、膝上型计算机、平板计算机、智能电话或其组合。在一个示例中,计算平台101是分解式服务器。分解式服务器是将组件和资源分解为子系统的服务器。分解式服务器可以根据需要适配以更改存储或计算负载,而不用在延长的时间段内替换或中断整个服务器。例如,服务器可以被分解为可以在其他附近服务器之间共享的模块化计算模块、I/O模块、功率模块和存储模块。在实施例中,计算平台101是驻留在车辆(例如,汽车、卡车、摩托车等)、船舶、飞机或航天器中的信息娱乐系统。

具有处理核心122-1至122-m的电路120可以包括各种商业可用的处理器,包括但不限于

Figure BDA0002163092330000041

Core i3、Core i5、Core i7、

Figure BDA0002163092330000042

或Xeon

Figure BDA0002163092330000043

处理器、ARM处理器和类似的处理器。电路120可以包括至少一个高速缓存135以存储数据。

根据一些示例,主存储器130可以由可以包括各种类型的易失性和/或非易失性存储器的一个或多个存储器设备或管芯组成。易失性类型的存储器可以包括但不限于动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、晶闸管RAM(TRAM)或零电容器RAM(ZRAM)。非易失性类型的存储器可以包括具有三维(3-D)交叉点存储器结构的字节或块可寻址类型的非易失性存储器,其包括硫化物相变材料(例如,硫化物玻璃),下文中称为“3-D交叉点存储器”。非易失性类型的存储器还可以包括其他类型的字节或块可寻址的非易失性存储器,例如但不限于,多阈值级别NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、结合忆阻器技术的磁阻随机存取存储器(MRAM)、自旋移矩MRAM(STT-MRAM)或上述存储器中的任何存储器的组合。在另一实施例中,主存储器130可以包括在计算平台101内和/或可由计算平台101访问的一个或多个硬盘驱动器。

图2示出了示例网络I/O设备110。在主机侧,网络I/O设备110通过通信链路155(例如,PCIe总线)连接到计算平台101。在网络侧,网络I/O设备110连接到PHY设备220,该PHY设备220形成图1中所示的网络通信信道175的至少一部分。PHY设备220是用于实现用于联网的物理层功能的任何电路。PHY设备将链路层设备(即,网络I/O设备110)连接到物理介质(例如,光纤或铜质电缆)。PHY设备典型地包括物理编码子层(PCS)和物理介质相关(PMD)层功能两者。PHY芯片(也称为PHYceiver并且在PHY设备220中体现)在以太网设备中是常见的。PHY设备220的一个目的是提供对链路的模拟信号物理访问。PHY设备220与介质无关接口(MII)222通信链路结合使用,或者与负责更高层功能的微控制器相接合。当PHY设备220是以太网PHY芯片时,PHY设备实现以太网帧的硬件发送和接收功能。PHY设备220在以太网线路调制的模拟域与链路层分组信令的数字域之间相接合。

MII 222被定义为用于将千兆比特以太网(MAC)块连接到PHY芯片的标准接口。MII由IEEE 802.3(可在standards.ieee.org处获得)定义,并且将不同类型的PHY连接到MAC。介质无关表示可以在不重新设计或替换MAC硬件(即,网络I/O设备110)的情况下使用用于连接到不同介质(即,双绞线、光纤等)的不同类型的PHY设备。因此,任何MAC可以独立于网络信号传输介质与任何PHY一起使用。MII可以用于使用可插拔连接器将MAC连接到外部PHY,或者将MAC直接连接到位于相同印刷电路板(PCB)上的内部PHY芯片。

管理数据I/O(MDIO)218串行总线电路与MII相关联,其用于在MAC与PHY组件之间传送管理信息。在系统上电时,使用自动协商,除非经由MDIO接口更改设置,否则PHY设备适应于其连接到的任何MAC设备。串行千兆比特介质无关接口(SGMII)是MII的变体。SGMII用于千兆比特以太网,但是也可以承载10/100 Mbit/s的以太网。在实施例中,MII 222包括SGMII。SGMII将处于625 MHz时钟频率双倍数据速率(DDR)的差分对用于发送(TX)数据和接收(RX)数据以及TX时钟和RX时钟。SGMII提供低功率和低引脚计数的串行8b/10b编码接口。发送路径和接收路径各自将一个差分对用于数据并且将另一差分对用于时钟。TX/RX时钟必须在设备输出上生成,但在设备输入上是可选的。在实施例中,MII 222是SERDES接口。在实施例中,MII 222包括用于SGMII接口和SERDES接口两者的能力。

网络I/O设备110包括通信链路202电路(例如,PCIe总线电路)以与计算平台101的通信链路155通信。网络I/O设备110包括PHY接口电路216以通过接口222(例如,在实施例中为SGMII)与PHY设备220通信。业务和队列管理电路204被包括以管理被发送的分组和接收到的分组的业务流。多个队列(例如,Q1(206)、Q2(208)、Q3(210)和Q4(212))被包括以存储传入分组和传出分组以及相关联的元数据。在实施例中,至少一个队列用于存储AVB分组。在其他实施例中,可以使用任何数量的队列。MAC电路214是网络I/O设备110内的用于处理发送分组和/或接收分组的处理单元。

在实施例中,在使用MDIO 218连接的情况下使用SGMII将网络I/O设备110与外部PHY设备220耦合以发送和接收AVB分组。

在实施例中,网络I/O设备110包括多个寄存器,其包括扩展设备控制寄存器(CTRL_EXT)224、介质相关接口控制寄存器(MDIC)226和MDC/MDIO配置寄存器(MDICNFG)228。

图3示出了用于网络I/O处理的示例软件栈300。应用160执行计算平台的用户所期望的任何处理。在实施例中,应用是信息娱乐驾驶舱程序,其用于控制和/或管理车辆(例如,汽车、卡车、摩托车等)、船舶、飞机或航天器的一个或多个功能的操作。在实施例中,软件栈300包括AVB流应用302,该AVB流应用302用于管理对计算平台101中的AVB数据流的发送和接收。在实施例中,AVB流应用302是应用160的一部分。在另一实施例中,AVB流应用302是OS 150的一部分。

软件栈300包括用于帮助处理AVB流的至少三个组件。时序服务组件304对在计算平台101和网络170中使用的时钟(未示出)进行同步。在实施例中,时序服务组件304实现以下中的一个或多个:于2018年发布为IEEE1588-2008的题为“用于联网测量和控制系统的精确时钟同步协议标准(Standard for a Precision Clock Synchronization Protocolfor Networked Measurement and Control Systems)”的精确时间协议(PTP)(可在standards.ieee.org处获得),以及题为“局域网和城域网标准-桥接局域网中的时间敏感应用的定时和同步(Standard for Local and Metropolitan Area Networks-Timing andSynchronization for Time-Sensitive Applications in Bridged Local AreaNetworks)”(IEEE(AVB)标准组的一部分)的IEEE802.1AS-2011,其由IEEE 802.1时间敏感联网(TSN)任务组进一步扩展。IEEE 802.1AS-2011指定了将IEEE 1588-2008用于通过虚拟桥接局域网的时间同步的配置文件。特别地,802.1AS-2011定义了IEEE 802.3(以太网)、IEEE 802.11(WiFi)和同轴电缆多媒体联盟(MoCA)实现方式如何都可以是相同PTP时序域的一部分。

流预留组件306实现用于以太网实现方式的流预留协议。在实施例中,流预留组件306实现题为“局域网和城域网标准-虚拟桥接局域网-修订:9:流预留协议(SRP)(Standardfor Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks-Amendment:9:Stream Reservation Protocol(SRP))”的IEEE 802.1Q-2011(可在www.ieee802.org/1/pages/802.1at.html处获得)。SRP定义了在OSI模型的第2层处的流的概念。流预留组件306提供用于对流的资源进行端到端管理以保证服务质量(QoS)的机制。

带宽控制组件308控制时间敏感的、损耗敏感的实时AV传输。在实施例中,带宽控制组件308实现题为“局域网和城域网IEEE标准-虚拟桥接局域网-修订:时间敏感流的转发和排队增强(IEEE Standard for Local and Metropolitan Area Networks---VirtualBridged Local Area Networks-Amendment:Forwarding and Queuing Enhancements forTime-Sensitive Streams)”的IEEE 802.1 QAV(可在www.ieee802.org处获得)。

网络I/O库310是向AVB流处理应用提供低级别功能的中间件软件。网络I/O库310应被理解为是物理硬件(在这种情况下是网络I/O设备110)与上层软件应用160之间的代理,使得物理硬件和上层软件应用160能够与由网络I/O设备110控制的寄存器、存储器区域等通信。网络I/O设备驱动程序140在软件栈300的最低级别,该网络I/O设备驱动程序140对网络I/O设备110进行操作和/或控制。网络I/O设备驱动程序向网络I/O设备110提供软件接口,从而使得OS 150和应用160在不需要知道关于网络I/O设备如何操作的精确细节的情况下能够访问网络I/O硬件功能。在实施例中,网络I/O设备驱动程序140驻留在OS 150的内核空间中。在另一实施例中,时序服务304、流预留306、带宽控制308、网络I/O库310和网络I/O设备驱动程序中的一个或多个是OS 150的一部分。

图4示出了使用管理数据I/O(MDIO)接口将外部PHY设备连接到MAC设备的过程的示例流程图400。在实施例中,流程400被实现为网络I/O设备驱动程序140的一部分。在实施例中,当OS 150是LinuxTM时,通过使用对LinuxTMOS的“***模块”(insmod)调用来将网络I/O设备驱动程序140安装为OS中的内核模块。在计算平台101的系统初始化期间,OS进行“I/O控制”(ioctl)调用,该ioctl调用由网络I/O设备驱动程序140内的ioctl处理程序功能处理,以指示驱动程序对自身进行初始化(如框402处所示)。在实施例中,对设备驱动程序的初始化包括诸如分配内核存储器、请求PCIe驱动空间、向PCIe设备通知状态、设置以处理中断等之类的动作。在框404处,网络I/O设备驱动程序140选择设置功能。从驱动程序的角度来看,这是取决于MAC类型来选择用于函数指针的哪段初始化代码将在网络I/O设备驱动程序的整个寿命期间使用的步骤。在框406处,网络I/O设备驱动程序140对用于网络I/O设备110的函数指针进行初始化。在框408处,网络I/O设备驱动程序140对用于共享代码的函数指针进行初始化。在实施例中,通过将函数指针初始化到方法实现方式的适当地址来实现框406和框408。在该步骤中,网络I/O设备驱动程序指派特定于网络I/O设备110的代码的选定的物理片段。这包括例如确保负责设置网络I/O设备特定的非易失性存储器参数的函数(经由函数指针机制)被初始化到适当的存储器地址。除了执行此操作之外,该步骤还对共享代码相关的指针进行初始化;这对于实现每秒1000兆字节(Mb/s)功能的所有网络I/O设备都是必需的。在实施例中,框406可以被视为超集,其并入了在框408中接下来完成的操作。在一种场景中,多个网络I/O设备可以使用1千兆字节每秒(Gb/s)网络I/O设备驱动程序140。因此,通用函数指针调用被缩小到专用于该特定HW配置的代码的适当片段。在一个实施例中,框404、406和408被视为已经被划分成多个部分以增加所执行操作的清晰度的(取决于彼此的)完整初始化流。在框410处,网络I/O设备驱动程序140建立用于将来通过MII222进行通信的介质类型。介质类型指示关于PHY与MAC之间的接口的特性的信息。

图5示出了建立介质类型的过程的示例流程图500。在框502处,如果MII 222的链路模式不是基于MDIO的SGMII,则在框510处取决于配置将介质类型设置为多个选项中的一个。在大多数情况下,存在***计算平台中的小形状因子的可插拔收发器(SFP)模块。这表示网络I/O设备驱动程序基于(通过集成电路间(I2C)读取事务)对模块本身进行查询来建立适当的介质类型。取决于收发器的类型,在检测到不支持的未定义连接的情况下可以将介质类型初始化为内部_SERDES、铜质或未知。另一种可能性是在包括基于I2C的SGMII的配置中。在这种情况下,调用与SERDES中相同的代码片段,但具有一些特定的更改。介质类型被设置为铜质连接。在实现方式内,代码在两个SGMII选项之间变化,因此确保完整清晰度。SERDES连接应该被视为单独的链路模式。

SGMII提供两个选项——内部MDIO和外部MDIO。本发明的实施例使用外部MDIO。在实施例中,通过读取来自CTRL_EXT 224的值来获得链路模式。如果链路模式是SGMII(其控制在MAC与PHY之间的通信链路上的接口),则处理继续到框504,其中网络I/O设备驱动程序140启用集成电路间(I2C)接口。I2C接口被打开,使得网络I/O设备驱动程序140能够利用MDIO连接222和MDIO电路218来访问外部PHY设备220。在实施例中,该步骤包括在偏移0x0018下改变网络I/O设备的寄存器存储器空间(在一个实施例中称为编程接口)中的CTRL_EXT的状态。这要求针对CTRL_EXT寄存器的当前值对网络I/O设备110进行查询,并且将位编号25(I2C使能)置位为1。在框506处,网络I/O设备驱动程序140设置外部目的地,这表示利用外部介质相关输入/输出(MDIO)事务来访问外部PHY设备220(与内部MDIO事务相反)。在实施例中,该步骤包括将网络I/O设备寄存器存储器空间中的MDICNFG寄存器228中的位编号31置位为1。这指示MDIO事务将在使用MDIC接口的情况下执行,并且使用MDIO协议将MDIO事务重定向到外部PHY设备220。

在实施例中,在网络I/O设备驱动程序内实现查询机制以针对MDICNFG寄存器228内的PHY寄存器地址字段和PHY_Address字段的可用值对MDIC寄存器进行查询。MDICNFG寄存器228负责配置用于建立正确MDIO连接的设置(该设置由MDIC寄存器226在读取/写入级别直接访问)。这用于读出在设备驱动程序初始化处理中使用的PHY_ID编号。在OS 150是LinuxTM的实施例中,printk()机制用于在“dmesg”下将期望信息打印到LinuxTM终端中。

下面是用于该查询机制的示例伪代码。

Figure BDA0002163092330000091

Figure BDA0002163092330000101

在实施例中,引入了指定在加载网络I/O设备驱动程序时要使用的PHY_Address的模块参数。LinuxTM中定义的MODULE_PARAM_DESC宏启用该特征。由用户指定的将网络I/O设备驱动程序模块加载到OS中的变元然后在设备驱动程序的初始化处理中使用。

Sudo insmod device_driver PHY_Addr=<specified_PHY_Address>

在框508处,网络I/O设备驱动程序140将介质类型变量设置为铜质并且将SGMII活动变量设置为真,作为结束建立介质类型流的动作。从现在起,网络I/O设备驱动程序知道与外部PHY设备的操作是通过MDIO处于SGMII模式的。进一步的动作包括在网络I/O设备110实现完全链接功能的过程中MAC与PHY之间的协作或者在MAC与PHY设备之间接收/发送数据的过程中交换一般信息。

图6示出了存储介质600的示例。存储介质600可以包括制品。在一些示例中,存储介质600可以包括任何非暂时性计算机可读介质或机器可读介质,例如,光学、磁性或半导体存储装置。存储介质600可以存储各种类型的计算机可执行指令,例如,分别用于实现图4的逻辑流程400和图5的逻辑流程500的指令602。计算机可读或机器可读存储介质的示例可以包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写或可重写存储器等。计算机可执行指令的示例可以包括任何合适类型的代码,例如,源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象的代码、可视代码等。示例不限于该上下文。

图7示出了示例计算平台700。在一些示例中,如图7中所示,计算平台700可以包括处理组件702、其他平台组件704和/或通信接口706。在实施例中,计算平台700是驻留在车辆(例如,汽车、卡车、摩托车等)、船舶、飞机或航天器中的信息娱乐系统。

根据一些示例,处理组件702可以执行针对存储在存储介质600上的指令的处理操作或逻辑。处理组件702可以包括各种硬件元件、软件元件或两者的组合。硬件元件的示例可以包括设备、逻辑器件、组件、处理器、微处理器、电路、处理器电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、设备驱动程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定示例使用硬件元件和/或软件元件实现可以根据任何数量的因素(例如,期望的计算速率、功率水平、热容差、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束,如给定示例所期望的)而变化。

在一些示例中,其他平台组件704可以包括常见计算元件,例如,一个或多个处理器、多核心处理器、协处理器、存储器单元、芯片组、控制器、***设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件(例如,数字显示器)、电源等。存储器单元的示例可以包括但不限于以一个或多个更高速度存储器单元形式的各种类型的计算机可读和机器可读存储介质,例如,只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据速率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、诸如可以是字节或块可寻址的3-D交叉点存储器之类的非易失性存储器的类型。非易失性类型的存储器还可以包括其他类型的字节或块可寻址的非易失性存储器,例如但不限于,多阈值级别NAND闪速存储器、NOR闪速存储器、单级或多级PCM、电阻式存储器、纳米线存储器、FeTRAM、结合忆阻器技术的MRAM、STT-MRAM或上述存储器中的任何存储器的组合。其他类型的计算机可读和机器可读存储介质还可以包括磁卡或光卡、诸如独立磁盘冗余阵列(RAID)驱动器之类的设备阵列、固态存储器设备(例如,USB存储器)、固态驱动器(SSD)以及适用于存储信息的任何其他类型的存储介质。

在一些示例中,通信接口706可以包括用于支持通信接口的逻辑和/或特征。对于这些示例,通信接口706可以包括根据各种通信协议或标准操作以通过直接通信链路或信道或网络通信链路或信道进行通信的一个或多个通信接口。直接通信可以经由使用在一个或多个行业标准(包括后代和变体)中所描述的通信协议或标准(例如,与PCIe规范相关联的那些)来发生。网络通信可以经由使用诸如在IEEE公布的一个或多个以太网标准中所描述的那些通信协议或标准之类的通信协议或标准来发生。例如,一个这样的以太网标准可以包括IEEE 802.3。网络通信也可以根据诸如OpenFlow交换机规范之类的一个或多个OpenFlow规范来发生。

计算平台700的组件和特征(包括由存储在存储介质600上的指令所表示的逻辑)可以使用分立电路、ASIC、逻辑门和/或单芯片架构的任何组合来实现。此外,计算平台700的特征可以在适当的情况下使用微控制器、可编程逻辑阵列和/或微处理器或前述的任何组合来实现。应该注意的是,硬件、固件和/或软件元件可以在本文中统称或单独称为“逻辑”或“电路”。

应该认识到的是,图7的框图中示出的示例性计算平台700可以表示许多潜在实现方式中的一个功能描述性示例。因此,对附图中所描绘的块功能的划分、省略或包含并不会推断出用于实现这些功能的硬件组件、电路、软件和/或元件需要在实施例中被划分、省略或包含。

可以使用硬件元件、软件元件或两者的组合来实现各种示例。在一些示例中,硬件元件可以包括设备、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、ASIC、可编程逻辑器件(PLD)、数字信号处理器(DSP)、FPGA、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。在一些示例中,软件元件可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定示例使用硬件元件和/或软件元件实现可以根据任何数量的因素(例如,期望的计算速率、功率水平、热容差、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束,如给定实现方式所期望的)而变化。

一些示例可以包括制品或至少一种计算机可读介质。计算机可读介质可以包括用于存储逻辑的非暂时性存储介质。在一些示例中,非暂时性存储介质可以包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写或可重写存储器等。在一些示例中,逻辑可以包括各种软件元件,例如,软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。

可以使用表述“在一个示例中”或“示例”及其衍生词来描述一些示例。这些术语表示结合该示例所描述的特定特征、结构或特性被包括在至少一个示例中。在说明书中各处出现的短语“在一个示例中”不一定都指代相同的示例。

本文包括表示用于执行所公开的架构的新颖方面的示例方法的逻辑流程或方案。虽然出于简化解释的目的,本文所示的一种或多种方法被示出并描述为一系列动作,但是本领域技术人员将理解并认识到,这些方法不受动作次序的限制。一些动作可以与本文所示出并描述的次序一致、以与本文所示出并描述的次序不同的次序发生和/或与其他动作同时发生。例如,本领域技术人员将理解并认识到,方法可以可替代地表示为一系列相互关联的状态或事件,例如,在状态图中。此外,并非方法中所示的所有动作都可以是新颖的实现方式所要求的。

可以以软件、固件和/或硬件来实现逻辑流程或方案。在软件和固件实施例中,逻辑流程或方案可以由存储在至少一种非暂时性计算机可读介质或机器可读介质(例如,光学、磁性或半导体存储装置)上的计算机可执行指令来实现。实施例不限于该上下文。

使用表述“耦合”和“连接”及其衍生词来描述一些示例。这些术语不一定旨在是彼此的同义词。例如,使用术语“连接”和/或“耦合”的描述可以指示两个或更多个元件彼此直接物理接触或电接触。然而,术语“耦合”还可以表示两个或更多个元件彼此不直接接触,但仍然彼此协作或交互。

应该强调的是,提供了本公开的摘要以符合37 C.F.R.第1.72(b)节,要求允许读者快速确定技术公开的本质的摘要。提交时理解的是,摘要不会用于解释或限制权利要求书的范围或含义。另外,在前面的具体实施方式中,可以看出,出于简化本公开的目的,各种特征在单个示例中被组合在一起。本公开的方法不应被解释为反映所要求保护的示例要求比每项权利要求中所明确引述的更多特征的意图。而是,如所附权利要求书所反映的,发明主题在于少于单个公开示例的所有特征。因此,所附权利要求书在此并入具体实施方式中,其中每项权利要求自身作为单独的示例。在所附权利要求书中,术语“包括(including)”和“其中(in which)”分别用作相应术语“包含(comprising)”和“其中(wherein)”的简明英语等同词。此外,术语“第一”、“第二”、“第三”等仅用作标记,并不旨在对其对象施加数字要求。

尽管已经用特定于结构特征和/或方法动作的语言描述了本主题,但是应该理解的是,所附权利要求书中定义的主题不一定限于上面所描述的具体特征或动作。而是,公开了上面所描述的具体特征和动作作为实现权利要求的示例形式。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于FPGA的传输数据的方法、设备及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!