CN1834945A - 分区分配方法和计算机系统 - Google Patents

分区分配方法和计算机系统 Download PDF

Info

Publication number
CN1834945A
CN1834945A CNA2005101238893A CN200510123889A CN1834945A CN 1834945 A CN1834945 A CN 1834945A CN A2005101238893 A CNA2005101238893 A CN A2005101238893A CN 200510123889 A CN200510123889 A CN 200510123889A CN 1834945 A CN1834945 A CN 1834945A
Authority
CN
China
Prior art keywords
plate
port
controller
subregion
address
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
CNA2005101238893A
Other languages
English (en)
Other versions
CN100416527C (zh
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN1834945A publication Critical patent/CN1834945A/zh
Application granted granted Critical
Publication of CN100416527C publication Critical patent/CN100416527C/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

在多个处理器板和多个输入输出(I/O)板经由地址和数据纵横交换器连接的计算机系统中,一种分区分配方法在相应的一个I/O板内的寄存器部件中,通过软件设定表示每个I/O板内的多个I/O端口所属的分区的信息,以处理器板为单位并以I/O板内的I/O控制器为单位分配分区。

Description

分区分配方法和计算机系统
相关申请的交叉参考
本申请要求2005年3月18日提交于日本专利局的日本申请No.2005-080667的权益,在此通过参考的方式援引其内容。
技术领域
本发明一般地涉及一种分区分配方法和计算机系统,更具体地涉及一种用于对计算机系统的输入输出(I/O)控制器和输入输出(I/O)端口分配多个分区的分区分配方法,以及一种采用该分区分配方法的计算机系统。
背景技术
图1是示出普通计算机系统的重要部分的框图。如图1的上部所示,计算机系统1包括:多个处理器板(处理器系统)2-0至2-M、地址和数据纵横交换器(crossbar)3、以及多个I/O板(LSI)4-0至4-N,其中M和N是大于等于2的任意整数。每个处理器板2-0至2-M包括多个CPU、存储器等。例如,处理器板2-0至2-P和I/O板4-0形成分区P0,并且处理器板2-P+1至2-M和I/O板4-1至4-N形成分区P1。地址和数据纵横交换器3可以由分别的地址纵横交换器和数据纵横交换器形成。
图1的下部更详细地示出包括地址和数据纵横交换器3以及I/O板4-0至4-N的部分10。每个I/O板4-0至4-N均包括:多个I/O控制器,例如I/O控制器41A和41B;I/O端口部件42;以及寄存器部件43。寄存器部件43包括:装置号寄存器,其存储在该寄存器部件43所属的I/O板内的I/O控制器41A和41B的装置号;以及地址范围寄存器,其存储在该寄存器部件43所属的I/O板内的I/O端口部件42的地址范围。例如,在I/O板4-0内的I/O控制器41A和41B的装置号分别为#0和#1,在I/O板4-1内的I/O控制器41A和41B的装置号分别为#2和#3,并且在I/O板4-N内的I/O控制器41A和41B的装置号分别为#2N和#2N+1。
图2是示出I/O板的I/O端口部件的示意图。由于每个I/O板4-0至4-N的结构相同,因此图2示出I/O板4-0的结构作为示例。例如,I/O板4-0的I/O端口部件42具有8个I/O端口42-0至42-7。通常,I/O端口42-0至42-7属于I/O控制器41A还是属于I/O控制器41B是固定的(例如,是硬连线的)。在图2所示的示例中,I/O端口42-0至42-3属于I/O控制器41A,而I/O端口42-4至42-7属于I/O控制器41B。每个I/O端口42-0至42-7均可连接至各种资源,例如(非限制性)诸如磁盘驱动器的I/O装置。因为可以以处理器板2-0为单位并以I/O板4-0内的I/O控制器41为单位来确定分区,所以例如能够将I/O控制器41A包含在分区P3中,并将I/O控制器41B包含在分区P4中。但由于预先固定地确定了I/O端口42-0至42-7所属的I/O控制器41A和41B,所以在此特殊情况下,I/O端口42-0至42-3固定地包含在分区P3中,并且I/O端口42-4至42-7固定地包含在分区P4中。
图3是用于说明从处理器板向I/O装置访问的示意图。在图3中,由三角形符号表示的电路代表比较器,该比较器当其2个输入匹配时输出“1”,当其2个输入不匹配时输出“0”。由“AND”表示的电路代表与门。此外,I/O板4-0涉及步骤S1至S4的部分由点划线围绕。
例如,在图3中,在从处理器板2-0向I/O装置访问的情况下,从处理器板2-0向I/O板4-0发送请求包(步骤S1)。请求包由以下部分构成:分区标识符(ID)(PID),其包括I/O控制器41的装置号;地址(Address),例如请求目标的物理地址、地址空间(或地址范围)和I/O地址;以及包括命令和数据的请求内容(Request)。在I/O板4-0中,比较请求包的PID与I/O板4-0内的I/O控制器41A和41B的装置号#0和#1,其存储在I/O板4-0内的寄存器部件43的装置号寄存器431中(步骤S2)。同时,比较请求包的地址与寄存器部件43的地址范围寄存器432中存储的每个I/O端口42-0至42-7的地址范围(步骤S3)。请求包仅到达属于由于步骤S2中进行的比较而具有匹配的装置号I/O控制器41A或41B的并且由于步骤S3中进行的比较而还具有匹配的地址的I/O端口42(步骤S4),并经此I/O端口42对期望的I/O装置进行访问。
图4是用于说明从I/O装置向处理器板2-0访问的示意图。例如,在从I/O板4-0向处理器板2-0访问的情况下,I/O端口42基于从I/O装置接收的并包含地址(Address)和请求内容(Request)的请求,经地址和数据纵横交换器3向处理器板2-0发送具有PID的请求包,该PID写有此I/O端口42所属的I/O控制器41A或41B的装置号。例如,如果I/O板4-0的I/O端口42-0至42-3之一接收来自I/O装置的请求,则具有写有I/O板4-0的I/O控制器41A的装置号#0的PID的请求包被发送至处理器板2-0。此外,如果I/O板4-0的I/O端口42-4至42-7之一接收来自I/O装置的请求,则具有写有I/O板4-0的I/O控制器41B的装置号#1的PID的请求包被发送至处理器板2-0。
日本特许公开No.09-231187描述了一种对纵横交换器进行分区的方法。此外,日本特许公开No.2001-236305描述了一种能够依据经由外部总线交换的数据而改变与外部总线的相应连接关系的总线连接控制器。
在传统的计算机系统中,对于每个I/O板4-0至4-N,预先固定地确定I/O端口42-0至42-7所属的I/O控制器41A和41B。为此,虽然可以以I/O控制器41A和41B为单位确定分区,但即使可用,也不能将对于I/O控制器41A分配的每个I/O端口42-0至42-3自由地分配至I/O控制器41B所属的另一分区,因为每个I/O板4-0至4-N的I/O端口42-0至42-7相对于I/O控制器41A和41B是固定分配的。因此,例如存在这样的问题:分区分配的自由度很小,和/或难以提高资源利用率。
发明内容
因此,作为非限制性的示例,本发明提供一种能够提高分区分配的自由度和/或资源利用率的分区分配方法和计算机系统。
本发明的其它方案和优点一部分将在以下说明中阐述,并且一部分通过以下说明将更加明显,或者可以通过实施本发明而了解。
本发明提供一种分区分配方法,用于多个处理器板和多个输入输出(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板内的分区分配的标识符(ID)设定为表示每个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控制器的分配信息,比较该请求包的分区ID与该装置号寄存器中存储的所述I/O控制器的装置号,同时,比较该请求包的地址与该地址范围寄存器中存储的每个所述I/O端口的地址范围,以使该请求包仅到达属于由于所进行的比较而具有匹配的装置号和匹配的地址的I/O控制器的I/O端口,从而经此I/O端口对期望的I/O装置进行访问。
根据本发明的一个方案,在经由一个I/O端口接收到指示从与所述相应的一个I/O板连接的I/O装置向期望的处理器板访问的请求时,所述相应的一个I/O板经由地址和数据纵横交换器向期望的处理器板发送具有分区ID的请求包,该分区标识符写有所述一个I/O端口所属的I/O控制器的装置号。
根据本发明的一个方案,在接收到所述请求时,所述相应的一个I/O板基于所述分配信息寄存器中设定的I/O端口至I/O控制器的分配信息,生成具有分区ID的请求包,该分区ID写有所述一个I/O端口所属的I/O控制器的装置号。
附图说明
通过以下结合附图对于实施例的描述,本发明的这些和/或其它方案和优点将变得明显和易于理解,在附图中:
图1是示出普通计算机系统的重要部分的框图。
图2是示出I/O板的I/O端口部件的示意图。
图3是用于说明从处理器板向I/O装置访问的示意图。
图4是用于说明从I/O装置向处理器板访问的示意图。
图5是示出根据本发明实施例的计算机系统实施例的I/O板的I/O端口部件的示意图。
图6是用于说明根据本发明实施例从处理器板向I/O装置访问的示意图。
图7是用于说明根据本发明实施例从I/O装置向处理器板访问的示意图。
图8是示出根据本发明实施例将任一PCI总线配置空间中的PCI功能号F#0至F#7分配至I/O控制器的I/O端口的示意图。
图9是示出根据本发明实施例将属于每个I/O板内的2个I/O控制器的I/O端口分配至PCI功能的示意图。
图10是示出根据本发明实施例在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控制器为单位分配分区。根据本发明的方案,分区分配是实时和/或动态的。
通过参考图5和随后的附图,给出根据本发明的分区分配方法和计算机系统的说明。
体现本发明的计算机系统可具有与图1所示示例的基本结构相同的基本结构,故省略其说明及描述。在计算机系统1中的本发明的实施例的特征在于I/O板4-0的结构。图5是示出根据本发明实施例的I/O板的I/O端口部件的示意图。在图5中,用相同的标号表示与图1和图2中相应部件实质相同的部件。如图5所示的体现本发明的计算机系统1采用根据本发明实施例的分区分配方法。
每个I/O板4-0至4-N的结构相同,并且图5示出I/O板4-0的结构作为示例。I/O板4-0的I/O端口部件42例如具有8个I/O端口42-0至42-7。通常,I/O端口42-0至42-7所属的I/O控制器41A和41B被固定地确定。但根据本发明,能够由软件任意设定表示I/O控制器如每个I/O端口42-0至42-7所属的I/O控制器41A或41B的I/O端口的分配信息(I/O端口至I/O控制器的分配信息或I/O端口分区分配信息),也就是说,例如由处理器板2-0内的CPU任意设定。在图5所示的情况下,设定分配信息以使I/O端口42-0、42-1、42-5和42-7属于I/O控制器41A,而I/O端口42-2、42-3、42-4和42-6属于I/O控制器41B。每个I/O端口42-0至42-7可连接至各种I/O装置,例如磁盘驱动器。因为可以处理器板2-0为单位并以I/O板2-0内的I/O控制器41A或41B为单位确定分区,所以例如可以在分区P3中包含I/O控制器41A,并在分区P4中包含I/O控制器41B。
根据本发明的方案,如果从处理器板2-0不能直接改变I/O端口42的分配信息,那么可提供管理配置信息例如分配信息、分区ID(PID)和配置地址的管理处理器板以设定I/O端口42的分配信息。换句话说,能够提供对处理器板2-0和I/O板4-0内的I/O控制器41是否形成一个分区进行设定的专用处理器板,并且能够管理上述配置信息并执行设定分配信息的软件。此专用处理器板可间接与其它处理器板2-0通信。
在于此描述的计算机系统实施例示例中,如以上结合图1所述,每个I/O板4-0至4-N包含I/O控制器41A和41B、I/O端口部件42和寄存器部件43。寄存器部件43包括:装置号寄存器431,其存储在此寄存器部件43所属的I/O板4-0内的I/O控制器例如I/O控制器41A和41B的装置号;地址范围寄存器432,其存储在此寄存器部件43所属的I/O板4-0内的I/O端口部件42的地址范围;以及I/O端口分配信息寄存器433(见图6)。通过软件在I/O端口分配信息寄存器433中设定表示每个I/O端口42-0至42-7是否属于I/O控制器例如I/O控制器41A或41B的I/O端口分配信息(即,以I/O板内的I/O控制器为单位,I/O端口属于哪个分区)。
图6是用于说明根据本发明实施例从处理器板向I/O装置访问的示意图。在图6中,由三角形符号表示的电路代表比较器,该比较器当其两个输入匹配时输出“1”,当其两个输入不匹配时输出“0”。由“AND”表示的电路代表与门,由“OR”表示的电路代表或门。此外,I/O板4-0涉及步骤S1至S4的部分由点划线围绕。
在图6中,例如,在从处理器板2-0向I/O装置访问的情况下,请求包被发送至I/O板4-0(步骤S11)。请求包由以下部分构成:分区ID(PID);地址(Address),例如请求目标的物理地址、地址空间(或地址范围)和I/O地址;以及包含命令和数据的请求内容(Request)。在I/O板4-0中,基于I/O板4-0内的寄存器部件43的I/O端口分配信息寄存器433中设定的I/O端口分配信息,对于属于I/O控制器41A的I/O端口,比较请求包的PID与I/O板4-0内的寄存器部件43的装置号寄存器431中存储的I/O板4-0内的I/O控制器41A的装置号#0,并且对于属于I/O控制器41B的I/O端口,比较请求包的PID与I/O板4-0内的寄存器部件43的装置号寄存器431中存储的I/O板4-0内的I/O控制器41B的装置号#1(步骤S12)。根据本发明的方案,例如,I/O端口分配信息寄存器433能够执行为寄存器部件43的一部分,和/或一个新的单独寄存器。此外,虽然在此描述的实施例涉及其中能够设定I/O端口分配信息的寄存器,但本发明不限于这种配置,并且能够在I/O板内的任意可软件设定的或计算机可读的介质中设定I/O端口信息。根据本发明的方案,可通过待设定/配置的处理器板2-0经由在处理器板2-0执行的软件来设定I/O端口分配信息寄存器433。根据本发明的方案,在本发明中典型地为,在引导计算机系统1时(例如,先于引导计算机系统1)和/或根据计算机系统1中设置/由计算机系统1使用的动态重新配置方法构成写有或包括I/O端口所属的I/O控制器的装置号的PID。I/O端口分配信息寄存器433中设定的I/O端口分配信息用以基于PID识别分配至I/O板4-0内的I/O控制器41的I/O端口42。图6所示的电路45-0至45-7被设置为与I/O端口42-0至42-7相对应,以执行上述步骤S12。电路45-0至45-7可具有相同的结构;例如,每个电路45可包括反相器421、与门422和423及或门424,以识别I/O端口所属的I/O控制器。此外,与步骤S12同时,比较请求包的地址与寄存器部件43的地址范围寄存器432中存储的每个I/O端口42-0至42-7的地址范围(步骤S13)。在步骤S14,请求包仅到达属于由于步骤S12中进行的比较而具有匹配的装置号的I/O控制器41的并且由于步骤S13中进行的比较而还具有匹配的地址的I/O端口42(步骤S14),并由经所识别的I/O端口对期望的I/O装置进行访问。根据本发明的方案,作为示例,第一分区分配单元48包括I/O端口分配信息寄存器433和电路45。该分区分配单元48可以软件、可编程计算硬件、计算硬件/部件、或其任意组合来实现。
图7是用于说明根据本发明实施例从I/O装置向处理器板访问的示意图。例如,在从I/O板4-0向处理器板2-0访问的情况下,基于从I/O装置接收的并包括地址(Address)和请求内容(Request)的请求,I/O端口42经由地址和数据纵横交换器3将具有写有此I/O端口42所属的I/O控制器41的装置号的PID的请求包发送至处理器板2-0。例如,如果I/O板4-0的I/O端口42-0、42-1、42-5和42-7之一接收来自I/O装置的请求,则基于I/O板4-0内的寄存器部件43的I/O端口分配信息寄存器433中设定的I/O端口分配信息,发送具有PID的请求包,该PID写有I/O控制器41A的装置号#0(I/O板4-0内的寄存器部件43的装置号寄存器431中存储的装置号#0)以及关于I/O端口42-0、42-1、42-5和42-7所属的I/O控制器41A的信息。此外,如果I/O板4-0的I/O端口42-2、42-3、42-4和42-6之一接收来自I/O装置的请求,则基于I/O板4-0内的寄存器部件43的I/O端口分配信息寄存器433中设定的I/O端口分配信息,发送具有PID的请求包,该PID写有I/O板4-0的I/O控制器41B的装置号#1(I/O板4-0内的寄存器部件43的装置号寄存器431中存储的装置号#1)以及关于I/O端口42-2、42-3、42-4和42-6所属的I/O控制器41B的信息。图7所示的电路46-0至46-7被设置为与I/O端口42-0至42-7相对应,以发送上述的请求包。电路46-0至46-7可具有相同的结构;例如,每个电路46可包括反相器426、与门427和428及或门429,以识别I/O端口所属的I/O控制器。根据本发明的方案,作为示例,第二分区分配单元49包括I/O端口分配信息寄存器433和电路46。该分区分配单元49可以软件、可编程计算硬件、计算硬件/部件、或其任意组合来实现。此外,第一和第二分区分配单元48和49可以软件、可编程计算硬件、计算硬件/部件、或其任意组合而实现为一个或多个组件。
图8是示出根据本发明实施例将任一PCI总线配置空间中的PCI功能号F#0至F#7分配至I/O控制器的I/O端口的示意图。具体而言,图8至图10针对当包括多个I/O控制器41的I/O板4-0提供或实现为连接到各种PCI装置的外设部件互连(PCI)接口时本发明的方案。本发明允许将PCI功能分配至I/O板中的I/O控制器的任一I/O端口。如图8所示,对于每个PCI总线号0至255,分配每个PCI总线装置号D#0至D#31的PCI功能号F#0至F#7。例如,对于PCI总线号0的装置号D#0,I/O板#0(4-0)的I/O控制器#A(41A)被分配给功能号F#0至F#7。此外,对于PCI总线号0的装置号D#1,I/O板#0(4-0)的I/O控制器#B(41B)被分配给功能号F#0至F#7。另外,对于PCI总线号0的装置号D#2,I/O板#1(4-1)的I/O控制器#A(41A)被分配给功能号F#0至F#7。对于每个PCI总线配置空间,即处理器板2-0和I/O板4-0内的I/O控制器41的每个分区,进行功能号F#0至F#7的这种分配。
作为示例,图9是示出根据本发明实施例将属于每个I/O板#0至#N内的2个I/O控制器#A和#B(41A和41B)的I/O端口#0至#7(42-0至42-7)分配到PCI功能号F#0至F#7的示意图。如图9所示,可对功能号F#0至F#7进行分配以使I/O端口42-0至42-7属于I/O控制器41A,并可对功能号F#0至F#7进行分配以使I/O端口42-0至42-7属于I/O控制器41B。
作为另一示例,图10是示出根据本发明实施例在I/O板#0(4-0)的I/O端口#0、#1、#5和#7(42-0、42-1、42-5和42-7)属于I/O控制器#A(41A)并且同一I/O板#0(4-0)的I/O端口#2、#3、#4和#6(42-2、42-3、42-4和42-6)属于I/O控制器#B(41B)的情形下,将PCI功能号F#0至F#7分配至I/O控制器41A、41B的不同I/O端口42的示意图。在图10中,为了方便假设I/O板4-0的I/O控制器41A和41B属于同一分区。在I/O板4-0的I/O控制器41A和41B属于不同分区的情况下,在图10中由虚线围绕的两个信息组将被分配到相应的PCI配置空间中的功能号F#0至F#7,即处理器板2-0和I/O板4-0内的I/O控制器41A或41B的相应分区。因此,本发明的实施例能够支持各PCI功能被分配至I/O板4中的I/O控制器41的任何I/O端口42的多功能PCI装置。如图8至图10的示例所示,在对于PCI装置有8个支持的PCI功能和8个支持的I/O端口42-0至42-7的情况下,可以(例如实时和/或动态地)生成PCI功能至I/O端口的分配数据结构,其中PCI总线号、PCI总线装置号和PCI功能号这三个信息能够识别PCI功能号所属的I/O板4-0内的I/O控制器41A、41B的8个I/O端口42-0至42-7中的任何一个。
因此,在每个I/O端口42内的寄存器部件43的I/O端口分配信息寄存器433中,足以设定每个I/O端口42所在的I/O板(LSI)4-0内的分区分配单元的标识符(ID),也就是说,足以设定表示每个I/O端口42所属的I/O控制器41A或41B的I/O端口分配信息。换句话说,不必在对于每个I/O端口42的每个I/O板4-0内的寄存器部件43的I/O端口分配信息寄存器433中的PCI总线配置空间中设定I/O端口的地址(PCI总线号、装置号和功能号)。
因而,根据本发明,在每个I/O板4-0至4-N中,能够任意地设定表示I/O端口42(例如42-0至42-7)所属的I/O控制器41(例如41A或41B)的I/O端口分配信息。由于能够以处理器板2-0和I/O板4-0内的I/O控制器41为单位确定分区,所以能够对于I/O控制器41(例如41A或41B)灵活地分配每个I/O板4-0至4-N的I/O端口42-0至42-7,以满足需求。因此,在非限制性的示例中,提高了分区分配的自由度,和/或还提高了资源的利用率。而且,可以由软件而不是由硬件的开关来设定I/O端口分配信息。例如,本发明适于应用至将I/O控制器和I/O端口分配至多个分区的计算机系统。
虽然已示出及描述了本发明的一些优选实施例,但本领域技术人员应当理解,不脱离本发明的原理和精神可对这些实施例进行各种变化,本发明的范围由权利要求书及其等效范围所限定。

Claims (21)

1、一种分区分配方法,用于多个处理器板和多个输入输出(I/O)板经由地址和数据纵横交换器连接的计算机系统中,从而以处理器板为单位并以I/O板内的I/O控制器为单位分配分区,该方法包括:
在相应的一个I/O板内的I/O端口分配寄存器部件中,由软件设定表示每个I/O板内的多个I/O端口所属的分区的信息。
2、如权利要求1所述的分区分配方法,其中由软件进行的I/O端口分区信息、的设定包括设定每个I/O端口所在的每个I/O板内的分区分配的标识符(ID)。
3、如权利要求1所述的分区分配方法,其中由软件进行的I/O端口分区信息的设定包括设定表示每个I/O端口所在的每个I/O板内的I/O控制器的分配信息。
4、如权利要求1至3中任一所述的分区分配方法,其中还包括由软件在任一处理器板内的多个处理器中的任一处理器中执行所述设定。
5、一种计算机系统,包括:
多个处理器板,每个处理器板均包括多个处理器;
多个输入输出(I/O)板,每个输入输出板均包括多个I/O控制器和多个I/O端口;以及
地址和数据纵横交换器,其连接所述多个处理器板和所述多个I/O板;
其中,每个所述I/O板均包含寄存器部件,该寄存器部件可软件设定有表示所述每个I/O板内的多个I/O端口所属的分区的信息。
6、如权利要求5所述的计算机系统,其中在该寄存器部件中将表示每个I/O端口所分配至的I/O板内的I/O控制器的分配信息设定为表示所述每个I/O板内的多个I/O端口所属的分区的所述信息。
7、如权利要求5或6所述的计算机系统,其中任一处理器板内的多个处理器中的任一处理器执行该软件。
8、如权利要求6所述的计算机系统,其中所述寄存器部件包括:装置号寄存器,用以存储所述相应的一个I/O板内的每个I/O控制器的装置号;地址范围寄存器,用以存储所述相应的一个I/O板内的每个I/O端口的地址范围;以及分配信息寄存器,其中设定表示所述相应的一个I/O板内的I/O端口的所分配的I/O控制器的所述信息。
9、如权利要求8所述的计算机系统,
其中在引导该计算机系统时和/或根据该计算机系统的动态重新配置方法,该计算机系统配置写有I/O端口所属的I/O控制器的装置号的分区ID;以及
其中在接收到指示从任一所述处理器板向与所述相应的一个I/O板连接的期望的I/O装置访问的请求包时,所述相应的一个I/O板基于在该分配信息寄存器中设定的分配信息,比较该请求包的分区ID与在该装置号寄存器中存储的所述I/O控制器的装置号,同时比较该请求包的地址与在该地址范围寄存器中存储的每个所述I/O端口的地址范围,以使该请求包仅到达属于由于所进行的比较而具有匹配的装置号和匹配的地址的I/O控制器的I/O端口。
10、如权利要求8所述的计算机系统,其中在经由一个I/O端口接收到指示从与所述相应的一个I/O板连接的I/O装置向期望的处理器板访问的请求时,所述相应的一个I/O板经由该地址和数据纵横交换器向期望的处理器板发送具有分区标识符(ID)的请求包,该分区标识符写有所述一个I/O端口所属的I/O控制器的装置号。
11、如权利要求4所述的分区分配方法,其中任一所述处理器板是配置管理处理器板。
12、如权利要求7所述的计算机系统,其中执行该软件设定的任一所述处理器板是配置管理处理器板。
13、如权利要求1所述的分区分配方法,其中还包括:
存储所述相应的一个I/O板内的每个所述I/O控制器的装置号,并且存储所述相应的一个I/O板内的每个所述I/O端口的地址范围;
配置数据包分区标识符(ID),其包括I/O端口所属的I/O控制器的装置号,以能够在接收到数据包时,基于由软件设定的I/O端口分配信息,比较该数据包的分区ID与所存储的所述I/O控制器的装置号,并且比较该数据包的地址与所存储的每个所述I/O端口的地址范围,其中该数据包仅到达根据分区ID比较和地址比较而具有匹配的装置号和匹配的地址的分区。
14、如权利要求13所述的分区分配方法,其中在引导该计算机系统时和/或根据该计算机系统的动态重新配置方法进行该数据包分区ID的配置。
15、一种设备,包括:
多个输入输出(I/O)控制器和与所述I/O控制器通信的多个I/O端口;以及
分区分配器,其可软件设定有I/O端口分区分配信息,该I/O端口分区分配信息以一个I/O控制器和一个I/O端口为单位表示I/O端口所分配到的分区。
16、如权利要求15所述的设备,其中给每个I/O控制器分配装置号,并且该分区分配器包括:
I/O端口分配寄存器,其存储该I/O端口分区分配信息;
第一电路,其在接收到数据包时,基于该I/O端口分配信息寄存器中设定的I/O端口分区分配信息,比较该数据包的分区ID与装置号寄存器中存储的所述I/O控制器的装置号;以及
第二电路,其比较该数据包的地址与地址范围寄存器中存储的每个所述I/O端口的地址范围;
其中该数据包仅到达根据分区ID比较和地址比较而具有匹配的装置号和匹配的地址的分区。
17、如权利要求15所述的设备,其中所述I/O控制器和所述I/O端口按照外设部件互连(PCI)的方式与PCI装置可通信地连接。
18、一种设备,包括:
多个处理器板;
多个输入输出(I/O)板,其与所述多个处理器板通信,每个I/O板包括:
多个输入输出(I/O)控制器和与所述I/O控制器通信的多个I/O端口;以及
分区分配器,其可软件设定有I/O端口分区分配信息,该I/O端口分区分配信息以处理器板及I/O板内的一个I/O控制器和一个I/O端口为单位表示I/O端口所分配到的分区。
19、如权利要求18所述的设备,
其中该I/O板内的所述I/O控制器和所述I/O端口按照外设部件互连(PCI)的方式与具有多个PCI功能的多功能PCI装置可通信地连接;以及
其中处理器板生成PCI功能至I/O端口的分配数据结构,其识别PCI装置的PCI功能所属的I/O板内的I/O控制器的任一I/O端口。
20、一种分区分配方法,用于多个处理器板和多个输入输出(I/O)板经由地址和数据纵横交换器连接的计算机系统中,从而以处理器板为单位并以I/O板内的I/O控制器为单位分配分区,该方法包括:
能够在相应的一个I/O板内的I/O端口分配寄存器中,由软件设定表示每个所述I/O板内的多个I/O端口所属的分区的信息;
能够基于由软件设定的I/O端口分配信息,在接收到数据包时,比较该数据包的分区ID与所存储的所述I/O控制器的装置号,并且能够比较该数据包的地址与所存储的每个所述I/O端口的地址范围,其中该数据包仅到达根据分区ID比较和地址比较而具有匹配的装置号和匹配的地址的分区。
21、一种设备,包括:
多个处理装置;
多个输入输出(I/O)装置,其与所述多个处理装置通信,每个I/O装置包括:
多个输入输出(I/O)控制装置和与所述I/O控制装置通信的多个I/O端口装置;以及
分区分配装置,用于设定I/O端口分区分配信息,该I/O端口分区分配信息以处理装置及I/O板内的一个I/O控制器和一个I/O端口为单位表示I/O端口所分配到的分区。
CNB2005101238893A 2005-03-18 2005-11-24 分区分配方法和计算机系统 Expired - Fee Related CN100416527C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005080667A JP4711709B2 (ja) 2005-03-18 2005-03-18 パーティション割り振り方法及びコンピュータシステム
JP2005080667 2005-03-18

Publications (2)

Publication Number Publication Date
CN1834945A true CN1834945A (zh) 2006-09-20
CN100416527C CN100416527C (zh) 2008-09-03

Family

ID=36371001

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101238893A Expired - Fee Related CN100416527C (zh) 2005-03-18 2005-11-24 分区分配方法和计算机系统

Country Status (6)

Country Link
US (1) US20060212642A1 (zh)
EP (1) EP1703413B1 (zh)
JP (1) JP4711709B2 (zh)
KR (1) KR100769867B1 (zh)
CN (1) CN100416527C (zh)
DE (1) DE602005027046D1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102696024A (zh) * 2009-10-29 2012-09-26 提姆斯通公司 能够支持cpu虚拟化的计算机服务器
CN107949837A (zh) * 2015-08-13 2018-04-20 超威半导体公司 用于i/o数据包压缩的寄存器文件

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5058615B2 (ja) * 2007-01-25 2012-10-24 エヌイーシーコンピュータテクノ株式会社 ノード制御装置および情報処理装置
US8359421B2 (en) * 2009-08-06 2013-01-22 Qualcomm Incorporated Partitioning a crossbar interconnect in a multi-channel memory system
US9229884B2 (en) * 2012-04-30 2016-01-05 Freescale Semiconductor, Inc. Virtualized instruction extensions for system partitioning
US9152587B2 (en) 2012-05-31 2015-10-06 Freescale Semiconductor, Inc. Virtualized interrupt delay mechanism
US9436626B2 (en) 2012-08-09 2016-09-06 Freescale Semiconductor, Inc. Processor interrupt interface with interrupt partitioning and virtualization enhancements
US9442870B2 (en) 2012-08-09 2016-09-13 Freescale Semiconductor, Inc. Interrupt priority management using partition-based priority blocking processor registers

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63184149A (ja) * 1987-01-27 1988-07-29 Fujitsu Ltd マルチコントロ−ラシステム
JPH01116963A (ja) * 1987-10-29 1989-05-09 Nec Corp 記憶サブシステム
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
JP3011814B2 (ja) * 1992-03-25 2000-02-21 富士電機株式会社 入出力割付可変プログラマブルコントローラ
KR950003991A (ko) * 1993-07-12 1995-02-17 김광호 에스씨에스아이 바이오스 루틴 자동 설정장치 및 설정방법
CA2154509A1 (en) * 1994-10-03 1996-04-04 Paul Peixoto Carreiro Method and apparatus for automatic frame transmission on a channel to controller interface in a data processing system
JP2720838B2 (ja) * 1995-06-19 1998-03-04 日本電気株式会社 データ転送装置
KR100251922B1 (ko) * 1995-12-20 2000-04-15 윤종용 에이. 티 인터페이스 케이블을 통한 하드디스크 드라이브의병렬접속방법
US6148356A (en) * 1995-12-27 2000-11-14 Intel Corporation Scalable computer system
JPH09231187A (ja) 1996-02-22 1997-09-05 Hitachi Ltd 並列計算機のデータ転送方法
US5931938A (en) * 1996-12-12 1999-08-03 Sun Microsystems, Inc. Multiprocessor computer having configurable hardware system domains
JPH11345175A (ja) * 1998-06-02 1999-12-14 Nec Kofu Ltd 代替パス制御システム及び方法
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6453370B1 (en) * 1998-11-16 2002-09-17 Infineion Technologies Ag Using of bank tag registers to avoid a background operation collision in memory systems
JP3358655B2 (ja) * 1998-12-22 2002-12-24 日本電気株式会社 ディスクアレイ装置におけるキャッシュメモリ管理方法
US6324613B1 (en) * 1999-01-05 2001-11-27 Agere Systems Guardian Corp. Port router
US6601165B2 (en) * 1999-03-26 2003-07-29 Hewlett-Packard Company Apparatus and method for implementing fault resilient booting in a multi-processor system by using a flush command to control resetting of the processors and isolating failed processors
US6330656B1 (en) * 1999-03-31 2001-12-11 International Business Machines Corporation PCI slot control apparatus with dynamic configuration for partitioned systems
JP2001236305A (ja) 2000-02-22 2001-08-31 Hitachi Ltd 半導体集積回路及びデータ処理装置
JP4214682B2 (ja) * 2001-01-24 2009-01-28 株式会社日立製作所 計算機およびその入出力手段
US6957435B2 (en) * 2001-04-19 2005-10-18 International Business Machines Corporation Method and apparatus for allocating processor resources in a logically partitioned computer system
US20030167348A1 (en) * 2001-07-02 2003-09-04 Globespanvirata, Inc. Communications system using rings architecture
JP4083404B2 (ja) 2001-09-21 2008-04-30 株式会社日立製作所 データ処理システム及びこれに用いる記憶制御装置
JP2003162377A (ja) * 2001-11-28 2003-06-06 Hitachi Ltd ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法
US6836813B1 (en) * 2001-11-30 2004-12-28 Advanced Micro Devices, Inc. Switching I/O node for connection in a multiprocessor computer system
JP2003316752A (ja) * 2002-04-25 2003-11-07 Nec Corp マルチプロセッサシステムおよびリソース割り当て方法
GB2410106B (en) * 2002-09-09 2006-09-13 Commvault Systems Inc Dynamic storage device pooling in a computer system
US7664909B2 (en) * 2003-04-18 2010-02-16 Nextio, Inc. Method and apparatus for a shared I/O serial ATA controller
US8578130B2 (en) * 2003-03-10 2013-11-05 International Business Machines Corporation Partitioning of node into more than one partition
US7519800B2 (en) * 2003-03-27 2009-04-14 Hewlett-Packard Development Company, L.P. Apparatus and method for enforcing homogeneity within partitions of heterogeneous computer systems
JP2005011110A (ja) 2003-06-19 2005-01-13 Hitachi Ltd 情報処理装置、情報処理装置の制御方法、プログラム、及び情報処理システム
US7277968B2 (en) * 2004-01-23 2007-10-02 International Business Machines Corporation Managing sets of input/output communications subadapters of an input/output subsystem
US7415034B2 (en) * 2005-04-04 2008-08-19 Sun Microsystems, Inc. Virtualized partitionable shared network interface

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102696024A (zh) * 2009-10-29 2012-09-26 提姆斯通公司 能够支持cpu虚拟化的计算机服务器
CN102696024B (zh) * 2009-10-29 2015-09-23 提姆斯通公司 能够支持cpu虚拟化的计算机服务器
CN107949837A (zh) * 2015-08-13 2018-04-20 超威半导体公司 用于i/o数据包压缩的寄存器文件
CN107949837B (zh) * 2015-08-13 2021-10-15 超威半导体公司 用于i/o数据包压缩的寄存器文件

Also Published As

Publication number Publication date
KR20060101197A (ko) 2006-09-22
JP2006260488A (ja) 2006-09-28
DE602005027046D1 (de) 2011-05-05
CN100416527C (zh) 2008-09-03
US20060212642A1 (en) 2006-09-21
JP4711709B2 (ja) 2011-06-29
KR100769867B1 (ko) 2007-10-25
EP1703413B1 (en) 2011-03-23
EP1703413A1 (en) 2006-09-20

Similar Documents

Publication Publication Date Title
CN1834945A (zh) 分区分配方法和计算机系统
EP3706394B1 (en) Writes to multiple memory destinations
EP2040176B1 (en) Dynamic Resource Allocation
US8464265B2 (en) Method and system for reallocating computational resources using resource reallocation enabling information
CN1253800C (zh) 多处理器无线网络中微处理器通信的方法和数据处理系统
US7440998B2 (en) Provisioning for a modular server
US20130182713A1 (en) State management using a large hash table
US20070192518A1 (en) Apparatus for performing I/O sharing & virtualization
CN1728118A (zh) 资源分配管理
US11928493B2 (en) Sharing of FPGA board by multiple virtual machines
CN103744719A (zh) 锁管理方法及系统、锁管理系统的配置方法及装置
CN1627728A (zh) 在计算机服务器中共享以太网适配器的方法和装置
CN109976907A (zh) 任务分配方法和系统、电子设备、计算机可读介质
CN112073456A (zh) 分布式锁的实现方法、相关设备及系统
CN110162395B (zh) 一种内存分配的方法及装置
JP4452023B2 (ja) 分割されたコンピュータ・システムの1つの区画から他の区画にデータを転送する装置と方法
US20210311767A1 (en) Storage system, storage device therefor, and operating method thereof
US7840772B2 (en) Physical memory control using memory classes
CN116401045A (zh) 一种对msix中断向量弹性池化管理的方法及装置
EP3811210B1 (en) Method and supporting node for supporting process scheduling in a cloud system
WO2018156062A1 (en) Method and defragmentation module for defragmenting resources
CN114138169A (zh) 报文处理方法、网络设备和存储介质
CN1367890A (zh) 底板
CN117785462A (zh) 数据处理方法、装置及存储介质
CN117170863A (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

Granted publication date: 20080903

Termination date: 20181124

CF01 Termination of patent right due to non-payment of annual fee