CN1639702A - 热插拔接口控制方法和装置 - Google Patents

热插拔接口控制方法和装置 Download PDF

Info

Publication number
CN1639702A
CN1639702A CNA028257898A CN02825789A CN1639702A CN 1639702 A CN1639702 A CN 1639702A CN A028257898 A CNA028257898 A CN A028257898A CN 02825789 A CN02825789 A CN 02825789A CN 1639702 A CN1639702 A CN 1639702A
Authority
CN
China
Prior art keywords
hot plug
plug module
computing equipment
module
interface
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.)
Pending
Application number
CNA028257898A
Other languages
English (en)
Inventor
夏夫南丹·考希克
詹姆斯·克罗斯兰
莫汉·库马尔
琳达·兰金
戴维·奥谢
岑玲
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN1639702A publication Critical patent/CN1639702A/zh
Pending legal-status Critical Current

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
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

包括处理器、存储器和/或I/O中心的热插拔模块,可以被添加到运行着的计算设备和从该运行着的计算设备移除,而不用重启所述运行着的计算设备。热插拔模块和计算设备包括支持热插拔模块的热插拔添加和热插拔移除的热插拔接口。

Description

热插拔接口控制方法和装置
相关申请
本发明涉及与本申请同一天递交、中请号未知、题为“Hot PlugCache Coherent Interface Method And Apparatus(热插拔高速缓存一致接口的方法和装置)”的申请。
背景技术
技术进步已经为超越传统商业方法的应用提供了许多的机会。互联网上的电子商务已经得到广泛接受,这要求许多公司安装不只一台计算设备来架构网站和维护可以访问的数据库,或与数据中心签约来提供这样的服务。除了性能以外,这些计算设备的重要功能性特征还包括可靠性、可用性和可扩展性。
一种已经用于提高计算设备的可靠性、可用性和可扩展性的方式是允许向运行着的计算设备添加某些外围部件或从其移除某些外围部件,而不用重新启动。例如,2001年6月20日发布的1.1版PCI(PeripheralComponent Interconnect,外围设备互连)热插拔(Hot-Plug)规范给出了一种方式,通过该方式PCI插卡(add-in card),例如网卡、ATA(先进技术附件)控制器、SCSI(小型计算机系统接口)控制器、USB(通用串行总线)控制器以及火线(FireWire,a.k.a 1394)控制器,可以被添加到运行着的计算设备上或从其移除。但是PCI热插拔没有提供向运行着的计算设备添加处理器、存储器、I/O中心,和/或从运行着的计算设备移除它们。因此,计算设备的可靠性、可用性和可扩展性可以通过支持热插拔添加和/或热插拔移除处理器、存储器和/或I/O中心得到增强。
附图说明
在附图中,以示例而非限制的方式对本发明进行了说明。为了简单和清楚地说明起见,在图中图示的元件不一定按比例绘制。例如,为了清楚,将一些元件的尺寸相对其他元件的尺寸进行了放大。此外,在适当的情形下,在各个附图中重复使用标号以表示对应或类似的元件。
图1图示了包括热插拔模块的示例性计算设备;
图2图示了图1计算设备的示例性处理器/存储器热插拔模块;
图3图示了图1计算设备的示例性处理器热插拔模块;
图4图示了图1计算设备的示例性存储器热插拔模块;
图5图示了图1计算设备的示例性I/O热插拔模块;
图6图示了图1计算设备的示例性中平面(midplane);
图7图示了与图1计算设备的通信接口关联的示例性热插拔接口的部分;
图8图示了图1的计算设备的热插拔模块和关联的通信接口的示例性状态示意图;
图9A-9H图示了用于向图1的计算设备热插拔添加热插拔模块和从其热插拔移除热插拔模块的方法。
具体实施方式
在下面详细的描述中,为了提供对本发明全面的理解,描述了许多具体的细节。但是,本发明可以在没有这些具体细节的情况下实施。在其他的例子中,为了不致使本发明模糊,没有对公知的方法、程序、部件和电路进行详细的描述。此外,尽管可能给出了示例的大小/模型/值/范围,但是本发明不限于这些具体的例子。
在说明书中提及的“一个实施例”、“实施例”、“示例性实施例”等表示所描述的实施例可以包括特定的特征、结构或特点,但是不是每一个实施例都必须包括这些特定的特征、结构或特点。而且,这样的短语不一定指代同一个实施例。此外,当特定特征、结构或特点被结合实施例说明时,应当认识到的是,无论其它实施例是否被清楚地描述了,以本领域技术人员的知识水平能够将这些特征、结构或特点与这些实施例结合。
在随后的描述和权利要求书中,可能使用术语“耦合”和“连接”以及它们的派生词。应该理解,这些术语不应被视为彼此的同义词。确切地说,在特定的实施例中,“连接”可以被用来表示两个或更多元件彼此物理或电气上直接接触。“耦合”可以指两个或更多元件物理或电气上直接接触。但是,“耦合”也可以指两个或更多元件彼此物理或电气上不直接接触,但仍然彼此协作或相互作用。
参考图1,示例性计算设备100可以包括一个或多个被耦合到中平面120的热插拔模块110。热插拔模块110可以包括一个或多个资源部件,例如处理器、存储器、输入/输出(I/O)中心和/或固件,其为计算设备100提供处理、存储、I/O、固件和/或其他资源。热插拔模块110和中平面120可以包括耦合器112、122以支持可拆卸地将热插拔模块110耦合到中平面120。耦合器112、122可以包括一个或多个管脚、短截线(stub)、触点、插孔、销、开关和/或其他机构以可拆卸地将热插拔模块110的电源信号、数据信号、控制信号、中断信号和/或其他信号耦合到中平面120的电源信号、数据信号、控制信号、中断信号和/或其他信号。
就像要进一步详细解释的那样,热插拔模块110和中平面120可以支持热插拔添加和热插拔移除。在热插拔添加期间,当计算设备100正在运行时,热插拔模块110可以被耦合到中平面120,并且热插拔模块110的资源可以被添加到正在运行的计算设备100上,而不用重启计算设备100。在热插拔移除期间,当计算设备100正在运行时,热插拔模块110可以从计算设备100解除耦合,并且被移除的热插拔模块110的资源可以从正在运行的计算设备100上移除,而不用重启计算设备100。
现在参考图2,图中示出了示例性的处理器/存储器热插拔模块(HPM),其可以被用来实现计算设备100的一个或多个热插拔模块110。示例性的处理器/存储器HPM可以包括具有热插拔接口212的节点控制器210。热插拔接口212可以包括一个或多个被耦合到耦合器112的通信接口214。如将在下面更加详细说明的那样,热插拔接口212可以支持处理器/存储器HPM的热插拔添加和/或热插拔移除。节点控制器210还可以被耦合到一个或多个处理器230、存储器240以及固件250。处理器230可以包括存储器高速缓存232以高速缓存计算设备100的一个或多个存储器240的线(line),并可以通过探听事务保持存储器高速缓存232的一致性。存储器高速缓存232可以被实现为在处理器230内部和/或外部的多级分层次的高速缓存。存储器240可以包括一个或多个被排列为存储体的存储器模块。固件250可以存储基本输入/输出系统(BIOS)例程、数据和/或其他例程以初始化或部分初始化处理器/存储器HPM的部件,以及建立与计算设备100的其他热插拔模块110的通信。
处理器/存储器HPM还可以包括状态指示器260,其被耦合到节点控制器210的热插拔接口212。状态指示器260可以提供有关处理器/存储器HPM的热插拔状态的指示。例如,状态指示器260可以包括提供可视指示器的显示设备,例如一个或多个LED、LCD等,和/或提供可听指示器,例如扬声器。例如,状态指示器260可以指示处理器/存储器HPM已经成功地接入(join)到计算设备100、已经成功地离开计算设备100、处在正接入计算设备100的过程中、处在正离开计算设备100的过程中和/或已经遇到某种错误状况。
节点控制器210还可以包括一个或多个与每个通信接口214关联的通用输入/输出管脚或接线端(GPIO0、GPIO1)216、218。状态指示器260可以被耦合到与一个通信接口214关联的GPIO0管脚216和GPIO1管脚218。此外,状态指示器260可以提供用于处理器/存储器HPM的状态指示器,其基于GPIO0管脚216和GPIO1管脚218的状态。
处理器/存储器HPM还可以包括热移除机构270。热移除机构270可以包括开关、销、按钮和/或一些其他的机械机构,它们可以响应于被致动而使处理器/存储器HPM产生热移除请求和热插拔中断。例如,热移除机构270可以包括耦合到节点控制器210的GPIO1管脚218以及耦合到耦合器112的中断线路的按钮。响应于按钮的致动,热移除机构270可以向节点控制器210提供热插拔移除请求并向运行着的计算设备100提供热插拔中断。
图3中示出了示例性的处理器HPM,其可以被用来实现计算设备100的一个或多个热插拔模块110。该处理器HPM可以用与图2中处理器/存储器HPM类似的方式实现。处理器HPM通常为计算设备100提供一个或多个处理器230,并且包括其他的部件以支持这些一个或多个处理器230以及支持该处理器HPM的热插拔。例如,处理器HPM可以包括耦合器112、节点控制器210、一个或多个处理器230、固件250、状态指示器260以及移除请求机构270,但是可以实现为没有图2中示出的存储器240。
图4中示出了示例性的存储器HPM,其可以被用来实现计算设备100的一个或多个热插拔模块110。该存储器HPM可以用与图2中处理器/存储器HPM类似的方式实现。存储器HPM通常为计算设备100提供存储器240,并且包括其他的部件以支持存储器240以及支持该存储HPM的热插拔。例如,存储器HPM可以包括耦合器112、节点控制器210、存储器240、状态指示器260以及移除请求机构270,但是可以实现为没有图2中示出的处理器230。
现在参考图5,其中示出了示例性的输入/输出(I/O)HPM,其可以被用来实现计算设备100的一个或多个热插拔模块110。该示例性的I/OHPM500包括具有热插拔接口212的I/O中心510。热插拔接口212可以包括一个或多个耦合到耦合器112的通信接口214。I/O中心510可以被耦合到一个或多个I/O桥530,以利用多种信令协议来提供对I/O设备的访问。例如,I/O HPM可以包括外围设备互连(PCI)桥、高速外围设备互连(PCI-X)桥、无限带宽(InfiniBand)桥、工业标准结构(ISA)桥、高速互连(HSI)桥、通用串行总线(USB)桥、先进技术附件(ATA)桥、小型计算机系统接口(SCSI)桥以及到键盘、鼠标和其他设备的接口。
I/O中心510还可以被耦合到固件250。该固件250可以存储基本输入/输出系统(BIOS)例程、数据和/或其他例程以初始化或部分初始化I/OHPM的部件,以及经由该I/O HPM的一个或多个通信接口214与计算设备100的其它热插拔模块110建立通信。I/O中心510还可以被耦合到状态指示器260和热移除请求机构270。该状态指示器提供有关I/O HPM的热插拔状态的指示。热移除请求机构270响应于被致动而产生热移除请求和热插拔中断。
I/O中心510还可以包括存储器高速缓存512以高速缓存计算设备100的一个或多个存储器240的线。与I/O中心510关联的存储器高速缓存512,可以被实现为I/O中心510内部和/或外部的多级分层次高速缓存。例如,存储器高速缓存512可以在预测被附接到I/O桥530的I/O设备未来的数据请求的情况下,存储从运行着的计算设备100的一个或多个存储器240取得的预先读取的数据。此外,存储器高速缓存512可以存储从被附接到I/O桥530的I/O设备取得并且这之后要被写入到运行着的计算设备100的一个或多个存储器240的数据。为了保持与运行着的计算设备100的存储器240的一致性,I/O中心510可以参加中平面120的探听事务。
在图6中更加详细地示出了示例性的中平面120。中平面120可以包括一个或多个开关624以控制热插拔模块110之间的数据传输,并且帮助保持热插拔模块110的存储器高速缓存232、512的一致性。开关624可以包括一个或多个热插拔接口626,该热插拔接口626包括被耦合到耦合器122的一个或多个通信接口628。就如下面要详细解释的那样,热插拔接口626和通信接口628可以支持热插拔模块110的热插拔添加和热插拔移除。此外,每个通信接口628可以与一个或多个GPIO管脚或端子630、632关联。
中平面120还可以包括与每个耦合器122关联的热插拔监视器(HM)634。热插拔监视器634可以为与耦合器122关联的通信接口628提供指示热插拔模块110是否被耦合到各自的耦合器122上的信号。例如,热插拔监视器634可以包括机械销,其可以被致动来将热插拔模块110固定到中平面120,并且可以响应于被致动而提供指示热插拔模块存在的信号。或者,热插拔监视器634可以包括耦合器122的模块存在管脚,以产生指示热插拔模块110是否被耦合到耦合器122上的信号。例如,模块存在管脚可以在物理上与耦合器122的其他管脚错开,使得模块存在管脚响应于插入热插拔模块110最后进行电接触,而响应于移除热插拔模块110第一个电分离。
中平面120还可以包括可选的系统管理处理器636。系统管理处理器636可以被耦合到耦合器122以监视、访问和/或控制被耦合到耦合器122的热插拔模块110的部件。系统管理处理器636可以初始化缺少处理器230的热插拔模块110的部件,比如图4的存储器HPM和图5的I/OHPM。在一个示例性实施例中,串行扫描链和/或其他通信通路(未示出)将系统管理处理器636通过中平面120的耦合器122耦合到热插拔模块110的部件。
开关624还可以包括探听过滤器640,其跟踪计算设备100的存储器高速缓存232、512的高速缓存线路一致性信息。探听过滤器640可以部分地起到防止在不包含主高速缓存线路拷贝的热插拔模块110中执行探听事务的作用,从而减少了系统开销、热插拔模块110之间的通信量以及执行探听操作所需的时间。为此,探听过滤器640可以包括控制器642、存储设备644和有效矢量646。
控制器642可以在存储设备644中存储和更新由热插拔模块110的高速缓存代理(例如,处理器230、I/O中心510)进行高速缓存的线路的一致性状态和标签地址。控制器642还可以基于存储设备644的标签地址和一致性状态、有效矢量646的有效探听代理信息以及一致性协议,控制对热插拔模块110的探听事务的路径选择。例如,控制器642可以利用公知的MESI(修改、独占、共享、无效)协议的变体来跟踪高速缓存线路是否被无效、共享、组合、修改/独占。在示例性实施例中,在热插拔模块110的存储器高速缓存232、512处支持全面的MESI协议。只要计算设备100的所有高速缓存代理是相容的,那么可以使用其他的一致性协议。
控制器642还可以在存储设备644中存储和更新存在信息,该信息指出了哪个热插拔模块110具有线路的拷贝。例如,控制器642可以通过存储设备644关联的存在矢量跟踪哪个热插拔模块110具有存储器240线路的拷贝。存在矢量可以包括位字段,其中字段中的每个位对应于特定耦合器122和关联的热插拔模块110。
也可以使用其它的实施方式来替代存在矢量。例如,开关624可以总地为每个耦合器122以及关联的热插拔模块110包括不同的探听过滤器640。或者,探听过滤器640可以实现为使得存储设备644的入口被应用到一个节点,存储设备644其他的入口被应用到另一个节点等等。
控制器642还可以停下来将探听事务发送到与已经被移除的热插拔模块110关联的耦合器122。例如,探听过滤器640可以包括有效矢量646以跟踪哪个耦合器具有被耦合到其上的有效探听代理,以便探听过滤器640为由被移除或将被移除的热插拔模块110的高速缓存代理所高速缓存的线路提供适当的探听响应。有效矢量646可以被实现为存储设备644的部分、一个或多个寄存器的部分或探听过滤器640的独立寄存器。此外,有效矢量646可以包括位字段,其中字段中的每个位对应于特定的耦合器122和关联的热插拔模块110。
也可以使用其它的实施方式来替代有效矢量。例如,开关624可以总地为每个耦合器122包括一个不同的探听过滤器640,该探听过滤器640可以基于有效探听代理是否被耦合到关联的耦合器122而被使能或禁止。或者,探听过滤器640可以被实现来清除与耦合器122关联的每个存在矢量的位,其中耦合器122与将被移除或已经被移除的热插拔模块110相关联,以防止对这样的耦合器122的探听事务。
控制器642还可以发出所有与热插拔模块110关联的未完事务已经被完成了的信号。例如,控制器642可以通过与被移除的热插拔模块110关联的通信接口628发出防卫事务(fencing transaction)。控制器642然后可以响应于从热插拔模块110接收到防卫事务完成相应而确定热插拔模块110的所有未完事务已经完成了。控制器642然后可以通过产生中断发信号通知完成了未完事务。或者,控制器642可以通过更新与耦合器122和热插拔模块110关联的状态信息,发信号通知完成了未完事务。计算设备的处理器230可以在以后读取或轮询状态消息以确定热插拔模块110所有的事务是否已经完成。
在图7中更详细地示出了热插拔接口626及其与通信接口628的关联。应该理解,热插拔模块110的热插拔接口212可以以类似的方式实现。热插拔接口626可以包括接口逻辑704、接口控制寄存器706以及被耦合到GPIO管脚630、632的GPIO导线708、710。对于每个通信接口628,热插拔接口626可以包括独立的接口逻辑704、接口控制寄存器706以及GPIO导线708、710。
接口逻辑704可以控制通信接口628来根据运行着的计算设备100的其他通信接口628所利用的通信协议来发送和/或接收电信号。此外,接口逻辑704可以使通信接口628建立与热插拔模块110的通信接口214的通信链接,并且可以检测这样的通信链接是否已经建立起来了。
例如,接口逻辑704可以基于由通信接口214发送的帧分组来调节通信接口628的接收器,并且可以使通信接口628的发射器发送帧分组。接口逻辑704然后可以响应于确定通信接口628已经接收到预定数目(例如,256)的无差错帧分组的预定数字来产生帧检测信号,并且可以响应于确定通信接口628已经响应于它发送的帧分组接收到预定数目(例如,256)的无差错确认分组来产生确认检测信号。帧检测信号和确认检测信号通常提供一种指示:通信链接已经成功地在通信接口214、628之间建立起来了。此外,应该理解,也可以使用其他方式建立通信链接。
热插拔接口626的接口控制寄存器706可以包括模块存在字段740、模块存在中断字段742以及中断请求字段744。响应于关联的热插拔监视器634的信号,模块存在字段740可以被设定来指示热插拔模块110存在,并且可以被清除以指示热插拔模块110不存在。模块存在中断字段742可以被设定来响应于模块存在字段740中的变化产生热插拔中断,并且可以被清除以防止响应于模块存在字段740中的变化产生热插拔中断。中断请求字段744可以被设定来指示和引发热插拔中断,并且可以被清除以确认和清除热插拔中断。由开关624的中断请求字段744产生的热插拔中断请求信号,可以以线-OR构造被耦合在一起,使得中断控制器(未示出)可以响应于通过单个的中断请求线接收的热插拔中断请求信号来产生热插拔中断。
接口控制寄存器706还可以包括接口使能字段746、GPIO0使能字段748、GPIO1使能字段750、GPIO0状态字段752、GPIO0状态字段754。接口使能字段746可以被设定来使能它关联的通信接口628,并且可以被清除来禁止它关联的通信接口628。GPIO0使能字段748和GPIO1使能字段750可以被设定来使能GPIO0状态字段752和GPIO0状态字段754,以驱动它们各自的GPIO管脚630、632。此外,GPIO0使能字段748和GPIO1使能字段750可以被清除来防止GPIO0状态字段752和GPIO0状态字段754驱动它们各自的GPIO管脚630、632。
接口控制寄存器706还可以包括帧检测字段756、确认检测字段758以及帧中断字段760。响应于帧检测信号,帧检测字段756可以被设定来指示检测到帧,或可以被清除以指示没有检测到帧。类似的,确认检测字段758可以被设定来指示检测到确认,或可以被清除以响应于确认检测信号指示没检测到确认。帧中断字段760可以被设定来响应于帧检测信号中的变化产生热插拔中断,或者可以被清除以防止响应帧检测信号中的变化产生热插拔中断。
接口控制寄存器706还可以包括便笺式存储器字段762。便笺式存储器字段762可以被编程(program)来跟踪通信接口628和关联热插拔模块110的热插拔状态和/或其他配置信息。例如,便笺式存储器字段762可以被编程来跟踪通信接口628和关联的热插拔模块110是否处于无模块存在状态、模块存在状态、忙状态、就绪状态或接入状态。
热插拔接口626还可以包括与通信接口628关联的其他寄存器。例如,热插拔接口626可以包括存储器交叉寄存器770来为关联的热插拔模块110的存储器240分配存储范围分配,并包括系统复位寄存器772来指示关联的热插拔模块110可用的处理器230。热插拔接口626还可以包括模块定义寄存器776来存储关联的热插拔模块110的模块指示符,并且包括远程模块定义寄存器778来存储有关与通信接口628关联的热插拔模块110的类型(例如,处理器/存储器HPM、处理器HPM、存储器HPM、I/O HPM)的指示。热插拔接口626还可以包括I/O映射寄存器780来为关联的热插拔模块110的I/O资源分配存储范围。
现在参考图8,示例性状态示意图800图示了响应于运行着的计算设备100和热插拔模块110的动作的在热插拔状态之间的转换。例如,通信接口628以及关联热插拔模块110可以是处于无模块存在状态(状态0)、模块存在状态(状态1)、忙状态(状态2)、就绪状态(状态3)或接入状态(状态4)。无模块存在状态可以对应于没有被耦合到热插拔模块110的通信接口628。模块存在状态可以对应于已经被耦合到热插拔模块110的通信接口628。忙状态可以对应于已经建立起与热插拔模块110的通信链接,但该热插拔模块100还没有准备好接入运行着的计算设备100的通信接口628。就绪状态可以对应于已经建立起与准备好接入运行着的计算设备100的热插拔模块110的通信链接的通信接口628。接入状态可以对应于被耦合到已经接入运行着的计算设备100的热插拔模块110的通信接口122。
现在参考图9A-9H,所图示的方法900用于处理热插拔中断,以便向运行着的计算设备100添加和/或从其移除热插拔模块110。热插拔中断可以响应于各种事件而产生。例如,在示例性实施例中,运行着的计算设备100在启动过程设定了一个开关624(缺省开关)的模块存在中断字段742以及帧检测中断字段760。因此,缺省开关624的接口控制寄存器706可以使响应于模块存在字段740或帧检测字段760中的变化产生热插拔中断。此外,一个热插拔模块110的移除请求机构270可以响应于被致动而产生热插拔中断。热插拔中断也可以响应于运行着的系统100或热插拔模块110设定缺省开关624的一个中断请求字段而产生。
此外,运行着的计算设备100和热插拔模块110还响应于执行机器可读介质的指令以执行方法900的全部或一个子集,这些机器可读介质比如一个或多个只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备和/或电、光、声或其他形式的传播信号,例如载波、红外信号、数字信号、模拟信号。另外,尽管方法900将运行着的计算设备100和热插拔模块110的操作示为顺序的操作,但是运行着的计算设备100和热插拔模块110可以并行或以不同的顺序执行各种操作。
现在参考图9A,在框902中运行着的计算设备100可以响应于热插拔中断的接收,确定是否已经请求热插拔移除热插拔模块110。在示例性实施例中,运行着的计算设备100可以基于中平面120的接口控制寄存器706确定是否已经请求热插拔移除热插拔模块110。例如,如果与热插拔模块110关联的接口控制寄存器706具有指示接入状态(图8的状态4)的便笺式存储字段762,并且具有被设定的GPIO1状态字段754或被设定的中断请求字段744,那么运行着的计算设备100可以确定已经请求热插拔移除热插拔模块110。在示例性实施例中,被设定的GPIO1状态字段754指示从移除请求机构270接收到移除请求信号,被设定的中断请求字段744指示可能已经被运行着的计算设备100的管理软件所设定的未完热插拔中断。
响应于确定已经请求热插拔移除热插拔模块110,在框904运行着的计算设备100(图9B)可以提供对热插拔移除热插拔模块110在进行中的指示。运行着的计算设备100可以对热插拔模块110的状态指示器260进行编程,以通过设定被耦合到状态指示器260的GPIO0管脚630的GPIO0状态字段752和GPIO0使能字段748,指示热插拔移除在进行中。在框906,运行着的计算设备100可以清除热插拔模块110的热插拔中断。如果响应于移除请求机构被致动而产生热插拔中断,那么运行着的计算设备100可以通过设定与移除请求机构270关联的GPIO0状态字段752和GPIO0使能字段748,清除热插拔中断和移除请求机构270。此外,如果通过管理软件产生热插拔中断,那么运行着的计算设备100可以通过清除缺省开关624的中断请求字段744来清除热插拔中断。
在框908,运行着的计算设备100可以识别热插拔模块110上的资源。运行着的计算设备100可以经由节点控制器210的系统复位寄存器识别热插拔模块110的处理器资源。此外,运行着的计算设备100可以经由节点控制器210的存储器交叉寄存器识别热插拔模块110的存储器资源。运行着的计算设备100还可以利用ASL(ACPI源语言)方法来识别热插拔模块110的I/O资源。
在框910,运行着的计算设备100可以从运行着的计算设备100移除被识别的热插拔模块110的存储器资源。运行着的计算设备100可以从热插拔模块110中使用过的存储器位置移动数据到运行着的计算设备100的在移除热插拔模块110之后仍然存在的存储器240和/或虚拟存储器。此外,运行着的计算设备100可以移除对物理上位于热插拔模块110上的存储器240的软件引用。
在框912,运行着的计算设备100可以移除被识别的热插拔模块110的I/O资源。运行着的计算设备100可以使被耦合到热插拔模块110或在其上的I/O设备刷新缓存并完成未完成的请求。此外,运行着的计算设备100可以使I/O中心510将它所关联的存储器高速缓存512的经修改后的高速缓存线回写到运行着的计算设备100。运行着的计算设备100也可以在I/O设备完成未完成的请求、刷新缓存以及回写经修改后的高速缓存线之后,停止和关闭该I/O设备。
在框914,运行着的计算设备100可以移除被识别的热插拔模块110的处理器资源。运行着的计算设备100可以移除作为中断目标的热插拔模块110的处理器230,并且可以从活动(active)处理器列表中移除处理器230。此外,运行着的计算设备100可以使热插拔模块110的处理器230回写和无效它们关联的存储器高速缓存232。运行着的计算设备100也可以使处理器230停止执行或进入禁用中断的紧凑循环。
在框916,运行着的计算设备100可以更新开关624的探听过滤器640。例如,运行着的计算设备100可以更新探听过滤器640的有效矢量646来将热插拔模块110和关联的通信接口628标记为无效的探听代理。通过将它们标记为无效的探听代理,探听过滤器640可以正确地响应指向在热插拔模块110被移除之前未被其无效的该热插拔模块110的共享高速缓存线的探听请求。或者,探听过滤器640可以更新存储设备644的存在矢量以指示在将被移除的热插拔模块110上没有高速缓存线存在,或禁用将被移除的热插拔模块110的专用探听过滤器640。
在框918,运行着的计算设备100可以等待与热插拔模块110关联的未完事务结束。例如,运行着的计算设备100可以等待一段时间(例如,2秒),该时间足够未完事务以合理的高度确定性结束。或者,运行着的计算设备100可以等待开关624的探听过滤器640发信号通知未完事务结束。
运行着的计算设备100还可以禁用与要移除的热插拔模块110关联的开关624的通信接口628(框920)。运行着的计算设备100可以通过清除与开关624的通信接口628关联的接口使能字段746来禁止通信接口628。作为禁止通信接口628的结果,与通信接口628关联的接口逻辑704不能接收帧分组,从而使在帧检测信号变化时缺省开关706的关联接口控制寄存器706产生热插拔中断。
在框930(图9A),运行着的计算设备100可以确定热插拔模块110是否准备好接入运行着的计算设备100。运行着的计算设备100可以基于中平面120的接口控制寄存器706确定热插拔模块110是否准备好接入运行着的计算设备100。例如,如果与热插拔模块110关联的接口控制寄存器706具有被设定的中断请求字段744以及指示就绪状态(图8的状态3)的便签式存储器字段762,则运行着的计算设备100可以确定热插拔模块110准备好接入运行着的计算设备100。
响应于确定热插拔模块110准备好接入运行着的计算设备100,在框932(图9C)运行着的计算设备100可以清除被识别的热插拔模块110的未完热插拔中断。运行着的计算设备100可以通过清除缺省开关624的中断请求字段744而清除热插拔中断。
在框934,运行着的计算设备100可以识别由热插拔模块110提供的处理器230,并可以将被识别的处理器230添加到运行着的计算设备100的处理器池。例如,运行着的计算设备100可以基于热插拔模块110的系统复位寄存器识别热插拔模块110的处理器230,并且可以使被识别的处理器230被添加到运行着的计算设备100的处理器池中。此外,运行着的计算设备100可以使被识别的处理器230从运行着的计算设备的操作系统的预定入口点开始执行,使得操作系统可以调度处理器池的处理器上的进程和/或线程的执行。
在框936,运行着的计算设备100也可以识别由热插拔模块110提供的存储器240,并且可以添加被识别的存储器240到运行着的计算设备100上。例如,运行着的计算设备100可以基于热插拔模块110的存储器交叉寄存器识别由热插拔模块110提供的存储器240。此外,运行着的计算设备100可以添加被识别的存储器240到操作系统的存储器池中,使得操作系统可以从存储器池分配存储器给运行着的计算设备100的进程和/或线程。
在框938,运行着的计算设备100还可以识别由热插拔模块110提供的I/O设备,并且可以添加被识别的I/O设备到运行着的计算设备100。运行着的计算设备100可以利用ASL方法来识别由热插拔模块110提供的或耦合到热插拔模块110的I/O设备。运行着的计算设备100还可以初始化用于被识别的I/O设备的设备驱动器,以使被识别的I/O设备可被运行着的计算设备100的操作系统所访问。
在示例性实施例中,运行着的计算设备100可以一次仅允许一个热插拔模块110通过模块存在状态(图8的状态1)并且接入运行着的计算设备100。运行着的计算设备100可以维持全局过渡标记,该标记指示热插拔添加是否已经在进行中。由于热插拔模块110已被有效地接入运行着的计算设备100,所以在框940运行着的计算设备100可以更新过渡标记以指示没有热插拔添加在进行中,使得另一个热插拔模块110可以进行热插拔添加。
在框942,运行着的计算设备100可以对开关624编程以指示热插拔模块110和关联的通信接口628的接入状态(图8的状态4)。特别地,运行着的计算设备100可以对关联的接口控制寄存器706的便签式存储器字段762编程以指示接入状态。
在框944,运行着的计算设备100可以更新开关624的探听过滤器640。例如,如果热插拔模块110包括存储器高速缓存232、512,那么运行着的计算设备100可以更新探听过滤器640的有效矢量646来将热插拔模块110和关联的通信接口628标记为有效探听代理。通过将它们标记为有效探听代理,探听过滤器640可以跟踪从热插拔模块110接收的探听结果,并且响应指向热插拔模块110的高速缓存线的探听请求。或者,探听过滤器640可以维持存储设备644的存在矢量以指示在热插拔模块110上存在哪个高速缓存线,或使能热插拔模块110的专用探听过滤器640。
在框950(图9A),运行着的计算设备100可以确定热插拔模块110是否已经放弃热插拔添加过程。运行着的计算设备100可以基于中平面120的接口控制寄存器706确定热插拔模块110是否已经放弃热插拔添加过程。忙状态或就绪状态的便签式存储器字段762可以指示关联的热插拔模块110正被添加到运行着的计算设备100。此外,被清除的帧检测字段可以指示关联的热插拔模块11不再与中平面120通信,而设定的GPIO1状态字段754可以指示从热插拔模块110的移除请求机构270接收到移除请求信号。因此,如果关联接口控制寄存器706具有指示忙状态或就绪状态(图8的状态2或3)的便签式存储器字段762并且具有被设定的GPIO1状态字段754或被清除的帧检测字段756,则运行着的计算设备100可以确定热插拔模块110已经中止热插拔添加。
响应于确定热插拔模块110已经中止热插拔添加,在框952(图9D)运行着的计算设备100可以禁用与被识别的热插拔模块110关联的通信接口628。运行着的计算设备100可以通过清除关联的接口控制寄存器706的接口使能字段746来禁用通信接口628。在框954,运行着的计算设备100还可以对开关624编程以指示关联的通信接口628的忙状态(图8的状态2)。特别的,运行着的计算设备100可以对关联的接口控制寄存器706的便签式存储器字段762编程以指示忙状态。运行着的计算设备100还可以更新过渡标记以指示:由于被识别的热插拔模块110已经中止热插拔添加过程,因此没有热插拔添加在进行中(框956)。于是,另一个热插拔模块110可以进行热插拔添加过程。
在框958,运行着的计算设备100可以清除热插拔模块的热插拔中断,并且可以提供对运行着的计算设备100辨别处对热插拔添加的放弃的指示。例如,运行着的计算设备100可以清除热插拔中断并对热插拔模块110的状态指示器260编程,以通过设定与状态指示器260和移除请求机构270关联的GPIO0状态字段752和GPIO0使能字段748,来指示对热插拔模块110的热插拔移除在进行中。
在框960(图9A),运行着的计算设备100确定热插拔模块110是否已经从运行着的计算设备100被物理移除。运行着的计算设备100可以基于中平面120的接口控制寄存器706确定热插拔模块110是否已经被物理移除。特别的,如果与热插拔模块110关联的接口控制寄存器706具有指示模块存在状态(图8的状态1)的便签式存储器字段762和被清除的模块存在字段740,则运行着的计算设备100可以确定热插拔模块110已经被物理移除。
响应于确定热插拔模块110已经被物理移除,在框962(图9E)运行着的计算设备100可以对开关624编程以指示关联的通信接口628的无模块存在状态(图8的状态0)。为此,运行着的计算设备100可以对关联的接口控制寄存器706的便签式存储器字段762编程以指示无模块存在状态。运行着的计算设备100还可以清除热插拔模块110的热插拔中断(框964)。例如,运行着的计算设备100可以清除与热插拔模块110关联的缺省开关624的中断请求字段744。
在框966(图9A),运行着的计算设备100可以确定热插拔模块110是否可以进行热插拔添加。为此,运行着的计算设备100可以响应于确定过渡标记没有指示在进行另一个热插拔添加,确定要进行热插拔添加。
响应于确定不进行热插拔添加,运行着的计算设备100可以退出和停止处理热插拔中断。否则,运行着的计算设备100可以在框970确定正被移除的热插拔模块110是否已经与运行着的计算设备100解除通信链接。如果与热插拔模块110关联的接口控制寄存器706具有被清除的帧检测字段756,并且具有指示忙状态、就绪状态或接入状态(图8的状态2、3或4)的便签式存储器,则运行着的计算设备100可以确定正离开的热插拔模块110没有建立通信。
响应于确定正离开热插拔模块110已经停止通信,在框972运行着的计算设备100可以对开关624编程以将热插拔模块110从运行着的计算设备100隔离。运行着的计算设备100可以对开关624的远程模块定义寄存器778编程以指示没有热插拔模块110被耦合到关联的耦合器122。对于处理器/存储器HPM和存储器HPM,运行着的计算设备100还可以对存储器交叉寄存器770编程以指示没有存储器资源被耦合到关联的耦合器122。对于I/O存储器HPM,运行着的计算设备100还可以对I/O映射寄存器780编程以指示没有I/O资源被耦合到关联的耦合器122。
在框974,运行着的计算设备100可以提供对热插拔模块110可以从中平面120上解除物理耦合并从运行着的计算设备100移除的指示。运行着的计算设备100可以对热插拔模块110的状态指示器260编程以指示热插拔模块110可以从运行着的计算设备100物理移除,这通过了:(i)清除与被耦合到状态指示器260的GPIO0管脚630关联的GPIO0状态字段752和GPIO0使能字段748,以及(ii)设定与被耦合到状态指示器260的GPIO1管脚632关联的GPIO1状态字段754和GPIO1使能字段750。
在框976,运行着的计算设备100还可以对开关编程以通过对关联的接口控制寄存器706的便签式存储器字段762编程来指示模块存在状态(图8的状态1)。运行着的计算设备100也可以清除热插拔模块110的热插拔中断(框978)。例如,运行着的计算设备100可以清除与热插拔模块110关联的缺省开关624的中断请求字段744。
在框980(图9A),运行着的计算设备100可以确定正被添加的热插拔模块110是否已经建立起与运行着的计算设备100的通信链接。在示例性实施例中,如果与热插拔模块110关联的接口控制寄存器706具有指示模块存在状态(图8的状态1)的便签式存储器字段762、被设定的帧检测字段756以及被设定的确认检测字段758,则运行着的计算设备100可以确定正接入的热插拔模块110已经开始通信。
响应于确定正被添加的热插拔模块110已经建立起通信链接,在框981(图9G)运行着的计算设备100可以清除热插拔模块110的热插拔中断。例如,运行着的计算设备100可以清除与热插拔模块110关联的缺省开关624的中断请求字段744。在框982运行着的计算设备100还可以对开关编程以通过对关联的接口控制寄存器706的便签式存储器字段762编程来指示热插拔模块110的忙状态(图8的状态2)。在框984,运行着的计算设备100可以更新过渡标记以指示热插拔添加在进行中,并且以防止其他热插拔模块110开始热插拔添加。
在框986,热插拔模块110可以配置它自身的部件。例如,热插拔模块110可以将它的一个处理器230配置为节点启动捆绑处理器(Boot StrapProcessor)。热插拔模块110还可以初始化它的存储器240,并且可以对它的存储器接口寄存器772编程以适当地将地址范围分配到它的存储器240和运行着的计算设备100的其他存储器240中。热插拔模块110也可以对它的系统复位寄存器772编程以识别热插拔模块110的活动处理器230,并且对它的I/O映射寄存器编程以适当地将存储器范围分配给它的I/O设备。
在配置它的部件之后,在框988热插拔模块110可以发信号通知运行着的计算设备100它准备好接入了。为此,热插拔模块可以对开关624编程以通过对关联的接口控制寄存器706的便签式存储器字段762编程来指示热插拔模块110的就绪状态(图8的状态3)。热插拔模块110可以通过设定缺省开关624的关联的中断请求字段744来引发产生热插拔中断。
在框992(图9A),运行着的计算设备100可以确定热插拔模块110是否已经被耦合到中平面120的之前空闲的耦合器122。热插拔监视器634可以响应于热插拔模块110正被耦合到关联的耦合器122而设定关联的模块存在字段740。因此,如果关联的接口寄存器706具有指示无模块存在状态(图8的状态0)的便签式存储器762、被设定的模块存在字段740以及被清除的接口使能字段746,则运行着的计算设备100可以确定热插拔模块110已经被耦合到空闲耦合器122。
响应于确定热插拔模块110已经被耦合到空闲耦合器122,在框994(图9H)运行着的计算设备100可以对开关624编程以指示与热插拔模块110关联的通信接口628的模块存在状态(图8的状态1)。为此,运行着的计算设备100可以对关联的接口控制寄存器706编程以指示模块存在状态。此外,在框996运行着的计算设备100可以使能与热插拔模块110关联的通信接口628在热插拔模块110和中平面120之间建立通信链接。运行着的计算设备100可以通过设定开关624的关联的接口使能字段746使能通信接口628。运行着的计算设备100还可以清除热插拔模块110的热插拔中断(框997)。例如,运行着的计算设备100可以清除与热插拔模块110关联的缺省开关624的中断请求字段774。
响应于被耦合到中平面120,在框998热插拔模块110可以初始化热插拔模块110的部件,并且可以执行自我测试。例如,在热插拔模块110的通信接口214被禁用时,热插拔模块110的处理器230或系统管理处理器636可以初始化部件和/或进行自我测试。热插拔模块110的耦合器112可以包括开关(未示出),该开关可以响应于禁用关联的通信接口214,将热插拔模块110在数据、控制、中断和/或其他信号上与来自运行着的计算设备100的数据、控制和/或其他信号隔开。
在示例性实施例中,在框999热插拔模块110可以确定热插拔模块110是否已经通过自我测试。响应确定热插拔模块110自我测试失败,在框1000热插拔模块110可以放弃热插拔添加。通过在使能它的通信接口214之前放弃热插拔添加过程,热插拔模块110可以减少由于热插拔模块110的误操作造成运行着的计算设备100崩溃的可能性。
响应于通过自我测试,在框1001热插拔模块110可以使能它的通信接口214以建立与开关624的通信接口628的通信链接,并且将热插拔模块110的信号耦合到运行着的计算设备100的信号上。例如,热插拔模块110的处理器230或中平面120的系统管理处理器636可以通过设定热插拔模块110的关联的接口使能字段746使能通信接口214。
在框1002,热插拔模块110的被使能的通信接口214可以建立与中平面120的通信接口628的通信链接。通信接口214、628可以响应于被使能而启动帧处理。作为帧处理的结果,与通信接口214、628关联的接口逻辑704可以响应于检测到预定数目的帧分组设定帧检测字段756,并且可以响应于检测到预定数目的确认分组设定确认检测字段758。应该理解,缺省开关624可以响应于检测到预定数目的帧分组和设定缺省开关624的帧检测字段756产生热插拔中断。
尽管已经参考示例性实施例对本发明的某些特征进行了说明,但是该说明并不意图被解释为限制意义的。那些对本发明所属领域的普通技术人员明显的对示例性实施例的各种修改以及本发明的其他实施例,被视为落入本发明的精神和范围之内。

Claims (34)

1.一种向运行着的计算设备添加一个或多个高速缓存代理的方法,包括:
响应于热插拔模块被物理耦合到所述运行着的计算设备,识别由所述热插拔模块提供的所述一个或多个高速缓存代理;以及
将所述热插拔模块的被识别的高速缓存代理添加到所述运行着的计算设备的资源池。
2.如权利要求1的方法,还包括:
响应于确定所述热插拔模块已经被物理耦合到所述运行着的计算设备,使能与所述热插拔模块关联的所述运行着的计算设备的通信接口。
3.如权利要求2的方法,还包括:
执行对所述热插拔模块的自我测试;以及
响应于通过所述自我测试,使能所述热插拔模块的通信接口建立与所述运行着的计算设备的通信接口的通信链接。
4.如权利要求2的方法,还包括:
初始化所述热插拔模块,并且在初始化所述热插拔模块之后,使能所述热插拔模块的所述通信接口建立与所述运行着的计算设备的通信接口的通信链接。
5.如权利要求1的方法,其中所述添加步骤包括添加所述被识别的高速缓存代理的一个或多个存储器高速缓存处理器到所述运行着的系统的处理器池。
6.如权利要求1的方法,其中所述添加步骤包括添加所述被识别的高速缓存代理的一个或多个存储器高速缓存输入/输出中心到所述运行着的系统的输入/输出设备池。
7.如权利要求1的方法,还包括:
响应于所述热插拔模块被物理耦合到所述运行着的计算设备,识别所述热插拔模块的存储器;以及
添加所述热插拔模块的被识别的存储器到所述运行着的计算设备的存储器池。
8.一种向运行着的计算设备添加存储器的方法,包括:
响应于所述热插拔模块被物理耦合到所述运行着的计算设备,识别所述热插拔模块的存储器;以及
添加所述热插拔模块的被识别的存储器到所述运行着的计算设备的存储器池。
9.如权利要求8的方法,还包括:
响应于确定所述热插拔模块已经被物理耦合到所述运行着的设备,使能与所述热插拔模块关联的所述运行着的计算设备的通信接口。
10.如权利要求8的方法,还包括:
执行对所述热插拔模块的自我测试;以及
响应于通过所述自我测试,使能所述热插拔模块的通信接口建立与所述运行着的计算设备的通信接口的通信链接。
11.一种从运行着的计算设备移除包括一个或多个存储器高速缓存的热插拔模块的方法,包括:
响应于热插拔移除请求,识别所述热插拔模块的资源;
使所述热插拔模块将所述一个或多个存储器高速缓存的被修改的高速缓存线回写到所述运行着的计算设备;以及
从所述运行着的计算设备的各个资源池移除所述被识别的资源。
12.如权利要求11的方法,还包括:
响应于所述热插拔移除请求,提供热插拔移除在进行中的指示。
13.如权利要求12的方法,还包括:
在从所述运行着的计算设备移除所述被识别的资源之后,提供所述热插拔模块可以被移除的指示;以及
禁用所述运行着的计算设备的通信接口以将所述热插拔模块从所述运行着的计算设备隔开。
14.如权利要求11的方法,还包括:
为与所述热插拔模块关联的未完事务结束而等待一段预定的时间;以及
在等待了所述的预定时间之后,禁用所述运行着的计算设备的通信接口以将所述热插拔模块从所述运行着的计算设备隔开。
15.如权利要求11的方法,还包括:
在确定所有与所述热插拔模块关联的事务都已经结束之后,禁用所述运行着的计算设备的通信接口以将所述热插拔模块从所述运行着的计算设备隔开。
16.一种用于中断处理的机器可读介质,包括多条指令,所述指令响应于被执行使得计算设备:
响应于热插拔中断,检查与用于与具有高速缓存代理的多个热插拔模块通信的多个通信接口关联的多个接口控制寄存器;以及
基于所述多个接口控制寄存器,识别多个热插拔事件中哪个引发了热插拔中断。
17.如权利要求16的机器可读介质,其中所述多条指令响应于被执行还使得计算设备:
基于所述多个接口控制寄存器中与所述多个热插拔模块中的热插拔模块关联的接口控制寄存器,确定是否已经请求了对所述热插拔模块的热插拔添加或热插拔移除。
18.如权利要求17的机器可读介质,其中所述多条指令响应于被执行还使得计算设备:
响应于与所述热插拔模块关联的所述接口控制寄存器指示了所述热插拔模块的未完热插拔中断和接入状态,确定已经请求了对所述热插拔模块的热插拔移除。
19.如权利要求18的机器可读介质,其中所述多条指令响应于被执行还使得计算设备:
使所述热插拔模块将被修改的高速缓存线回写到所述运行着的计算设备;以及
从所述计算设备移除所述热插拔模块的资源。
20.如权利要求16的机器可读介质,其中所述多条指令响应于被执行还使得计算设备:
确定已经请求了对所述热插拔模块的热插拔移除;
为与所述热插拔模块关联的未完事务结束而等待一段预定的时间;以及
在等待了所述的预定时间之后,禁用所述运行着的计算设备的通信接口以将所述热插拔模块从所述运行着的计算设备隔开。
21.如权利要求16的机器可读介质,其中所述多条指令响应于被执行还使得计算设备:
确定已经请求了对所述热插拔模块的热插拔移除;以及
在确定所有与所述热插拔模块关联的事务都已经结束之后,禁用所述计算设备的通信接口以将所述热插拔模块从所述计算设备隔开。
22.如权利要求16的机器可读介质,其中所述多条指令响应于被执行还使得计算设备:
响应于所述接口控制寄存器指示:所述关联的通信接口被禁用、模块被耦合到所述关联的通信接口、以及所述关联的通信接口处于无模块存在状态,确定已经请求了对所述热插拔模块的热插拔添加。
23.如权利要求22的机器可读介质,其中所述多条指令响应于被执行还使得计算设备:
响应于确定已经请求了对所述热插拔模块的热插拔添加并且没有其他热插拔添加在进行中,添加所述热插拔模块的资源到所述运行着的计算设备。
24.一种热插拔模块,包括:
耦合器,用于可拆卸地将所述热插拔模块耦合到运行着的计算设备;
通信接口,用来响应于被使能而建立与所述运行着的计算设备的通信链接,以及响应于被禁用而解除所述通信链接;
与所述通信接口关联的接口控制寄存器,用来指示和控制所述通信接口是否被使能或禁用;以及
处理器和关联的存储器高速缓存,所述处理器基于所述热插拔模块是否准备好接入运行着的计算设备,对所述接口控制寄存器编程以使能和禁用所述通信接口。
25.如权利要求24的热插拔模块,其中:
响应于请求对所述热插拔模块的热插拔移除,所述处理器将所述存储器高速缓存的高速缓存线回写到所述运行着的计算设备。
26.如权利要求25的热插拔模块,其中所述热插拔模块包括指示所述热插拔模块的热插拔状态的状态指示器。
27.如权利要求26的热插拔模块,其中所述处理器:
响应于请求对所述热插拔模块的热插拔添加,执行对所述热插拔模块的自我测试;以及
响应于确定所述热插拔模块通过所述自我测试,使能所述通信接口。
28.一种计算设备,包括:
中平面,包括耦合器和跟踪与所述耦合器关联的状态的热插拔接口;
热插拔模块,包括可拆卸地将所述热插拔模块耦合到所述中平面的耦合器的耦合器以及通过所述热插拔模块的热插拔接口被耦合到所述热插拔模块的耦合器的资源,所述热插拔模块更新所述中平面的所述热插拔接口的状态以指示何时所述资源准备好接入所述计算设备;以及
处理器,被耦合到所述中平面的所述热插拔接口,所述处理器响应于确定所述中平面的所述热插拔接口指示所述资源准备好接入,将所述资源添加到所述计算设备,而不用重启。
29.如权利要求28的计算设备,其中:
所述中平面包括热插拔监视器,所述热插拔监视器为所述中平面的热插拔接口提供一个信号,所述信号指示所述热插拔模块的耦合器是否已经被耦合到所述中平面的耦合器,以及
所述处理器响应于指示所述热插拔模块的耦合器是否已经被耦合到所述中平面的耦合器的信号中的变化,对所述中平面的热插拔接口编程以产生热插拔中断。
30.如权利要求28的计算设备,其中:
所述中平面的热插拔接口检测是否从所述热插拔模块的热插拔接口接收到帧分组,以及
所述处理器响应于帧分组接收中的变化,对所述中平面的热插拔接口编程以产生热插拔中断。
31.一种计算设备的中平面,包括:
多个耦合器,用来可拆卸地将热插拔模块耦合到所述中平面;
至少一个开关,用来互连所述多个耦合器,所述至少一个开关包括多个通信接口和多个接口控制寄存器,所述多个通信接口用来建立与被耦合到所述多个耦合器的热插拔模块的通信链接,所述多个接口控制寄存器用来控制所述多个通信接口。
32.如权利要求31的中平面,还包括:
系统管理处理器,用来初始化被耦合到所述多个耦合器的热插拔模块。
33.如权利要求32的中平面,其中所述多个接口控制寄存器跟踪所述多个通信接口和关联的热插拔模块的状态。
34.如权利要求31的中平面,其中所述开关提供关于所有与要被移除的热插拔模块关联的未完事务何时都已结束的指示。
CNA028257898A 2001-12-19 2002-11-27 热插拔接口控制方法和装置 Pending CN1639702A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/028,858 2001-12-19
US10/028,858 US7673090B2 (en) 2001-12-19 2001-12-19 Hot plug interface control method and apparatus

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2010101705355A Division CN101859290B (zh) 2001-12-19 2002-11-27 热插拔接口控制方法和装置

Publications (1)

Publication Number Publication Date
CN1639702A true CN1639702A (zh) 2005-07-13

Family

ID=21845893

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA028257898A Pending CN1639702A (zh) 2001-12-19 2002-11-27 热插拔接口控制方法和装置
CN2010101705355A Expired - Fee Related CN101859290B (zh) 2001-12-19 2002-11-27 热插拔接口控制方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2010101705355A Expired - Fee Related CN101859290B (zh) 2001-12-19 2002-11-27 热插拔接口控制方法和装置

Country Status (7)

Country Link
US (1) US7673090B2 (zh)
EP (1) EP1472608B1 (zh)
KR (1) KR100715740B1 (zh)
CN (2) CN1639702A (zh)
AU (1) AU2002352944A1 (zh)
TW (1) TWI279707B (zh)
WO (1) WO2003054713A2 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100428151C (zh) * 2006-11-29 2008-10-22 南京联创科技股份有限公司 大规模并发联机交易中基于版本的c/c++组件热插拔方法
CN100459547C (zh) * 2006-08-09 2009-02-04 华为技术有限公司 串行板间通信系统及方法
CN101930276A (zh) * 2010-08-30 2010-12-29 浪潮电子信息产业股份有限公司 一种通过热拔插技术实现主板供电的方法
CN102339236A (zh) * 2010-07-21 2012-02-01 英业达股份有限公司 侦测可插拔储存装置的方法及电子装置
CN102411554A (zh) * 2011-08-09 2012-04-11 Tcl集团股份有限公司 一种usb存储设备热插拔方法、装置及终端设备
WO2012083724A1 (zh) * 2011-08-31 2012-06-28 华为技术有限公司 管理计算机系统内存的方法、内存管理单元和计算机系统
CN101030911B (zh) * 2006-03-03 2012-12-05 日本电气株式会社 信息处理装置
CN104077083A (zh) * 2014-07-01 2014-10-01 浪潮(北京)电子信息产业有限公司 新加存储方法、装置和系统
CN104932993A (zh) * 2014-03-21 2015-09-23 中兴通讯股份有限公司 一种稳定热插拔驱动方法、装置及一种支持热插拔设备
CN105260336A (zh) * 2015-11-17 2016-01-20 上海交通大学 可字节寻址的非易失性存储器热插拔方法及装置
CN108121681A (zh) * 2017-12-04 2018-06-05 努比亚技术有限公司 一种热插拔实现方法、终端及存储介质
CN108334466A (zh) * 2017-01-18 2018-07-27 爱思开海力士有限公司 包括热插拔模块和存储器模块的系统

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792494B2 (en) * 2001-03-30 2004-09-14 Intel Corporation Apparatus and method for parallel and serial PCI hot plug signals
US6842827B2 (en) 2002-01-02 2005-01-11 Intel Corporation Cache coherency arrangement to enhance inbound bandwidth
US7346135B1 (en) 2002-02-13 2008-03-18 Marvell International, Ltd. Compensation for residual frequency offset, phase noise and sampling phase offset in wireless networks
US7035953B2 (en) * 2002-05-03 2006-04-25 Hewlett-Packard Development Company, L.P. Computer system architecture with hot pluggable main memory boards
US7039743B2 (en) * 2002-05-06 2006-05-02 Dell Usa, L.P. System and method of retiring events upon device replacement
US7225427B2 (en) * 2002-06-14 2007-05-29 Hewlett-Packard Development Company, L.P. Method and device for providing computer system component data
US7096306B2 (en) * 2002-07-31 2006-08-22 Hewlett-Packard Development Company, L.P. Distributed system with cross-connect interconnect transaction aliasing
US20040024941A1 (en) * 2002-07-31 2004-02-05 Compaq Information Technologies Group, L.P. Method and apparatus for supporting hot-plug cache memory
US7263153B2 (en) 2002-10-09 2007-08-28 Marvell International, Ltd. Clock offset compensator
US7444207B2 (en) 2002-10-15 2008-10-28 Rain Bird Corporation Modular and expandable irrigation controller
US7319705B1 (en) 2002-10-22 2008-01-15 Marvell International Ltd. Programmable pre-emphasis circuit for serial ATA
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US7246192B1 (en) * 2003-01-10 2007-07-17 Marvell International Ltd. Serial/parallel ATA controller and converter
US6990545B2 (en) * 2003-04-28 2006-01-24 International Business Machines Corporation Non-disruptive, dynamic hot-plug and hot-remove of server nodes in an SMP
US20040215864A1 (en) * 2003-04-28 2004-10-28 International Business Machines Corporation Non-disruptive, dynamic hot-add and hot-remove of non-symmetric data processing system resources
US7019752B1 (en) * 2003-06-04 2006-03-28 Apple Computer, Inc. Method and apparatus for frame buffer management
CN100346607C (zh) * 2003-09-02 2007-10-31 华为技术有限公司 在支持接口热插拔的系统上进行接口备份的方法
US8930583B1 (en) 2003-09-18 2015-01-06 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for controlling data transfer in a serial-ATA system
DE10346617B4 (de) * 2003-10-08 2007-01-25 Stadt Nürnberg Schalteinrichtung zum Steuern von über eine Feldbusleitung ansteuerbaren elektrischen Geräten
US7234013B2 (en) * 2003-10-31 2007-06-19 Hewlett-Packard Development Company, L.P. System and method for preventing wake on LAN to protect expansion cards
EP1769298A4 (en) 2003-12-23 2011-11-23 Rain Bird Corp MODULAR AND EXPANDABLE IRRIGATION CONTROL
US7844367B2 (en) 2003-12-23 2010-11-30 Rain Bird Corporation Code replacement for irrigation controllers
US7958292B2 (en) 2004-06-23 2011-06-07 Marvell World Trade Ltd. Disk drive system on chip with integrated buffer memory and support for host memory access
US20060062541A1 (en) * 2004-09-17 2006-03-23 Sharp Laboratories Of America, Inc. Method and system for preparing a removable HD for live TV control
US7738484B2 (en) 2004-12-13 2010-06-15 Intel Corporation Method, system, and apparatus for system level initialization
US7734741B2 (en) 2004-12-13 2010-06-08 Intel Corporation Method, system, and apparatus for dynamic reconfiguration of resources
US7386640B2 (en) * 2004-12-28 2008-06-10 Intel Corporation Method, apparatus and system to generate an interrupt by monitoring an external interface
US7453816B2 (en) * 2005-02-09 2008-11-18 International Business Machines Corporation Method and apparatus for automatic recovery from a failed node concurrent maintenance operation
US7260666B2 (en) * 2005-07-26 2007-08-21 Hewlett-Packard Development Company, L.P. Supporting multiple methods for device hotplug in a single computer
US20070033314A1 (en) * 2005-08-04 2007-02-08 Arad Rostampour Event generation for device hotplug
JP2007233879A (ja) * 2006-03-03 2007-09-13 Nec Corp 情報処理装置
CN101114925B (zh) * 2006-07-28 2011-05-25 深圳迈瑞生物医疗电子股份有限公司 医用监护仪、参数模块插拔检测方法及检测装置
US8250276B2 (en) * 2006-10-10 2012-08-21 Hewlett-Packard Development Company, L.P. Online deletion of devices
US20080177907A1 (en) * 2007-01-23 2008-07-24 Paul Boerger Method and system of a peripheral port of a server system
US20080270480A1 (en) * 2007-04-26 2008-10-30 Hanes David H Method and system of deleting files from a remote server
US8005993B2 (en) * 2007-04-30 2011-08-23 Hewlett-Packard Development Company, L.P. System and method of a storage expansion unit for a network attached storage device
US8429328B2 (en) * 2007-06-29 2013-04-23 Sandisk Technologies Inc. System for communicating with a non-volatile memory storage device
US8433842B2 (en) * 2007-06-29 2013-04-30 Sandisk Technologies Inc. Method for communicating with a non-volatile memory storage device
CN101878620A (zh) * 2007-11-29 2010-11-03 英特尔公司 在基于链路的系统中修改系统路由信息
US20090144476A1 (en) * 2007-12-04 2009-06-04 Xiaohua Cai Hot plug in a link based system
JP5645014B2 (ja) * 2008-05-28 2014-12-24 日本電気株式会社 I/o接続システム、方法及びプログラム
US20100023956A1 (en) * 2008-07-25 2010-01-28 Prostor Systems, Inc. Methods for implementation of an eject service for a removable disk drive
TWI449356B (zh) * 2010-02-05 2014-08-11 Htc Corp 可拆卸的無線通訊模組以及其啟動的方法
CN101930419B (zh) * 2010-03-04 2012-07-18 成都市华为赛门铁克科技有限公司 热插拔方法、热插拔控制装置和热插拔卡系统
US8239582B2 (en) 2010-05-27 2012-08-07 Cilag Gmbh International Hand-held test meter with disruption avoidance circuitry
US8706944B2 (en) 2010-12-22 2014-04-22 Intel Corporation Dual bus standard switching bus controller
WO2013095559A1 (en) 2011-12-22 2013-06-27 Intel Corporation Power conservation by way of memory channel shutdown
US9542283B2 (en) * 2014-07-14 2017-01-10 Lenovo (Singapore) Pte. Ltd. Preventing removal of hot-swappable components
TWI561975B (en) * 2015-10-20 2016-12-11 Mitac Computing Technology Corp Method for detecting hot-swap occurrence
US9900260B2 (en) 2015-12-10 2018-02-20 Arm Limited Efficient support for variable width data channels in an interconnect network
US10157133B2 (en) * 2015-12-10 2018-12-18 Arm Limited Snoop filter for cache coherency in a data processing system
CN106980588A (zh) * 2016-01-18 2017-07-25 中兴通讯股份有限公司 一种设备热处理方法和装置
US9990292B2 (en) 2016-06-29 2018-06-05 Arm Limited Progressive fine to coarse grain snoop filter
US10565150B2 (en) * 2016-07-13 2020-02-18 Hewlett-Packard Development Company, L.P. Hot unplug predictions based on latch positions detected by a sensing circuit
US10042766B1 (en) 2017-02-02 2018-08-07 Arm Limited Data processing apparatus with snoop request address alignment and snoop response time alignment
CN110692219B (zh) * 2017-05-01 2023-09-05 惠普发展公司,有限责任合伙企业 输入数据切换器
CN110955624B (zh) * 2018-09-26 2023-08-15 阿里巴巴集团控股有限公司 一种pcie设备的热插拔方法、装置和系统
US11656992B2 (en) 2019-05-03 2023-05-23 Western Digital Technologies, Inc. Distributed cache with in-network prefetch
CN111143104A (zh) * 2019-12-29 2020-05-12 苏州浪潮智能科技有限公司 一种内存异常的处理方法、系统、电子设备及存储介质
US11765250B2 (en) 2020-06-26 2023-09-19 Western Digital Technologies, Inc. Devices and methods for managing network traffic for a distributed cache
US11675706B2 (en) 2020-06-30 2023-06-13 Western Digital Technologies, Inc. Devices and methods for failure detection and recovery for a distributed cache
US11736417B2 (en) 2020-08-17 2023-08-22 Western Digital Technologies, Inc. Devices and methods for network message sequencing
US12088470B2 (en) 2020-12-18 2024-09-10 Western Digital Technologies, Inc. Management of non-volatile memory express nodes
CN114840460B (zh) * 2021-02-02 2024-05-31 上海博泰悦臻网络技术服务有限公司 热插拔处理方法、存储介质、电子设备及处理系统
CN114356822B (zh) * 2021-12-29 2024-04-30 硕橙(厦门)科技有限公司 一种模组化数据感知系统和方法
US12072805B2 (en) * 2022-04-11 2024-08-27 Arteris, Inc. System and method to enter and exit a cache coherent interconnect
SE2230296A1 (en) * 2022-09-19 2024-03-20 Evnxs Adamo Ab A computation platform for automotive applications

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE9104790U1 (de) 1991-04-19 1991-07-18 Uranit GmbH, 5170 Jülich Einrichtung zur Verringerung der Störanfälligkeit eines Rechner- oder Prozeßleitsystems
FR2689990A1 (fr) 1992-04-14 1993-10-15 Bull Sa Structure d'accueil pour adaptateurs de terminaux.
GB2281793A (en) 1993-09-11 1995-03-15 Ibm A data processing system for providing user load levelling in a network
US5781744A (en) * 1995-08-25 1998-07-14 Apple Computer, Inc. Method and apparatus for ensuring safe peripheral connection
US5923897A (en) 1996-04-01 1999-07-13 Microsoft Corporation System for adapter with status and command registers to provide status information to operating system and processor operative to write eject command to command register
US6101322A (en) 1996-06-05 2000-08-08 Compaq Computer Corporation Removal and insertion of expansion cards in a computer system
US5852743A (en) 1996-07-12 1998-12-22 Twinhead International Corp. Method and apparatus for connecting a plug-and-play peripheral device to a computer
US5873000A (en) 1996-07-19 1999-02-16 Compaq Computer Corporation System incorporating hot docking and undocking capabilities without requiring a standby or suspend mode by placing local arbiters of system and base into idle state
US6122711A (en) 1997-01-07 2000-09-19 Unisys Corporation Method of and apparatus for store-in second level cache flush
US5875308A (en) * 1997-06-18 1999-02-23 International Business Machines Corporation Peripheral component interconnect (PCI) architecture having hot-plugging capability for a data-processing system
US5938751A (en) 1997-08-15 1999-08-17 Compaq Computer Corporation Bus ring-back and voltage over-shoot reduction techniques coupled with hot-pluggability
TW444165B (en) * 1998-05-12 2001-07-01 Primax Electronics Ltd Hot plug and play universal serial bus switch device and control method
US6282596B1 (en) * 1999-03-25 2001-08-28 International Business Machines Corporation Method and system for hot-plugging a processor into a data processing system
US6578099B1 (en) * 2000-01-04 2003-06-10 Dell Usa, L.P. Method and computer system for safely hot-plugging adapter cards
JP4553279B2 (ja) * 2000-03-09 2010-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション データ転送システム、データ転送端末、コントローラ、およびインターフェイス方法
US6748496B1 (en) * 2000-04-18 2004-06-08 Ati International Srl Method and apparatus for providing cacheable data to a peripheral device
US6591324B1 (en) * 2000-07-12 2003-07-08 Nexcom International Co. Ltd. Hot swap processor card and bus

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030911B (zh) * 2006-03-03 2012-12-05 日本电气株式会社 信息处理装置
CN100459547C (zh) * 2006-08-09 2009-02-04 华为技术有限公司 串行板间通信系统及方法
CN100428151C (zh) * 2006-11-29 2008-10-22 南京联创科技股份有限公司 大规模并发联机交易中基于版本的c/c++组件热插拔方法
CN102339236A (zh) * 2010-07-21 2012-02-01 英业达股份有限公司 侦测可插拔储存装置的方法及电子装置
CN102339236B (zh) * 2010-07-21 2013-08-14 英业达股份有限公司 侦测可插拔储存装置的方法及电子装置
CN101930276A (zh) * 2010-08-30 2010-12-29 浪潮电子信息产业股份有限公司 一种通过热拔插技术实现主板供电的方法
CN101930276B (zh) * 2010-08-30 2012-05-23 浪潮电子信息产业股份有限公司 一种通过热拔插技术实现主板供电的装置
CN102411554A (zh) * 2011-08-09 2012-04-11 Tcl集团股份有限公司 一种usb存储设备热插拔方法、装置及终端设备
WO2012083724A1 (zh) * 2011-08-31 2012-06-28 华为技术有限公司 管理计算机系统内存的方法、内存管理单元和计算机系统
JP2014515145A (ja) * 2011-08-31 2014-06-26 華為技術有限公司 コンピュータシステムのメモリを管理する方法、メモリ管理ユニット及びコンピュータシステム
CN104932993A (zh) * 2014-03-21 2015-09-23 中兴通讯股份有限公司 一种稳定热插拔驱动方法、装置及一种支持热插拔设备
CN104077083A (zh) * 2014-07-01 2014-10-01 浪潮(北京)电子信息产业有限公司 新加存储方法、装置和系统
CN105260336A (zh) * 2015-11-17 2016-01-20 上海交通大学 可字节寻址的非易失性存储器热插拔方法及装置
CN105260336B (zh) * 2015-11-17 2018-12-18 上海交通大学 可字节寻址的非易失性存储器热插拔方法及装置
CN108334466A (zh) * 2017-01-18 2018-07-27 爱思开海力士有限公司 包括热插拔模块和存储器模块的系统
CN108121681A (zh) * 2017-12-04 2018-06-05 努比亚技术有限公司 一种热插拔实现方法、终端及存储介质

Also Published As

Publication number Publication date
US7673090B2 (en) 2010-03-02
EP1472608B1 (en) 2013-01-02
CN101859290B (zh) 2012-04-25
CN101859290A (zh) 2010-10-13
AU2002352944A8 (en) 2003-07-09
US20030167367A1 (en) 2003-09-04
WO2003054713A3 (en) 2004-08-19
TWI279707B (en) 2007-04-21
KR100715740B1 (ko) 2007-05-09
WO2003054713A2 (en) 2003-07-03
EP1472608A2 (en) 2004-11-03
TW200301435A (en) 2003-07-01
KR20040069334A (ko) 2004-08-05
AU2002352944A1 (en) 2003-07-09

Similar Documents

Publication Publication Date Title
CN1639702A (zh) 热插拔接口控制方法和装置
CN1114860C (zh) 处理多个电平触发和边沿触发中断的方法和装置
CN1111799C (zh) 用于多处理器系统的改进的信号发送协议方法和信号发送协议电路
US7257658B2 (en) Message based interrupt table
US8726276B2 (en) Resetting a virtual function that is hosted by an input/output adapter
CN101159765B (zh) 网络接口方法、装置和系统
US8032681B2 (en) Processor selection for an interrupt based on willingness to accept the interrupt and on priority
CN1157440A (zh) 在一个多处理器系统中进行相关性报告方法和装置
CN1430747A (zh) 存储单元的程控屏蔽
CN1037982A (zh) 在有仲裁的80386/82385微机系统运行中80386对系统总线的抢用
CN101078985A (zh) 用于识别在计算机系统上运行的操作系统的方法和设备
US7934029B2 (en) Data transfer between devices within an integrated circuit
CN1284183A (zh) 执行中断目的地重新指向的机制
CN1831777A (zh) 用于管理多个热插拔操作的系统和方法
CN103150279A (zh) 一种主机与基板管理控制器共享设备的方法
CN1582438A (zh) 具有嵌入式微控制器的微电脑桥式结构
CN101127010A (zh) 系统控制器、同地址请求队列预防方法及其信息处理设备
CN1673924A (zh) 用于防止在逻辑分区数据处理系统中加载和执行流氓操作系统的方法和设备
CN101334735B (zh) 多处理器计算系统中单个处理器的代码更新的方法和系统
CN102035658A (zh) 一种高速1553b光纤总线ip核
US20130151735A1 (en) I/o virtualization and switching system
CN1604060A (zh) 用于处理中断的方法和装置
CN1742260A (zh) 设备资源分配
CN1031287A (zh) 数字数据处理系统用的总线适配器装置
KR100316190B1 (ko) 로컬 메모리에서 패킷화된 동작 정보의 기억을 통한 입출력 성능을 증가시키기 위한 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20050713