CN116185888A - 用于嵌入式系统选择内存颗粒相位的方法 - Google Patents
用于嵌入式系统选择内存颗粒相位的方法 Download PDFInfo
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 52
- 239000002245 particle Substances 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 title claims abstract description 14
- 238000012360 testing method Methods 0.000 claims abstract description 53
- 239000008187 granular material Substances 0.000 claims abstract description 17
- 238000001514 detection method Methods 0.000 claims abstract description 7
- 239000003990 capacitor Substances 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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-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-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的中间值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-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-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-17)按照(2-1)~(2-16)相同方法,确定写相位参数最优值PW;
步骤(3)将读相位参数最优值PR和写相位参数最优值PW写入非易失性存储设备中;
步骤(4)将读相位参数最优值PR和写相位参数最优值PW配置到内存颗粒控制器,启动设备。
2.如权利要求1所述的用于嵌入式系统选择内存颗粒相位的方法,其特征在于:如果更换新的内存颗粒,则删除非易失性存储设备中存储的读相位参数最优值PR和写相位参数最优值PW,执行步骤(1)~(4),设备重新启动。
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) |
-
2023
- 2023-02-08 CN CN202310146860.5A patent/CN116185888A/zh active Pending
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 |