CN107193752A - 一种解决外插卡内存地址不够分配的方法 - Google Patents

一种解决外插卡内存地址不够分配的方法 Download PDF

Info

Publication number
CN107193752A
CN107193752A CN201710358593.2A CN201710358593A CN107193752A CN 107193752 A CN107193752 A CN 107193752A CN 201710358593 A CN201710358593 A CN 201710358593A CN 107193752 A CN107193752 A CN 107193752A
Authority
CN
China
Prior art keywords
address
outer plug
card
enough
bios
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
CN201710358593.2A
Other languages
English (en)
Other versions
CN107193752B (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710358593.2A priority Critical patent/CN107193752B/zh
Publication of CN107193752A publication Critical patent/CN107193752A/zh
Application granted granted Critical
Publication of CN107193752B publication Critical patent/CN107193752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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/10Program control for peripheral devices

Landscapes

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

Abstract

本发明公开了一种解决外插卡内存地址不够分配的方法,具体包括以下步骤:1)、BIOS的自检程序检测到外插卡;2)、PCIE设备初始化,资源分配;3)、BIOS检测CPU的内存寻址范围,并判断地址范围是否够用;4)、如果够用,则使用真实的地址为外插卡分配资源,启动进入OS;否则执行步骤5)操作;5)、为外插卡分配虚拟的地址,启动进入OS。突破了现有的内存资源分配方式,通过使用该方法可以支持更多的外插卡,节省大量的硬件成本。通过分配虚拟内存地址的方式实现支持更多的外设。

Description

一种解决外插卡内存地址不够分配的方法
技术领域
本发明涉及服务器、存储类服务器测试技术领域,具体地说是一种解决外插卡内存地址不够分配的方法。
背景技术
随着云时代的来临,大数据(Big data)也吸引了越来越多的关注.大数据(Bigdata)通常用来形容一个公司创造的大量非结构化和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作。因此在此背景下,在特定的应用场景下,传统服务器很难满足需求。就需要有几十个甚至上百个外插卡的机器来实现功能。
发明内容
本发明的目的在于提供一种解决外插卡内存地址不够分配的方法,用于解决由于内存地址分配不够导致的系统不能启动宕机的问题。
本发明解决其技术问题所采取的技术方案是:一种解决外插卡内存地址不够分配的方法,其特征是,具体包括以下步骤:
1)、BIOS的自检程序检测到外插卡;
2)、PCIE设备初始化,资源分配;
3)、BIOS检测CPU的内存寻址范围,并判断地址范围是否够用;
4)、如果够用,则使用真实的地址为外插卡分配资源,启动进入OS;否,则执行步骤5)操作;
5)、为外插卡分配虚拟的地址,启动进入OS。
进一步地,步骤3)中BIOS检测CPU的内存寻址范围,并判断地址范围是否够用的方法具体包括:
31)、BIOS读取CPU内部寄存器;
32)、得到CPU支持的地址线根数N,从而得到CPU自身支持的地址范围0-2N
33)、BIOS检测外插卡的地址空间,判断其是否大于2N,如果是,则表示CPU地址范围不够用;否则,则表示CPU地址范围够用。
进一步地,步骤5)操作中为外插卡分配虚拟的地址的具体方法包括:
51)、BIOS修改PciResourceMem64Base和PciResourceMem64Base;
52)、BIOS修改FakeMMIObase和FakeMMIOSize;
53)、把分配的虚拟地址加入MMIO。
进一步地,步骤51)操作中修改PciResourceMem64Base和PciResourceMem64Base的具体方式为:
从CPU支持的最大地址范围起建立虚拟地址,虚拟地址的长度为从CPU支持的最大地址范围起的外插卡内存地址的空间。
进一步地,步骤52)操作中BIOS修改FakeMMIObase和FakeMMIOSize的具体方法为:
定义虚拟地址的base和长度与检测到外插卡的起始地址和长度一致。
进一步地,步骤53)操作中把分配的虚拟地址加入MMIO的方法具体包括:
把虚拟地址定义为MMIO,加入内存地址映射空间供BIOS使用。
本发明的有益效果是:
本发明修改底层代码(BIOS)在为PCIE外插卡分配内存资源时分配虚拟地址(假地址),从而避免了由于内存地址分配不够导致的系统不能启动宕机的问题。突破了现有的内存资源分配方式,通过使用该方法可以支持更多的外插卡,节省大量的硬件成本。通过分配虚拟内存地址的方式实现支持更多的外设。
附图说明
图1为本发明的流程图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,一种解决外插卡内存地址不够分配的方法,具体包括以下步骤:
1)、BIOS的自检程序检测到外插卡;
2)、PCIE设备初始化,资源分配;
3)、BIOS检测CPU的内存寻址范围,并判断地址范围是否够用;
4)、如果够用,则使用真实的地址为外插卡分配资源,启动进入OS;否,则执行步骤5)操作;
5)、为外插卡分配虚拟的地址,启动进入OS。
步骤3)中BIOS检测CPU的内存寻址范围,并判断地址范围是否够用的方法具体包括:
31)、BIOS读取CPU内部寄存器;
32)、得到CPU支持的地址线根数N,从而得到CPU自身支持的地址范围0-2N
33)、BIOS检测外插卡的地址空间,判断其是否大于2N,如果是,则表示CPU地址范围不够用;否则,则表示CPU地址范围够用。
步骤5)操作中为外插卡分配虚拟的地址的具体方法包括:
51)、BIOS修改PciResourceMem64Base和PciResourceMem64Base;
52)、BIOS修改FakeMMIObase和FakeMMIOSize;
53)、把分配的虚拟地址加入MMIO。
步骤51)操作中修改PciResourceMem64Base和PciResourceMem64Base的具体方式为:
从CPU支持的最大地址范围起建立虚拟地址,虚拟地址的长度为从CPU支持的最大地址范围起的外插卡内存地址的空间。
步骤52)操作中BIOS修改FakeMMIObase和FakeMMIOSize的具体方法为:
定义虚拟地址的base和长度与检测到外插卡的起始地址和长度一致。
步骤53)操作中把分配的虚拟地址加入MMIO的方法具体包括:
把虚拟地址定义为MMIO,加入内存地址映射空间供BIOS使用。
本实施例采用的CPU有36根地址线,其寻址范围为64G;采用16张K40GPU外插卡,外插卡需要16x32GB=512GB内存地址空间,因此明显CPU的寻址范围不够用,因此提出了一种解决外插卡内存地址不够分配的方法。
1)、BIOS的自检程序检测到外插卡,外插卡的内存地址空间为512G;
2)、PCIE设备初始化,资源分配;
3)、BIOS检测CPU的内存寻址范围为64G,判断地址范围不够用;
4)、为外插卡分配虚拟的地址,启动进入OS。
5)、BIOS修改PciResourceMem64Base和PciResourceMem64Base,从64G起建立512G的虚拟空间;
6)、BIOS修改FakeMMIObase和FakeMMIOSize,定义虚拟地址的base和长度与检测到外插卡的起始地址和长度一致,为512G。
7)、把分配的虚拟地址定义为MMIO,加入内存地址映射空间供BIOS使用。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

Claims (6)

1.一种解决外插卡内存地址不够分配的方法,其特征是,具体包括以下步骤:
1)、BIOS的自检程序检测到外插卡;
2)、PCIE设备初始化,资源分配;
3)、BIOS检测CPU的内存寻址范围,并判断地址范围是否够用;
4)、如果够用,则使用真实的地址为外插卡分配资源,启动进入OS;否则执行步骤5)操作;
5)、为外插卡分配虚拟的地址,启动进入OS。
2.根据权利要求1所述的一种解决外插卡内存地址不够分配的方法,其特征是,步骤3)中BIOS检测CPU的内存寻址范围,并判断地址范围是否够用的方法具体包括:
31)、BIOS读取CPU内部寄存器;
32)、得到CPU支持的地址线根数N,从而得到CPU自身支持的地址范围0-2N
33)、BIOS检测外插卡的地址空间,判断其是否大于2N,如果是,则表示CPU地址范围不够用;否则,表示CPU地址范围够用。
3.根据权利要求1所述的一种解决外插卡内存地址不够分配的方法,其特征是,步骤5)操作中为外插卡分配虚拟的地址的具体方法包括:
51)、BIOS修改PciResourceMem64Base和PciResourceMem64Base;
52)、BIOS修改FakeMMIObase和FakeMMIOSize;
53)、把分配的虚拟地址加入MMIO。
4.根据权利要求3所述的一种解决外插卡内存地址不够分配的方法,其特征是,步骤51)操作中修改PciResourceMem64Base和PciResourceMem64Base的具体方式为:
从CPU支持的最大地址范围起建立虚拟地址,虚拟地址的长度为从CPU支持的最大地址范围起的外插卡内存地址的空间。
5.根据权利要求3所述的一种解决外插卡内存地址不够分配的方法,其特征是,步骤52)操作中BIOS修改FakeMMIObase和FakeMMIOSize的具体方法为:
定义虚拟地址的base和长度与检测到外插卡的起始地址和长度一致。
6.根据权利要求3所述的一种解决外插卡内存地址不够分配的方法,其特征是,步骤53)操作中把分配的虚拟地址加入MMIO的方法具体包括:
把虚拟地址定义为MMIO,加入内存地址映射空间供BIOS使用。
CN201710358593.2A 2017-05-19 2017-05-19 一种解决外插卡内存地址不够分配的方法 Active CN107193752B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710358593.2A CN107193752B (zh) 2017-05-19 2017-05-19 一种解决外插卡内存地址不够分配的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710358593.2A CN107193752B (zh) 2017-05-19 2017-05-19 一种解决外插卡内存地址不够分配的方法

Publications (2)

Publication Number Publication Date
CN107193752A true CN107193752A (zh) 2017-09-22
CN107193752B CN107193752B (zh) 2020-08-25

Family

ID=59875228

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710358593.2A Active CN107193752B (zh) 2017-05-19 2017-05-19 一种解决外插卡内存地址不够分配的方法

Country Status (1)

Country Link
CN (1) CN107193752B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1071234A2 (en) * 1999-07-19 2001-01-24 General Instrument Corporation Implementation of opportunistic data on a statistical multiplexing encoder
CN1920783A (zh) * 2005-08-24 2007-02-28 英业达股份有限公司 存储器测试方法
US20070276994A1 (en) * 2006-05-23 2007-11-29 Jason Caulkins Methods for managing data writes and reads to a hybrid solid-state disk drive
CN102110054A (zh) * 2009-12-23 2011-06-29 Tcl集团股份有限公司 一种pci设备与系统内存的通讯方法和装置
US20110302357A1 (en) * 2010-06-07 2011-12-08 Sullivan Jason A Systems and methods for dynamic multi-link compilation partitioning
US8103912B2 (en) * 2008-09-07 2012-01-24 EADS North America, Inc. Sequencer and test system including the sequencer
CN102646074A (zh) * 2012-02-22 2012-08-22 中国人民解放军国防科学技术大学 龙芯3a平台大内存设备的地址映射方法
CN104182352A (zh) * 2014-08-19 2014-12-03 湖北盛天网络技术股份有限公司 用于访问4gb以上物理内存地址空间的方法及装置
CN105138487A (zh) * 2015-08-26 2015-12-09 浪潮电子信息产业股份有限公司 一种外插卡cpld/fpga程序下载方法
CN106100953A (zh) * 2016-05-20 2016-11-09 北京百度网讯科技有限公司 PCIe 设备共享网络的生成方法、装置及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1071234A2 (en) * 1999-07-19 2001-01-24 General Instrument Corporation Implementation of opportunistic data on a statistical multiplexing encoder
CN1920783A (zh) * 2005-08-24 2007-02-28 英业达股份有限公司 存储器测试方法
US20070276994A1 (en) * 2006-05-23 2007-11-29 Jason Caulkins Methods for managing data writes and reads to a hybrid solid-state disk drive
US8103912B2 (en) * 2008-09-07 2012-01-24 EADS North America, Inc. Sequencer and test system including the sequencer
CN102110054A (zh) * 2009-12-23 2011-06-29 Tcl集团股份有限公司 一种pci设备与系统内存的通讯方法和装置
US20110302357A1 (en) * 2010-06-07 2011-12-08 Sullivan Jason A Systems and methods for dynamic multi-link compilation partitioning
CN102646074A (zh) * 2012-02-22 2012-08-22 中国人民解放军国防科学技术大学 龙芯3a平台大内存设备的地址映射方法
CN104182352A (zh) * 2014-08-19 2014-12-03 湖北盛天网络技术股份有限公司 用于访问4gb以上物理内存地址空间的方法及装置
CN105138487A (zh) * 2015-08-26 2015-12-09 浪潮电子信息产业股份有限公司 一种外插卡cpld/fpga程序下载方法
CN106100953A (zh) * 2016-05-20 2016-11-09 北京百度网讯科技有限公司 PCIe 设备共享网络的生成方法、装置及系统

Also Published As

Publication number Publication date
CN107193752B (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
US11048492B2 (en) Reducing downtime while patching binaries on a cluster
WO2019029160A1 (zh) 应用程序构建方法、系统、计算机设备和存储介质
CN103365702B (zh) IaaS云环境下轻量级虚拟机进程追踪系统和方法
US10241824B2 (en) Identifying application usage roles for devices provided to virtual machines
US9606899B1 (en) Software testing using shadow requests
US10042744B2 (en) Adopting an existing automation script to a new framework
US10521259B2 (en) Device and method for monitoring resources in full virtualization system
CN105357204B (zh) 生成终端识别信息的方法及装置
CN105868389A (zh) 一种基于mongoDB的数据沙盒实现方法及系统
US20150169850A1 (en) Execution-Based License Discovery and Optimization
CN112732567B (zh) 基于ip的mock数据测试方法、装置、电子设备及存储介质
CN109271414A (zh) 一种基于ipc的数据库本地通信的审计方法
CN106708727B (zh) 一种分布式病毒特征样本验证方法及系统
GB2616578A (en) Anticipated containerized infrastructure used in performing cloud migration
CN104298918B (zh) 一种在虚拟机中基于数据块的病毒扫描方法和系统
CN113835897A (zh) 一种在分布式计算集群Kubernetes上对GPU资源进行分配使用的方法
US9703573B1 (en) Interposer for dynamic mapping of API calls
CN113220367A (zh) 小程序的运行方法、装置、电子设备及存储介质
CN107193752A (zh) 一种解决外插卡内存地址不够分配的方法
WO2018040271A1 (zh) 线程处理器及线程处理方法
CN114338051B (zh) 区块链获取随机数的方法、装置、设备和介质
US9378057B2 (en) Paravirtualized migration counter
CN102546628A (zh) 一种样本鉴定方法及系统
CN114416596A (zh) 一种测试应用的方法、装置、计算机设备及存储介质
CN104182339B (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
TA01 Transfer of patent application right

Effective date of registration: 20200727

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant