一种系统DDR内存可使用容量的自动化识别方法技术方案

技术编号:35407995 阅读:22 留言:0更新日期:2022-11-03 11:02
本发明专利技术提出了一种系统DDR内存可使用容量的自动化识别方法,通过多次读写DDR地址边界,根据地址卷绕空间的大小,自动识别DDR类协议可使用内存容量;本发明专利技术原理简单,实现方便,在DDR类内存系统中具有普适性,无论DDR/LPDDR/GDDR/HBM等,可无缝拓展迁移,在初始化配置DDR子系统的过程中,增加了软件自动化程度,减少后续维护成本。后续维护成本。后续维护成本。

【技术实现步骤摘要】
一种系统DDR内存可使用容量的自动化识别方法


[0001]本专利技术涉及DDR
,尤其涉及一种系统DDR内存可使用容量的自动化识别方法。

技术介绍

[0002]DDR(Double Data Rate,代表双倍数据速率)是目前最常见的内存接口,绝大多数芯片都需要用到内存,尤其是SOC(System on a Chip),片上系统)芯片。SOC芯片内通常需要集成一个DMC(DDR控制器),将来自内部业务上游的读写命令,解释,调度转化为标准DDR接口命令与DRAM(Dynamic Random Access Memory,动态随机存取存储器)颗粒存取数据;这其中很重要的一项也是本专利重点关注的便是将来自上游业务的读写地址映射为DDR接口物理地址。DDR作为世界最通用的技术协议家族之一,经过几十年的发展,从低速到高速依次发展出DDR1/DDR2/DDR3/DDR4/DDR5,以及其他衍生类LPDD R/GDDR/HBM/等协议。
[0003]DDR接口总体分为两类信号:1)CA(控制)信号传递命令/地址;2)DQ/DM/DQS(数据)等信号传递数据,如图1所示。CA的地址信号由BA以及ADDR构成(ADDR在不同时钟周期又可分为ROW地址跟COL地址),所以BA与ADDR(ROW+COL)地址线位宽决定了DRAM最大可寻址范围;DQ总的位宽决定了整颗DRAM数据总线位宽;寻址范围乘以数据总线位宽代表了该DRAM支持的最大内存容量。DRAM颗粒按照DQ位宽区分,有三种位宽规格——X4,X8,X16;按照容量区分则有四~五种规格(如DDR3就有512Mb,1Gb,2Gb,4Gb,8Gb等规格,如图2所示8Gb规格);DDR接口总线位宽设计为16bit,如果用X16的DRAM颗粒,只需要一颗(如图1,图1即表达的是与X16 DRAM颗粒对接的DDR接口构成。),那么我们芯片的可使用内存大小就是这一颗DRAM容量决定;如果用X8的DRAM颗粒,则需要两颗(如图3),那么我们芯片的可使用内存大小就是由这两颗DRAM容量决定;如果用X4的颗粒,则需要4颗,那么我们芯片的可使用内存大小就是由这四颗DRAM容量决定。因为我们在设计SOC芯片时,其DDR数据总线位宽已经确定,后期DDR内存可使用容量主要就由对接的DRAM颗粒的数量与容量决定,而DRAM颗粒的容量其实是由DQ位宽乘以2^(BA地址位宽+ROW地址位宽+COL地址位宽)决定,因为2^(BA地址位宽+ROW地址位宽+COL地址位宽)表示DRAM颗粒寻址空间,DQ位宽表示每个地址可存放的数据bit。当DDR总线总的数据位宽DQ确定,无论我们最终用几颗DRAM颗粒拼接,最终DRAM内存可使用容量都仅仅由2^(BA地址位宽+ROW地址位宽+COL地址位宽)确定。假设我们DDR3总线数据位宽DQ设计为16bit,内存容量需要8Gb,那么只需要一颗容量为8Gb的X16颗粒(三位BA地址+16位ROW地址+10位COL地址=29),或者是用两颗容量为4Gb的X8颗粒(三位BA地址+16位ROW地址+10位COL地址=29),又或者是四颗容量为2Gb的X4颗粒(三位BA地址+15位ROW地址+11位COL地址=29),这三种方案总的地址位宽是一样的,都是29位。注意:从这里我们知道,DDR接口数据总线位宽确定的条件下,颗粒有效地址位宽决定了总的可使用DRAM内存容量。
[0004]DRAM颗粒内存储架构如图4所示:以最基本的电容阵列来存储计算机逻辑bit信息,对电容的充放电来完成写读操作。整体架构根据容量不同,分为几个BANK(由CA中的BA
信号作为地址选择寻址);BANK下面就是由一块纵横排列的电容整列,分为行地址ROW(由CA中的ADDR[0:17]信号做地址选择寻址),列地址COL(由CA中的ADDR[0:9]信号做地址选择寻址)。当我们要往DRAM颗粒某个地址存取数据时,首先要通过CA线发一个带BA地址跟行地址ROW的ACT(activate)命令,来选择把命中BANK选中ROW行的整行电容数据load到BANK自带缓存buffer中;然后再通过CA线发一个带列地址COL的写读命令到该BANK的buffer命中列地址COL去存取数据;最后还要发一个PRE(precharge)命令让DRAM颗粒把buffer中的数据再次存回行地址ROW选中的一行电容中,保持数据不丢失,并方便上游业务对该BANK其他ROW行的ACT访问(因为每个BANK只有一行数据缓存buffer)。注意:DMC为了提升访问DRAM颗粒的效率,并不是每次写读DRAM后,都会立刻发出PRE(precharge)命令,而是时刻监测内部来自业务上游的访问队列,通过算法调度把访问DRAM颗粒同一BANK,同一ROW行的相关请求都响应完后,才会发出PRE(precharge)命令。
[0005]现有技术的缺陷和不足:
[0006]目前较新版本DDR类协议,如DDR4/5等可以通过读出颗粒中MPR寄存器的厂商自定义格式内容来识别颗粒容量等信息,但是不同颗粒厂商自定义的格式不一样,且无法通过该方法获得DDR3等较早期版本协议的颗粒信息,因为DDR3没有定义该寄存器。目前大家在设计芯片时普遍没有做自动识别DDR内存容量并自适应配置的方案,都是根据客户在使用芯片时的PCB板设计规划,定制化更改DDR初始化配置软件代码,这样不能做到自动化适配,增加了芯片在二次开发应用过程中的使用门槛与维护成本。
[0007]为了解决现有技术中的不足,本专利技术提出了一种系统DDR内存可使用容量的自动化识别方法,通过多次读写DDR地址边界,根据地址卷绕空间的大小,自动识别DDR类协议内存容量;本专利技术原理简单,实现方便,在DDR类内存系统中具有普适性,无论DDR/LPDDR/GDDR/HBM等,可无缝拓展迁移,在初始化配置DDR子系统的过程中,增加了软件自动化程度,减少后续维护成本。

技术实现思路

[0008]为了解决现有技术中的不足,本专利技术提出了一种系统DDR内存可使用容量的自动化识别方法,通过多次读写边界,根据卷绕工作原理,自动识别DDR类协议内存容量;本专利技术原理简单,实现方便,在DDR类内存系统中具有普适性,无论DDR/LPDDR/GDDR/HBM等,可无缝拓展迁移,在初始化配置DDR子系统的过程中,增加了软件自动化程度,减少后续维护成本。
[0009]为实现上述目的,本专利技术采用如下的技术方案。
[0010]在本专利技术实施例中,提出了一种系统DDR内存可使用容量的自动化识别方法,该方法包括如下步骤:
[0011]S1完成DDR的常规初始化;
[0012]S2根据DDR最大设计内存容量,按照ROW/BANK/COLDDR物理地址排列顺序,配置DMC系统地址到DDR物理地址的映射关系;
[0013]S3根据DDR所外接的DRAM内存颗粒容量的规格,确定相应容量的边界地址,并向所述边界地址写入特定数据值;
[0014]S4根据读取DDR最大容量边界地址所获取的数据值,自动识别出DDR本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种系统DDR内存可使用容量的自动化识别方法,其特征在于,该方法包括如下步骤:S1完成DDR的常规初始化;S2根据DDR最大设计内存容量,按照ROW/BANK/COL DDR物理地址排列顺序,配置DMC系统地址到DDR物理地址的映射关系;S3根据DDR所外接的DRAM内存颗粒容量的规格,确定相应容量的边界地址,并向所述边界地址写入特定的数据值;S4根据读取DDR最大容量边界地址所获取的数据值,自动识别出DDR实际可用的内存容量。2.根据权利要求1所述的一种系统DDR...

【专利技术属性】
技术研发人员:顾江波
申请(专利权)人:芯河半导体科技无锡有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1