CN107832620A - 一种内存spd保护方法及装置 - Google Patents

一种内存spd保护方法及装置 Download PDF

Info

Publication number
CN107832620A
CN107832620A CN201711078778.4A CN201711078778A CN107832620A CN 107832620 A CN107832620 A CN 107832620A CN 201711078778 A CN201711078778 A CN 201711078778A CN 107832620 A CN107832620 A CN 107832620A
Authority
CN
China
Prior art keywords
spd
data
memory
offset location
mapping block
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
CN201711078778.4A
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.)
Jinan Inspur Hi Tech Investment and Development Co Ltd
Original Assignee
Jinan Inspur Hi Tech Investment and Development 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 Jinan Inspur Hi Tech Investment and Development Co Ltd filed Critical Jinan Inspur Hi Tech Investment and Development Co Ltd
Priority to CN201711078778.4A priority Critical patent/CN107832620A/zh
Publication of CN107832620A publication Critical patent/CN107832620A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]

Landscapes

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

Abstract

本发明公开了一种内存SPD保护方法及装置,在BIOS的MRC中添加SPD数据映射模块,所述的SPD数据映射模块对内置于BIOS固件中明码表示的SPD配置表中的伪数据进行转换以得到用于内存参数配置的SPD真实数据,从而对内存SPD数据加以保护。本发明的一种内存SPD保护方法及装置和现有技术相比,具有设计合理、操作方便等特点,仅需添加一个软件模块即可对SPD数据进行保护,简单有效。

Description

一种内存SPD保护方法及装置
技术领域
本发明涉及服务器技术领域,具体地说是一种内存SPD保护方法及装置。
背景技术
服务器主板上的内存有内存条和表贴内存颗粒两种形式。对于加固型服务器,内存往往采用表贴内存颗粒的方式,以提高稳定性和可靠性。由于表贴内存颗粒不同于内存条厂商生产的标准化的内存条,需要根据内存参数配置规范和主板的PCB特性设计专用的SPD(Serial Presence Detect)配置参数,否则可能由于内存参数设置不合理导致主板无法启动。因此内存SPD配置数据对加固服务器厂商很重要。
表贴内存颗粒的SPD配置数据可以存放在板载的EEPROM中,也可以内置于BIOS固件中,出于节约成本、SPD保护和减少生产环节的考虑,加固型服务器多采用BIOS内置SPD的方式。但是,在这种方式中由于内存SPD数据以明码的形式存在于BIOS(Basic Input/Output System)的MRC(Memory Reference Code)的SPD数据表中,根据所用的内存颗粒和DIMM(Dual-in-Line Memory Module)类型会比较容易地在编译生成的BIOS固件中找到SPD所在的明码数据块,其他厂商可以通过借鉴内存SPD配置调试自己的表贴内存。如何简单有效地对内存SPD数据进行保护是一个需要解决的技术问题。
发明内容
本发明的技术任务是提供一种设计合理、操作方便的内存SPD保护方法及装置。
本发明的技术任务是按以下方式实现的:
一种内存SPD保护方法,包括,在BIOS的MRC中添加SPD数据映射模块,所述的SPD数据映射模块对内置于BIOS固件中明码表示的SPD配置表中的伪数据进行转换以得到用于内存参数配置的SPD真实数据,从而对内存SPD数据加以保护。
该方法步骤如下:
1)***上电,BIOS执行到MRC;
2)MRC调用ReadSpd()函数,获取SPD配置表中指定偏移量位置处的SPD伪数据;
3)创建SPD数据映射模块,将获取的所述的SPD伪数据经过SPD数据映射模块使用相同的可逆变换处理映射得到所述的偏移量位置处用于内存参数配置的SPD真实数据;
4)所述的ReadSpd()函数返回所述的偏移量位置处实际使用的SPD数据给上层;
5)重复执行步骤2)到步骤4),完成所需全部内存配置参数的获取。
所述的获取SPD配置表中指定偏移量位置处的SPD伪数据;包括,所述的SPD伪数据由SPD真实数据经过可逆变换处理映射得到。
一种内存SPD保护装置,包括SPD伪数据获取模块、SPD数据映射模块、数据返回模块;
所述的SPD伪数据获取模块用于获取SPD配置表中指定偏移量位置处的SPD伪数据。
所述的SPD数据映射模块用于将获取的所述的SPD伪数据使用相同的可逆变换处理映射得到所述的偏移量位置处用于内存参数配置的SPD真实数据。
所述的数据返回模块用于ReadSpd()函数返回所述的偏移量位置处实际使用的SPD数据给上层。
本发明的一种内存SPD保护方法及装置和现有技术相比,具有设计合理、操作方便等特点,仅需添加一个软件模块即可对SPD数据进行保护,简单有效。
附图说明
附图1为实施例2内存SPD保护方法的流程示意图。
具体实施方式
实施例1:
配置装置:
一种内存SPD保护装置,包括SPD伪数据获取模块、SPD数据映射模块、数据返回模块;
所述的SPD伪数据获取模块用于获取SPD配置表中指定偏移量位置处的SPD伪数据。
所述的SPD数据映射模块用于将获取的所述的SPD伪数据使用相同的可逆变换处理映射得到所述的偏移量位置处用于内存参数配置的SPD真实数据。
所述的数据返回模块用于ReadSpd()函数返回所述的偏移量位置处实际使用的SPD数据给上层。
操作方法:
1)***上电,BIOS执行到MRC;
2)MRC调用ReadSpd()函数,获取SPD配置表中指定偏移量位置处的SPD伪数据;所述的SPD伪数据由SPD真实数据经过可逆变换处理映射得到。
3)创建SPD数据映射模块,将获取的所述的SPD伪数据经过SPD数据映射模块使用相同的可逆变换处理映射得到所述的偏移量位置处用于内存参数配置的SPD真实数据;
4)所述的ReadSpd()函数返回所述的偏移量位置处实际使用的SPD数据给上层;
5)重复执行步骤2)到步骤4),完成所需全部内存配置参数的获取。
实施例2:
一个加固型服务器,采用由DDR4组成的UDIMM表贴内存,无存放内存SPD数据的EEPROM,SPD内置于BIOS固件中。
如果不采用本发明所述的内存SPD保护方法,SPD数据以明码方式存在于BIOS固件中,则根据UDIMM的内存模组形式及内存颗粒为DDR4等信息,结合DDR4 SPD规范,可以推测DDR4 SPD General Configuration Section中的几个比较固定的字段的数据。
例如在本实施例中的SPD前四个字节也就是SPD General ConfigurationSection前四个字节的数据很可能为“23 11 0C 02”:
“23”表示SPD Bytes Total为512,SPD Bytes Used为384,DDR4内存SPD总字节数一般为512,SPD使用字节数一般为384,此值比较确定;
“11”表示SPD Revision为Revision 1.1,这是常见版本,此值比较确定;
“0C”表示DRAM Device Type为DDR4 SDRAM,这个字节是被***BIOS用作决定如何翻译SPD EEPROM(这里为BIOS固件中的SPD数据表)中所有其他字节的Key Byte,根据所用内存颗粒可以确定此值;
“02”表示Module Type为UDIMM,这个字节也是Key Byte,根据所用的内存模组形式也可以确定此值。
因此可以在十六进制的BIOS固件中搜索上述四个字节,一般都可以搜索到,如果不能搜索到则可以改变第一个或者第二个字节的内容,或者只搜索第三个和第四个字节的内容,根据上下文便可确定搜索到的数据是否为SPD数据区块的前四个字节或者第三个和第四个字节,进而可以确定整个SPD数据区块。
采用本发明所述的内存SPD保护方法,内存SPD真实数据不是以明码的形式直接编译到BIOS固件中,而是先使用可逆变换方式映射为内存SPD伪数据,在MRC的ReadSpd()中对获取的内存SPD伪数据采用同样的可逆变换方式映射回去,得到内存SPD真实数据,使存储的数据与实际使用的数据不同,从而对内存SPD数据加以保护。
一种可选的可逆变换方式为,对所有内存SPD真实数据进行与“0x55”的异或运算得到内存SPD伪数据,对所有内存SPD伪数据进行同样的与“0x55”的异或运算得到内存SPD真实数据。
例如,内存SPD真实数据的前四个字节为“23 11 0C 02”,经过异或运算处理映射得到内存SPD伪数据的前四个字节为“76 44 59 57”,MRC的ReadSpd()函数获取到内存SPD伪数据后采用同样的异或运算处理映射得到内存SPD真实数据。其他厂商在不掌握映射方法的情况下无法根据硬件组成和SPD规范获取用于搜索的关键字段的数据,也就无法获取整个SPD的数据。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

Claims (6)

1.一种内存SPD保护方法,其特征在于,包括,在BIOS的MRC中添加SPD数据映射模块,所述的SPD数据映射模块对内置于BIOS固件中明码表示的SPD配置表中的伪数据进行转换以得到用于内存参数配置的SPD真实数据,从而对内存SPD数据加以保护。
2.根据权利要求1所述的方法,其特征在于,该方法步骤如下:
1)***上电,BIOS执行到MRC;
2)MRC调用ReadSpd()函数,获取SPD配置表中指定偏移量位置处的SPD伪数据;
3)创建SPD数据映射模块,将获取的所述的SPD伪数据经过SPD数据映射模块使用相同的可逆变换处理映射得到所述的偏移量位置处用于内存参数配置的SPD真实数据;
4)所述的ReadSpd()函数返回所述的偏移量位置处实际使用的SPD数据给上层;
5)重复执行步骤2)到步骤4),完成所需全部内存配置参数的获取。
3.根据权利要求2所述的方法,其特征在于,所述的获取SPD配置表中指定偏移量位置处的SPD伪数据;包括,
所述的SPD伪数据由SPD真实数据经过可逆变换处理映射得到。
4.一种内存SPD保护装置,其特征在于,包括SPD伪数据获取模块、SPD数据映射模块、数据返回模块;
所述的SPD伪数据获取模块用于获取SPD配置表中指定偏移量位置处的SPD伪数据。
5.根据权利要求4所述的装置,其特征在于,所述的SPD数据映射模块用于将获取的所述的SPD伪数据使用相同的可逆变换处理映射得到所述的偏移量位置处用于内存参数配置的SPD真实数据。
6.根据权利要求1所述的装置,其特征在于,所述的数据返回模块用于ReadSpd()函数返回所述的偏移量位置处实际使用的SPD数据给上层。
CN201711078778.4A 2017-11-06 2017-11-06 一种内存spd保护方法及装置 Pending CN107832620A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711078778.4A CN107832620A (zh) 2017-11-06 2017-11-06 一种内存spd保护方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711078778.4A CN107832620A (zh) 2017-11-06 2017-11-06 一种内存spd保护方法及装置

Publications (1)

Publication Number Publication Date
CN107832620A true CN107832620A (zh) 2018-03-23

Family

ID=61654584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711078778.4A Pending CN107832620A (zh) 2017-11-06 2017-11-06 一种内存spd保护方法及装置

Country Status (1)

Country Link
CN (1) CN107832620A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108629194A (zh) * 2018-05-15 2018-10-09 济南浪潮高新科技投资发展有限公司 一种内存spd数据加密装置及方法
CN108664810A (zh) * 2018-05-11 2018-10-16 济南浪潮高新科技投资发展有限公司 一种基于可逆矩阵的内存spd保护方法
CN108985085A (zh) * 2018-07-17 2018-12-11 济南浪潮高新科技投资发展有限公司 一种基于Pauli-Z门的内存SPD数据加密方法
CN109492440A (zh) * 2018-11-09 2019-03-19 济南浪潮高新科技投资发展有限公司 一种基于cnot门的内存spd保护方法
CN110096462A (zh) * 2019-05-08 2019-08-06 济南浪潮高新科技投资发展有限公司 一种PCI Option ROM保护方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064563A1 (en) * 2004-09-23 2006-03-23 Hobson Louis B Caching presence detection data
CN101042683A (zh) * 2006-03-20 2007-09-26 联想(新加坡)私人有限公司 将计算机存储器和主板绑定的方法和装置
CN101078991A (zh) * 2006-05-23 2007-11-28 环达电脑(上海)有限公司 基于bios读写内存spd的计算机***信息保存和读取方法
CN105824761A (zh) * 2016-03-10 2016-08-03 北京金山安全软件有限公司 一种物理内存信息获取方法及装置
CN107169366A (zh) * 2016-03-08 2017-09-15 环达电脑(上海)有限公司 智能设备个人数据信息安全的保护方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064563A1 (en) * 2004-09-23 2006-03-23 Hobson Louis B Caching presence detection data
CN101042683A (zh) * 2006-03-20 2007-09-26 联想(新加坡)私人有限公司 将计算机存储器和主板绑定的方法和装置
CN101078991A (zh) * 2006-05-23 2007-11-28 环达电脑(上海)有限公司 基于bios读写内存spd的计算机***信息保存和读取方法
CN107169366A (zh) * 2016-03-08 2017-09-15 环达电脑(上海)有限公司 智能设备个人数据信息安全的保护方法
CN105824761A (zh) * 2016-03-10 2016-08-03 北京金山安全软件有限公司 一种物理内存信息获取方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664810A (zh) * 2018-05-11 2018-10-16 济南浪潮高新科技投资发展有限公司 一种基于可逆矩阵的内存spd保护方法
CN108629194A (zh) * 2018-05-15 2018-10-09 济南浪潮高新科技投资发展有限公司 一种内存spd数据加密装置及方法
CN108985085A (zh) * 2018-07-17 2018-12-11 济南浪潮高新科技投资发展有限公司 一种基于Pauli-Z门的内存SPD数据加密方法
CN109492440A (zh) * 2018-11-09 2019-03-19 济南浪潮高新科技投资发展有限公司 一种基于cnot门的内存spd保护方法
CN110096462A (zh) * 2019-05-08 2019-08-06 济南浪潮高新科技投资发展有限公司 一种PCI Option ROM保护方法

Similar Documents

Publication Publication Date Title
CN107832620A (zh) 一种内存spd保护方法及装置
TWI629591B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US7590899B2 (en) Processor memory array having memory macros for relocatable store protect keys
CN101944115B (zh) 一种日志搜索方法和***
US20120131565A1 (en) System and method for updating firmware of baseboard management controller of computing device
CN102467440A (zh) 内存错误检测***及方法
JP6788554B2 (ja) データスクラビングを実行する電子装置、方法、及びデータスクラビング装置
KR20080018196A (ko) 순응하는 장치와 함께 배포하기 위한 하드웨어 및소프트웨어 라이센스를 식별하기 위한 데이터 구조
EP2318933B1 (en) Method for updating data in memories using a memory management unit
CN106020837A (zh) 一种加载机顶盒驱动的方法及***
US10248497B2 (en) Error detection and correction utilizing locally stored parity information
CN106776105B (zh) 一种***启动文件的校验及编译方法
CN105446889A (zh) 一种内存管理方法、装置以及内存控制器
CN108629194A (zh) 一种内存spd数据加密装置及方法
CN108664810A (zh) 一种基于可逆矩阵的内存spd保护方法
CN101398874A (zh) 利用散列函数装入程序到微处理器内部sram并运行的方法
CN107870978A (zh) 关系网络拓扑方法及应用服务器
FI123305B (fi) Menetelmä ja järjestelmä sovelluksen kustomoimiseksi käyttämällä XML-konfigurointitiedostoja
CN103164348A (zh) 一种多***下对实时操作***所占用内存的保护方法
CN116384329A (zh) 芯片版图设计的接线检查方法、装置、设备及存储介质
CN105824927B (zh) 一种基于树状自动机的域名匹配方法
CN106201767A (zh) 一种基于ECC校验的防止SD使用过程中flash被意外篡改的方法
US11360849B2 (en) Method and monitoring unit for checking data in a storage unit or a system on a chip
CN109492440A (zh) 一种基于cnot门的内存spd保护方法
CN109522748A (zh) 一种基于置乱的内存spd数据加密方法及***

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180323