一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种自动检测DDRSDRAMBankGroup数量的方法与流程

2022-12-09 23:31:38 来源:中国专利 TAG:

一种自动检测ddr sdram bank group数量的方法
技术领域
1.本发明涉及ddr技术领域,特别涉及一种自动检测ddr sdram bank group数量的方法。


背景技术:

2.ddr sdram经过技术演进,从ddr4开始出现了多个bank group的设计架构,ddr4的bankgroup数量由2和4两种规格,ddr5则分别是4和8。以ddr4为例,在实际工程使用中,一款ssd产品不同容量情况下,使用的ddr4的bank group可能为2也可能为4。
3.一种典型的场景是,一款ssd产品,有2tb和4tb两种容量规格,分别需要2gb和4gb的ddr4,2gb的ddr拓扑结构。如说明书附图中图3所示,它是有两个位宽为16bit的ddr颗粒组成32bit的ddr数据总线。单个package容量是1gb,内部由一个die组成。根据ddr4的jedec spec,这种ddr颗粒的bank group是2。
4.同时,该系列4tb容量的ssd产品,需要4gb的ddr。其中一种拓扑结构如说明书附图中图4所示,该拓扑中,单个ddr颗粒的容量是2gb,它是由两个位宽是x8的1gb ddr die堆叠而成的。所以这种拓扑中,ddr4的bank group数量是4。
5.另外一种拓扑也满足设计,就是单个package用一个x16单die容量为2gb的ddr,这种情况如说明书附图中图5所示。这种情况下,ddr的bankgroup的数量是2。
6.从以上的场景可以看出,同系列产品可能会出现不同bank group数量的ddr颗粒同时在使用的情况。这就需要在ddr上电初始化的时候提前知道,当前ddr的bank group数量。目前采用的方法一般是:
7.(1)硬件标示法:即上电后通过硬件信号,例如gpio来告诉初始化软件,当前使用ddr的bank group数量;
8.(2)产品分类法:即将不同bank group数量的产品分类,不同类的产品使用不同的初始化软件。
9.但是,现有的两种技术方案存在如下缺陷:
10.1)硬件标示法:需要额外增加硬件电路设计,增加了设计成本,同时使出问题的风险增加;
11.2)产品分类法:需要认为区分产品使用的ddr的类型,并匹配相应的初始化软件,增加了出错的概率。
12.因此,亟待提供一种自动检测ddr sdram bank group数量的方法,用以解决上述技术问题。


技术实现要素:

13.本发明实施例提供一种自动检测ddr sdram bank group数量的方法,能解决相关技术中的问题。
14.一方面,本发明实施例提供了一种自动检测ddr sdram bank group数量的方法,
ddr拓扑结构之一;
39.图5为本发明一种自动检测ddr sdram bank group数量的方法的4tb容量的ssd ddr拓扑结构之二。
具体实施方式
40.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.参见图1所示,本发明实施例提供了一种自动检测ddr sdram bank group数量的方法,包括
42.自动检测模块,用于检测bank group的数量;
43.结果保存模块,用于保存检测到的bank group的数量。
44.可选的,所述自动检测模块包括以下步骤:
45.s01:ddr上电;
46.s02:统一配置bank group为4;
47.s03:初始化;
48.s04:对ddr的地址空间进行2gb范围内的读写比较测试,如果数据全部正确,则说明bank group为4,否则,则说明bank group为2。
49.本实施例中,目前ddr4主流的堆叠方案有:
50.(1)2个x81gb的die,堆叠成1个2gb x16 package,bank goup数量为4;
51.(2)2个x81gb的die,堆叠成1个2gb x8 package,bank group数量为4;
52.(3)2个x161gb的die,堆叠成1个2gb x16 package,bank group数量为2;
53.(4)2个x162gb的die,堆叠成1个4gb x16 package,bank group数量为2;
54.基于以上堆叠情况的统计,以及非堆叠情况bank group的分析,自动检测算法选择初始bank group为4,这样可以兼顾非堆叠的情况判断,选择2gb的测试范围,是为了兼顾堆叠情况下bank group的判断。
55.可选的,根据dram控制器给出的dram起始地址,确定需要测试的地址空间范围。
56.本实施例中,设有dram控制器,以0x40000000为起始地址为例,那么需要测试的地址空间范围就是:0x40000000~0xc0000000。
57.可选的,为提高检测效率,在测试空间范围内选定需要测试的地址,可以间隔4mb、8mb或者16mb进行数据的读写测试。
58.本实施例中,以4mb的间隔为例,即测试地址为:0x40000000、0x40400000、0x40800000

以此类推。
59.可选的,写入该频点地址一样的数据pattern。
60.本实施例中,测试地址0x40000000写入数据0x40000000,地址0x40400000写入数据0x40400000

以此类推。
61.可选的,以此读出数据进行比较,如果全部对比正确,则说明该dram控制器连接的ddr4的bank group数量为4,否则为2。
62.可选的,所述数据类型不局限于测试地址一样的数据pattern。
63.本实施例中,数据类型不局限于测试地址一样的数据pattern,只用区分出ddr访问是否因为配置错误而出现数据的卷绕即可。
64.可选的,所述结果保存模块包括以下步骤:
65.s05:将自动检测模块得到的结果保存;
66.s06:ddr上电;
67.s07:判断当前系统是否保存了bank group的参数,如果有则从存储介质直接读取结果使用即可,如果没有,则需要执行步骤s01至s04。
68.可选的,所述步骤s05中得到的结果保存在non-volatile的存储介质中。
69.可选的,所述存储介质还可为nand flash或nor flash等存储介质。
70.本实施例中,存储介质为掉电不丢失数据的存储介质。
71.本发明的有益效果在于:
72.1、可以自动检测ddr4的bank group数量,有效解决ddr4初始化软件兼容性问题,减少研发、生产和管理成本;2、可适用于lpddr4,并可以推广至ddr5/lpddr5,存在不同bank group同时使用的场合。
73.在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
74.需要说明的是,在本技术中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
75.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所发明的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献