CN107451023B - 一种基于uboot的内存自适配方法 - Google Patents

一种基于uboot的内存自适配方法 Download PDF

Info

Publication number
CN107451023B
CN107451023B CN201710713674.XA CN201710713674A CN107451023B CN 107451023 B CN107451023 B CN 107451023B CN 201710713674 A CN201710713674 A CN 201710713674A CN 107451023 B CN107451023 B CN 107451023B
Authority
CN
China
Prior art keywords
memory
uboot
cpu
adaptation
adaptation method
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
CN201710713674.XA
Other languages
English (en)
Other versions
CN107451023A (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.)
Tidal Group Co Ltd
Original Assignee
Inspur Group 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 Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201710713674.XA priority Critical patent/CN107451023B/zh
Publication of CN107451023A publication Critical patent/CN107451023A/zh
Application granted granted Critical
Publication of CN107451023B publication Critical patent/CN107451023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种基于uboot的内存自适配方法,应用于计算机中,其实现步骤如下:在运行uboot系统进行系统引导流程时,首先对内存进行自动检测:当uboot系统第一次运行时,执行内存自适配;当uboot系统非第一次运行时,跳过内存自适配的步骤,然后再开始系统引导。本发明的一种基于uboot的内存自适配方法与现有技术相比,通过在开机过程中执行一次自动完成内存重要参数的检测和配置,提高工作效率和得到计算机精确的内存配置,适用范围广泛,实用性强。

Description

一种基于uboot的内存自适配方法
技术领域
本发明涉及计算机技术领域,具体地说是一种基于uboot的内存自适配方法。
背景技术
内存是计算机中重要的部件之一,是与CPU进行沟通的桥梁,内存的运行也决定了计算机的稳定运行,因此是计算机产品性能一个重要衡量标准。内存条是由内存芯片、电路板、金手指等部分组成的,板载内存是由表贴内存芯片、SPD芯片等直接焊接到主板上而组成的。
计算机开发厂商对于内存部分需要做硬件及软件的相应调试,以保证内存的稳定运行。在内存硬件电路调通的基础上,不论更换内存、CPU、板材、PCB设计等,都会引起物理特性的改变,从而对内存延时、供压稳定性等各种参数配置引起改变。对于大批量主板生产,内存调试完成后,鉴于每块主板的工艺差异及器件性能差异,会影响内存参数的最优选择,如果不对每块主板单独适配,也不能保证得到精确的最优配置参数。每块主板单独适配会极大增加工作量。
综上,为了满足高效、准确的实现每块主板内存的优质配置,现提出一种基于uboot的内存自适配方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种基于uboot的内存自适配方法。
一种基于uboot的内存自适配方法,应用于计算机中,其实现步骤如下:在运行uboot系统进行系统引导流程时,首先对内存进行自动检测:当uboot系统第一次运行时,执行内存自适配;当uboot系统非第一次运行时,跳过内存自适配的步骤,然后再开始系统引导。
所述内存包括内存条和板载内存贴片。
内存自适配的过程为:
首先将CPU进行热复位;
然后进行MCU初始化,读出每个与内存连接的通道中的内存SPD信息,并将SPD信息写入到配置文件中;
对CPU端和内存端的阻值进行扫描,将扫描结果写入到配置文件中;
对电压进行扫描,将扫描结果写入到配置文件中;
根据配置文件,修改内存参数,完成内存自适配。
所述CPU热复位是复位CPU相关寄存器的初始值。
读出的内存SPD信息包括内存容量,内存类型,内存颗粒的Rank数、行数、列数、DRAM宽度、是否使能ECC、是否镜像信息。
对CPU端和内存端的阻值进行扫描的过程为:每个通道,按内存端的片内终结odt与片外驱动ocd值排列组合,对CPU端的空闲、片内终结odt与片外驱动ocd阻值状态进行扫描;对扫描得出的CPU端有效值,进行数量及取值范围比较,选择最优CPU端阻值组合和对应的内存端阻值,然后将选择的内存端和CPU端的阻值转化成相应的寄存器配置值并写入相关配置文件。
所述内存端的片内终结odt的阻值状态有40Ω、34.3Ω两种情况,片外驱动ocd的阻值状态有20Ω、30Ω、40Ω、60Ω、120Ω、禁用disable六种情况,相对应的,其排列组合包括40Ω20Ω、40Ω30Ω、40Ω40Ω、40Ω60Ω、40Ω120Ω、40Ωdisable,34.3Ω20Ω、34.3Ω30Ω、34.3Ω40Ω、34.3Ω60Ω、34.3Ω120Ω、34.3Ωdisable12种状态。
根据配置文件,修改内存参数的过程为:首先根据配置文件中的内容配置内存,然后进行内存bist测试过程,将测试得出的延时值,按不同内存类型进行数据计算,修改相应的采样频率、采样步长、周期阈值、早期阈值参数。
按不同内存类型进行数据计算的过程为:首先将测试得出的延时值,按某种类型的内存进行延时,延时规律为从一端向另一端递增或递减,如果有不符合规律的则修改延迟的周期阈值,如果延时数据出现包括零的完全不在范围内的数据,则修改相应的采样频率、采样步长参数。
在内存自适配后,开始系统引导前,还包括初始化的步骤,该步骤是指在内存自适配后,通过执行函数start_armboot函数,对系统外围设备进行初始化,最终进入自动系统引导的模式,即autoboot模式下。
本发明的一种基于uboot的内存自适配方法和现有技术相比,具有以下有益效果:
本发明的一种基于uboot的内存自适配方法,通过在开机过程中执行一次自动完成内存重要参数的检测和配置,提高工作效率和得到计算机精确的内存配置,适用范围广泛,可应用于服务器、笔记本、一体机等一些计算机开发厂商,在产品出厂前做内存自适配,为开发工作带来便利,实用性强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1为本发明的实现流程图。
附图2为本发明的具体实施流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的方案,下面结合具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如附图1、图2所示,本发明提供一种基于uboot的内存自适配方法,应用于计算机中,其实现步骤如下:在运行uboot系统进行系统引导流程时,首先对内存进行自动检测:当uboot系统第一次运行时,执行内存自适配;当uboot系统非第一次运行时,跳过内存自适配的步骤,然后再开始系统引导。
所述内存包括内存条和板载内存贴片。
内存自适配的过程为:
首先将CPU进行热复位;
然后进行MCU初始化,读出每个与内存连接的通道中的内存SPD信息,并将SPD信息写入到配置文件中;
对CPU端和内存端的阻值进行扫描,将扫描结果写入到配置文件中;
对电压进行扫描,将扫描结果写入到配置文件中;
根据配置文件,修改内存参数,完成内存自适配。
所述CPU热复位是复位CPU相关寄存器的初始值。
读出的内存SPD信息包括内存容量,内存类型,内存颗粒的Rank数、行数、列数、DRAM宽度、是否使能ECC、是否镜像信息。
对CPU端和内存端的阻值进行扫描的过程为:每个通道,按内存端的片内终结odt与片外驱动ocd值排列组合,对CPU端的空闲、片内终结odt与片外驱动ocd阻值状态进行扫描;对扫描得出的CPU端有效值,进行数量及取值范围比较,选择最优CPU端阻值组合和对应的内存端阻值,然后将选择的内存端和CPU端的阻值转化成相应的寄存器配置值并写入相关配置文件。
所述内存端的片内终结odt的阻值状态有40Ω、34.3Ω两种情况,片外驱动ocd的阻值状态有20Ω、30Ω、40Ω、60Ω、120Ω、禁用disable六种情况,相对应的,其排列组合包括40Ω20Ω、40Ω30Ω、40Ω40Ω、40Ω60Ω、40Ω120Ω、40Ωdisable,34.3Ω20Ω、34.3Ω30Ω、34.3Ω40Ω、34.3Ω60Ω、34.3Ω120Ω、34.3Ωdisable12种状态。
根据配置文件,修改内存参数的过程为:首先根据配置文件中的内容配置内存,然后进行内存bist测试过程,将测试得出的延时值,按不同内存类型进行数据计算,修改相应的采样频率、采样步长、周期阈值、早期阈值参数。
按不同内存类型进行数据计算的过程为:首先将测试得出的延时值,按某种类型的内存进行延时,延时规律为从一端向另一端递增或递减,如果有不符合规律的则修改延迟的周期阈值,如果延时数据出现包括零的完全不在范围内的数据,则修改相应的采样频率、采样步长参数。
在内存自适配后,开始系统引导前,还包括初始化的步骤,该步骤是指在内存自适配后,通过执行函数start_armboot函数,对系统外围设备进行初始化,最终进入自动系统引导的模式,即autoboot模式下。
具体实例:
计算机主板内存连接好,且硬件调试通过后,开机上电,在这里选用一体机主板、sodimm内存条。
运行到内存自适配流程,经过CPU热复位。
开始MCU初始化,先读出每个对应通道的SPD信,如内存容量,内存类型,内存颗粒的Rank数、row数、column数、DRAM宽度、是否使能ECC、是否mirror等;并对SPD信息进行自动检测,将SPD读取信息写入相应的配置文件。
对通道1和通道2,分别按dimm端ocd与odt值为40Ω20Ω、40Ω30Ω、40Ω40Ω、40Ω60Ω、40Ω120Ω、40Ωdisable,34.3Ω20Ω、34.3Ω30Ω、34.3Ω40Ω、34.3Ω60Ω、34.3Ω120Ω、34.3Ωdisable,等12种组合状态,对CPU端的idle、ocd和odt阻值状态进行扫描。通过计算得出在dimm端odt与ocd阻值组合为34.3Ω40Ω时,CPU端阻值有效值最多,选择其中出现频率最高的三个组合。并转化为相应的寄存器配置值分别为0x46,0x999999。完成阻值的自检测和自适配过程。
对电压Vref进行扫描,vol training 结果为b,将其写入配置文件。
根据以上配置参数配置内存后,进行内存bist过程,将扫描得出的延时值,按sodimm类型内存,延时规律为从一段向另一端递增或递减,如果有不符合规律的则修改延迟的周期阈值,如果延时数据出现零等完全不在范围内的数据,则修改相应的采样频率、采样步长等参数。至此内存自适配过程基本完成。
继续运行uboot的其他初始化过程。
进入start_armboot,对系统外围设备等进行更进一步的初始化,最终进入autoboot模式。
进入main_loop,开始系统引导、运行相关流程。
至此,带内存自适配功能的uboot引导运行过程,完成。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (9)

1.一种基于uboot的内存自适配方法,其特征在于,应用于计算机中,其实现步骤如下:在运行uboot系统进行系统引导流程时,首先对内存进行自动检测:当uboot系统第一次运行时,执行内存自适配;当uboot系统非第一次运行时,跳过内存自适配的步骤,然后再开始系统引导;
内存自适配的过程为:
首先将CPU进行热复位;
然后进行MCU初始化,读出每个与内存连接的通道中的内存SPD信息,并将SPD信息写入到配置文件中;
对CPU端和内存端的阻值进行扫描,将扫描结果写入到配置文件中;
对电压进行扫描,将扫描结果写入到配置文件中;
根据配置文件,修改内存参数,完成内存自适配。
2.根据权利要求1所述的一种基于uboot的内存自适配方法,其特征在于,所述内存包括内存条和板载内存贴片。
3.根据权利要求1所述的一种基于uboot的内存自适配方法,其特征在于,所述CPU热复位是复位CPU相关寄存器的初始值。
4.根据权利要求1所述的一种基于uboot的内存自适配方法,其特征在于,读出的内存SPD信息包括内存容量,内存类型,内存颗粒的Rank数、行数、列数、DRAM宽度、是否使能ECC、是否镜像信息。
5.根据权利要求1所述的一种基于uboot的内存自适配方法,其特征在于,对CPU端和内存端的阻值进行扫描的过程为:每个通道,按内存端的片内终结odt与片外驱动ocd值排列组合,对CPU端的空闲、片内终结odt与片外驱动ocd阻值状态进行扫描;对扫描得出的CPU端有效值,进行数量及取值范围比较,选择最优CPU端阻值组合和对应的内存端阻值,然后将选择的内存端和CPU端的阻值转化成相应的寄存器配置值并写入相关配置文件。
6.根据权利要求5所述的一种基于uboot的内存自适配方法,其特征在于,所述内存端的片内终结odt的阻值状态有40Ω、34.3Ω两种情况,片外驱动ocd的阻值状态有20Ω、30Ω、40Ω、60Ω、120Ω、disable六种情况,相对应的,其排列组合包括40Ω20Ω、40Ω30Ω、40Ω40Ω、40Ω60Ω、40Ω120Ω、40Ωdisable,34.3Ω20Ω、34.3Ω30Ω、34.3Ω40Ω、34.3Ω60Ω、34.3Ω120Ω、34.3Ωdisable12种状态。
7.根据权利要求1所述的一种基于uboot的内存自适配方法,其特征在于,根据配置文件,修改内存参数的过程为:首先根据配置文件中的内容配置内存,然后进行内存bist测试过程,将测试得出的延时值,按不同内存类型进行数据计算,修改相应的采样频率、采样步长、周期阈值、早期阈值参数。
8.根据权利要求7所述的一种基于uboot的内存自适配方法,其特征在于,按不同内存类型进行数据计算的过程为:首先将测试得出的延时值,按某种类型的内存进行延时,延时规律为从一端向另一端递增或递减,如果有不符合规律的则修改延迟的周期阈值,如果延时数据出现包括零的完全不在范围内的数据,则修改相应的采样频率、采样步长参数。
9.根据权利要求1-8任一所述的一种基于uboot的内存自适配方法,其特征在于,在内存自适配后,开始系统引导前,还包括初始化的步骤,该步骤是指在内存自适配后,通过执行函数start_armboot函数,对系统外围设备进行初始化,最终进入自动系统引导的模式,即autoboot模式下。
CN201710713674.XA 2017-08-18 2017-08-18 一种基于uboot的内存自适配方法 Active CN107451023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710713674.XA CN107451023B (zh) 2017-08-18 2017-08-18 一种基于uboot的内存自适配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710713674.XA CN107451023B (zh) 2017-08-18 2017-08-18 一种基于uboot的内存自适配方法

Publications (2)

Publication Number Publication Date
CN107451023A CN107451023A (zh) 2017-12-08
CN107451023B true CN107451023B (zh) 2019-12-03

Family

ID=60492559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710713674.XA Active CN107451023B (zh) 2017-08-18 2017-08-18 一种基于uboot的内存自适配方法

Country Status (1)

Country Link
CN (1) CN107451023B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108537044A (zh) * 2018-04-10 2018-09-14 济南浪潮高新科技投资发展有限公司 一种基于U-Boot的内存自适配方法、装置及系统
CN109918264B (zh) * 2019-02-27 2023-01-10 苏州浪潮智能科技有限公司 一种自动识别内存信息的方法,系统,设备及可读存储介质
CN110929659B (zh) * 2019-11-28 2023-04-18 中国人民解放军国防科技大学 基于自适应调整步长的大数据作业采样方法和装置
CN114020211B (zh) * 2021-10-12 2024-03-15 深圳市广和通无线股份有限公司 存储空间管理方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101847104A (zh) * 2010-05-19 2010-09-29 深圳市九洲电器有限公司 一种内存参数的配置方法、系统及嵌入式设备
CN104572365A (zh) * 2013-10-18 2015-04-29 中国长城计算机深圳股份有限公司 一种内存自适配方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101847104A (zh) * 2010-05-19 2010-09-29 深圳市九洲电器有限公司 一种内存参数的配置方法、系统及嵌入式设备
CN104572365A (zh) * 2013-10-18 2015-04-29 中国长城计算机深圳股份有限公司 一种内存自适配方法及装置

Also Published As

Publication number Publication date
CN107451023A (zh) 2017-12-08

Similar Documents

Publication Publication Date Title
CN107451023B (zh) 一种基于uboot的内存自适配方法
US9536590B1 (en) System and method of memory electrical repair
DE102011087105B4 (de) Verfahren zum Erzeugen einer Betriebsspannung in einem nichtflüchtigen Speicherelement und nichtflüchtiges Speicherelement
US8725938B2 (en) Apparatus, system, and method for testing physical regions in a solid-state storage device
DE102011089889A1 (de) Verfahren zum Booten eines Informationshandhabungssystems und Informationshandhabungssystem
DE102006002526B4 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
DE112009000431B4 (de) Prozessorbasiertes system, nichtflüchtiger cachespeicher und verfahren zum nutzen eines nichtflüchtigen cachespeichers
EP3324411A1 (en) A method and apparatus for dynamic memory termination
JP2011159380A (ja) 可変抵抗メモリ装置、その動作方法、及びそれを含むメモリシステム
KR102646905B1 (ko) 온 다이 터미네이션 회로, 이를 구비하는 메모리 장치 및 메모리 시스템
WO2018075118A1 (en) Software mode register access for platform margining and debug
US10055366B2 (en) Method for data transmission and server for implementing the method
TWI694378B (zh) 記憶體介面的阻抗組態方法及電腦程式產品
US11495281B2 (en) Write interamble counter
US9437311B1 (en) Flash memory apparatus and initialization method for programming operation thereof
CN110390980A (zh) 存储模块
US7984326B2 (en) Memory downsizing in a computer memory subsystem
DE102009004565B4 (de) Vorrichtung und Verfahren zum Zwischenspeichern von Daten zwischen Speichercontroller und DRAM
US20170103797A1 (en) Calibration method and device for dynamic random access memory
US20070118682A1 (en) Method and apparatus for interfacing and managing NAND flash memory
TW201020716A (en) Methods and apparatuses for determining quality parameters of control signals of memory modules
CN114783503A (zh) 存储器接口的阻抗配置装置
WO2021119194A1 (en) Active input/output expander of a memory sub-system
US8001443B2 (en) Data storage apparatus, data storage controller, and related automated testing method
US8249819B1 (en) Virtual binning

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: 20191104

Address after: 250100 Ji'nan high tech Zone, Shandong, No. 1036 wave road

Applicant after: Tidal Group Co., Ltd.

Address before: 250100, Ji'nan province high tech Zone, Sun Village Branch Road, No. 2877, building, floor, building, on the first floor

Applicant before: Ji'nan wave high and New Technology Investment Development Co., Ltd.

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