CN116185888A - 用于嵌入式系统选择内存颗粒相位的方法 - Google Patents

用于嵌入式系统选择内存颗粒相位的方法 Download PDF

Info

Publication number
CN116185888A
CN116185888A CN202310146860.5A CN202310146860A CN116185888A CN 116185888 A CN116185888 A CN 116185888A CN 202310146860 A CN202310146860 A CN 202310146860A CN 116185888 A CN116185888 A CN 116185888A
Authority
CN
China
Prior art keywords
read
parameter
phase
data
read phase
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
CN202310146860.5A
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.)
Hangzhou Nationalchip Science & Technology Co ltd
Original Assignee
Hangzhou Nationalchip Science & 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 Hangzhou Nationalchip Science & Technology Co ltd filed Critical Hangzhou Nationalchip Science & Technology Co ltd
Priority to CN202310146860.5A priority Critical patent/CN116185888A/zh
Publication of CN116185888A publication Critical patent/CN116185888A/zh
Pending legal-status Critical Current

Links

Images

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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了用于嵌入式系统选择内存颗粒相位的方法。现有内存颗粒配置方案稳定性差、成本高。boot启动后读取非易失性存储设备中存储的读写相位参数最优值,将参数最优值配置到内存颗粒控制器,启动设备。如果读取不到最优值,则启动相位探测。相位探测首先用内存颗粒读相位参数范围的中间值进行读写取数据测试,如果读写取成功,则向中间值两侧逐级探测左右边界,如果不成功,则先向一侧探测左右边界,如果达到最小参数仍未探测到,则向另一侧探测左右边界。取读写相位左右边界参数的平均值作为读写相位参数最优值,并写入非易失性存储设备。本发明避免了项目初期大量的内存颗粒测试工作,也规避了不稳定隐患,后期维修更换更加方便。

Description

用于嵌入式系统选择内存颗粒相位的方法
技术领域
本发明属于嵌入式系统技术领域,具体涉及一种用于嵌入式系统选择内存颗粒相位的方法。
背景技术
内存颗粒,即动态随机存取存储器(DRAM),属于易失性储存的一种,断电之后就会丢失数据,不会持久化保持。
内存颗粒主要完成作储存工作。常常说计算机就是0和1的计算,内存芯片内面的电容器和晶体管就是充当这样运算角色。当电容器充满电子的时就是代表1或者代表0,而晶体管则代表开关可以让控制电路读取或改变电容器的状态。
一个电容器和一个晶体管组成一对叫储存单元,需要周期性补充电子保持状态故称“动态”存储器,即内存颗粒。内存颗粒包括同步动态存储器(SDRAM)和各种类型双倍数据速率动态存储器(DDRAM)。
嵌入式系统一般配置一颗内存颗粒,为嵌入式软件提供运行时的存储空间。内存颗粒的稳定行决定了嵌入式软件的稳定性,内存颗粒又有各种参数可以进行配置,以满足不同嵌入式开发环境下稳定运行的要求。
影响内存颗粒运行稳定性的相关参数包括:OEM,ODT,读相位,写相位。其中读相位和写相位是最可能需要调整的。相同型号的不同内存颗粒之间,不同型号的内存颗粒之间,都存在读相位和写相位的区别。因此如何尽可能兼容不同内存颗粒的读相位,写相位需求是一个难点。传统方案主要有两种:方案1.在项目开始时指定几款备选内存颗粒,通过眼图测试和相位测试确定一组读相位和写相位,使之能够满足所有备选颗粒的要求;方案2.采用带有自动适应读写相位的内存控制器。
传统方案1缺陷在于无法完全适应所有型号的颗粒,即使是同一型号内存颗粒也会在不同个体间存在读写相位差异,这就导致整机方案稳定性风险。另外,该方案还导致大量的测试成本。传统方案2缺陷在于具备自动适应读写相位的内存控制器都比较昂贵,会导致整机成本上升,很多嵌入式领域为了成本考虑不会考虑。
发明内容
本发明的目的就是针对现有技术的不足,提供一种用于嵌入式系统选择内存颗粒相位的方法,在不增加硬件成本下,能够自适应内存颗粒读写相位,提升系统稳定性,节省了大量人力和测试时间。
本发明方法具体如下:
步骤(1)设备上电,boot启动,boot读取非易失性存储设备中存储的读相位参数最优值PR和写相位参数最优值PW,如果读取失败,执行步骤(2),否则执行步骤(4)。
步骤(2)启动相位探测,获取内存颗粒读、写相位参数最优值,具体是:
(2-1)获取内存颗粒读相位参数范围A~B的中间值
Figure BDA0004089488530000021
A和B为自然数,[·]表示取整;利用读相位参数中间值C进行读取数据测试,如果读取数据成功,执行步骤(2-2)~(2-7),否则执行步骤(2-8);
(2-2)利用读相位参数C-S进行读取数据测试,如果读取数据成功,执行步骤(2-3),否则C-S即为读相位左边界参数L;S为设定的读相位参数步进量,S=0.1~0.5;
(2-3)利用读相位参数C-2×S进行读取数据测试,如果读取数据成功,执行步骤(2-4),否则C-2×S即为读相位左边界参数L;
(2-4)以此类推,直至读取数据失败,确定读相位左边界参数L;
(2-5)利用读相位参数C+S进行读取数据测试,如果读取数据成功,执行步骤(2-6),否则C+S即为读相位右边界参数R;
(2-6)利用读相位参数C+2×S进行读取数据测试,如果读取数据成功,执行步骤(2-7),否则C+2×S即为读相位右边界参数R;
(2-7)以此类推,直至读取数据失败,确定读相位右边界参数R,执行步骤(2-16);
(2-8)利用读相位参数C-S进行读取数据测试,如果读取数据失败,则利用读相位参数C-2×S进行读取数据测试,以此类推,直至读取数据成功,则读取成功时对应的读相位参数C-n×S即为读相位右边界参数R,n为确定右边界参数的测试次数,执行步骤(2-9)~(2-11);如果直到读相位最小参数A仍未读取数据成功,执行步骤(2-12)~(2-15);
(2-9)利用读相位参数C-(n+1)×S进行读取数据测试,如果读取数据成功,执行步骤(2-10),否则C-(n+1)×S即为读相位左边界参数L;
(2-10)利用读相位参数C-(n+2)×S进行读取数据测试,如果读取数据成功,执行步骤(2-11),否则C-(n+2)×S即为读相位左边界参数L;
(2-11)以此类推,直至读取数据失败,确定读相位左边界参数L,执行步骤(2-16);
(2-12)利用读相位参数C+S进行读取数据测试,如果读取数据失败,则利用读相位参数C+2×S进行读取数据测试,以此类推,直至读取数据成功,则读取成功时对应的读相位参数C+m×S即为读相位左边界参数L,m为确定左边界参数的测试次数;
(2-13)利用读相位参数C+(m+1)×S进行读取数据测试,如果读取数据成功,执行(2-14),否则C+(m+1)×S即为读相位右边界参数R;
(2-14)利用读相位参数C+(m+2)×S进行读取数据测试,如果读取数据成功,执行(2-15),否则C+(m+2)×S即为读相位右边界参数R;
(2-15)以此类推,直至读取数据失败,确定读相位右边界参数R,执行步骤(2-16);
(2-16)确定读相位参数最优值
Figure BDA0004089488530000031
Figure BDA0004089488530000032
表示向上取整;
(2-17)按照(2-1)~(2-16)相同方法,确定写相位参数最优值PW
步骤(3)将读相位参数最优值PR和写相位参数最优值PW写入非易失性存储设备中。
步骤(4)将读相位参数最优值PR和写相位参数最优值PW配置到内存颗粒控制器,启动设备。
如果更换新的内存颗粒,则删除非易失性存储设备中存储的读相位参数最优值PR和写相位参数最优值PW,执行步骤(1)~(4),设备重新启动。
采用本发明方法,使得嵌入式系统启动的时候能够自动使用内存颗粒最优的读写相位,避免了项目初期大量的内存颗粒测试工作,也规避了不同内存颗粒个体间读写相位差异带来的不稳定隐患,后期维修更换内存颗粒也更加方便,免去了大量测试工作。
附图说明
图1为本发明的流程示意图。
具体实施方式
如图1所示,一种用于嵌入式系统选择内存颗粒相位的方法,具体流程如下:
步骤(1)设备上电,boot启动,boot读取非易失性存储设备中存储的读相位参数最优值PR和写相位参数最优值PW,如果读取失败,执行步骤(2),否则执行步骤(4)。
步骤(2)启动相位探测,获取内存颗粒读、写相位参数最优值,具体是:
(2-1)获取内存颗粒读相位参数范围A~B的中间值
Figure BDA0004089488530000041
A和B为自然数,[·]表示取整,可以是向下取整
Figure BDA0004089488530000042
或向上取整
Figure BDA0004089488530000043
读相位参数范围为内存颗粒自身属性;利用读相位参数中间值C进行读取数据测试,如果读取数据成功,执行步骤(2-2)~(2-7),否则执行步骤(2-8);
(2-2)利用读相位参数C-S进行读取数据测试,如果读取数据成功,执行步骤(2-3),否则C-S即为读相位左边界参数L;
S为设定的读相位参数步进量,S=0.1~0.5,设定值越小,精度越高,但计算量越大;
(2-3)利用读相位参数C-2×S进行读取数据测试,如果读取数据成功,执行步骤(2-4),否则C-2×S即为读相位左边界参数L;
(2-4)以此类推,直至读取数据失败,确定读相位左边界参数L;
(2-5)利用读相位参数C+S进行读取数据测试,如果读取数据成功,执行步骤(2-6),否则C+S即为读相位右边界参数R;
(2-6)利用读相位参数C+2×S进行读取数据测试,如果读取数据成功,执行步骤(2-7),否则C+2×S即为读相位右边界参数R;
(2-7)以此类推,直至读取数据失败,确定读相位右边界参数R,执行步骤(2-16);
(2-8)利用读相位参数C-S进行读取数据测试,如果读取数据失败,则利用读相位参数C-2×S进行读取数据测试,以此类推,直至读取数据成功,则读取成功时对应的读相位参数C-n×S即为读相位右边界参数R,n为确定右边界参数的测试次数,执行步骤(2-9)~(2-11);如果直到读相位最小参数A仍未读取数据成功,执行步骤(2-12)~(2-15);
(2-9)利用读相位参数C-(n+1)×S进行读取数据测试,如果读取数据成功,执行步骤(2-10),否则C-(n+1)×S即为读相位左边界参数L;
(2-10)利用读相位参数C-(n+2)×S进行读取数据测试,如果读取数据成功,执行步骤(2-11),否则C-(n+2)×S即为读相位左边界参数L;
(2-11)以此类推,直至读取数据失败,确定读相位左边界参数L,执行步骤(2-16);
(2-12)利用读相位参数C+S进行读取数据测试,如果读取数据失败,则利用读相位参数C+2×S进行读取数据测试,以此类推,直至读取数据成功,则读取成功时对应的读相位参数C+m×S即为读相位左边界参数L,m为确定左边界参数的测试次数;
(2-13)利用读相位参数C+(m+1)×S进行读取数据测试,如果读取数据成功,执行(2-14),否则C+(m+1)×S即为读相位右边界参数R;
(2-14)利用读相位参数C+(m+2)×S进行读取数据测试,如果读取数据成功,执行(2-15),否则C+(m+2)×S即为读相位右边界参数R;
(2-15)以此类推,直至读取数据失败,确定读相位右边界参数R,执行步骤(2-16);
(2-16)确定读相位参数最优值
Figure BDA0004089488530000051
Figure BDA0004089488530000052
表示向上取整;
(2-17)按照(2-1)~(2-16)相同方法,确定写相位参数最优值PW
步骤(3)将读相位参数最优值PR和写相位参数最优值PW写入非易失性存储设备中。
步骤(4)将读相位参数最优值PR和写相位参数最优值PW配置到内存颗粒控制器,启动设备。
如果更换新的内存颗粒,则删除非易失性存储设备中存储的读相位参数最优值PR和写相位参数最优值PW,执行步骤(1)~(4),设备重新启动。具体可以采用如下流程:
步骤(a)用户发送更新DRAM读写相位指令,执行步骤(b);
步骤(b)设备接收指令启动探测DRAM读写相位程序,执行步骤(c);
步骤(c)判断读是否探测到DRAM的读写相位,没有探测到则执行步骤(d);探测到则执行步骤(g);
步骤(d)通知用户读写相位探测失败,执行步骤(e);
步骤(e)判断是否需要重新探测,是则返回步骤(b),否则执行步骤(f);
步骤(f)停止读写相位更新,流程结束;
步骤(g)通知用户得到的读写相位,执行步骤(h);
步骤(h)判断是否采用探测到的读写相位,不采用则执行步骤(i),采用则执行步骤(j);
步骤(i)判断是否需要重新探测读写相位,是则返回步骤(b),否则返回步骤(f);
步骤(j)更新非易失性存储器保存的读写相位,设备重新启动。

Claims (3)

1.用于嵌入式系统选择内存颗粒相位的方法,其特征在于:
步骤(1)设备上电,boot启动,boot读取非易失性存储设备中存储的读相位参数最优值PR和写相位参数最优值PW,如果读取失败,执行步骤(2),否则执行步骤(4);
步骤(2)启动相位探测,获取内存颗粒读、写相位参数最优值,具体是:
(2-1)获取内存颗粒读相位参数范围A~B的中间值
Figure FDA0004089488520000011
A和B为自然数,[·]表示取整;利用读相位参数中间值C进行读取数据测试,如果读取数据成功,执行步骤(2-2)~(2-7),否则执行步骤(2-8);
(2-2)利用读相位参数C-S进行读取数据测试,如果读取数据成功,执行步骤(2-3),否则C-S即为读相位左边界参数L;S为设定的读相位参数步进量,S=0.1~0.5;
(2-3)利用读相位参数C-2×S进行读取数据测试,如果读取数据成功,执行步骤(2-4),否则C-2×S即为读相位左边界参数L;
(2-4)以此类推,直至读取数据失败,确定读相位左边界参数L;
(2-5)利用读相位参数C+S进行读取数据测试,如果读取数据成功,执行步骤(2-6),否则C+S即为读相位右边界参数R;
(2-6)利用读相位参数C+2×S进行读取数据测试,如果读取数据成功,执行步骤(2-7),否则C+2×S即为读相位右边界参数R;
(2-7)以此类推,直至读取数据失败,确定读相位右边界参数R,执行步骤(2-16);
(2-8)利用读相位参数C-S进行读取数据测试,如果读取数据失败,则利用读相位参数C-2×S进行读取数据测试,以此类推,直至读取数据成功,则读取成功时对应的读相位参数C-n×S即为读相位右边界参数R,n为确定右边界参数的测试次数,执行步骤(2-9)~(2-11);如果直到读相位最小参数A仍未读取数据成功,执行步骤(2-12)~(2-15);
(2-9)利用读相位参数C-(n+1)×S进行读取数据测试,如果读取数据成功,执行步骤(2-10),否则C-(n+1)×S即为读相位左边界参数L;
(2-10)利用读相位参数C-(n+2)×S进行读取数据测试,如果读取数据成功,执行步骤(2-11),否则C-(n+2)×S即为读相位左边界参数L;
(2-11)以此类推,直至读取数据失败,确定读相位左边界参数L,执行步骤(2-16);
(2-12)利用读相位参数C+S进行读取数据测试,如果读取数据失败,则利用读相位参数C+2×S进行读取数据测试,以此类推,直至读取数据成功,则读取成功时对应的读相位参数C+m×S即为读相位左边界参数L,m为确定左边界参数的测试次数;
(2-13)利用读相位参数C+(m+1)×S进行读取数据测试,如果读取数据成功,执行(2-14),否则C+(m+1)×S即为读相位右边界参数R;
(2-14)利用读相位参数C+(m+2)×S进行读取数据测试,如果读取数据成功,执行(2-15),否则C+(m+2)×S即为读相位右边界参数R;
(2-15)以此类推,直至读取数据失败,确定读相位右边界参数R,执行步骤(2-16);
(2-16)确定读相位参数最优值
Figure FDA0004089488520000021
Figure FDA0004089488520000022
表示向上取整;
(2-17)按照(2-1)~(2-16)相同方法,确定写相位参数最优值PW
步骤(3)将读相位参数最优值PR和写相位参数最优值PW写入非易失性存储设备中;
步骤(4)将读相位参数最优值PR和写相位参数最优值PW配置到内存颗粒控制器,启动设备。
2.如权利要求1所述的用于嵌入式系统选择内存颗粒相位的方法,其特征在于:如果更换新的内存颗粒,则删除非易失性存储设备中存储的读相位参数最优值PR和写相位参数最优值PW,执行步骤(1)~(4),设备重新启动。
3.如权利要求1或2所述的用于嵌入式系统选择内存颗粒相位的方法,其特征在于:步骤(2-1)中的取整为向下取整
Figure FDA0004089488520000023
或向上取整
Figure FDA0004089488520000024
CN202310146860.5A 2023-02-08 2023-02-08 用于嵌入式系统选择内存颗粒相位的方法 Pending CN116185888A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310146860.5A CN116185888A (zh) 2023-02-08 2023-02-08 用于嵌入式系统选择内存颗粒相位的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310146860.5A CN116185888A (zh) 2023-02-08 2023-02-08 用于嵌入式系统选择内存颗粒相位的方法

Publications (1)

Publication Number Publication Date
CN116185888A true CN116185888A (zh) 2023-05-30

Family

ID=86434184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310146860.5A Pending CN116185888A (zh) 2023-02-08 2023-02-08 用于嵌入式系统选择内存颗粒相位的方法

Country Status (1)

Country Link
CN (1) CN116185888A (zh)

Similar Documents

Publication Publication Date Title
US9472285B2 (en) Test partitioning for a non-volatile memory
TWI385516B (zh) 快閃記憶體儲存系統及其資料寫入方法
TWI703442B (zh) 快閃記憶體控制器及相關的存取方法及電子裝置
TWI404054B (zh) 處理微碼程式更新錯誤的裝置及其方法
EP2612241A1 (en) Handling errors during device bootup from a non-volatile memory
TW201321977A (zh) 快閃記憶裝置及其資料讀取方法
WO2022151717A1 (zh) 封装后的内存修复方法及装置、存储介质、电子设备
US20160342355A1 (en) Memory erasing method, memory controller, and memory storage apparatus
CN107678420B (zh) 一种发动机数据在线存储方法
CN114694728A (zh) NVMe SSD的断电持续时间确定
WO2019165774A1 (zh) 一种双镜像共享conf分区文件的设计方法及装置
CN111459557A (zh) 一种缩短服务器开机时间的方法及系统
US10657003B2 (en) Partial backup during runtime for memory modules with volatile memory and non-volatile memory
US11042310B2 (en) Reading of start-up information from different memory regions of a memory system
TW202027085A (zh) 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置
CN103425549A (zh) 嵌入式控制器的固件管理方法及系统
US8065497B2 (en) Data management method, and storage apparatus and controller thereof
JP2010067098A (ja) 情報処理装置、情報処理方法および情報処理プログラム
CN116185888A (zh) 用于嵌入式系统选择内存颗粒相位的方法
CN106503542A (zh) 设备参数防改写方法、设备和空调器
CN104866388A (zh) 数据处理方法及装置
CN114490185A (zh) Fpga系统参数备份方法
TWI738235B (zh) 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置
US20190384872A1 (en) Development system and productization method for data storage device
TWI602190B (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
CB02 Change of applicant information

Country or region after: China

Address after: 310012 5-6 / F, block a, East Software Park Innovation Building, 90 Wensan Road, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou Guoxin Microelectronics Co.,Ltd.

Address before: 310012 5-6 / F, block a, East Software Park Innovation Building, 90 Wensan Road, Hangzhou City, Zhejiang Province

Applicant before: HANGZHOU NATIONALCHIP SCIENCE & TECHNOLOGY Co.,Ltd.

Country or region before: China

CB02 Change of applicant information