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
read data
executing
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
KR101721154B1 (ko) 구성가능 에러 문턱값들 및 고장 해석 능력을 지니는 메모리 시스템
JP5629391B2 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
CN113242296B (zh) 一种集群中主节点选举方法、系统及介质
US20030135793A1 (en) Method and apparatus for dynamic degradation detection
CN103186471B (zh) 存储设备中坏块的管理方法及系统
US20060224874A1 (en) Method for updating system management basic input output system (SMBIOS) data
CN104536841B (zh) 一种Android系统Data分区自修复方法及系统
JP2004259144A (ja) 半導体記憶装置
US11874738B2 (en) Memory system
US10748462B2 (en) Hardware controller of NAND device, control method and liquid crystal display
CN102693756B (zh) 半导体存储装置
CN111581010B (zh) 一种读操作处理方法、装置、设备及可读存储介质
CN111078151A (zh) 固态硬盘数据重读方法、装置和固态硬盘
JP4158526B2 (ja) メモリカード及びメモリへのデータ書き込み方法
EP4116955B1 (en) Mapping method and device, generation method and device, and mapping system of parking map
CN116185888A (zh) 用于嵌入式系统选择内存颗粒相位的方法
US20060236162A1 (en) Method and system for performing system-level correction of memory errors
CN117472647A (zh) 一种数据库事务回滚方法及装置
JP2003248631A (ja) メモリ制御回路及びメモリ制御方法
JP2010117752A (ja) 電子機器のデータ保持方法および電子機器
CN105630694B (zh) 控制内存的回收方法和装置
CN109062503B (zh) 提升ssd断电后读重试效率的方法、装置及计算机设备
US10496303B2 (en) Method for reducing power consumption memory, and computer device
CN102713832A (zh) 存储控制器
US11892520B2 (en) Method and device for power supply mapping detection, electronic device, and medium

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