CN107045486B - 一种PCIe安全域广播方法以及系统 - Google Patents

一种PCIe安全域广播方法以及系统 Download PDF

Info

Publication number
CN107045486B
CN107045486B CN201710236257.0A CN201710236257A CN107045486B CN 107045486 B CN107045486 B CN 107045486B CN 201710236257 A CN201710236257 A CN 201710236257A CN 107045486 B CN107045486 B CN 107045486B
Authority
CN
China
Prior art keywords
address
pcie
addresses
domain1
access
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
Application number
CN201710236257.0A
Other languages
English (en)
Other versions
CN107045486A (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.)
Rockchip Electronics Co Ltd
Original Assignee
Fuzhou Rockchip Electronics Co 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 Fuzhou Rockchip Electronics Co Ltd filed Critical Fuzhou Rockchip Electronics Co Ltd
Priority to CN201710236257.0A priority Critical patent/CN107045486B/zh
Publication of CN107045486A publication Critical patent/CN107045486A/zh
Application granted granted Critical
Publication of CN107045486B publication Critical patent/CN107045486B/zh
Active 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
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种PCIe安全域广播方法,EP1设备向RC申请BDF1地址,并且申请一Domain1地址;至少一个EP2设备申请BDF2地址,且所申请的BDF2地址落在Domain1地址范围内;当一EP2设备或一EP1设备广播时,向RC发domain地址请求,则RC将所需发送的数据发送至Domain1地址完成广播,本发明还提供一种PCIe安全域广播系统,提高广播效率。

Description

一种PCIe安全域广播方法以及系统
技术领域
本发明涉及一种PCIe安全域广播方法以及系统。
背景技术
PCIe总线用于高速设备与主芯片之间的互联或者多个芯片之间的相互连接,有类似树形的拓扑结构,但是目前只能按照BDF地址进行定向的数据转发。我们目前有实现多个SOC芯片的增量连接,某几个soc主控可能组成一个单独的域来共享BDF地址,而不是每个soc主控都拥有自己单独的BDF地址;比如:最顶层的PCIe的RC(即为root complex)给下游分配地址和BAR空间的时候,是给某个域进行分配而不是某个PCIe的EP设备进行分配。并且在某些特定的情况下,我们需要向拓扑内的所有设备发送一些特殊控制信息,需要广播到所有的EP设备(无论有无单独的BDF地址和BAR空间)。所以我们在PCIe的标准协议之上,附加了一种能够配置并分配域地址,以及全域广播的机制。同时考虑到实际需求,广播可以是RC进行强制广播或者EP设备进行申请,仲裁后获取广播权限。同时PCIe总线映射分配地址后,只能限定某段地址可以给PCIe设备访问。或者目前有些PCIe主桥带有IOMMU,可以再做一层物理地址到虚拟地址的转换。无论是哪一种,实现的都是针对整个PCIe拓扑树设备的限制。其广播过程是一个一个进行广播,若是EP设备很多,则其效率非常慢。
发明内容
本发明要解决的技术问题,在于提供一种PCIe安全域广播方法以及系统,提高广播效率。
本发明之一是这样实现的:一种PCIe安全域广播方法,包括如下步骤:
步骤1、EP1设备向RC申请BDF1地址,并且申请一Domain1地址;
步骤2、至少一个EP2设备申请BDF2地址,且所申请的BDF2地址落在Domain1地址范围内;
步骤3、当一EP2设备或一EP1设备广播时,向RC发domain地址请求,则RC将所需发送的数据发送至Domain1地址完成广播。
进一步地,还包括步骤4、限定主机中一段地址空间给PCIe设备访问,总线发起访问时,送出来的地址会被总线自动截断限定长度的冗余码并补齐零位,得到地址数据以及冗余码;将该冗余码与之前保存在物理内存的低位数据进行比较,若正确,则进入内存访问;否,则返回错误。
进一步地,所述步骤4中,对冗余码进行加密。
进一步地,对所述EP1设备以及EP2设备进行广播优先级设定。
本发明之二是这样实现的:一种PCIe安全域广播系统,包括如下模块:
主申请模块,EP1设备向RC申请BDF1地址,并且申请一Domain1地址;
次申请模块,至少一个EP2设备申请BDF2地址,且所申请的BDF2地址落在Domain1地址范围内;
广播模块,当一EP2设备或一EP1设备广播时,向RC发domain地址请求,则RC将所需发送的数据发送至Domain1地址完成广播。
进一步地,还包括访问模块,限定主机中一段地址空间给PCIe设备访问,总线发起访问时,送出来的地址会被总线自动截断限定长度的冗余码并补齐零位,得到地址数据以及冗余码;将该冗余码与之前保存在物理内存的低位数据进行比较,若正确,则进入内存访问;否,则返回错误。
进一步地,所述访问模块中,对冗余码进行加密。
进一步地,对所述EP1设备以及EP2设备进行广播优先级设定。
本发明具有如下优点:本发明一种PCIe安全域广播方法以及系统,进行PCIe拓扑扫描的时候,针对各个拓扑层次除了进行BDF分配之外,还需要进行domain的分配;使得在进行广播的时候可以直接在一个domain内进行广播,不需要再对域中的每个EP设备进行广播,大大提高了广播的效率;分配之后的广播依靠domain机制进行,访问的地址审查依靠地址截断与审查单元进行;使得访问更加安全可靠。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
图2为本发明中的安全审查流程图。
具体实施方式
如图1和图2所示,本发明PCIe安全域广播方法,包括如下步骤:
步骤1、EP1设备向RC申请BDF1地址,并且申请一Domain1地址;
步骤2、至少一个EP2设备申请BDF2地址,且所申请的BDF2地址落在Domain1地址范围内;
步骤3、当一EP2设备或一EP1设备广播时,向RC发domain地址请求,则RC将所需发送的数据发送至Domain1地址完成广播,对所述EP1设备以及EP2设备进行广播优先级设定;
步骤4、限定主机中一段地址空间给PCIe设备访问,总线发起访问时,送出来的地址会被总线自动截断限定长度的冗余码并补齐零位,得到地址数据以及冗余码;将该冗余码与之前保存在物理内存的低位数据进行比较,若正确,则进入内存访问;否,则返回错误;,对冗余码进行加密。
本发明PCIe安全域广播系统,包括如下模块:
主申请模块,EP1设备向RC申请BDF1地址,并且申请一Domain1地址;
次申请模块,至少一个EP2设备申请BDF2地址,且所申请的BDF2地址落在Domain1地址范围内;
广播模块,当一EP2设备或一EP1设备广播时,向RC发domain地址请求,则RC将所需发送的数据发送至Domain1地址完成广播,对所述EP1设备以及EP2设备进行广播优先级设定;
访问模块,限定主机中一段地址空间给PCIe设备访问,总线发起访问时,送出来的地址会被总线自动截断限定长度的冗余码并补齐零位,得到地址数据以及冗余码;将该冗余码与之前保存在物理内存的低位数据进行比较,若正确,则进入内存访问;否,则返回错误;对冗余码进行加密。
本发明一种具体实施方式:RC的BDF分配之外再有一个domain分配,EP设备1-3申请了BDF之后,EP设备1还申请了Domain地址1,然后EP设备2,3的BDF地址落在了Domain地址1范围内。当RC需要向domain1广播时,从domain分配器获取domain1域名特权设备的BDF地址,直接利用domain分配器向domain1的域地址发送数据包,domain1(即此时的EP设备1)在domain1地址段内的所有BDF地址发送广播。由于domain1的地址仅包含BDF2和BDF3,因此这个广播不会影响到其他EP设备。同样,如果EP设备2需要发广播,直接向RC发domain地址请求,RC就会告诉EP设备1,它的domain是domain1,并把所需发送的数据塞给domain1地址以完成广播任务。如果EP设备2,3同时需要广播,可以设定优先级仲裁等机制。同时为了解决安全问题,限定了某段地址空间可以给PCIe设备访问后,访问该段地址就要求比如512对齐等等,那么总线上发起访问时,送出来的地址中低位512地址会被总线自动截断并补齐零位,得到地址A(例如:送出来的地址中,低于512字节的地址会被截断补0;比如,512的十六进制是0x200,那么送出来地址如果是0x201,就会被截断成0x200)。截断出来的低位数据包含BDF地址,与之前保存在该物理内存A上的低位数据进行比较。正确则直通,错误则返回全F。这些段地址的截断长度我们称为冗余码,码长可设定,同时为了安全考虑,冗余码的BDF需要加密,密钥为各方提前预设确保安全。
例如:送出来需要访问的地址是0x12345200,那么实际送出的地址是0x12345278;然后我们截断出来的地址是0x12345200,与需要访问的一致。然后截取出来的最后不对齐的0x78,我们就拿去比较
PCIe技术有两个地址空间的概念,一个是总线地址域,一个是内存地址域。BDF地址是总线地址域,“某段地址空间”是内存地址域。两者不是一个技术概念。PCIe的链路通信是依靠总线地址来寻找对方。而内存地址域是在已经找到对方的前提下,如何去访问对方内部的内存地址。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (8)

1.一种PCIe安全域广播方法,其特征在于:包括如下步骤:
步骤1、EP1设备向RC申请BDF1地址,并且申请一Domain1地址;
步骤2、至少一个EP2设备申请BDF2地址,且所申请的BDF2地址落在Domain1地址范围内;
步骤3、当一EP2设备或一EP1设备广播时,向RC发domain地址请求,则RC将所需发送的数据发送至Domain1地址完成广播。
2.根据权利要求1所述的一种PCIe安全域广播方法,其特征在于:还包括步骤4、限定主机中一段地址空间给PCIe设备访问,总线发起访问时,送出来的地址会被总线自动截断限定长度的冗余码并补齐零位,得到地址数据以及冗余码;将该冗余码与之前保存在物理内存的低位数据进行比较,若正确,则进入内存访问;否,则返回错误。
3.如权利要求2所述的一种PCIe安全域广播方法,其特征在于:所述步骤4中,对冗余码进行加密。
4.如权利要求1所述的一种PCIe安全域广播方法,其特征在于:对所述EP1设备以及EP2设备进行广播优先级设定。
5.一种PCIe安全域广播系统,其特征在于:包括如下模块:
主申请模块,EP1设备向RC申请BDF1地址,并且申请一Domain1地址;
次申请模块,至少一个EP2设备申请BDF2地址,且所申请的BDF2地址落在Domain1地址范围内;
广播模块,当一EP2设备或一EP1设备广播时,向RC发domain地址请求,则RC将所需发送的数据发送至Domain1地址完成广播。
6.根据权利要求5所述的一种PCIe安全域广播系统,其特征在于:还包括访问模块,限定主机中一段地址空间给PCIe设备访问,总线发起访问时,送出来的地址会被总线自动截断限定长度的冗余码并补齐零位,得到地址数据以及冗余码;将该冗余码与之前保存在物理内存的低位数据进行比较,若正确,则进入内存访问;否,则返回错误。
7.如权利要求6所述的一种PCIe安全域广播系统,其特征在于:所述访问模块中,对冗余码进行加密。
8.如权利要求5所述的一种PCIe安全域广播系统,其特征在于:对所述EP1设备以及EP2设备进行广播优先级设定。
CN201710236257.0A 2017-04-12 2017-04-12 一种PCIe安全域广播方法以及系统 Active CN107045486B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710236257.0A CN107045486B (zh) 2017-04-12 2017-04-12 一种PCIe安全域广播方法以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710236257.0A CN107045486B (zh) 2017-04-12 2017-04-12 一种PCIe安全域广播方法以及系统

Publications (2)

Publication Number Publication Date
CN107045486A CN107045486A (zh) 2017-08-15
CN107045486B true CN107045486B (zh) 2020-01-31

Family

ID=59545290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710236257.0A Active CN107045486B (zh) 2017-04-12 2017-04-12 一种PCIe安全域广播方法以及系统

Country Status (1)

Country Link
CN (1) CN107045486B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472562B (zh) * 2020-03-31 2023-09-01 华为技术有限公司 一种设备管理方法、装置及计算机系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8976799B1 (en) * 2007-10-01 2015-03-10 Apple Inc. Converged computer I/O system and bridging mechanism for peer-to-peer communication
US20140237156A1 (en) * 2012-10-25 2014-08-21 Plx Technology, Inc. Multi-path id routing in a pcie express fabric environment
EP4089544B1 (en) * 2013-12-31 2024-01-31 Huawei Technologies Co., Ltd. Method and apparatus for extending pcie domain
US9419918B2 (en) * 2014-11-07 2016-08-16 Futurewei Technologies, Inc. Non-transparent bridge method and apparatus for configuring high-dimensional PCI-express networks

Also Published As

Publication number Publication date
CN107045486A (zh) 2017-08-15

Similar Documents

Publication Publication Date Title
CN101990004B (zh) 一种基于物联网家庭网关的虚拟id和虚拟ip分配方法
US8161287B2 (en) Method and system for memory protection and security using credentials
KR102317657B1 (ko) Nvdimm을 포함하는 장치 및 그것의 엑세스 방법
US20020099797A1 (en) Architecture for access to embedded files using a san intermediate device
CN109067930A (zh) 域名接入方法、域名解析方法、服务器、终端及存储介质
WO2016093895A1 (en) Generating and/or employing a descriptor associated with a memory translation table
US11568092B2 (en) Method of dynamically configuring FPGA and network security device
CN110837479B (zh) 数据处理方法、相关设备及计算机存储介质
CN110677405A (zh) 一种数据处理方法、装置、电子设备及存储介质
US20030105914A1 (en) Remote memory address translation
CN110297608B (zh) 数据的处理方法、装置和存储介质
CN110099142B (zh) Ip地址分配方法、装置、设备和存储介质
US20210240353A1 (en) Resource management method and apparatus
CA2987807C (en) Computer device and method for reading/writing data by computer device
CN104731635A (zh) 一种虚拟机访问控制方法,及虚拟机访问控制系统
CN107045486B (zh) 一种PCIe安全域广播方法以及系统
CN113163028B (zh) 一种业务数据传输方法、装置及系统
CN102685115B (zh) 一种资源的访问方法、资源管理设备和系统
CN115586943B (zh) 一种智能网卡虚拟机脏页的硬件标记实现方法
CN116719606A (zh) 支持硬件虚拟化的加速器及其数据访问方法
CN114666112B (zh) 通信认证方法、装置、电子设备和存储介质
US20150127878A1 (en) Tunneled window connection for programmed input output transfers over a switch fabric
CN111133422A (zh) 用于存储器管理单元的事务调度器
US10210083B1 (en) Address remapping for efficient use of distributed memory
CN109587239B (zh) 一种访问请求的处理方法、服务器及存储介质

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
CP01 Change in the name or title of a patent holder

Address after: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee after: Ruixin Microelectronics Co., Ltd

Address before: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee before: Fuzhou Rockchips Electronics Co.,Ltd.

CP01 Change in the name or title of a patent holder