启用多功能装置中的功能依赖性的制作方法

文档序号:7710616阅读:93来源:国知局
专利名称:启用多功能装置中的功能依赖性的制作方法
技术领域
本发明涉及启用多功能装置中的功能依赖性。
背景技术
在常规数据中心网络基础设施中,有诸如用于局域网(LAN)业 务的以太网网络、用于存储业务的光纤通道(FC)网络和用于进程间 通信(IPC)业务的Infmiband网络等多个网络。构造(fabric)虚拟 化是一个概念,其中,带有不同特征的这些多个网络(例如,LAN、 存储区域网络(SAN)和IPC)会聚成单个网络(例如,会聚以太网)。 会聚网络分成逻辑分区,并且每个分区保留其原生网络的原特征。连 接到会聚构造的物理链路被划分到逻辑链路(也称为虚拟链路)中, 并且虚拟链路用于连接在会聚构造中的逻辑网络。
在常规主机系统(或服务器)中,单独的主机控制器(或适配器) 用于连接到存在的每个网络。例如,系统可包括用于LAN业务的以 太网网络接口控制器(NIC)、用于存储业务的FC主机总线适配器
(HBA)和用于IPC业务的Infmiband主机通道适配器(HCA)。 在诸如才艮据给定PCI^见范的外围组件互连(PCI)或PCI Express
(PCIe)系统等某些互连系统中,为诸如能执-f亍多个功能的控制器等 多功能装置(MFD)提供了支持。然而,这些多个功能完全相互独立, 使得每个功能对系统(并且更具体地说对操作系统(OS )或其它结构) 显示为单独的装置。

发明内容
本发明4是供一种设备,包括多功能控制器,包括执行第一功能 和第二功能的硬件,其中所述第二功能依赖所述第一功能,所述多功能控制器包括存储包括依赖性标识符的数据结构的第 一存储装置,所 述依赖性标识符标识所述多功能控制器能够执行依赖另 一个功能的 至少一个功能。
本发明还提供一种方法,包括从能执行多个功能的多功能装置 (MFD)读取配置信息;基于所述配置信息的数据结构来构建所述多 个功能的至少 一些功能的功能依赖性的依赖性树,所述数据结构包括 依赖性指示符,所述依赖性指示符指示所述MFD能够执行依赖另一 个功能的至少一个功能;以及至少部分地基于所述数据结构指示的功 能依赖性来按顺序加载与所述多个功能相关联的软件。
本发明还提供一种系统,包括处理器,执行指令;动态随才几访 问存储器(DRAM),耦合到所述处理器;以及多功能控制器,耦合 在所述处理器与要承载局域网(LAN)的和存储区域网络(SAN)的 通信的会聚链路之间,所述多功能控制器包括执行SAN功能和LAN 功能的硬件,其中所述SAN功能依赖所述LAN功能,所述多功能控 制器包括存储包括依赖性标识符的数据结构的存储装置,使得与所述 LAN功能相关联的第一软件在与所述SAN功能相关联的第二软件之 前被力口载。


图1是才艮据本发明的一个实施例的包括会聚多功能装置的系统的 框图。
图2是^f艮据本发明的一个实施例的用于定义会聚多功能装置的第
一方法的图示。
图3是根据本发明的一个实施例的能力数据结构的框图。
图4是根据本发明的一个实施例的用于定义会聚多功能装置的第
二方法的图示。
图5是根据本发明的另 一实施例的能力数据结构的图示。
图6是根据本发明的一个实施例的具有功能依赖性要求的单根输入/输出(I/O)虚拟化装置(SR-IOV)会聚控制器的图示。 图7是根据本发明的一个实施例的方法的流程图。 图8是根据本发明的一个实施例的系统的框图。
具体实施例方式
根据本发明的一个实施例的会聚控制器是多功能装置(MFD), 如在单个装置中带有诸如LAN、 SAN、 IPC或安全等多个功能的PCI 或PCIe装置(在本文中使用时统称为PCI)。在会聚控制器中,LAN、 SAN和IPC功能能集成在单个装置(或控制器)中。也就是说,单个 卡或集成电路能包括对这些各种功能性的支持。会聚的多功能控制器 能用于连接到常规构造或会聚构造。这样,能消除各个功能对单独控 制器的需要。
PCI MFD控制器的一个实施例是会聚LAN/SAN控制器,其中, NIC和HBA功能均集成在同一装置中。NIC祐j示识为PCI接口上的 单独功能,并且HBA被标识为单独的功能。在一些实施例中,来自 LAN功能和SAN功能两者的业务被会聚到单个以太网网络链路上。 此以太网网络链路由于构造会聚(也称为构造虚拟化)而承载LAN 和SAN两者的业务。
然而,在许多情况下,MFD的一个或多个PCI功能依赖其它功能 进行操作。由于一H情况下各个功能是彼此独立定义的,因此,此类 依赖性能使配置变复杂并阻止正确的利用。也就是说,当前规范独立 定义用于此类不同功能性的装置,即使在为MFD控制器提供支持的 PCI规范的情况下,即,在当前MFD中,装置中的多个功能是相互 独立的。如上所述,已知控制器为每个功能提供独立支持,并且一般 情况下其与系统的单独链路相关联,例如,在连接到通用串行总线 (USB)端口和以太网端口时。因此,当前规范不支持能相互依赖的 多个功能。
现在参照图1,图中所示是根据本发明的一个实施例、包括会聚网络控制器的系统的框图。在此示例中,耦合到可以是个人计算机
(PC)、服务器或其它此类系统的主机系统20的会聚控制器10集成 LAN (NIC)和SAN (FC-HBA)两种功能,并经构造30连接到会聚 以太网网络。虽然在图1的实施例中示为分开的组件,但理解这是为 便于说明,并且在各种实现中,会聚控制器10可在主机系统20内。
诸如用于IPC业务的远程直接存储器访问(RDMA)功能、或用 于存储业务的因特网小型计算机系统接口 ( iSCSI)功能等另外的功能 也能在同一控制器中实现U旦在图1中未示出)。如图l进一步所示, 系统20经会聚链路35耦合到会聚构造30,该链路在单个物理链路中 为构造虚拟化提供支持,使得LAN通信和SAN通信均可通过会聚链 路35在会聚控制器10与会聚构造30之间传播。在一个实施例中, 会聚链路35可包括多个虚拟通道,每个用以处理不同类型的业务。
在一个实施例中,会聚控制器10实现为包括支持各种功能的硬件 的多功能PCI装置(MFD)。如图所示,存在用于在主机总线15上 具有单独的PCI功能(Fl ) 14并且其被检测为光纤通道装置的存储功 能和用于具有单独PCI功能、在主才几总线15上祐^全测为以太网NIC 的LAN功能(FO) 12的硬件。由于存储通过以太网网络承载,因此, 它4吏用以太网上存4渚(storage over Ethernet)协i义,如在一个实施例 中的以太网上光纤通道(FCoE)。当然,诸如iSCSI等另外的以太网 上存储协议也可以类似的方式实现。
如图l进一步所示,会聚控制器IO除用于功能12和14的硬件外, 还包括另外的硬件。注意,各个功能F0和F1也可包括执行某些卸载 功能的硬件,以加快主机OS中某些软件操作。在一些实施例中,这 些可以是用于各个功能的另外硬件。还要注意的是存在两个功能进行 正确操作都依赖的公共功能性。在图l的实施例中,其中会聚控制器 10是非卸载控制器,另外的硬件包括会聚复用器/去复用器16和用于 媒体访问控制(MAC)和物理层(PHY)的硬件,即MAC/PHY 18。 注意,虽然示出具有复用器/去复用器16,但在其它实施例中,诸如交换器(switch)或桥接器(bridge)等其它部件可存在以控制来往于 MAC/PHY 18和功能12与14的信息的流动。如图1进一步所示,非 易失性存储器(NVM) 17可存在。在一些实现中,存储器17可以是 存储装置的极小部分以存储配置和其它此类信息,配置和其它此类信 息随后能从会聚控制器IO提供到OS或其它系统软件,以由此向系统 提供有关其能力的信息以启用给定系统中控制器的配置。如下面将进 一步描述的 一样,此信息可包括功能依赖性信息以启用根据本发明的 一个实施例的控制。
虽然在图1的实现中示为非卸载控制器,但其它实施例可在卸载 型控制器中实现。在此类控制器中,除图l所示硬件外,可存在例如 专用处理器的其它硬件,例如微处理器、微控制器或其它此类可编程 处理器,以及例如非易失性存储器的另一个存储介质,例如闪存或能 保存程序和其它数据存储的其它此类非易失性存储器。
如图1进一步所示,主机20包括各种软件功能性以启用功能12 和14的操作。具体而言,如图l所示,对于LAN类型通信,可存在 LAN软件22,该软件可包括应用、LAN管理软件、传输控制协i义/ 因特网协议(TCP/IP)栈以及网络驱动。此类软件可/人主才几20的OS (图1中未示出)加载以启用通过会聚控制器IO经功能12的通信。 类似地,为启用使用会聚控制器10的功能14的SAN操作,主机系 统20可还包括SAN软件24,例如包括存〗渚应用、光纤通道栈、HBA 驱动以及SAN管理软件。虽然在图1的实施例中以此特定实现示出, 但本发明的范围在此方面并无限制。
由于会聚控制器10被检测为主机总线15上的分开的NIC和HBA 装置,因此将这些装置集成到OS中的相应的网络和存储软件栈。操 作系统因此在主机系统20内加载对应的NIC功能驱动和光纤通道功 能驱动,并绑定到相应的协议栈和相应的LAN和SAN软件22与24。
作为功能之间依赖性的示例,由于存储(例如,FC)功能通过以 太网FCoE协议运行,因此,如图1中短划线所示,链i 各35应在存储功能变得可操作前可操作。因此,例如由包括PHY/MAC 18和会聚复 用器/去复用器16或其它此类交换器的会聚控制器10的硬件执行的公 共功能应在FCoE功能启用之前被初始化并可操作。另外,以太网虚 拟链i 各配置应完成以正确地连接到会聚以太网网络30。
在此实现中,所有z^共功能(例如,以太网MAC和PHY)与NIC 功能(F0)相关联。此功能称为主功能,这是因为一个或多个其它功 能依赖此功能。 一旦虚拟链路配置完成,并且用于LAN和光纤通道 的逻辑链路建立,FC功能(Fl)便能与用于存储的对应虚拟链i 各相 关联。此功能称为从属功能,这是因为此从属功能(Fl)依赖主功能 (F0)进行其操作。换而言之,对于要执行的存储操作,必须先配置 并启用LAN功能。在图l所示的示例中,FCoE功能依赖LAN功能 进行其操作。
然而,如上所述,用于多功能装置的当前PCI规范定义要在MFD 中相互依赖的各个PCI功能。因此,OS还独立地对待PCI功能,并 能以任何顺序加载和/或卸载装置驱动,并以任何顺序执行有关各个功 能的某些操作,并且因此,此类装置能以任何顺序初始化和变得可操 作,这可能阻止会聚控制器的正确操作。因此,有关主功能的某些才喿 作可影响其它功能的操作。
因此,在会聚控制器的各种实施例中,在使从属功能变得可操作 前,可使主功能变得可操:作。因此,操作系统或其它此类软件应4企测 此依赖性,并在加载任何从属功能前先加载主功能驱动(并为操作配 置主功能)。类似地,在卸载所有从属功能前,不应卸载主功能。或 换而言之,主功能应先加载和最后卸载。另外,有关主功能的某些操 作(例如,复位)将影响其它从属功能的正确操作。因此, 一旦此依 赖性已知,功能依赖性控制可确保操作而不影响从属功能的正确操 作。此类操作可称为驱动排序,或更一般地称为功能依赖性控制。
在各种实施例中,多功能装置可具有指示硬件中功能依赖性的机 制。基于此指示,操作系统在主机总线上执行例如PCI装置扫描的扫描时,应能够读取相应的功能性并理解功能依赖性以确定用于对驱动 和可能的其它软件的加载/卸载排序的顺序。
为此,在各种实施例中,能定义指示MFD或其它此类控制器具 有相关功能的能力结构,使得驱动排序或其它功能依赖性控制应实 现。PCIe或其它基础能力能以例如下面图3中将示出的数据结构被定 义,以指定主功能和从属功能。会聚控制器的实施例能具有不止一个 主功能(例如,多端口会聚以太网控制器能具有不止一个主功能)。 注意,每个主功能能具有一个或多个从属功能。例如,集成NIC、 FC-HBA、 iSCSI-HBA和RDMA功能的会聚控制器将具有不止一个从 属功能。
一些情况下,装置能具有级联依赖性,这意味着一个从属功能依 赖另一从属功能,而该另一从属功能又依赖某个主功能。例如,存储 功能(FC或iSCSI)能依赖安全功能(加密/解密)进行其操作,并且 安全功能又依赖LAN功能进行其操作。因此,操作系统应以先加载 LAN驱动,接着加载安全驱动,以及因而最后加载FC驱动的此类方 式执行驱动排序。类似地,在卸载驱动时应遵循相反的顺序。类似地, 有关主功能和从属功能的其它功能依赖性操作应正确地执行,不影响 其它相关功能的操作。
图2中示出用于定义会聚多功能装置的一种方法。具有PCIe端口 105以将装置耦合到给定系统的多功能装置(Dev0) IOO具有两个主 功能和多个从属功能。如图2所示,FnO和Fnl是主以太网功能。Fn2 和Fn3是分别依赖主功能FnO和Fnl的加密功能。Fn4和Fn5是分别 依赖加密功能Fn2和Fn3的存储功能(FCoE),其又在主功能上具有 级联依赖性。Fn6和Fn7是用于IPC的RDMA功能,其依赖主以太网 功能。
在此方法中,每个功能具有如图3所示数据结构150中指示的依 赖性。在各种实施例中,例如数据结构150的数据结构可存储在例如 PCI配置空间中。注意,每个PCI装置功能具有由PCI规范定义的PCI配置空间。装置中的每个PCI功能能实现是装置功能一部分的这些配
置寄存器。 一些情况下,在外部NVM中存储的某些配置信息能在上 电时加载到配置寄存器。在上电时,PCI配置软件(或固件)将读取 PCI配置空间以理解装置的能力并正确地配置装置。
每个功能具有相关联的能力数据结构,该结构包含提供必须排序 在此功能之前的功能编号的主功能字段155。此方法因此创建了反向 指针结构,使得操作系统在执行装置扫描的同时能在它读取每个功能 的能力结构时构建驱动排序树或依赖性。操作系统又能将此依赖性树 用于将驱动以正确的顺序加载和卸载或用于其它功能依赖性操作。因 此,操作系统或其它软件扫描MFD中的所有功能以理解依赖性或排 序要求。使用例如图3所示的能力结构的优点在于指示依赖性(每功 能)只需要单个(例如,8比特)字段。
如图3进一步所示,也称为SF比特的/人属功能指示符160指示 存在依赖此功能的从属功能。此比特将被设置用于主功能和具有级联 依赖性的其它功能。如图3进一步所示,数据结构150还包括扩展能 力标识符字段165以指示装置提供用于数据结构中存在的功能依赖性 信息,并且指示装置能执行依赖另一功能的至少一个功能。另外,数 据结构150包括能力版本字段170,该字段可标识版本或有关装置的 能力的其它信息。另外,数据结构150包括下一能力偏移字段175, 该字段标识到下一能力的偏移,即,在一个或多个数据结构中存在的 不同于功能依赖性信息的能力,类似于数据结构150的能力。
图4中示出用于定义会聚多功能装置的第二方法。多功能装置 (Dev 0) 100具有PCIe端口 105以将装置耦合到给定系统,并具有 两个主功能和多个/人属功能。FnO和Fnl是主以太网功能。Fn2和Fn3 是分别依赖主功能FnO和Fnl的加密功能。Fn4和Fn5是分别依赖加 密功能Fn2和Fn3的存储功能(FCoE ),其又在主功能上具有级联依 赖性。Fn6和Fn7是用于IPC的RDMA功能,其依赖主以太网功能。
在此方法中,每个功能具有如图5定义的凄t据结构中所示的前向依赖性。如图5所示,主功能提供所有相关功能的列表,因此,在禁 用功能时容易标识排序或依赖性要求。每个功能具有提供依赖此功能 的功能编号的能力数据结构。级联依赖性通过主功能间接指示。因此, 软件或操作系统应扫描所有功能以确定级联依赖性。
图5示出根据本发明的另一实施例的能力结构。如图5所示,能 力结构200具有相同的报头字段,包括扩展能力标识符165、能力版 本170和下一能力偏移字段175。另外,能力结构200包括从属功能 数量字段205 (它可以是8比特)以指示依赖给定功能的从属功能的 总数量。主功能中的从属功能总数字段将包括所有相关功能(包括级 联功能)。如果级联功能还具有从属功能,则此字段将.包括只依赖该 级联功能的从属功能的总数量。对于所有从属功能,此链将继续。因 此,不具有任何从属功能的功能将具有为零的从属功能数量字段205。 另外,多个从属功能字段210x (在一个实施例中,每个从属功能字段 可以是8比特)标识包括级联功能的从属功能的功能编号。在另一实 现中,字段210能只包括直接依赖主功能的功能,并且具有级联依赖 性的从属功能将包括依赖它的功能,使得它充当链接的列表。由于软 件或固件扫描所有功能以确定级耳关依赖性,因此,它能以任一方式构 建完整的依赖性树。在一个实施例中,最多能有高达256个从属功能 能依赖某个功能。 一个备选实现能够具有256比特的比特屏蔽以指示 从属功能(而不是各个字段)保留配置空间。如上所述,软件或操作 系统可扫描MFD中的所有功能以理解级联和排序要求。
会聚控制器也能实现为单根输入/输出(I/O)虚拟化装置 (SR-IOV)。上述定义功能依赖性的驱动排序要求和方法也适用于 SR-IOV装置。图6提供具有排序要求的SR-IOV会聚控制器250的图 示。
PCIe SR-IOV规范具有定义的功能依赖性,但用于不同的目的。 此SR-IOV功能依赖性用于在虚拟功能(VF)指派期间创建功能组, 因此,相同数量的VF指派到该组中的所有物理功能(RF)。它也用于指示组中的VF跨PF —起指派。
本文中所述的功能依赖性控制和驱动排序与SR-IOV功能依赖性 是互不相关的,并且实施例能提供用于两者相互共存。如上所述才艮据 本发明的 一个实施例的驱动排序能指示在从属功能要被激活前要为 活动的主功能。上述排序问题也适用于如图6所示的包括要耦合到链 路的端口 255的端点250的SR-IOV物理功能。每种类型260a-260。的 虚拟功能(VF) 264x (统称为264)隐式采用来自相同类型的物理功 能(PF) 262x (统称为262 )的依赖性,因此,VF 264将排序在主PF 262可操作之后。在图6中,PF1 264b依赖PF0 264a;因此,PF1 262b 中的所有VF将具有对PFO 262a的隐式依赖性。因此,驱动排序执行 方式应是在服务PF1 264b中的任何VF前,PF0 262&应是可操作的。 依赖性组内的VF能以任何顺序得到服务,并且从属功能中VF的数 量无需与主功能的数量相同。例如,通过使用能力数据结构,如上面 相对于图3和5所述的数据结构,能标识物理与虚拟功能之间的依赖 性。
实施例因而使得例如光纤通道HBA和LAN NIC的控制器的会聚 能够集成到同一 PCI装置中。这些控制器能实现为多功能PCI装置。 这样,多功能会聚控制器能适应用于LAN和存储应用的现有软件架 构,并且能保持用于LAN和SAN装置的现有管理框架。类似地,会 聚控制器能具有其它功能,如用于IPC业务的RDMA功能或其它此 类功能。
为此,会聚PCI多功能装置能定义其依赖性和驱动排序或其它功 能依赖性控制要求。通过使用根据本发明的一个实施例的数据能力结 构,操作系统或其它软件能意识到用于实现会聚控制器的MFD。这样, OS能正确地初始化和管理多功能会聚网络控制器。
现在参照图7,图中所示是才艮据本发明的一个实施例的方法的流 程图。如图7所示,方法300可由OS或其它系统软件或固件用于从 根据本发明的一个实施例的多功能控制器获得配置信息,并控制各种软件的加载和卸载以用于实现要由MFD执行的相关功能。如图7所 示,方法300可通过从MFD读取配置信息开始(方框310)。在PCI 实现中,此类配置信息可通过使用PCI配置周期来获得,以便因此接 收在MFD中存在的有关其能力的各种信息。此信息可包括例如上所 述的能力数据结构。
仍参照图7,随后可确定配置信息是否包括一个或多个功能依赖 性数据结构(菱形320 )。如果未包括,则方法300可结束,因为MFD 不具有对于此类功能依赖性控制的支持。相反,如果存在此类数据结 构,则控制传递到方框330。在方框330,读取与在MFD中能执行的 每个此类功能相关联的数据结构。在各种实现中,这些数据结构可类 似于上面有关图3和5所述的那些数据结构。这样,OS可基于这些 数据结构构建依赖性树(方框340)。在一些实施例中,依赖性树可 以是基于前向的指针结构,但在其它实施例中,依赖性树可以是如上 所述的基于反向的指针结构。
接着,在方框350,根据数据结构信息指示的功能依赖性,OS可 按顺序加载各种驱动和/或其它软件。例如,在带有LAN功能和相关 SAN功能的实现中,先加载与LAN功能相关联的软件,使得在用于 SAN功能性的软件的加载之前启用LAN功能性。这样,在执行SAN 功能时,存在完整的软件支持。
仍参照图7,在菱形360,可确定MFD操作是否已结束。如果未 结束,则MFD执行的各种操作可继续。注意,可根据功能依赖性在 运行时间期间执行其它操作。例如,可发生功能的复位操作或诸如交 换器、MAC或PHY等公共资源的操作模式的修改。否则,在MFD 操作结束时,控制传到方框370,其中驱动和/或其它软件可以与其加 载的相反的顺序卸载。这样,在卸载主软件前,可先卸载相关專欠件。 虽然在图7的实施例中以此特定实现示出,但本发明的范围在此方面 并无限制。
实施例能在许多不同的系统类型中实现。参照图8,图中示出根据本发明的一个实施例的系统的框图,其包括经串行链路耦合到控制
器中心的装置。系统400包括处理器405和耦合到控制器中心415的 系统存储器410。处理器405包括任何处理单元,如微处理器、主机 处理器、嵌入式处理器、协处理器或执行指令的其它处理器。处理器 405通过前端总线(FSB) 106耦合到控制器中心415。在一个实施例 中,FSB406是如下所述的串行点对点(PtP)互连。
系统存储器410包括任何存储器装置,如随机访问存储器(RAM )、 非易失性(NV)存储器或可由系统400中装置访问的其它存储器。系 统存储器410通过存储器接口 416耦合到控制器中心415。
在一个实施例中,控制器中心415是在PCIe互连层次结构中的根 中心或根控制器,并且在一个实施例中可以是SR-IOV控制器。控制 器中心415的示例包括芯片组、存储器控制器中心(MCH)、北桥、 输入/输出控制器中心(ICH)、南桥以及根控制器/中心。此处,控制 器中心415通过串行链路419耦合到交换器/桥接器420。输入/输出模 块417和421也可称为接口/端口 417和421,其包括/实现分层协议栈 以在控制器中心415与交换器420之间提供通信。在一个实施例中, 多个装置能耦合到交换器420。实施例也可在处理器和芯片组集成到 同一封装中的情况下适用。此外,此技术不需要新版本的PCIe协议, 并且能通过PCIe2.0、 1.1兼容装置以及其它装置来实现。因此,实施 例能在PCIe互连用于通信的任意处使用。
交换器420将分组/消息从装置425往上游(即层次结构向上)朝 控制器中心415路由、并且往下游(即层次结构向下)离开控制器中 心415路由到装置425。 IO模块422和426实现分层协议栈以在交换 器420与装置425之间通信。装置425可以是根据本发明的一个实施 例的MFD。作为会聚功能的示例,IO装置425可包括执行用于LAN、 SAN、 IPC的功能性的硬件以及其它硬件,并且可提供到例如会聚以 太网构造的网络的耦合。
图形加速器430也通过串行链路432耦合到控制器中心415。在一个实施例中,图形加速器430耦合到MCH,而MCH耦合到ICH。 交换器420和相应地10装置425因而耦合到ICH。 IO模块431和418 也要实现分层协议栈以在图形加速器430与控制器中心415之间通 信。
实施例可在代码中实现,并可存储在上面存储有指令的存储介质 上,所述指令能用于对系统编程以执行这些指令。存储介质可包括但 不限于任何类型的盘,包括软盘、光盘、紧致盘只读存储器
(CD-ROM )、可重写紧致盘(CD-RW)和磁光盘,以及半导体装置, 例如只读存储器(ROM)、例如动态随机访问存储器(DRAM)、静 态随机访问存储器(SRAM)的随机访问存储器(RAM)、可擦除可 编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器
(EEPROM)、磁卡或光卡,或适用于存储电子指令的任何其它类型 的媒体。
虽然本发明已相对有限数量的实施例进行了描述,但本领域的技 术人员将理解由此产生的多种修改和变化。所附权利要求旨在涵盖属 于本发明真正精神和范围的所有此类修改和变化。
权利要求
1.一种设备,包括多功能控制器,包括执行第一功能和第二功能的硬件,其中所述第二功能依赖所述第一功能,所述多功能控制器包括存储包括依赖性标识符的数据结构的第一存储装置,所述依赖性标识符标识所述多功能控制器能够执行依赖另一个功能的至少一个功能。
2. 如权利要求1所述的设备,其中所述第一存储装置包括各与所 述硬件要执行的功能相关联的多个数据结构,还包括指示所关联的功 能依赖另 一 功能的第 一指示符以及标识所关联的功能依赖的功能的 第二指示符。
3. 如权利要求2所述的设备,其中所述数据结构的至少一个的第 二指示符要标识所述第一功能。
4. 如权利要求3所述的设备,其中所述数据结构的另一个的第二 指示符要标识又依赖所述第 一功能的所述第二功能。
5. 如权利要求2所述的设备,其中所述多个数据结构的每个具有 相等的长度。
6. 如权利要求4所述的设备,其中所述多个数据结构形成反向指 针结构以指示所述多功能控制器的功能依赖性。
7. 如权利要求6所述的设备,其中操作系统(OS)要读取所述 多个数据结构,并且基于所述反向指针结构,在为所述第二功能加载 第二驱动前为所述第一功能加载第一驱动。
8. 如权利要求1所述的设备,其中所述第一存储装置包括与主功 能相关联的第一数据结构,所述第一数据结构包括存储要依赖所述主 功能的从属功能的数量的指示的第 一指示符,以及各标识所述,人属功 能之一的多个第二指示符。
9. 如权利要求8所述的设备,其中所述第一存储装置包括与第一 从属功能相关联的笫二数据结构,所述第二数据结构包括存储要依赖所述第 一从属功能的第二从属功能的数量的指示的第 一指示符,以及 各标识所述第二从属功能之一的多个笫二指示符,其中所述第 一从属 功能要依赖所述主功能。
10. 如权利要求1所述的设备,其中所述设备包括单根输入/输出虚拟化(SR-IOV)装置,所述SR-IOV装置包括各具有依赖其的至少 一个虚拟功能的多个物理功能。
11. 如权利要求IO所述的设备,其中所述数据结构要标识第二物 理功能依赖第一物理功能,使得依赖所述第二物理功能的虚拟功能又 依赖所述第一物理功能。
12. —种方法,包括从能执行多个功能的多功能装置(MFD)读取配置信息; 基于所述配置信息的数据结构来构建所述多个功能的至少一些 功能的功能依赖性的依赖性树,所述数据结构包括依赖性指示符,所 述依赖性指示符指示所述MFD能够执行依赖另一个功能的至少一个 功能;以及至少部分地基于所述数据结构指示的功能依赖性来按顺序加载 与所述多个功能相关联的软件。
13. 如权利要求12所述的方法,还包括确定MFD操作是否已结束。
14. 如权利要求13所述的方法,还包括以MFD操作的加载的相 反的顺序卸载所述软件。
15. 如权利要求13所述的方法,其中所述MFD操作包括使用存 储区域网络(SAN)功能依赖的局域网(LAN)功能将所述SAN数 据从所述MFD传递到耦合到所述MFD的会聚链路。
16. 如权利要求15所述的方法,还包括在为所述SAN功能加载 SAN软件之前为所述LAN功能加载LAN软件。
17. 如权利要求12所述的方法,还包括读取所述配置信息并使用 配置成读取所述数据结构的操作系统来构建所述依赖性树。
18. —种系统,包括 处理器,执行指令;动态随机访问存储器(DRAM),耦合到所述处理器;以及 多功能控制器,耦合在所述处理器与要承载局域网(LAN)的和 存储区域网络(SAN)的通信的会聚链路之间,所述多功能控制器包 括执行SAN功能和LAN功能的硬件,其中所述SAN功能依赖所述 LAN功能,所述多功能控制器包括存储包括依赖性标识符的数据结构 的存储装置,使得与所述LAN功能相关联的第 一软件在与所述SAN 功能相关联的第二软件之前被加载。
19. 如权利要求18所述的系统,其中所述存储装置包括各与所述 硬件要执行的功能相关联的多个数据结构,并包括指示所关联的功能 依赖另 一功能的第 一指示符,以及标识所关联的功能依赖的功能的第 二指示符。
20. 如权利要求19所述的系统,其中所述数据结构的至少一个的 第二指示符要标识第 一功能,并且所述数据结构的另 一个的第二指示 符要标识又依赖所述第 一功能的所述第二功能。
全文摘要
本发明名称为“启用多功能装置中的功能依赖性”。在一个实施例中,本发明包括用于执行以下步骤的方法从多功能装置(MFD)读取配置信息;基于配置信息构建MFD执行的功能的功能依赖性的依赖性树,这指示MFD能执行依赖另一功能的至少一个功能;以及至少部分基于所示的功能依赖性,按顺序加载与功能相关联的软件。本文也描述和声明了其它实施例。
文档编号H04L12/24GK101621410SQ200910159439
公开日2010年1月6日 申请日期2009年6月30日 优先权日2008年6月30日
发明者E·J·德黑默, I·S·甘加, M·K·瓦德卡 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1