CN109902038B - 一种PCIe总线地址空间分配方法及装置 - Google Patents
一种PCIe总线地址空间分配方法及装置 Download PDFInfo
- Publication number
- CN109902038B CN109902038B CN201910130079.2A CN201910130079A CN109902038B CN 109902038 B CN109902038 B CN 109902038B CN 201910130079 A CN201910130079 A CN 201910130079A CN 109902038 B CN109902038 B CN 109902038B
- Authority
- CN
- China
- Prior art keywords
- pcie
- bus address
- address space
- bridge
- channel
- 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.)
- Active
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本申请提供一种PCIe总线地址空间分配方法及装置。一种PCIe总线地址空间分配方法,该方法包括:确定主控CPU所拥有的PCIe接口数量;针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,执行以下操作:查找与PCIe通道对应的预设PCIe总线地址空间配置信息;根据所查找的预设PCIe总线地址空间配置信息,为PCIe通道固定分配对应的PCIe总线地址空间;针对PCIe通道所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间;针对PCIe桥所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种PCIe总线地址空间分配方法及装置。
背景技术
在集中控制框式设备中,存在一个主控CPU,主控CPU通过PCIe总线来控制和协调整个集中控制框式设备的正常运行。主控CPU读取PCIe总线地址空间,根据PCIe器件的需求为其分配对应的PCIe总线地址空间,主控CPU和PCIe器件之间可以基于某一段PCIe总线地址空间进行交互。因此主控CPU如何为PCIe器件合理分配PCIe总线地址空间是集中控制框式设备正常运行的重要组成部分。
目前现有的PCIe总线地址空间分配方法是基于DFS(Depth First Search,深度优化搜索)算法扫描集中控制框式设备中PCIe器件分布拓扑图,基于PCIe器件分布拓扑图以及PCIe器件的需求进行PCIe总线地址空间分配。然而由于在集中控制框式设备中有部分PCIe器件分布位置相对固定(这部分PCIe器件在PCIe总线中起到了桥片的作用,用于连接其他槽位上的PCIe器件,故此这部分PCIe器件被称为PCIe桥),在集中控制框式设备运行过程中扫描这些PCIe桥,不但会浪费时间,而且其它PCIe器件一旦存在变动,则会导致为PCIe桥分配的PCIe总线地址空间也会存在变动。
发明内容
有鉴于此,本申请提供一种PCIe总线地址空间分配方法及装置。
具体地,本申请是通过如下技术方案实现的:
一种PCIe总线地址空间分配方法,其特征在于,应用于集中控制框式设备,所述集中控制框式设备中至少包括主控CPU、PCIe桥以及PCIe器件,所述PCIe桥与所述主控CPU、所述PCIe器件分别进行连接,所述方法包括:
确定主控CPU所拥有的PCIe接口数量;
针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,执行以下操作:
查找与PCIe通道对应的预设PCIe总线地址空间配置信息;
根据所查找的预设PCIe总线地址空间配置信息,为PCIe通道固定分配对应的PCIe总线地址空间;
针对PCIe通道所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间;
针对PCIe桥所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间。
一种PCIe总线地址空间分配装置,其特征在于,应用于集中控制框式设备,所述集中控制框式设备中包括主控CPU、PCIe桥以及PCIe器件,所述PCIe桥与所述主控CPU、所述PCIe器件分别进行连接,所述装置包括:
数量确定模块,用于确定主控CPU所拥有的PCIe接口数量;
信息查找模块,用于针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,查找与PCIe通道对应的预设PCIe总线地址空间配置信息;
第一空间分配模块,用于针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,根据所查找的预设PCIe总线地址空间配置信息,为PCIe通道固定分配对应的PCIe总线地址空间;
第二空间分配模块,用于针对PCIe通道所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间;
第三空间分配模块,用于针对PCIe桥所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间。
采用本申请提供的技术方案,通过为主控CPU所拥有的任一PCIe接口对应的PCIe通道固定分配对应的PCIe总线地址空间,从而为PCIe桥固定分配对应的PCIe总线地址空间,为PCIe器件固定分配对应的PCIe总线地址空间,如此无需再扫描这些PCIe桥,节省了时间,而且即使其它PCIe器件存在变动,为PCIe桥分配的PCIe总线地址空间也不会存在变动。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请一示例性实施例示出的一种PCIe器件分布拓扑图;
图2是本申请一示例性实施例示出的一种集中控制框式设备结构示意图;
图3是本申请一示例性实施例示出的一种PCIe总线地址空间分配方法的实施流程图;
图4是本申请一示例性实施例示出的一种PCIe总线地址空间分配装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先对本申请实施例提供的一种PCIe总线地址空间分配方法进行说明,该方法应用于集中控制框式设备,所述集中控制框式设备中至少包括主控CPU、PCIe桥以及PCIe器件,所述PCIe桥与所述主控CPU、所述PCIe器件分别进行连接,该方法主要包括:
确定主控CPU所拥有的PCIe接口数量;
针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,执行以下操作:
查找与PCIe通道对应的预设PCIe总线地址空间配置信息;
根据所查找的预设PCIe总线地址空间配置信息,为PCIe通道固定分配对应的PCIe总线地址空间;
针对PCIe通道所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间;
针对PCIe桥所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间。
在背景技术中提到,目前现有的PCIe总线地址空间分配方法是基于DFS算法扫描集中控制框式设备中PCIe器件分布拓扑图,基于PCIe器件分布拓扑图以及PCIe器件的需求进行PCIe总线地址空间分配,如图1所示,根据DFS算法为HOST主桥下游PCIe器件分配PCIe总线地址空间、BAR0地址以及PCIe总线编号,从图1中可以看出PCIe总线0的PCIe总线地址空间大小是根据其下游PCIe器件申请的PCIe总线地址空间总和计算得出,每一个PCIe器件的PCIe总线地址空间和BAR0地址是根据DFS算法扫描PCIe器件的先后顺序进行分配的,PCIe总线编号是根据DFS算法扫描的逐个PCIe桥分配的,其中在集中控制框式设备中部分PCIe器件分布位置相对固定,这部分PCIe器件在PCIe总线中起到了桥片的作用,用于连接其他槽位上的PCIe器件,故此这部分PCIe器件被称为PCIe桥,如图1所示。在集中控制框式设备运行过程中扫描这些分布位置的PCIe器件(即PCIe桥),不但会浪费时间,而且其他PCIe器件一旦存在变动,整个PCIe器件分布拓扑图会存在变动,会导致为PCIe桥分配的PCIe总线地址空间也会存在变动。
针对上述技术问题,本申请实施例提供一种技术方案,如图2所示的一示例性集中控制框式设备结构示意图,包括主控CPU(XLS416)、HOST主桥、PCIe桥(PEX8615)、PCIe器件,其中主控CPU(XLS416)下游挂载HOST主桥,主控CPU拥有4个PCIe接口,每个PCIe接口对应一个PCIe通道,分别为:Lane0、Lane1、Lane2、Lane3,Lane2下游挂载PCIe桥(PEX8615),PCIe桥(PEX8615)下游挂载多个PCIe器件,该PCIe桥(PEX8615)直接与多个PCIe器件进行连接,该PCIe桥(PEX8615)通过Lane2、HOST主桥间接与主控CPU进行连接。为了解决上述问题,通过为主控CPU所拥有的任一PCIe接口对应的PCIe通道固定分配对应的PCIe总线地址空间,从而为PCIe桥固定分配对应的PCIe总线地址空间,为PCIe器件固定分配对应的PCIe总线地址空间,如此无需再扫描这些PCIe桥,节省了时间,而且即使其它PCIe器件存在变动,为PCIe桥分配的PCIe总线地址空间也不会存在变动。为了对本申请进一步说明,提供下列实施例:
如图3所示,为本申请实施例PCIe总线地址空间分配方法的实施流程图,该方法可以包括以下步骤:
S301,确定主控CPU所拥有的PCIe接口数量;
集中控制矿石设备中包括主控CPU,确定主控CPU所拥有的PCIe接口数量,例如如图2所示的主控CPU(XLS416)拥有4个PCIe接口,每个PCIe接口对应一个PCIe通道,如图2所示的Lane0、Lane1、Lane2、Lane3,在本申请中,在PCIe总线地址空间分配第一阶段,针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,独立分配PCIe总线地址空间和PCIe总线编号范围,当确定每个PCIe通道的PCIe总线地址空间和PCIe总线编号范围之后,每个PCIe通道下游挂载的PCIe桥以及PCIe器件只能在此范围内进行分配,具体如下:
针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,执行以下操作:
S302,查找与PCIe通道对应的预设PCIe总线地址空间配置信息;
预先为每个PCIe通道设置对应的PCIe总线地址空间配置信息,该PCIe总线地址空间配置信息如下表1所示:
表1
如上述表1所示,对于Lane0、Lane1、Lane3分配固定的PCIe总线地址空间6M,对于Lane2下游挂载的PCIe桥分配固定的PCIe总线地址空间6M,Lane2下游挂载的每个PCIe器件分配固定的PCIe总线地址空间8M,每个PCIe通道都存在与自身对应的PCIe总线地址空间配置信息,针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,可以查找到与PCIe通道对应的预设PCIe总线地址空间配置信息。
S303,根据所查找的预设PCIe总线地址空间配置信息,为PCIe通道固定分配对应的PCIe总线地址空间;
针对S302中查找到的与PCIe通道对应的预设PCIe总线地址空间配置信息,可以为每个PCIe通道固定分配对应的PCIe总线地址空间,固定分配意味着为每个PCIe通道分配的PCIe总线地址空间大小固定,同时为每个PCIe通道分配的PCIe总线地址空间范围固定。例如上述所说的对于Lane0,根据查找到的与Lane0对应的预设PCIe总线地址空间配置信息,为Lane0分配固定的PCIe总线地址空间6M,例如上述所说的对于Lane2,根据查找到的与Lane2对应的预设PCIe总线地址空间配置信息,为Lane2分配固定的PCIe总线地址空间6M+(8*12)M。
S304,针对PCIe通道所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间;
当确定每个PCIe通道的PCIe总线地址空间之后,每个PCIe通道下游挂载的PCIe桥只能在此范围内进行分配,具体的针对任一PCIe通道下游,扫描是否挂载PCIe桥,若PCIe通道下游挂载PCIe桥,针对PCIe通道下游所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间。
例如对于Lane2,确定Lane2的PCIe总线地址空间之后,扫描Lane2下游挂载的PCIe桥,根据所查找的与Lane2对应的预设PCIe总线地址空间配置信息,从为Lane2固定分配的PCIe总线地址空间中(6M+(8*12)M),可以为PCIe桥固定分配对应的PCIe总线地址空间6M。
S305,针对PCIe桥所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间。
当确定每个PCIe通道的PCIe总线地址空间之后,每个PCIe通道下游挂载的PCIe器件只能在此范围内进行分配,具体的利用DFS算法扫描PCIe桥下游所挂载的PCIe器件的分布拓扑图,确定PCIe桥下游所挂载的PCIe器件数量,针对PCIe桥下游所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间。
例如,对于Lane2,确定Lane2的PCIe总线地址空间之后,利用DFS算法扫描PCIe桥下游所挂载的PCIe器件的分布拓扑图,确定PCIe桥下游所挂载的PCIe器件数量,这里所确定的PCIe桥下游所挂载的PCIe器件数量为当前集中控制框式设备中包括的PCIe器件数量,可能并不是集中控制框式设备中包括的最大数量的PCIe器件,有些槽位上的PCIe器件并没有安装。例如确定PCIe桥下游所挂载的PCIe器件为:PCIe器件1、PCIe器件2、PCIe器件3、PCIe器件4、PCIe器件5,针对PCIe桥下游所挂载的任一PCIe器件,根据所查找的与Lane2对应的预设PCIe总线地址空间配置信息,从为Lane2固定分配的PCIe总线地址空间中(6M+(8*12)M),为PCIe器件固定分配对应的PCIe总线地址空间8M。
在上述方案基础之上,针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,查找与PCIe通道对应的预设PCIe总线编号范围配置信息,根据所查找到的预设PCIe总线编号范围配置信息,为PCIe通道配置固定的PCIe总线编号范围,每个PCIe通道下游挂载的PCIe桥以及PCIe器件只能在此范围内进行分配,这样PCIe桥以及PCIe器件所在PCIe总线编号范围是固定的,这样当PCIe桥以及PCIe器件出现问题之后,会有相应的日志文件记录PCIe桥以及PCIe器件所在的PCIe总线编号,这样就可以基于PCIe总线编号确定是PCIe桥出现了问题,还是PCIe器件出现了问题。
通过以上对本申请所提供的技术方案的描述,通过为主控CPU所拥有的任一PCIe接口对应的PCIe通道固定分配对应的PCIe总线地址空间,从而为PCIe桥固定分配对应的PCIe总线地址空间,为PCIe器件固定分配对应的PCIe总线地址空间。如此无需再扫描这些PCIe桥,节省了时间,而且即使其它PCIe器件存在变动,为PCIe桥分配的PCIe总线地址空间也不会存在变动。
与上述PCIe总线地址空间分配方法的实施例相对应,本申请还提供了一种PCIe总线地址空间分配装置,如图4所示,应用于集中控制框式设备,所述集中控制框式设备中包括主控CPU、PCIe桥以及PCIe器件,所述PCIe桥与所述主控CPU、所述PCIe器件分别进行连接,该装置可以包括:数量确定模块410、信息查找模块420、第一空间分配模块430、第二空间分配模块440、第三空间分配模块450。
数量确定模块410,用于确定主控CPU所拥有的PCIe接口数量;
信息查找模块420,用于针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,查找与PCIe通道对应的预设PCIe总线地址空间配置信息;
第一空间分配模块430,用于针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,根据所查找的预设PCIe总线地址空间配置信息,为PCIe通道固定分配对应的PCIe总线地址空间;
第二空间分配模块440,用于针对PCIe通道所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间;
第三空间分配模块450,用于针对PCIe桥所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间。
在本申请的一种具体实施方式中,所述第二空间分配模块440具体用于:
针对PCIe通道下游,扫描是否挂载PCIe桥;
若PCIe通道下游挂载PCIe桥,针对PCIe通道下游所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间。
在本申请的一种具体实施方式中,所述第三空间分配模块450具体用于:
利用DFS算法扫描PCIe桥下游所挂载的PCIe器件的分布拓扑图,确定PCIe桥下游所挂载的PCIe器件数量;
针对PCIe桥下游所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间。
在本申请的一种具体实施方式中,所述装置还包括:
总线编号范围配置模块460,用于针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,查找与PCIe通道对应的预设PCIe总线编号范围配置信息;
根据所查找到的预设PCIe总线编号范围配置信息,为PCIe通道配置固定的PCIe总线编号范围。
上述系统中各个单元的作用实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明可以在由计算机执行的计算值可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种PCIe总线地址空间分配方法,其特征在于,应用于集中控制框式设备,所述集中控制框式设备中至少包括主控CPU、PCIe桥以及PCIe器件,所述PCIe桥与所述主控CPU、所述PCIe器件分别进行连接,所述方法包括:
确定主控CPU所拥有的PCIe接口数量;
针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,执行以下操作:
查找与PCIe通道对应的预设PCIe总线地址空间配置信息;
根据所查找的预设PCIe总线地址空间配置信息,为PCIe通道固定分配对应的PCIe总线地址空间;
针对PCIe通道所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间;
针对PCIe桥所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间。
2.根据权利要求1所述的方法,其特征在于,所述针对PCIe通道所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间,包括:
针对PCIe通道下游,扫描是否挂载PCIe桥;
若PCIe通道下游挂载PCIe桥,针对PCIe通道下游所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间。
3.根据权利要求1所述的方法,其特征在于,所述针对PCIe桥所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间,包括:
利用DFS算法扫描PCIe桥下游所挂载的PCIe器件的分布拓扑图,确定PCIe桥下游所挂载的PCIe器件数量;
针对PCIe桥下游所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间。
4.根据权利要求1至3任一项所述的方法,其特征在于,针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,所述方法还包括:
查找与PCIe通道对应的预设PCIe总线编号范围配置信息;
根据所查找到的预设PCIe总线编号范围配置信息,为PCIe通道配置固定的PCIe总线编号范围。
5.一种PCIe总线地址空间分配装置,其特征在于,应用于集中控制框式设备,所述集中控制框式设备中包括主控CPU、PCIe桥以及PCIe器件,所述PCIe桥与所述主控CPU、所述PCIe器件分别进行连接,所述装置包括:
数量确定模块,用于确定主控CPU所拥有的PCIe接口数量;
信息查找模块,用于针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,查找与PCIe通道对应的预设PCIe总线地址空间配置信息;
第一空间分配模块,用于针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,根据所查找的预设PCIe总线地址空间配置信息,为PCIe通道固定分配对应的PCIe总线地址空间;
第二空间分配模块,用于针对PCIe通道所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间;
第三空间分配模块,用于针对PCIe桥所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间。
6.根据权利要求5所述的装置,其特征在于,所述第二空间分配模块具体用于:
针对PCIe通道下游,扫描是否挂载PCIe桥;
若PCIe通道下游挂载PCIe桥,针对PCIe通道下游所挂载的任一PCIe桥,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe桥固定分配对应的PCIe总线地址空间。
7.根据权利要求5所述的装置,其特征在于,所述第三空间分配模块具体用于:
利用DFS算法扫描PCIe桥下游所挂载的PCIe器件的分布拓扑图,确定PCIe桥下游所挂载的PCIe器件数量;
针对PCIe桥下游所挂载的任一PCIe器件,根据所查找的预设PCIe总线地址空间配置信息,从为PCIe通道固定分配的PCIe总线地址空间中,为PCIe器件固定分配对应的PCIe总线地址空间。
8.根据权利要求5至7任一项所述的装置,其特征在于,所述装置还包括:
总线编号范围配置模块,用于针对主控CPU所拥有的任一PCIe接口对应的PCIe通道,查找与PCIe通道对应的预设PCIe总线编号范围配置信息;
根据所查找到的预设PCIe总线编号范围配置信息,为PCIe通道配置固定的PCIe总线编号范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910130079.2A CN109902038B (zh) | 2019-02-21 | 2019-02-21 | 一种PCIe总线地址空间分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910130079.2A CN109902038B (zh) | 2019-02-21 | 2019-02-21 | 一种PCIe总线地址空间分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109902038A CN109902038A (zh) | 2019-06-18 |
CN109902038B true CN109902038B (zh) | 2020-12-29 |
Family
ID=66945236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910130079.2A Active CN109902038B (zh) | 2019-02-21 | 2019-02-21 | 一种PCIe总线地址空间分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109902038B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159090B (zh) * | 2019-12-31 | 2022-03-25 | 联想(北京)有限公司 | 一种信息处理方法、装置和电子设备 |
CN113886311A (zh) * | 2020-07-02 | 2022-01-04 | 许继集团有限公司 | 一种按槽位进行固定pcie总线地址分配的方法及装置 |
CN113886312A (zh) * | 2020-07-02 | 2022-01-04 | 许继集团有限公司 | 一种pcie总线寻址方法及装置 |
CN112711557B (zh) | 2021-01-15 | 2022-11-18 | 飞腾信息技术有限公司 | 处理器的接口模块及其操作方法、处理器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851078A (zh) * | 2015-06-29 | 2018-03-27 | 华为技术有限公司 | 一种PCIe设备的聚合友好型地址分配的方法和系统 |
CN108268412A (zh) * | 2013-06-28 | 2018-07-10 | 华为技术有限公司 | 用于扩展外围组件互连高速结构的系统和方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150527B (zh) * | 2007-11-09 | 2010-09-01 | 杭州华三通信技术有限公司 | 一种pcie数据传输的方法、系统及设备 |
CN101226515B (zh) * | 2008-01-31 | 2012-10-17 | 成都市华为赛门铁克科技有限公司 | 热插拔总线接口的资源分配方法及装置 |
CN102117259B (zh) * | 2009-12-31 | 2014-07-09 | 成都市华为赛门铁克科技有限公司 | 地址空间资源分配处理方法及装置 |
US8745292B2 (en) * | 2010-06-23 | 2014-06-03 | International Business Machines Corporation | System and method for routing I/O expansion requests and responses in a PCIE architecture |
US9684575B2 (en) * | 2014-06-23 | 2017-06-20 | Liqid Inc. | Failover handling in modular switched fabric for data storage systems |
CN107203484B (zh) * | 2017-06-27 | 2020-06-16 | 北京计算机技术及应用研究所 | 一种基于FPGA的PCIe与SRIO总线桥接系统 |
CN108777634B (zh) * | 2018-05-24 | 2021-05-07 | 许继电气股份有限公司 | 一种PCIe交换机及其端点地址空间分配方法 |
-
2019
- 2019-02-21 CN CN201910130079.2A patent/CN109902038B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268412A (zh) * | 2013-06-28 | 2018-07-10 | 华为技术有限公司 | 用于扩展外围组件互连高速结构的系统和方法 |
CN107851078A (zh) * | 2015-06-29 | 2018-03-27 | 华为技术有限公司 | 一种PCIe设备的聚合友好型地址分配的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109902038A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902038B (zh) | 一种PCIe总线地址空间分配方法及装置 | |
CN100388208C (zh) | 在逻辑分区的计算机系统中控制资源转移的装置和方法 | |
US9807028B2 (en) | Method and apparatus for allocating resources | |
KR101733117B1 (ko) | 멀티코어 시스템의 태스크 분배 방법 및 장치 | |
CN105210041A (zh) | 针对虚拟处理器处理并路由中断 | |
US20040215860A1 (en) | Virtualization of a global interrupt queue | |
CN105607950A (zh) | 一种虚拟机资源配置方法和装置 | |
US20170111207A1 (en) | Nfv system and method for linking vnfm | |
CN103455363A (zh) | 一种虚拟机的指令处理方法、装置及物理主机 | |
CN104881241A (zh) | 交换操作的实现方法和装置 | |
CN112256433B (zh) | 基于Kafka集群的分区迁移方法和装置 | |
CN106933512B (zh) | 一种数据读写的方法及其设备 | |
CN106354428B (zh) | 一种多物理层分区计算机体系结构的存储共享系统 | |
CN112506818B (zh) | 一种基于软件模拟的usb硬件虚拟化方法 | |
CN107430546B (zh) | 一种文件更新方法及存储设备 | |
CN109739799A (zh) | 异构多核处理器的数据交互方法、异构多核处理器和终端 | |
US20100153678A1 (en) | Memory management apparatus and method | |
CN101189577B (zh) | 通过自动改变索引来访问配置寄存器的方法和装置 | |
CN104461603A (zh) | 一种信息处理方法及电子设备 | |
US5936642A (en) | Parallel graphic processing system using a network | |
KR100407453B1 (ko) | 컴퓨터 작업 부하의 고속 복구 및 재배치를 가능하게 하는절차 및 자동화의 어플리케이션 | |
CN109818767B (zh) | 一种Redis集群容量调整的方法、装置及存储介质 | |
CN105138406A (zh) | 一种任务处理方法、装置及系统 | |
CN111258763A (zh) | 一种服务器系统及服务器系统的控制方法和装置 | |
JPH02245864A (ja) | 多重プロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |