CN103154920A - 统一i/o适配器 - Google Patents

统一i/o适配器 Download PDF

Info

Publication number
CN103154920A
CN103154920A CN2011800480766A CN201180048076A CN103154920A CN 103154920 A CN103154920 A CN 103154920A CN 2011800480766 A CN2011800480766 A CN 2011800480766A CN 201180048076 A CN201180048076 A CN 201180048076A CN 103154920 A CN103154920 A CN 103154920A
Authority
CN
China
Prior art keywords
adapter
interconnection
main process
process equipment
memory device
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.)
Granted
Application number
CN2011800480766A
Other languages
English (en)
Other versions
CN103154920B (zh
Inventor
A·P·格利
P·苏塔尔德加
D·格德斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN103154920A publication Critical patent/CN103154920A/zh
Application granted granted Critical
Publication of CN103154920B publication Critical patent/CN103154920B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3808Network interface controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

描述了与统一混合输入/输出适配器相关联的系统、方法以及其它实施例。根据一个实施例,一种装置包括输入/输出(I/O)互连(120),被配置为与主机设备(140)相连接并且提供与该主机设备(140)的通信。该装置还包括网络适配器(110),连接至该I/O互连(120)并且被配置为与网络存储(170)进行通信。该装置包括主机适配器(120),连接至该I/O互连(130)并且被配置为与第一存储设备(180)和第二存储设备(190)进行通信。第一存储设备(180)具有比第二存储设备(190)更高的延迟。该装置进一步包括存储逻辑(150),被配置为对I/O互连(130)进行控制以使得来自主机设备(140)的存储访问请求经由主机适配器(120)而被高速缓存在第二存储设备(190)中。

Description

统一I/O适配器
相关申请的交叉引用
本公开内容要求于2010年10月20日提交的美国临时申请序列号61/405,091的权益,其通过引用的方式结合于此。
背景技术
这里出于一般地呈现本公开内容的背景的目的而提供该背景技术的描述。当前署名的发明人在该背景技术章节中所描述工作的程度的工作以及可能在提交时并不以其它方式限定为现有技术的描述的各方面既未明确地也未暗示地被承认为相对于本公开内容的现有技术。
输入/输出(I/O)瓶颈是会对计算系统中的性能造成不利影响的处理困难的一个示例。多核处理器是一种体验到I/O瓶颈的技术。
许多多核处理器通过对操作系统的多个实例进行操作来改进处理器的使用。多核处理器可以提供系统资源的多个虚拟实例以适应来自不同操作系统实例的I/O请求。然而,虽然资源可以具有多个虚拟实例,但是仍然存在仅仅单一的物理资源。该矛盾由于物理资源无法同时服务多个请求而导致了I/O瓶颈。
除了I/O瓶颈的增加之外,虚拟化也会通过管理虚拟实例的软件例程而引起处理开销。因此,虽然多核处理器中的虚拟化会带来更好的处理器利用,但是其也导致了若干的低效问题。
发明内容
在一个实施例中,一种装置包括输入/输出(I/O)互连,被配置为与主机设备相连接并且提供与该主机设备的通信。该装置还包括网络适配器,连接至该I/O互连并且被配置为与网络存储进行通信,以及连接至该I/O互连的主机适配器。该主机适配器被配置为与第一存储设备和第二存储设备进行通信。第一存储设备具有比第二存储设备更高的延迟。该I/O互连被配置为通过在集成电路中实现的将该I/O互连与主机适配器和网络适配器相连接的可切换连接路径而提供在主机适配器、网络适配器和主机设备之间的通信。
在一个实施例中,该I/O互连是外围组件开关,其被配置为在主机设备和主机适配器之间以及主机设备和网络适配器之间有选择地切换通信。该装置进一步包括存储逻辑,其被配置为控制该I/O互连以使得来自主机设备的存储访问请求经由主机适配器而被高速缓存在第二存储设备中。该存储逻辑被配置为控制该I/O互连以当存储访问请求寻址到网络存储或第一存储设备时对来自主机设备的存储访问请求重新定向以通过第二存储设备中的高速缓存对该存储访问请求进行服务。
在另一个实施例中,该装置包括服务逻辑,其被配置为如果从在该第二存储设备中高速缓存的该存储访问请求中选择的请求寻址到该网络存储,则控制该主机适配器向网络适配器发送该选择的请求以进行处理,并且如果该选择的请求寻址到该第一存储设备,则控制该主机适配器对该选择的请求进行处理。
在另一个实施例中,一种方法包括提供输入/输出(I/O)互连以在主机设备和主机适配器之间以及在主机设备和网络适配器之间切换通信。该主机适配器与第一存储设备和第二存储设备进行通信,并且该第一存储设备具有比第二存储设备更高的延迟。该网络适配器与网络存储进行通信。
该方法还包括将来自主机适配器的存储访问请求高速缓存在第二存储设备中,并且如果该存储访问请求寻址到该第一存储设备,则由该主机适配器对该存储访问请求进行处理。该方法包括如果该存储访问请求寻址到该网络存储,则经由该I/O互连将来自第二存储设备的存储访问请求发送至网络适配器以便进行处理。
在一个实施例中,该方法包括使用在集成电路中实现的将该I/O互连与主机适配器和网络适配器相连接的可切换连接路径而提供经由I/O互连的在主机适配器和网络适配器之间的通信路径。在另一个实施例中,该方法包括当存储访问请求指向网络存储或第一存储设备时将来自该I/O互连上的主机设备的存储访问请求重新定向至主机适配器。
在另一个实施例中,一种集成电路包括主机适配器,连接至输入/输出(I/O)互连并且被配置为与高延迟存储设备和低延迟存储设备进行通信。该集成电路还包括存储逻辑,其被配置为控制该I/O互连以使得读/写请求经由主机适配器而被高速缓存在低延迟存储设备中。在一个示例中,该主机设备是对通过该I/O互连与网络适配器和主机适配器进行通信的多个操作系统实例进行操作的多核处理器。该I/O互连例如在被配置为与主机设备进行通信的芯片上实现。此外,该存储逻辑被配置为控制该I/O互连以当读/写请求从主机设备发送至网络存储或高延迟存储时重新定向该读/写请求以通过低延迟存储设备对该读/写请求进行服务。
附图说明
并入说明书中并且构成其一部分的附图图示了本公开内容的各种系统、方法和其它实施例。将理解,图中所图示的部件边界(例如,框、框组或其它形状)表示边界的一个示例。在一些示例中,一个部件可以被设计为多个部件或者多个部件可以被设计为一个部件。在一些示例中,被示出为另一部件的内部组件的部件可以被实施为外围组件,并且反之亦然。此外,部件可能并未依比例进行绘制。
图1图示了统一混合适配器的一个实施例。
图2图示了与统一混合适配器中的通信相关联的方法的一个实施例。
图3图示了与统一混合适配器相关联的网络适配器的一个实施例。
图4图示了与统一混合适配器相关联的主机适配器的一个实施例。
图5图示了在多个集成电路上实现的统一混合适配器第一个实施例。
具体实施方式
这里对与统一混合适配器中的通信相关联的系统、方法和其它实施例的示例进行描述。在一个实施例中,统一混合适配器通过在单个适配器中实施多个虚拟化资源来提高多核处理器的效率。以这种方式实施系统资源从处理器去除了I/O瓶颈和处理管理开销以提供对资源的有效访问。
参考图1,示出了统一混合适配器100的一个实施例,其在主机设备140和一个或多个系统资源之间提供输入/输出(I/O)互连130。在一个实施例中,统一混合适配器100可以在包括网络适配器110和主机适配器120的具有系统资源的设备中实施。I/O互连130例如将主机适配器120和网络适配器110连接至主机设备140。在一个实施例中,I/O互连130是外围组件开关,其有选择地在诸如主机设备140和网络适配器110之类的组件之间切换通信。网络适配器110例如提供对网络存储170的网络访问。主机适配器120例如提供对高延迟存储180和低延迟存储190的访问。
在一个实施例中,统一混合适配器100还包括一个或多个逻辑。例如,统一混合适配器100包括存储逻辑150和服务逻辑160。存储逻辑150和服务逻辑160被配置为对主机设备140进行操作并且在改善访问延迟的同时向主机设备140提供对多个系统资源(例如,网络存储170和高延迟存储180)的访问。在一个实施例中,存储逻辑150和服务逻辑160被配置为对主机设备140进行操作并且向主机设备140提供对多个系统资源的访问。将结合图2对统一混合适配器100的功能细节进行描述。
参考图2,图示了与统一混合适配器100中的通信相关联的方法200的一个实施例。从方法200由统一混合适配器100实施并执行以对通过I/O互联130发送的通信进行控制的角度对图2进行讨论。
例如,在210,方法200提供I/O互连(例如,I/O互连130)。其进行操作以在统一混合适配器100中的组件之间切换通信。I/O互连130和主机设备140之间的接口对从主机设备140到统一混合适配器100中的部件所传输的通信或者从统一混合适配器100中的部件到主机设备140所传输的通信进行中继。
在一个实施例中,提供I/O互连130包括提供可在部件之间(例如,在主机适配器120、网络适配器110和主机设备140之间)进行切换的多个连接/通信路径。例如,I/O互连130的可切换连接路径能够将主机适配器120和网络适配器110连接至主机设备140并且还将网络适配器110连接至主机适配器120。因此,在一个示例中,I/O互连130是基于用于在I/O互连130所接收的通信的目的地地址而有选择地改变通信路径的开关。如以下将要描述的,通信包括来自主机设备140并且指向网络存储170或高延迟存储180的存储访问请求(例如,读/写请求)。I/O互连130对路径进行切换以将该读/写请求指向适当组件。
例如,I/O互连130是2x1开关、Nx1开关(其中N表示正整数)、NxN开关等的开关。在一个实施例中,I/O互连130是与外围组件互连快速(PCIe)标准相兼容和/或能够被实施为与作为标准变化的PCIe标准衍生形式相兼容的开关。
继续图2,在220,方法200通过I/O互连130将来自主机设备140的读/写请求指向主机适配器120。在一个示例中,控制逻辑150控制I/O互连130以将来自主机设备140的读/写请求指向主机适配器120而无论该读/写请求的目的地如何。然而,当通信到达时,适配器100并不了解该请求的类型是什么。例如,存储逻辑120被配置为识别来自主机设备140的通信何时是读/写请求并且控制I/O互连130以切换连接路径而将该读/写请求指向主机适配器120。在一个示例中,存储逻辑150通过确定请求是否寻址到网络存储170或高延迟存储180而将该请求识别为读/写请求。如果是,则该方法假定该请求为读/写请求。以这种方式,存储逻辑150使得读/写请求被指向主机适配器120,而其它通信(例如,基本网络通信、非存储访问请求)则如主机设备140原本所请求的那样进行定向。
在230,方法200经由主机适配器120将读/写请求高速缓存在低延迟存储设备190中。在一个实施例中,主机适配器120自动将已经从I/O互联130指向低延迟设备190的读/写请求进行转发以进行高速缓存。在另一个实施例中,主机适配器120和/或相关联逻辑(例如,服务逻辑160)对读/写请求执行高速缓存操作。例如,高速缓存操作可以包括确定读/写请求是否在低延迟存储190中引起高速缓存错失事件、高速缓存命中事件或其它高速缓存事件。以这种方式,读/写请求被有效高速缓存在低延迟存储190中。
在一个实施例中,定向和高速缓存读/写请求对于主机设备140而言是透明的。好像该请求被引向所寻址的设备那样,主机设备140例如进行操作以向统一混合适配器100发送读/写请求或者从统一混合适配器100接收读/写请求。以这种方式,与例如到网络存储170的I/O请求相关联的延迟得以改善。在一个实施例中,以这种方式对读/写请求(例如,存储访问请求)进行定向和高速缓存提供了有所改进的请求服务而并不对主机设备140的操作进行修改。
此外,统一混合适配器100对多于一个资源(例如,网络存储170、高延迟存储180)提供访问。典型地,单个适配器仅对单个资源提供访问。由于请求被发送至单个而不是多个适配器,所以将多个适配器合并为统一混合适配器100缓解了来自主机设备140的处理开销。因此,主机设备140对单个适配器的请求进行处理以便对多个资源进行访问。统一混合适配器100在改进主机设备140的操作的同时为主机设备140提供了对网络适配器110和主机适配器120的透明访问。
一旦读/写请求被指向并高速缓存在低延迟存储190中,请求就例如由它们所寻址的存储设备有选择地进行处理。例如,考虑来自主机设备140的向网络存储170写入信息块的请求。在该示例中,该请求经由I/O互连130而被指向(例如,在220)主机适配器而不是被发送至用于对网络存储170(实际目的地)进行访问的网络适配器110。反而在230,主机适配器120初始地将该请求高速缓存在低延迟存储190中。
在一个实施例中,在高速缓存了写入请求之后,主机适配器可以好像从网络存储170发送的确认那样向主机设备140发送该信息已经被存储的确认。以这种方式,主机设备140相信写入请求已经被处理,这允许主机设备140继续并完成与该请求相关联的任意剩余动作。由于将写入请求处理至高速缓存中比将该请求处理至网络存储170中更快,所以这减少了与在网络存储170中处理该写入请求相关联的延迟。
然而,虽然被高速缓存,但是由于数据还没有实际被存储在网络存储170中,所以写入请求还没有完成。相反,该请求被临时高速缓存在低延迟存储190中。因此,在一个实施例中,服务逻辑160从低延迟存储190选择写入请求以如原始意图的那样实现该请求。服务逻辑160例如基于与请求相关联的优先级、服务质量和/或到达顺序或者其它所期望的选择处理来选择要实现的读/写请求。
在240,方法200通过确定之前被高速缓存的所选择的读/写请求是否寻址到高延迟存储设备180而继续。如果所选择的请求寻址到高延迟存储180,则该方法进行至250并且主机适配器120对该请求进行服务。在另一个实施例中,如果所选择的请求寻址到连接至主机适配器120的任意存储设备,则主机适配器120对该请求进行服务。
在240,如果该请求并未寻址到高延迟存储,则该方法移动到260,其中方法200识别所选择的读/写请求是否寻址到网络存储170。如果所选择的读/写请求寻址到网络存储170,则方法200进行至270并且经由I/O互连130将所选择的读/写请求发送至网络适配器110以便进行处理。网络适配器110通过网络连接与网络存储170和/或其它网络存储设备进行通信。因此,网络适配器110将所选择的读/写请求传输至网络存储170以处理该请求。
将请求从主机适配器120发送至网络适配器110是I/O互连130如何在统一混合适配器100内提供端对端通信的一个示例。端对端通信例如是主机适配器120和网络适配器110之间的直接通信。当以这种方式进行通信时,主机设备140并不作为中介而参与,这允许主机设备通过不执行这样的功能而减少处理开销。
虽然已经关于方法200对要素240-270进行了讨论,但是在一个实施例中,服务逻辑160控制主机适配器120来执行要素240至270。因此,在其它实施例中,方法200由统一混合适配器100中的一个或多个逻辑所执行。
参考图3,图示了网络接口卡(NIC)300的一个实施例。NIC300是图1的网络适配器110的一个实施例。如图1所示,NIC300包括PCIe端点(EP)接口310以与I/O互连130相连接。NIC300还包括一个或多个虚拟NIC320、虚拟开关330、网络协议栈卸载引擎340、媒体访问控制(MAC)350以及提供到网络的连接的以太网端口360的连接。
在一个实施例中,NIC300是与多核处理器一起操作以提高处理器性能的聚合网络适配器(CNA)。例如,考虑经由I/O互连130连接至NIC300的主机设备(例如,图1中的主机设备140)是使用多核处理器的服务器。该多核处理器对多个操作系统实例进行操作以提高处理器性能。操作系统实例与NIC300中的不同虚拟NIC320进行通信以经由以太网360获得对网络的访问。除了为主机设备140上运行的操作系统实例提供虚拟NIC320之外,网络协议栈卸载引擎340针对从主机设备所发送的通信执行协议处理。以这种方式,处理从主机卸载到NIC300。虚拟开关330将通信从与不同操作系统实例进行通信的不同虚拟NIC320切换至卸载引擎340。在一个实施例中,卸载引擎340是被用来将TCP/IP栈的处理卸载到NIC300的TCP卸载引擎(TOE)。卸载引擎340可以包括互联网小型计算机系统接口(iSCSI)和/或以太网光纤通道(FCoE)以便使用10GB以太网或更高速度进行通信。
此外,包括NIC300的网络适配器110的实施例对图1的网络存储170提供访问。例如,在主机设备上运行的操作系统实例通过向网络适配器110发送读/写请求来访问网络存储170。网络存储170例如是网络附加存储(NAS)、存储域网络(SAN)或可通过连接至网络适配器110的网络进行访问的其它存储设备。在其它实施例中,网络适配器110还提供向其它网络设备或其它网络存储设备的网络通信。
继续至图4,图示了图1的主机适配器120的另一个实施例。在该实施例中,主机适配器120包括处理器410、PCIe端点连接420以及用于提供与附接于主机适配器120的SCSI存储设备的通信的串行连接SCSI(SAS)核心控制器430。PCIe端点连接420提供到I/O互联130的PCIe兼容连接。
在一个实施例中,主机适配器120通过控制器420提供到多个存储设备的连接。如图4所示,SAS核心控制器430将主机适配器120与两个存储设备(即,SSD440和HDD450)相连接。固态设备(SSD)440是低延迟存储设备,其提供用于对数据(例如,读/写请求)进行高速缓存的低延迟访问时间。硬盘驱动器(HDD)450是被主机设备140用来存储信息的高延迟存储设备。相对于SSD440的访问速度,该延迟是“高”的。
虽然主机适配器120被图示为与两个存储设备相连接,但是应当理解的是,主机适配器120可以根据实施方式而连接至更大或更小数目的设备。例如,主机适配器120可以向包括硬盘驱动器、磁带、磁带库等的高延迟存储提供通信。主机适配器例如还向包括闪存、随机访问存储、缓冲器、寄存器SSD等的低延迟存储提供通信。
在一个实施例中,主机适配器120通过控制器(例如,SAS控制器430)提供对存储设备的访问。该控制器例如是主机总线适配器(HBA)控制器、小型计算机系统接口(SCSI)控制器、光纤通道控制器、外部串行高级技术附件(eSATA)控制器、电子集成驱动器(IDE)控制器、火线控制器、通用串行总线(USB)控制器等。
图5图示了来自图1的统一混合适配器100的附加实施例,其配备有单独的集成电路和/或芯片。在该实施例中,来自图1的网络适配器110被实现为单独的集成电路500。此外,I/O互连130是独立的集成电路510。另外,主机适配器120、存储逻辑150和服务逻辑160也在独立的集成电路520上实现。该电路经由连接路径进行连接以传输信号。
在集成电路510中实现的I/O互连130通过系统接口连接至主机设备140。该系统接口例如是PCIe接口、PCI接口、英特尔快速通道互连(QPI)接口、超传输(HT)接口等。I/O互连130的可切换连接路径例如在将I/O互连130与主机适配器120和网络适配器120相连接的集成电路510中实现。
虽然集成电路500、510和520被图示为分离的集成电路,但是它们可以被集成到共用电路板上。此外,与所图示的相比,集成电路500、510和520可以被组合为更少的集成电路或者划分为更多的集成电路。此外,在另一个实施例中,集成电路520中所图示的逻辑150和160可以是单独的电路或者被组合成单独的专用集成电路。在其它实施例中,与逻辑150和160相关联的功能可以被实现为由处理器(例如,图4的处理器410)所执行的固件。
下文包括这里采用的所选择术语的定义。该定义包括落入术语范围之内并且可以被用于实施的组件的各种示例和/或形式。该示例并非旨在于限制。术语的单数和复数形式都可以处于该定义之内。
对“一个实施例”、“实施例”、“一个示例”、“示例”等的引用指示这样描述的(多个)实施例或(多个)示例可以包括特定特征、结构、特性、性质、要素或限制,但是并非每个实施例或示例都必然地包括该特定特征、结构、特性、性质、要素或限制。此外,短语“在一个实施例中”的重复使用虽然可以,但是并不必然指代相同的实施例。
如这里所使用的“逻辑”包括但不限于用于执行(多个)功能或(多个)动作,和/或引起来自另一逻辑、方法和/或系统的功能或动作的硬件、固件、在非瞬态介质上存储或在机器上执行的指令和/或各项的组合。逻辑可以包括具有所编程指令的微处理器、离散逻辑(例如,ASIC)、模拟电路、数字电路、编程的逻辑设备、包含指令的存储器设备等。逻辑可以包括一个或多个门电路、门电路组合,或者其它电路组件。在描述多个逻辑的情况下,可以有可能将多个逻辑整合为一个物理逻辑。类似地,在描述单个逻辑的情况下,可以有可能将该单个逻辑在多个物理逻辑之间进行分布。这里所描述的一个或多个组件和功能可以使用一个或多个逻辑部件来实施。
虽然出于说明简化的目的而将所图示的方法示出并描述为一系列的块。但是方法并不被块的顺序所限制,因为一些块可以以不同于所示出和描述的顺序和/或与其它块同时出现。此外,可以使用比所有所图示的块更少的块来实施示例方法。块可以被组合或分离到多个组件之中。此外,附加和/或可替换方法可以采用附加的没有图示的块。
至于具体实施方式或权利要求中所采用的术语“包含(include)”或“包含了(including)”的程度,其旨在以与术语“包括(comprise)”相似的方式具有包含意义,因为该术语在采用时被解释为在权利要求中的过渡词。
虽然已经通过描述示例对示例系统、方法等进行了举例说明,并且虽然已经相当详细地描述了示例,但是申请人的意图并非是约束或者以任何方式将所附权利要求的范围限制为这样的细节。当然,不可能出于描述这里所描述的系统、方法等的目的而对组件或方法的每一种可设想到的组合都进行描述。因此,本公开内容并不局限于所示出并描述的具体细节、有代表性的装置和说明性示例。因此,本申请旨在涵盖落入所附权利要求范围内的变更、修改和变化。

Claims (21)

1.一种装置,包括:
输入/输出(I/O)互连(130),被配置为与主机设备(140)相连接并且提供与所述主机设备(140)的通信;
网络适配器(110),连接至所述I/O互连(130)并且被配置为与网络存储(170)进行通信;
主机适配器(120),连接至所述I/O互连(130)并且被配置为与第一存储设备(180)和第二存储设备(190)进行通信,其中所述第一存储设备(180)比所述第二存储设备(190)具有更高的延迟;以及
存储逻辑(150),被配置为对所述I/O互连(130)进行控制以使得来自所述主机设备(140)的存储访问请求经由所述主机适配器(120)而被高速缓存在所述第二存储设备(190)中。
2.根据权利要求1所述的装置,进一步包括:
服务逻辑(160),被配置为如果从在所述第二存储设备(190)中高速缓存的所述存储访问请求中选择的请求寻址到所述网络存储(170),则控制所述主机适配器(120)向网络适配器(110)发送所述选择的请求以进行处理,并且如果所述选择的请求寻址到所述第一存储设备(180),则控制所述主机适配器(120)对所述选择的请求进行处理。
3.根据权利要求1所述的装置,其中所述I/O互连(130)被配置为通过在集成电路中实现的将所述I/O互连与所述主机适配器和所述网络适配器相连接的可切换连接路径而在所述主机适配器、所述网络适配器和所述主机设备之间提供通信。
4.根据权利要求1所述的装置,其中所述主机设备是对通过所述I/O互连与所述网络适配器和所述主机适配器进行通信的多个操作系统实例进行操作的多核处理器,并且其中所述I/O互连、所述主机适配器和所述网络适配器在被配置为在与所述主机设备进行通信的芯片上实现。
5.根据权利要求1所述的装置,其中所述存储逻辑被配置为控制所述I/O互连以当所述存储访问请求寻址到所述网络存储或所述第一存储时对来自所述主机设备的所述存储访问请求重新定向以通过所述第二存储设备中的高速缓存对所述存储访问请求进行服务。
6.根据权利要求1所述的装置,其中所述I/O互连被配置为向所述主机设备提供对所述网络适配器和所述主机适配器的访问,并且其中所述I/O互连被配置为在所述网络适配器和所述主机适配器之间提供端对端通信。
7.根据权利要求1所述的装置,其中所述I/O互连是外围组件开关,其被配置为在所述主机设备和所述主机适配器之间以及所述主机设备和所述网络适配器之间有选择地切换通信。
8.一种方法,包括:
提供(210)输入/输出(I/O)互连(130)以在主机设备(140)和主机适配器(120)之间以及在所述主机设备(140)和网络适配器(110)之间切换通信,
其中所述主机适配器与第一存储设备(180)和第二存储设备(190)进行通信,其中所述第一存储设备(180)具有比所述第二存储设备(190)更高的延迟,并且其中所述网络适配器(110)与所述网络存储(170)进行通信;
将来自所述主机适配器的存储访问请求高速缓存(230)在所述第二存储设备中;
如果所述存储访问请求寻址到所述第一存储设备,则由所述主机适配器对所述存储访问请求进行处理(250);以及
如果所述存储访问请求寻址到所述网络存储,则经由所述I/O互连将来自所述第二存储设备的所述存储访问请求发送(270)至所述网络适配器以便进行处理。
9.根据权利要求8所述的方法,进一步包括:
提供经由所述I/O互连的在所述主机适配器和所述网络适配器之间的通信路径。
10.根据权利要求9所述的方法,其中提供经由所述I/O互连的在所述主机适配器和所述网络适配器之间的通信路径包括使用在集成电路中实现的将所述I/O互连与所述主机适配器和所述网络适配器相连接的可切换连接路径。
11.根据权利要求8所述的方法,进一步包括:
通过与外围组件互连快速(PCIe)标准相兼容的至所述主机设备的通信路径在所述I/O互连中接收所述存储访问请求。
12.根据权利要求8所述的方法,进一步包括:
从在所述主机设备中的多核处理器上操作并且通过所述I/O互连与所述网络适配器和所述主机适配器进行通信的操作系统实例接收所述存储访问请求,其中所述存储访问请求是来自所述多个操作系统实例中的一个操作系统实例的存储器访问请求。
13.根据权利要求8所述的方法,进一步包括:
将来自所述I/O互连上的所述主机设备的所述存储访问请求重新定向至所述主机适配器。
14.根据权利要求13所述的方法,其中重新定向所述存储访问请求包括当所述存储访问请求指向所述网络存储或所述第一存储设备时重新定向所述存储访问请求。
15.根据权利要求8所述的方法,进一步包括:
经由所述I/O互连在所述主机适配器和所述网络适配器之间提供通信路径以在所述网络适配器和所述主机适配器之间促成端对端通信。
16.一种集成电路,包括:
主机适配器(120),连接至输入/输出(I/O)互连并且被配置为与第一存储设备和第二存储设备进行通信,其中所述第一存储设备具有比所述第二存储设备更高的延迟;以及
存储逻辑(150),被配置为控制所述I/O互连以使得所述读/写请求经由所述主机适配器而被高速缓存在低延迟存储设备中。
17.根据权利要求16所述的集成电路,进一步包括:
服务逻辑,被配置为如果从在所述第二存储设备中高速缓存的所述读/写请求中选择的请求寻址到与网络适配器进行通信的网络存储,则控制所述主机适配器向所述网络适配器发送所述选择的请求,并且如果所述选择的请求寻址到所述第一存储设备,则控制所述主机适配器向所述第一存储设备发送所述选择的请求,并且其中所述网络适配器连接至所述I/O互连。
18.根据权利要求16所述的集成电路,其中所述I/O互连被配置为通过在集成电路中实现的将所述I/O互连与所述主机适配器和所述网络适配器相连接的可切换连接路径而提供在所述主机适配器、网络适配器和所述主机设备之间的通信,其中所述可切换连接路径将所述I/O互连连接至被配置为与所述主机设备相连接的接口,并且其中所述I/O互连是被配置为在所述主机设备和所述主机适配器之间以及在所述主机设备和所述网络适配器之间有选择地切换通信的外围组件开关。
19.根据权利要求16所述的集成电路,其中所述主机设备是对通过所述I/O互连与网络适配器和所述主机适配器进行通信的多个操作系统实例进行操作的多核处理器,并且其中所述I/O互连在被配置为与所述主机设备进行通信的芯片上实现。
20.根据权利要求16所述的集成电路,其中所述存储逻辑被配置为对I/O互连进行控制以当所述读/写请求被从所述主机设备发送至网络存储或所述第一存储时重新定向所述读/写请求以通过所述低延迟存储设备中的高速缓存对所述读/写请求进行服务。
21.根据权利要求16所述的集成电路,其中所述I/O互连被配置为向所述主机设备提供对网络适配器和所述主机适配器的访问,并且其中所述I/O互连被配置为在所述网络适配器和所述主机适配器之间提供端对端通信。
CN201180048076.6A 2010-10-20 2011-10-17 统一i/o适配器 Active CN103154920B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US40509110P 2010-10-20 2010-10-20
US61/405,091 2010-10-20
PCT/US2011/056532 WO2012054380A1 (en) 2010-10-20 2011-10-17 Unified i/o adapter

Publications (2)

Publication Number Publication Date
CN103154920A true CN103154920A (zh) 2013-06-12
CN103154920B CN103154920B (zh) 2016-08-03

Family

ID=44898211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180048076.6A Active CN103154920B (zh) 2010-10-20 2011-10-17 统一i/o适配器

Country Status (5)

Country Link
US (1) US8868804B2 (zh)
EP (1) EP2630579B1 (zh)
KR (1) KR101862803B1 (zh)
CN (1) CN103154920B (zh)
WO (1) WO2012054380A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10873613B2 (en) 2010-12-09 2020-12-22 Xilinx, Inc. TCP processing for devices
US8996644B2 (en) * 2010-12-09 2015-03-31 Solarflare Communications, Inc. Encapsulated accelerator
US9674318B2 (en) 2010-12-09 2017-06-06 Solarflare Communications, Inc. TCP processing for devices
US9258390B2 (en) 2011-07-29 2016-02-09 Solarflare Communications, Inc. Reducing network latency
US9600429B2 (en) 2010-12-09 2017-03-21 Solarflare Communications, Inc. Encapsulated accelerator
EP2574000B1 (en) 2011-09-22 2020-04-08 Xilinx, Inc. Message acceleration
US9128949B2 (en) * 2012-01-18 2015-09-08 Cloudera, Inc. Memory allocation buffer for reduction of heap fragmentation
US20140006537A1 (en) * 2012-06-28 2014-01-02 Wiliam H. TSO High speed record and playback system
US10505747B2 (en) 2012-10-16 2019-12-10 Solarflare Communications, Inc. Feed processing
US9424226B1 (en) * 2012-10-25 2016-08-23 Qlogic, Corporation Method and system for signal equalization in communication between computing devices
US9047151B1 (en) * 2012-11-29 2015-06-02 Qlogic, Corporation Methods and systems for processing commands by a device interfacing with a computing system
US10789001B1 (en) * 2016-11-21 2020-09-29 Innovium, Inc. Posted operation data control
KR101767181B1 (ko) 2017-02-21 2017-08-22 한국과학기술정보연구원 다목적 어댑터 카드 및 그 통합 방법
US11442629B2 (en) 2020-07-15 2022-09-13 International Business Machines Corporation I/O performance in a storage system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282616B1 (en) * 1997-08-19 2001-08-28 Hitachi, Ltd. Caching managing method for network and terminal for data retrieving
US20080010411A1 (en) * 2002-08-15 2008-01-10 Board Of Governors For Higher Education State Of Rhode Island And Providence Plantations SCSI-to-IP Cache Storage Device and Method
WO2009158096A1 (en) * 2008-06-27 2009-12-30 Marvell World Trade Ltd. Solid-state disk with wireless functionality
US20100185719A1 (en) * 2000-06-26 2010-07-22 Howard Kevin D Apparatus For Enhancing Performance Of A Parallel Processing Environment, And Associated Methods

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564271B2 (en) 1999-06-09 2003-05-13 Qlogic Corporation Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter
KR100400386B1 (ko) 2001-05-18 2003-10-08 아라리온 (주) 이종버스를 연결하는 고기밀 호스트 어댑터
US7120728B2 (en) 2002-07-31 2006-10-10 Brocade Communications Systems, Inc. Hardware-based translating virtualization switch
US7096305B2 (en) 2003-05-15 2006-08-22 Broadcom Corporation Peripheral bus switch having virtual peripheral bus and configurable host bridge
US7421532B2 (en) 2003-11-18 2008-09-02 Topside Research, Llc Switching with transparent and non-transparent ports

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282616B1 (en) * 1997-08-19 2001-08-28 Hitachi, Ltd. Caching managing method for network and terminal for data retrieving
US20100185719A1 (en) * 2000-06-26 2010-07-22 Howard Kevin D Apparatus For Enhancing Performance Of A Parallel Processing Environment, And Associated Methods
US20080010411A1 (en) * 2002-08-15 2008-01-10 Board Of Governors For Higher Education State Of Rhode Island And Providence Plantations SCSI-to-IP Cache Storage Device and Method
WO2009158096A1 (en) * 2008-06-27 2009-12-30 Marvell World Trade Ltd. Solid-state disk with wireless functionality

Also Published As

Publication number Publication date
US20120102245A1 (en) 2012-04-26
KR101862803B1 (ko) 2018-05-30
US8868804B2 (en) 2014-10-21
CN103154920B (zh) 2016-08-03
EP2630579B1 (en) 2015-12-30
EP2630579A1 (en) 2013-08-28
KR20130136469A (ko) 2013-12-12
WO2012054380A1 (en) 2012-04-26

Similar Documents

Publication Publication Date Title
CN103154920A (zh) 统一i/o适配器
CN112543925B (zh) 用于使用专用低延迟链路的多个硬件加速器的统一地址空间
CN102209103B (zh) 向多个存储控制器多播写请求
US9557922B2 (en) System and method for peer-to-peer PCIe storage transfers
US10540307B1 (en) Providing an active/active front end by coupled controllers in a storage system
US9558148B2 (en) Method to optimize network data flows within a constrained system
EP3032787A1 (en) Method, device, system and storage medium for implementing packet transmission in pcie switching network
US20160140074A1 (en) Memory mapping method and memory mapping system
US8924610B1 (en) SAS/SATA store-and-forward buffering for serial-attached-SCSI (SAS) storage network
KR20120084693A (ko) Sas 기반 반도체 저장 장치 메모리 디스크 유닛
EP3588310B1 (en) Technologies for demoting cache lines to shared cache
US20180181421A1 (en) Transferring packets between virtual machines via a direct memory access device
US8032675B2 (en) Dynamic memory buffer allocation method and system
US11275698B2 (en) Termination of non-volatile memory networking messages at the drive level
CN102868684A (zh) 一种光纤通道目标器及光纤通道目标器实现方法
US20190155774A1 (en) Data transmission apparatus and data transmission method
CN109542824A (zh) 设备间信息转发中介装置以及信息交换系统
US10235052B2 (en) Storage system with data durability signaling for directly-addressable storage devices
CN112463670A (zh) 一种存储控制器访问方法及相关装置
CN104049915A (zh) 一种存储系统及通信方法
US11537539B2 (en) Acceleration of data between a network and local I/O in a NUMA system
US11487695B1 (en) Scalable peer to peer data routing for servers

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
TR01 Transfer of patent right

Effective date of registration: 20200423

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200423

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200423

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Mega Le

Patentee before: MARVELL WORLD TRADE Ltd.

TR01 Transfer of patent right