CN101114265A - 启用数据处理系统的输入/输出适配器的方法和装置 - Google Patents

启用数据处理系统的输入/输出适配器的方法和装置 Download PDF

Info

Publication number
CN101114265A
CN101114265A CNA2007101381481A CN200710138148A CN101114265A CN 101114265 A CN101114265 A CN 101114265A CN A2007101381481 A CNA2007101381481 A CN A2007101381481A CN 200710138148 A CN200710138148 A CN 200710138148A CN 101114265 A CN101114265 A CN 101114265A
Authority
CN
China
Prior art keywords
adapter
unactivated
activation code
activate
code
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
CNA2007101381481A
Other languages
English (en)
Other versions
CN100530152C (zh
Inventor
迈克·C·杜龙
马克·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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101114265A publication Critical patent/CN101114265A/zh
Application granted granted Critical
Publication of CN100530152C publication Critical patent/CN100530152C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Abstract

提供了一种系统和方法,用于对数据处理设备的输入/输出(I/O)适配器执行按需要容量升级操作。该系统和方法包含:为数据处理设备提供超过数据处理设备的拥有者/用户的当前I/O容量要求的、额外的I/O适配器。这些额外的I/O适配器在引导数据处理设备之后,保持未激活状态,直到它们由拥有者/用户特别地激活。尽管未激活,但是为这些未激活I/O适配器的地址翻译数据结构预留了存储器资源。拥有者/用户可以在以后的时间、从数据处理设备的提供商获得激活代码,并且将激活代码输入硬件管理控制台中,由此激活额外的I/O适配器。然后利用预留的存储器资源,来初始化这些现在激活的I/O适配器的地址翻译数据结构。

Description

启用数据处理系统的输入/输出适配器的方法和装置
技术领域
本申请一般涉及一种改善的数据处理系统和方法。更特别地,本申请贯注于用于提供I/O适配器的按需要容量升级(capacity upgrade on-demand)的系统和方法。
背景技术
对于计算系统的购买者来说,计算系统的升级能力非常重要。即,购买者想要知道:随着他们对计算系统资源需求的改变,他们已购买的计算系统能够升级,以满足他们正在改变的需求。典型地,通过扩展端口和可移动的设备已经提供了这样的升级能力,其中可移动的设备可以经由这样的端口附接到计算系统。
对于高端计算系统,如服务器计算系统等,升级典型地要求服务器计算系统的拥有者从这类设备生产商订购额外的设备,并且让来自生产商的客户工程师将该设备安装在服务器计算系统中。例如,如果客户希望扩展他们的输入/输出(I/O)资源,则该客户必须从该I/O适配器的制造商订购新的I/O适配器,等待该部件的交付,然后安排来自该制造商的客户工程师来到服务器计算系统的地点,将新的I/O适配器安装到服务器计算系统中。如果服务器计算系统的拥有者想在服务器计算系统正在运行的同时,安装该新的I/O适配器,则该拥有者必须在初始程序加载之前,手动地预留该服务器计算系统的扩展槽,然后遵从并发维护规程添加该I/O适配器,即现场可替换单元(FRU)。
从上面能够看到,当前的添加资源到计算系统的方法成本高而且耗时。如果制造商没有明确为客户工程师安装新设备到服务器计算系统中的时间付费,则该费用将典型地以其他方法(例如,以服务器计算系统本身的成本、以新设备的成本等),传递给该服务器计算系统的拥有者。而且,服务器计算系统的拥有者必须花大量时间等待新设备的交付、以及等待客户工程师来到服务器计算系统的所在地来安装新设备。因此,当服务器计算系统的拥有者可能有对额外资源的立即需求时,该需求可能不能够被立即满足。
发明内容
说明性的实施例提供了一种用于输入/输出(I/O)适配器的、按需要容量升级的系统和方法。在优选实施例中,提供了一种机制,用于为I/O集线器适配器(如IBM eserver p5-590或IBM eserver p5-595之类的服务器计算系统(其从国际商业机器公司(Armonk,New York)可得)使用的GX+I/O适配器)提供按需要容量升级。按需要容量升级能力允许用户(如服务器计算系统的拥有者)通过输入适当的激活代码,激活服务器计算系统中的之前未激活的I/O适配器。该用户可以通过许多方式的任何一种,从服务器计算系统的提供商获得激活代码。
利用说明性实施例的机制,用户可以订购具有超出用户当前I/O资源需要的、额外的I/O适配器的服务器计算系统。额外的I/O适配器的数量可以依赖于许多的不同因素,包括:用户期望的对I/O资源的未来需要;服务器计算设备的期望寿命;成本收益分析;或许多其他因素的任何一种,其可以典型地进入用户需要购买何种类型的计算系统的商业决定。
当在用户的场所部署服务器计算设备时,执行服务器计算设备的初始引导,使得服务器计算设备联机(on-line)。作为该初始引导操作的部分,如果额外的未激活的I/O适配器被激活(即使得联机),为了确保将为翻译控制入口(translation control entry,TCE)表预留足够的存储器,则除了激活的I/O适配器外,该服务器计算系统还为所有未激活的I/O适配器预留必要的存储器。正如在本领域中通常已知的那样,TCE表是表格数据结构,I/O桥用其来将由I/O设备产生的地址翻译为物理存储器地址,为了存储器直接存取(DMA)操作、以便将数据在I/O适配器和系统存储器之间直接移动的目的。
服务器计算设备配备有硬件管理控制台,其在服务器计算设备运行、或耦合到服务器计算系统并且在分开的计算设备上运行。硬件管理控制台负责配置服务器计算系统。作为硬件管理控制台的部分,提供了各个接口,通过接口,用户可以在服务器计算系统中选择执行I/O适配器的按需要容量升级。提供了用于输入适当的激活代码的接口,以响应经由接口选择该操作。然后由硬件管理控制台验证经由该接口输入的激活代码。
基于有效的激活代码,硬件管理控制台执行必要的操作,用于使得在服务器计算系统中提供的、一个或多个额外的未激活I/O适配器联机。例如,所述硬件管理控制台可以启动执行小部分引导代码,其引导I/O适配器并配置用于执行DMA地址翻译的I/O适配器TCE表。由于在服务器计算设备的初始引导期间,已经由服务器计算设备预留了用于该TCE表的存储器,所以可以执行该小部分的引导代码,而不中断服务器计算系统的正常操作。即,服务器计算系统可以在通过执行该小部分的引导代码、激活额外的I/O适配器的同时,继续服务用户请求。
在服务器计算设备中提供的、用于激活未激活的I/O适配器的激活代码,可以用任何适合的方法获取。例如,用户可以打电话给服务器计算设备的提供商,并且购买额外的I/O适配器的额外许可。作为响应,该服务器计算设备的提供商可以将激活代码提供给该用户,其中该激活代码用于激活对应于所购买的额外许可的I/O适配器。作为进一步的示例,用户可以经由硬件管理控制台,发送用于激活代码的请求到分开的服务器计算系统,其中该分开的服务器计算系统与该用户的服务器计算设备的提供商相对应。在已经购买了额外许可之后,可以认证该请求,并且用请求的激活代码,提供响应。其他用于获得激活代码的机制可以用于说明性的实施例,而不偏离本发明的精神和范围。
通过使用本说明性的实施例的系统和方法,额外的I/O资源可以在服务器计算系统的用户请求时立即虚拟地启动。因为I/O资源已经提供在服务器计算系统中,并且已经有用于预留的I/O资源的存储器,所以I/O资源可以按需要激活,而不中断服务器计算系统的操作。因此,不再必须等待现场可替换单元(FRU)运输到用户的场所,并且让客户工程师将该FRU安装到服务器计算系统中。而是,已经提供了FRU在用户的场所,并且已安装,并且仅仅需要通过购买激活FRU的权利来激活。这种用于激活的权利体现在由用户输入的激活代码中,其使得FRU被引导到激活状态。
在一个说明性实施例中,提供了一种在数据处理系统中的方法,其用于启用数据处理系统的未激活的输入/输出(I/O)适配器。该方法可以包括:引导数据处理系统到运行状态,其中未激活I/O适配器是未激活的、并且在引导了数据处理系统之后不被初始化。可以为数据处理系统的未激活的I/O适配器预留存储器资源。该方法还包括:接收用于激活未激活的I/O适配器的请求;并且响应接收用于激活未激活的I/O适配器的请求,使用预留的存储器资源、执行用于初始化未激活I/O适配器的微型引导代码(miniboot code)序列。用于激活未激活的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是图示用于由设备拥有者执行按需要容量升级的、一个说明性实施例的操作的示范性图;
图4A图示第一用户接口,其可以由硬件管理控制台(HMC)提供,用于根据一个说明性实施例、启动按需要容量升级操作;
图4B图示根据一个说明性实施例的、用于输入激活代码的第二用户接口;以及
图5是概述用于根据一个说明性实施例、执行按需要容量升级操作的示范性操作流程图。
具体实施方式
现在参照附图,特别是参照图1-2,提供了数据处理环境的示范性图,在该环境中可以实施本发明的说明性实施例。应该意识到,图1-2仅仅是示范性的,并且意图不在于声称或暗示任何关于该环境的限制,其中在该环境中可以实现本发明的各方面或各实施例。可以对所描述的环境进行许多修改,而不偏离本发明的精神和范围。
现在参照各图,图1描绘了示范性分布式数据处理系统的图示表达,其中在该数据处理系统中可以实现说明性实施例的各方面。分布式数据处理系统100可以包括其中可以实现说明性实施例的计算机网络。该分布式数据处理系统100包含至少一个网络102,其是用于在分布式数据处理系统100内、连接在一起的各种设备和计算机之间、提供通信链路的介质。该网络102可以包括各种连接,如有线、无线通信链路或光纤线缆。
在描绘的示例中,服务器104和服务器106、与存储单元108一起连接到网络102。此外,客户端110、112和114也连接到网络102。这些客户端110、112和114可以是例如个人计算机、网络计算机等。在描绘的示例中,服务器104提供了各种数据(如引导文件、操作系统映像)和应用程序到客户端110、112和114。在描绘的示例中,客户端110、112和114对于服务器104是客户端。分布式数据处理系统100可以包括额外的服务器、客户端和其他未示出的设备。
在描述的示例中,分布式数据处理系统100是因特网,其具有表示世界范围的网络的聚集的网络102、和使用传输控制协议/因特网协议(TCP/IP)协议族来彼此通信的网关。处于因特网的心脏的是,在主要节点或主计算机之间的高速数据通信线路的主干(backbone),由成千上万的商业、政府、教育和其他的路由数据和消息的计算机系统组成。当然,分布式数据处理系统100还可以实现来包括许多不同类型的网络,如例如内联网、局域网(LAN)、广域网(WAN)等。如上所述,图1意图在于作为一个示例,而不是作为对本发明的不同实施例的架构限制,因此,如图1所示的特定元件不应该认为限制于对可以实施本发明的说明性实施例的环境。
特别对于说明性实施例,服务器104可以是例如计算设备,其包括一个或多个处理器和多个输入/输出(I/O)适配器的服务器,它们中的一些是激活的,而它们中的其他是未激活的。例如,在期望未来对额外的I/O适配器的要求时,例如,当组织或其客户要求额外的I/O容量时,个人或组织可以购买具有额外的未激活的I/O适配器的服务器104。在此的说明性实施例提供了这样的机制,其用于在需要额外的I/O容量时、激活在服务器104中的该额外I/O适配器。
在一个示范性实施例中,服务器104是可从国际商业机器公司(Armonk,New York)得到的IBM服务器p5-590或p5-595服务器。服务器104可以具有与其相关联的硬件管理控制台(HMC),其提供在与服务器104通信的分开的计算设备上、或提供在服务器104内,该硬件管理控制台(HMC)用来配置服务器104。作为由HMC提供的配置功能的一个,提供了按需要容量升级的功能。该按需要容量升级功能给HMC提供了动态激活未激活的I/O适配器、处理器和部分存储器的能力,用于由服务器104的拥有者使用。通过HMC,所述服务器104的拥有者可以输入适合的命令和代码,用于激活未激活的I/O适配器、处理器和部分存储器,以便满足组织和该组织的客户的当前需要。这样的代码可以在需要时从服务器104的提供商购买。因此,服务器104的拥有者仅需要随着他/她/它的需要的改变,购买拥有者所需要的数量的I/O容量、处理容量和存储器容量。
图2是图示可以实施说明性实施例的示范性方面的、一个可能的服务器计算设备的示范性图。应该注意,图2是简化的服务器计算设备的图,用于图示在服务器计算设备中提供的、额外的未激活的I/O适配器。可以提供没有在图2中描绘的服务器计算设备的额外组件。图2不应该认为对具体的配置和元件的限制,它们可以被包括在利用说明性实施例的机制的服务器计算设备中。
在图2中示出的示例是IBM eserver p5-590服务器计算设备,然而,应该认识到,说明性实施例不局限于这些。更确切地说,说明性实施例的机制可以被任何计算设备利用,在该计算设备中提供了未激活的I/O适配器,用于使用说明性实施例的机制在以后激活。事实上,说明性的实施例的机制不局限于服务器计算设备,并且可以被任何计算设备利用,该计算设备可以使用所述说明性的实施例的机制,来提供I/O适配器的按需要容量升级。
如图2中所示,服务器计算设备包括一个或多个多芯片模块200(为了简化,在图2中仅仅示出了其中的一个)。每个多芯片模块200包括多个处理器芯片210-240。每个处理器芯片包含:一个或多个处理器单元(PU)或内核212-214、222-224、232-234以及242-244;二级(L2)高速缓存器216、226、236、246;以及芯片到芯片通信电路系统218、228、238和248。每个处理器芯片210-240与三级(L3)高速缓存器250、252、254和256通信。处理器芯片210-240还与存储器设备260-274通信。
提供了可以与处理器芯片210-240通信的多个I/O适配器280-286。在描述的示例中,I/O适配器280-286是GX+I/O集线器适配器(如可以与IBM eserver p5-590或p5-595服务器计算设备一起使用的),尽管本发明不局限于这样的I/O适配器。正如本领域通常已知的,可以用总线系统的一个或多个总线、桥等,便利在图2中的各种元件之间的通信。所述总线系统可以使用任何类型的通信光纤或构架实现,其提供了在附接到所述光纤或架构的不同组件或设备之间的数据传输。
对于说明性的实施例,有些I/O适配器(例如,I/O适配器280-282),可以是激活的、并且与处理器芯片210-240通信,而其他的(例如,I/O适配器284-286)可以是未激活的、并且不与处理器芯片210-240通信。这些I/O适配器284-286可以使用在此描述的说明性的实施例的机制、在以后的时间被激活。一旦被激活,则I/O适配器284-286可以投入到与处理器芯片210-240的通信中,使得处理器芯片210-240可以以它们与I/O适配器280-282通信的类似方式,与这些I/O适配器284-286通信。
操作系统运行在处理器芯片210-240的一个或多个处理器单元(PU)上。例如,服务器处理设备可以运行高级交互执行(AIX)操作系统、和/或LINUX操作系统(AIX是国际商业机器公司在美国、其它国家或两者的商标,而LINUX是Linus Torvalds在美国、其他国家或两者的商标)。用于操作系统、面向对象的编程系统、和应用的指令或程序,可以放置在存储设备(未示出)(如硬盘)上,并且可以加载到存储器设备260-274中,用于由处理单元212-214、222-224、232-234和242-244执行。
本领域普通技术人员将认识到,在图1-2中的硬件可以依赖于实现变化。其它的内部硬件或外围设备(如快闪存储器、等效的非易失性存储器或光盘驱动器等),可以除了或替代图1-2中描绘的硬件使用。而且,在图2中描绘的数据处理设备可以采用许多不同数据处理设备(包括客户端计算设备、服务器计算设备、写字板计算机(tablet computer)、膝上型计算机、电话或其他通信设备、个人数字助理(PDA)等)形式的任何一种。在某些说明性示例中,数据处理设备可以是便携式计算设备,其配置有快闪存储器,以提供例如存储操作系统文件、和/或用户产生的数据的非易失性存储器。基本上来说,图2中所示的数据处理设备可以是没有结构限制的、任何已知或以后开发的数据处理设备。
说明性实施例提供了一种系统和方法,用于输入/输出(I/O)适配器的按需要容量升级。利用说明性实施例的机制,用户可以订购服务器计算设备,例如如图2所示的、具有超过用户当前I/O资源需要的额外I/O适配器284-286。额外的I/O适配器284-286的数量可以依赖于许多的不同因素,包括:用户期望的对I/O资源的未来需要;服务器计算设备的期望寿命;成本收益分析;或许多其他因素的任何,其可以典型地进入对于用户的需要、购买何种类型的计算系统的商业决定。
当在用户的场所采用了服务器计算设备时,利用引导代码执行服务器计算设备的初始引导,使得服务器计算设备联机,其中引导代码可以在例如固件中提供。该引导代码可以执行服务器计算设备的硬件的扫描、初始化硬件设备并且为这些硬件设备预留资源,并且将系统映像加载到存储器。作为初始引导操作的部分,如果额外的未激活的I/O适配器284-286被激活(即使得联机)时,为了确保为翻译控制入口(TCE)表预留了足够的存储器,除了被激活的I/O适配器280-282外,该服务器计算设备的引导代码还为所有未激活的I/O适配器284-286预留了必要的存储器。
尽管引导代码为未激活的I/O适配器284-286预留了存储器资源,但是引导代码不初始化未激活的I/O适配器284-286。而是,它们保持未激活(即休眠),直到在固件中的引导代码的小部分(即微型引导代码)在以后的时间激活,其中引导代码用于上电、配置和初始化未激活的I/O适配器284-286。微型引导代码可以扫描耦合到之前未被激活的I/O适配器284-286的I/O设备,并且可以以类似于初始引导操作的方式初始化它们。
在服务器计算设备的初始引导期间完成存储器资源的预留,以便确保这些存储器资源将可用于存储TCE表,其中TCE表是按需要激活未激活的I/O适配器284-286所必要的。正如通常由本领域已知的,TCE表是表格数据结构,由I/O桥用其来将由I/O设备产生的地址翻译为物理存储器地址,为了存储器直接存取(DMA)操作、以便将数据在I/O适配器和系统存储器之间直接移动的目的。该TCE表由称作为管理程序(hypervisor)(未示出)的、服务器计算设备的可信的固件组件来管理,所述管理程序负责虚拟化系统存储器,并且通过这种虚拟化管理用于这种虚拟化的资源和系统存储器的访问。该TCE表存储在系统存储器中,因此,需要预留这些表所需要的系统存储器的部分。更多的关于TCE表和它们在DMA操作中的使用的信息,可以在文章“Logical Partiction Security in the IBM eserver pSeries 690”中找到,该文章在www-03.ibm.com/servers/eserver/pseriers/hardware/whitepapers/lpar_security.html处可得,因此其通过引用并入。关于TCE表的额外信息可以在“Advanced POWER Virtualiztion on IBM eserver p5 Server:Architectureand Performance Considerations”,November 2005,page 80中找到,其在www.redbooks.ibm.com/redbooks/pdfs/sg245768.pdf处可得,因此其通过引用并入。
所述服务器计算设备配备有硬件管理控制台,其在服务器计算设备运行、或耦合到服务器计算设备并在分开的计算设备上运行。该硬件管理控制台(HMC)负责配置并管理服务器计算设备的硬件、以及低级(low level)软件功能。所述HMC提供逻辑分区控制、分区和系统文件夹的创建、服务器计算设备或单个分区的引导、开始和停止动作(action)、显示服务器计算设备和分区状态、创建和存储配置备份信息等。对于关于一种类型的HMC的更多信息,参见IBM eserver p5-590和595系统手册,其从国际商业机器公司,Armonk,New York和www.redbooks.ibm.com/redbooks/pdfs/sg249119.pdf处可得。
就本发明的具体的重要性而言,HMC配备有提供有关I/O适配器的按需要容量升级的功能。所述HMC可以通过由HMC提供的用户接口响应用户输入或命令行命令输入,以便执行未激活的I/O适配器284-286的按需要激活。响应于经由用户接口选择按需要容量升级操作,例如,可以提供用于输入适合的激活代码的接口。经由接口输入的激活代码然后可以由HMC验证。
基于有效的激活代码,HMC可以执行必要的操作,用于使得在服务器计算设备中提供的一个或多个额外未激活I/O适配器284-286联机。例如,所述HMC可以启动执行小部分引导代码(即微型代码),其引导I/O适配器284-286、并且使得管理程序配置用于执行DMA地址翻译的I/O适配器TCE表。由于用于该TCE表的存储器,已经在服务器计算设备的初始引导期间由服务器计算设备预留,所以可以执行微型引导代码,而不中断服务器计算设备的正常操作。即,服务器计算设备可以在通过执行微型引导代码、激活额外的I/O适配器284-286的同时,继续服务用户请求。
在服务器计算设备中提供的、用于激活未激活的I/O适配器284-286的激活代码,可以用任何适合的方法获取。例如,用户可以打电话给服务器计算设备的提供商,并且购买额外的I/O适配器284-286的额外许可。作为响应,该服务器计算设备的提供商,可以将用于激活对应于所购买的额外许可的I/O适配器284-286的激活代码提供给该用户。作为进一步的示例,用户可以经由HMC,发送用于激活代码的请求到分开的服务器计算系统,该分开的服务器计算系统与该用户的服务器计算设备的提供商相对应。在已经购买了额外许可之后,可以验证该请求,并且和请求的激活代码一起,提供了响应。其他用于获得激活代码的机制可以用于说明性的实施例,而不偏离本发明的精神和范围。
可以基于单独的I/O适配器提供激活代码,或者可以将单个的激活代码用于激活多于一个的I/O适配器。因此,例如,可以为要被激活的每个额外的未激活I/O适配器重复上面概述的激活操作。可选地,如果提供了大块(bulk)激活代码,则单个输入的激活代码可以用来重复地执行微型引导代码,用于激活多个I/O适配器。用此方法,服务器计算设备的I/O资源、并且因此I/O容量,可以由用户按需要升级,而不需要订购和运输额外的硬件设备、或由客户工程师安装该额外硬件设备。
图3是图示用于执行由设备拥有者执行按需要容量升级的、一个说明性实施例的操作的示范性图。如图3所示,服务器计算系统300的拥有者希望升级包括激活的I/O适配器312和未激活的I/O适配器314-316的服务器计算设备310的容量。服务器计算系统300还包括在分开的HMC计算设备322上运行的硬件管理控制台(HMC)320。该HMC计算设备322可以桌面形式、机架式安装的形式等提供。
服务器计算系统300耦合到一个或多个数据网络330,通过其,该服务器计算系统300可以与其他计算设备(如客户端计算设备340-350)以及提供商服务器360通信。而且,服务器计算系统300的拥有者可以经由其他装置(包括通过电话的语音通信等),与服务器计算设备310的提供商通信。
尽管客户端计算设备340-350正与服务器计算系统300通信,但是服务器计算系统300的拥有者,可以从服务器计算设备310的提供商请求I/O容量按需要升级。该请求可以经由HMC计算设备322的HMC 320、利用用户接口通过电话呼叫与提供商相关联的调用中心来完成。在优选实施例中,用户可以通过选择在HMC 320的用户接口中的选项、并且指定要被添加到服务器计算设备310的许多I/O资源,经由HMC 320输入用于按需要升级容量的请求。
经由HMC 320的请求输入,使得HMC 320发送请求激活代码到提供商服务器360,以便激活一个或多个未激活的I/O适配器314-316。提供商服务器360可以验证该请求,并且如果被验证,则提供被请求的激活代码以响应该请求。当然,如果必要,可以响应于该请求在提供激活代码之前进行许可购买谈判。该谈判可能需要指定许可条款、获得服务器计算设备310的拥有者对许可条款的同意、获得付款信息、验证付款信息等。在可选的实现中,这些动作可以通过经电话系统与拥有者的语音通信人工地进行。
如果从提供商服务器360获得回来的响应消息,则可以将激活代码自动地输入HMC 320,用于激活在服务器计算设备310中先前未被激活的I/O适配器314-316。可选地,如果提供给服务器计算设备310的拥有者,则接口可以由HMC 320提供,用于输入激活代码。例如,在执行激活未激活的I/O适配器314-316之前,可以由HMC 320验证激活代码(如通过解密和验证过程),作为有效的激活代码。如果激活代码有效,则HMC 320可以启动在服务器计算设备310的固件318中的微型引导代码319,以便上电和配置之前未激活的I/O适配器314-316。微型引导代码319还可以与服务器计算设备310的管理程序317通信,以便使得该管理程序317为现在激活的I/O适配器314-316,初始化在系统存储器313中的TCE表311。在服务器计算设备310的初始引导期间,在系统存储器313中已经之前预留了用于TCE表311的存储器空间,即使该I/O适配器314-316在初始引导时未激活。
一旦上面的过程完成,则之前未激活的I/O适配器314-316现在被激活,并且可由服务器计算设备310的和客户端计算设备340-350拥有者使用。因此,所述服务器计算设备310的I/O容量按需要升级,而对于处理客户端计算设备请求,不中断所述服务器计算设备310的操作。
如上所述,HMC 320可以提供许多的用户接口,通过该接口,用户可以根据说明性实施例启动按需要容量升级操作。图4A图示了HMC 320提供的第一用户接口,其可以用于启动按需要容量升级操作。如图4A中所示,用户接口400包括多个用户可选择的选项410-480,用于指定用户希望执行的操作。就在此的说明性实施例的特定的重要性来说,这些用户可选择的选项中的一个包括用于执行I/O适配器的按需要容量升级(CUoD)的选项410。在之前上文提到的IBM eserver p5-590和595系统手册的第4章中,描述了在图4A中描绘的其他选项。通过选择选项410,用户可以启动向提供商服务器请求激活代码、以及可能的许可谈判,其结果应该是激活代码提供给用户、或自动输入到HMC 320,用于激活当前未激活的服务器计算设备的I/O适配器。
如上所述,依赖选择的特定实现,激活代码可以自动地输入到HMC 320、或可以手动地输入到HMC 320。在激活代码手动输入的情况中,响应于图4A的选项410的选择,图4B中所示的第二用户接口490,可以提供来输入激活代码。在手动地或自动地输入激活代码时,HMC 320可以验证激活代码、并且执行必要的操作,以便如之前所述的那样上电并且启动未激活的I/O适配器。
图5是概述用于按照一个说明性实施例的、执行按需要容量升级操作的示范性操作的流程图。将会理解,流程图示的每个块、以及该流程图示的各块的组合,能够由计算机程序指令实现。这些计算机程序指令可以提供给处理器或其他的可编程的数据处理装置,用于产生机器,使得用于在处理器或其他可编程的数据处理装置上执行的指令,创建用于实现在流程块或各块中指定的各功能的装置。这些计算机程序指令也可以存储在计算机可读存储器或存储介质中,其能够指导处理器或其他可编程的数据处理装置以特定方式工作,使得在计算机可读存储器或存储介质中存储的指令,产生制造的产品,包括实现在流程块或各块中指定的功能的指令装置。
因此,流程图示的各块支持用于执行指定功能的装置的组合,用于执行指定功能的各步骤的组合以及用于执行指定功能的程序指令装置。也将理解,流程图示的每个块以及流程图示中的各块的组合,能够通过执行指定的功能或步骤的、基于专用硬件的计算机系统,或通过专用硬件和计算机指令的组合,来实现。
应该认识到,在图5中概述的操作假定用户从提供商订购计算设备,所述计算设备包括最初未被用户许可的额外的I/O适配器。因此,用户必须预测未来他们对额外的I/O适配器的期望需要,并且订购具有过量的I/O适配器的计算设备,以便利这种未来的I/O容量,即使这些过量的I/O适配器最初未被用户许可使用。该订购的计算设备被安装到计算系统中并且耦合到HMC。
在计算设备耦合到HMC的情况下,然后HMC引导计算设备和预留存储器资源,用于未许可的(即未激活的)I/O适配器(步骤510)。然后该计算设备变得可使用(步骤520)。所述HMC确定是否从用户接收到用于I/O适配器的按需要容量升级的请求(步骤530)。如果没有,则操作返回到步骤520,在此计算设备保持可使用。
如果从用户接收到按需要容量升级(CUoD)请求,则提供接口用于输入激活代码(步骤540)。该实施例假定激活代码由用户手动地输入。然而,如之前在上面所提到的,所述CUoD请求可以导致激活代码请求从HMC发送到提供商计算系统、并且作为响应返回该激活代码。
无论是否手动输入、或响应于发送到提供商计算系统的激活代码请求自动接收激活代码,该激活代码被接收(步骤550)。然后由HMC验证输入的激活代码(步骤560),并且确定所述激活代码是否有效(步骤570)。如果激活代码无效,则可以将错误消息输出给用户(步骤580)。
如果所述激活代码有效,则HMC调用用于初始化I/O适配器、和在该I/O适配器上的任何附接的I/O设备的微型代码(步骤590)。然后该微型代码可以通电、并初始化该I/O适配器,以及调用该管理程序、利用之前为I/O适配器预留的存储器来初始化I/O适配器的TCE表(步骤600)。然后该用户和任何客户端可以使用新激活的I/O适配器和I/O设备(步骤610)。然后该操作终止。
因此,说明性实施例提供了一种机制,利用该机制,对于具有过量的未激活资源(例如I/O适配器)的计算系统,可以执行按需要容量升级操作。因为在激活这些I/O适配器之前,说明性实施例的机制为未激活的I/O适配器预留了用于地址翻译数据结构的存储器资源,并且该计算系统配备有用于加电和初始化未激活的I/O适配器的微型代码,所以可以执行按需要升级、而不中断计算设备的操作。因此,可以执行升级,不必使计算设备处于在断电(down)的状态。而且,可以执行升级,不必等待接收额外硬件设备和由客户工程师安装硬件设备,因为硬件已经提供在计算系统中,但是保持在未激活状态,直到用户的容量要求增加。
应该认识到,说明性实施例可以采用完全硬件实施例、完全软件实施例或包含硬件和软件元件两者的形式。在一个示范性实施例中,说明性实施例的机制以软件实现,该软件包括但不限于固件、驻留软件、微代码等。
而且,说明性实施例可以采用计算机程序产品的形式提供程序代码,用于由或结合计算机或任何指令执行系统使用,其中计算机程序产品可以从计算机可使用的或计算机可读的介质访问。出于此描述的目的,计算机可使用的或计算机可读的介质可以是任何能够包含、存储、通信、传播或传输程序的装置,其中该程序由或结合指令执行系统、装置或设备使用。
所述介质可以是电子的、磁的、光学的、电磁的、红外的、或半导体系统(或装置或设备)或传播介质。计算机可读的介质的示例包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。当前的光盘的示例包括致密盘-只读存储器(CD-ROM)、致密盘-读写(CD-R/W)和DVD。
适合于存储和/或执行程序代码的数据处理系统将包括至少一个处理器,其经由系统总线直接或间接耦合到存储器元件。所述存储器元件能够包括:在程序代码的实际执行期间采用的本地存储器;大容量存储器(bulkstorage);以及高速缓存器,其提供对至少某些程序代码的暂时存储,以便降低在执行期间必须从大容量存储器检索代码的次数。
输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备等)能够直接或通过介乎其间的I/O控制器耦合到系统。网络适配器还可以耦合到数据处理系统,以便允许数据处理系统通过介乎其间的私有或公共的网络,变为耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器和以太网卡仅仅是几种当前可用的网络适配器的类型。
为了图示和描述的目的,提供了本发明的描述,并且意图不在于穷尽性的或将本发明限制于公开的形式。对于那些本领域普通技术人员来说,许多修改和变化将是明显的。选择并描述了实施例以便最好地解释本发明的原理、实际应用,并且使得本领域的其它普通技术人员理解,本发明对于具有各种修改的各种实施例,适合于预期的特定使用。

Claims (11)

1.一种在数据处理系统中、用于启用所述数据处理系统的未激活的输入/输出I/O适配器的方法,包括:
引导数据处理系统到运行状态,其中未激活的I/O适配器是未激活的,并且在引导数据处理系统之后不被初始化;
为数据处理系统的未激活的I/O适配器预留存储器资源;
接收请求以激活未激活的I/O适配器;以及
使用预留的存储器资源,执行用于初始化未激活I/O适配器的微型引导代码序列,以响应接收请求来激活未激活的I/O适配器。
2.如权利要求1所述的方法,其中所述数据处理系统包括多个I/O适配器,并且其中在所述多个I/O适配器中的第一组I/O适配器,通过引导数据处理系统被激活,而第二组I/O适配器在引导数据处理系统之后保持未激活。
3.如权利要求1所述的方法,其中接收请求以激活未激活的I/O适配器包括:接收用于激活未激活I/O适配器的激活代码。
4.如权利要求3所述的方法,其中所述激活代码对激活在所述数据处理系统中的多个未激活的I/O适配器有效。
5.如权利要求3所述的方法,其中接收激活代码包括:经由用户接口接收指定激活代码的用户输入。
6.如权利要求3所述的方法,还包括:
验证所述激活代码;以及
如果所述激活代码作为激活代码的验证的结果没有效被确定有效,则输出错误消息。
7.如权利要求6所述的方法,其中执行微型引导代码的执行,以响应作为激活代码的验证结果确定激活代码为有效。
8.如权利要求1所述的方法,还包括:
发送请求激活代码到远程服务器,用于激活未激活的I/O适配器,以响应接收请求来激活未激活的I/O适配器;以及
从远程服务器接收激活代码。
9.如权利要求8所述的方法,其中所述激活代码对激活在数据处理系统中的多个未激活I/O适配器是有效的。
10.如权利要求1所述的方法,其中从耦合到数据处理系统的硬件管理控制台计算设备,接收请求以激活未激活的I/O适配器。
11.一种装置,包括:
处理器;以及
耦合到所述处理器的存储器,其中所述存储器包含指令,当由所述处理器执行时,该指令使得处理器:
引导所述计算设备到运行状态,其中未激活的I/O适配器是未激活的,并且在引导所述计算设备之后不被初始化;
为所述计算设备的未激活的I/O适配器预留存储器资源;
接收请求以激活未激活的I/O适配器;以及
使用预留的存储器资源,执行用于初始化未激活I/O适配器的微型引导代码序列,以响应接收请求来激活未激活的I/O适配器。
CNB2007101381481A 2006-07-26 2007-07-26 启用数据处理系统的输入/输出适配器的方法和装置 Expired - Fee Related CN100530152C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/459,946 US7571307B2 (en) 2006-07-26 2006-07-26 Capacity upgrade on-demand for I/O adapters
US11/459,946 2006-07-26

Publications (2)

Publication Number Publication Date
CN101114265A true CN101114265A (zh) 2008-01-30
CN100530152C CN100530152C (zh) 2009-08-19

Family

ID=38987783

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101381481A Expired - Fee Related CN100530152C (zh) 2006-07-26 2007-07-26 启用数据处理系统的输入/输出适配器的方法和装置

Country Status (2)

Country Link
US (1) US7571307B2 (zh)
CN (1) CN100530152C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102906720A (zh) * 2010-06-23 2013-01-30 国际商业机器公司 启用/禁用计算环境的适配器
US9134911B2 (en) 2010-06-23 2015-09-15 International Business Machines Corporation Store peripheral component interconnect (PCI) function controls instruction
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US9626298B2 (en) 2010-06-23 2017-04-18 International Business Machines Corporation Translation of input/output addresses to memory addresses

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769533B2 (en) * 2011-07-18 2014-07-01 International Business Machines Corporation Check-point based high availability: network packet buffering in hardware
US9110717B2 (en) 2012-07-05 2015-08-18 International Business Machines Corporation Managing use of lease resources allocated on fallover in a high availability computing environment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553139A (en) 1994-04-04 1996-09-03 Novell, Inc. Method and apparatus for electronic license distribution
US6169976B1 (en) 1998-07-02 2001-01-02 Encommerce, Inc. Method and apparatus for regulating the use of licensed products
US20020120726A1 (en) 2001-02-23 2002-08-29 Microsoft Corporation Method and system for providing a software license via the telephone
US20020188704A1 (en) 2001-06-12 2002-12-12 Stephen Gold Upgrade of licensed capacity on computer entity
DE10249678A1 (de) 2002-10-24 2004-05-13 Siemens Ag Progressive Lizenzierung komponenten-basierter MES-Software
US7373497B2 (en) * 2003-01-23 2008-05-13 Hewlett-Packard Development Company, L.P. Methods and apparatus for rapidly activating previously inactive components in a computer system
US7353375B2 (en) * 2004-10-07 2008-04-01 Hewlett-Packard Development Company, L.P. Method and apparatus for managing processor availability using a microcode patch

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102906720A (zh) * 2010-06-23 2013-01-30 国际商业机器公司 启用/禁用计算环境的适配器
US9134911B2 (en) 2010-06-23 2015-09-15 International Business Machines Corporation Store peripheral component interconnect (PCI) function controls instruction
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
CN102906720B (zh) * 2010-06-23 2015-11-25 国际商业机器公司 启用/禁用计算环境的适配器
US9213661B2 (en) 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US9383931B2 (en) 2010-06-23 2016-07-05 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US9626298B2 (en) 2010-06-23 2017-04-18 International Business Machines Corporation Translation of input/output addresses to memory addresses

Also Published As

Publication number Publication date
CN100530152C (zh) 2009-08-19
US7571307B2 (en) 2009-08-04
US20080028198A1 (en) 2008-01-31

Similar Documents

Publication Publication Date Title
CN100530152C (zh) 启用数据处理系统的输入/输出适配器的方法和装置
CN107430528B (zh) 机会性资源迁移以优化资源放置
CN102193824B (zh) 虚拟机均质化以实现跨异构型计算机的迁移
CN103455352B (zh) 部署应用软件的方法及应用软件部署装置
CN101690132B (zh) 用于执行一网域主机配置协议请求的方法和设备
US9753758B1 (en) Building of virtual servers in a cloud via non-structured strings
KR101589856B1 (ko) 서버 클라우드내의 온 디맨드 용량 관리
CN101980490B (zh) 虚拟交换机和物理交换机的链路建立方法及其装置
CN111201521B (zh) 具有应用控制的早期写确认支持的存储器访问代理系统
CN102934101A (zh) 针对本地和远程数据的透明访问机制
JP2008502967A (ja) 計算グリッド内でアプリケーション環境を動的に構築するためのシステムおよび方法
CN103620578A (zh) 经由网络分割的本地云计算
CN101207516B (zh) 单片电路和模块系统中的管理控制器远程安装性能的改进
CN101159596B (zh) 用于布置服务器的方法和设备
CN103946799B (zh) 基于应用程序对其他应用程序的依赖性对其自动执行操作
CN100530027C (zh) 整合安全角色的系统和方法
CN110532106A (zh) 进程间的通讯方法、装置、设备和存储介质
CN106547628A (zh) 多系统的资源释放方法及装置
CN101448027A (zh) 一种流水线Web服务器的系统及其工作方法
US10824486B1 (en) Two-way clipboard exchange in virtual console
CN109426544A (zh) 虚拟机部署方法和装置
US10884818B2 (en) Increasing processing capacity of virtual machines
US10168759B2 (en) Hierarchical prioritized charging for battery backup units on computing data centers
US10884845B2 (en) Increasing processing capacity of processor cores during initial program load processing
CN115827148A (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: 20090819