至少部分地提供数据的至少一部分可供处理的至少一个指示的制作方法

文档序号:8395831阅读:494来源:国知局
至少部分地提供数据的至少一部分可供处理的至少一个指示的制作方法
【技术领域】
[0001]本公开内容涉及至少部分地由电路促进对至少一个控制器命令接口的访问。
【背景技术】
[0002]在常规的联网布置中,使用常规的拉取(pull)或推送(push)技术来取出要从主机存储器传输的分组。例如,在常规的拉取技术中,取决于所使用的具体的主机操作系统,主机中央处理单元(CPU)要么把分组及其描述符写入到主机内核存储器,要么把应用缓冲器(包含分组)传输给主机内核并此后把分组的首部和描述符写入到内核存储器。此后,在这种常规拉取技术中,CPU写入门铃以便警告主机的网络接口控制器(NIC)。响应于门铃,NIC从主机存储器读取描述符和分组。然后,NIC调度并处理分组以供传输,且此后从主机传输分组。
[0003]不幸的是,执行这种常规拉取技术中所涉及的以上操作在从NIC获取、处理和传输分组时引入了显著的等待时间。可以容易地明白的是,不期望这些等待时间,在等待时间不能容忍和/或重要的通信量的情况下尤其如此。
[0004]在常规的推送技术中,CPU通过把分组和/或描述符直接地复制到NIC存储器来提供暗示门铃。作为响应,NIC调度和处理分组以供传输,且此后从主机传输分组。
[0005]不幸的是,执行这种常规的推送技术所涉及的以上操作不能随着增加的分组通信量和/或请求分组传输的CPU线程良好地扩展。这至少部分地是由于这种常规的推送技术把大量的NIC(例如,管芯上(on-die))存储器用于每一次这样的分组传输/事务的事实。另外,取决于所采用的主机总线协议/内部传输架构,对于每一分组传输/事务,可能涉及在总线/内部传输机制上(例如,到NIC存储器)大量使用缓冲写(posted write)。这可以引起主机CPU性能降级,在CPU指令重排序以使得难以匹配相应的已完成缓冲写的方式发生时尤其如此。
[0006]在传输流量是猝发性的由此在相对短的时间间隔内生成大量这样的通信量时,这种常规的推送技术的附加缺点可能变得明显。例如,这样的猝发性通信量可以完全地充满用于分组推送事务的NIC存储器,由此使得CPU线程停止把附加分组发送给NIC以供传输,直到已经释放了足够的NIC存储器空间(例如,在已经从主机传输了当前被存储在NIC的存储器中的其他分组之后)。这可以引起显著的性能降级。这种情况对等待时间不能容忍和/或重要的通信量具有尤其有害的影响。可以提供附加NIC存储器以便试图改善这一问题。然而,增加NIC存储器增加了 NIC成本。
【附图说明】
[0007]随着下列“详细描述”的进行并参考附图,各实施方式的特征和优点将变得显而易见,其中,相同编号描绘了相同的部分,其中:
[0008]图1阐释了系统实施方式。
[0009]图2阐释了一个实施方式中的特征。
[0010]图3阐释了一个实施方式中的特征。
[0011]图4阐释了一个实施方式中的特征。
[0012]虽然将参考说明性实施方式继续进行以下【具体实施方式】,但本领域技术人员将容易看出见其替代方案、修改以及变型。因此,旨在宽泛地考虑所要求保护的主题。
【具体实施方式】
[0013]图1阐释了系统实施方式100。系统100可以包括可以经由网络51通信上耦合到一个或多个主机20的一个或多个主机10。在这种实施方式中,术语“主机计算机”、“主机”、“服务器”、“客户机”、“网络节点”和“节点”可互换地使用,并且可表示,例如但并不限于,一个或多个终端站、移动互联网设备、智能电话、媒体设备、输入/输出(I/O)设备、平板计算机、装置、中间站、网络接口、客户机、服务器和/或其部分。在这种实施方式中,“网络”可以是或包括至少部分地准许、促进和/或允许两个或更多个实体通信上耦合到一起的任何机制、手段、模态和/或其部分。也在这种实施方式中,如果第一实体能够向第二实体传输和/或从其接收一个或多个命令和/或数据,则第一实体可以“通信上耦合”到第二实体。在这种实施方式中,数据和信息可以可互换地使用,且可以是或包括一个或多个命令(例如一个或多个程序指令),和/或一个或多个这样的命令可以是或包括数据和/或信息。也在这种实施方式中,指令可以包括数据和/或一个或多个命令。另外,在这种实施方式中,数据可以包括一个或多个指令和/或命令。在这种实施方式中,一个或多个主机10可以至少部分地远离(例如,地理上远离)一个或多个主机20。
[0014]一个或多个主机10可以包括一个或多个电路板35,一个或多个电路板35可以(例如,经由一个或多个未示出的卡插槽和/或其他互连,它们可以至少部分地被包括在一个或多个板35中)通信上耦合到一个或多个电路卡37。例如,尽管图中未示出,但一个或多个电路板35可以包括一个或多个卡插槽和/或其他互连。还例如,一个或多个电路卡37可以包括一个或多个配合互连,这些配合互连可以被构建为使得可以至少部分地被插入到一个或多个电路板35的一个或多个插槽和/或互连中和/或与其配合,由此准许一个或多个电路板35和电路卡37(和/或一个或多个其相应的组件)变得至少部分地相互电气耦合和/或物理配合。
[0015]在这种实施方式中,一个或多个电路板35可以至少部分地包括电路118。电路118可以至少部分地包括一个或多个单核心和/或多核心主机处理器12、一个或多个芯片组15和/或主机存储器21。一个或多个芯片组15可以至少部分地把一个或多个主机处理器12通信上耦合到存储器21、一个或多个电路卡37、一个或多个数据处理器108、NICC 120和/或一个或多个NIC 121。
[0016]也在这种实施方式中,一个或多个电路卡37可以至少部分地包括一个或多个数据处理器108。一个或多个数据处理器108可以至少部分地包括网络接口控制器电路(NICC) 120,网络接口控制器电路(NICC) 120可以至少部分地包括一个或多个网络接口控制器(NIC) 121。一个或多个NIC 121可以至少部分地包括存储器122。
[0017]在这种实施方式中,“电路”可以是或包括,例如单独地或以任何组合,模拟电路、数字电路、硬连线电路、可编程电路、协处理器电路、状态机电路和/或存储器,存储器可以包括可由可编程电路执行的程序指令。也在这种实施方式中,处理器、主机处理器、中央处理单元、处理器核心、核心和/或控制器都可以是或包括相应的电路,这些电路至少部分地能够执行一个或多个算术和/或逻辑操作,和/或至少部分地执行一个或多个指令。在这种实施方式中,芯片组可以是或包括一个或多个集成电路芯片,这些集成电路芯片可以至少部分地包括电路,该电路可以至少部分地准许一个或多个主机处理器和/或存储器至少部分地通信上耦合。在这种实施方式中,集成电路芯片可以是或包括一个或多个微电子设备、衬底和/或管芯。也在这种实施方式中,存储器可以是或包括下列类型的存储器中的一种或多种:半导体固件存储器、易失性存储器、可编程存储器、非易失性存储器、只读存储器、电可编程存储器、随机存取存储器、闪速存储器、磁盘存储器、光盘存储器和/或其他或以后开发的计算机可读和/或可写存储器。
[0018]尽管在图中未示出,但一个或多个主机10和/或20都可以至少部分地包括一个或多个相应的图形用户界面系统。这些图形用户界面系统中的每一个可以至少部分地包括例如一个或多个相应的键盘、指点设备和/或显示器系统,它们可以准许用户向一个或多个主机10、一个或多个主机20和/或系统100输入命令和/或监视其操作。
[0019]在这种实施方式中,数据的访问可以是或至少部分地包括数据的一次或多次读取和/或写入。也在这种实施方式中,读取数据可以是或至少部分地包括可以至少部分地促进、涉及和/或引起至少部分地获取和/或检索数据(例如,从存储器)的一个或多个事务和/或事件。在这种实施方式中,写入数据可以是或至少部分地包括可以至少部分地促进、涉及和/或引起至少临时地和/或至少部分地存储数据(例如,存储在存储器中)的一个或多个事务和/或事件。在这种实施方式中,数据的读取、写入和/或访问可以至少部分地包括一个或多个直接的存储器访问(DMA)操作和/或事务。
[0020]一个或多个机器可读程序指令可以至少部分地被存储在例如存储器21和/或122中。在一个或多个主机10的操作中,这些机器可读指令可以至少部分地由电路118、一个或多个主机处理器12、一个或多个芯片组15、一个或多个数据处理器108、电路120和/或一个或多个NIC 121(和/或其一个或多个组件)访问和执行。在这样访问和/或执行时,这些一个或多个机器可读指令可以至少部分地引起电路118、一个或多个主机处理器12、一个或多个芯片组15、一个或多个数据处理器108、电路120和/或一个或多个NIC 121 (和/或其一个或多个组件)至少部分地执行在此描述为由电路118、一个或多个主机处理器12、一个或多个芯片组15、一个或多个数据处理器108、电路120和/或一个或多个NIC 121 (和/或其一个或多个组件)执行的操作。
[0021]在这种实施方式中,实体的一部分或子集可以包括实体的全部或少于实体的全部。而且,在这种实施方式中,进程、线程、守护进程(daemon)、程序、驱动程序、操作系统、应用程序、内核和/或虚拟机监视器中的每一个都可以(I)至少部分地包括一个或多个操作和/或程序指令的执行,和/或⑵至少部分地引起和/或来源于一个或多个操作和/或程序指令的执行。在这种实施方式中,内核可以是或包括一个或多个操作系统进程(例如,可以(I)至少部分地管理、截取和/或控制来自一个或多个用户应用进程的一个或多个输入/输出(I/O)请求和/或(2)至少部分地转换和/或解释一个或多个这样的I/O请求以供至少部分地由一个或多个主机中所包括的电路执行)。
[0022]在这种实施方式中,环、队列和/或缓冲器可以至少部分地包括其中可以至少临时地存储数据和/或一个或多个命令的存储器中的一个或多个位置(例如,至少部分地由一个或多个地址指定和/或指示)。此外,在这种实施方式中,门铃可以至少部分地体现、引用、指示、是和/或包括数据和/或一个或多个命令,这些数据和/或命令在被写入到存储器中的一个或多个位置时,可以(I)至少部分地引起一个或多个操作的执行,和/或(2)至少部分地指示至少部分地要执行的一个或多个操作。在这种实施方式中,描述符可以至少部分地体现、引用、指示、是和/或包括数据和
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1