存储器地址确定方法与电子设备与流程



1.本公开涉及集成电路测试技术领域,具体而言,涉及一种存储器地址确定方法与电子设备。


背景技术:



2.现代计算机系统中,为了提高内存访问效率和保护内存数据,一般内存控制器产商会故意隐藏系统物理地址和存储器地址的映射关系,通过物理地址无法确定存储器访问事件对应的存储单元位于存储器的哪个位置,也无法知晓物理地址之间的关联关系。
3.但是在集成电路制造中,有些场景迫切需要知道系统物理地址和存储器地址的映射关系,比如失效存储单元定位分析(测试中发现某个物理地址对应的存储单元失效,需要后端技术人员对失效的存储单元进行技术分析,此时就需要到具体失效单元的位置)或者系统行锤(rowhammer)测试,相关技术中通常使用示波器、逻辑分析仪等仪器辅助进行物理地址和存储单元的存储器地址的对应关系测试,效率低下。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:



5.本公开的目的在于提供一种存储器地址确定方法与电子设备,用于至少在一定程度上克服物理地址和存储器地址的对应关系确定过程效率低下的问题。
6.根据本公开实施例的第一方面,提供一种存储器地址确定方法,包括:根据连续访问两个物理地址的访问时间是否超过预设时长,确定待测存储器的每个存储体对应的第一物理地址集,所述第一物理地址集中包含属于同一所述存储体的多个物理地址;顺次使用第一预设特征函数集合中的多个第一特征函数与每个所述第一物理地址集中的多个物理地址进行按位与运算,以确定所述待测存储器对应的映射函数集合;根据所述映射函数集合确定所述待测存储器对应的阵列映射函数;根据所述阵列映射函数确定每个所述存储体对应的第二物理地址集,所述第二物理地址集中包含属于同一所述存储体的多个物理地址;根据连续访问两个物理地址的访问时间是否超过所述预设时长,在每个所述存储体对应的第二物理地址集中确定每一个存储体行对应的第三物理地址集,所述第三物理地址集中包含属于同一存储单元行的多个物理地址。
7.在本公开的一种示例性实施例中,根据连续访问两个物理地址的访问时间是否超过预设时长,所述确定待测存储器的每个存储体对应的第一物理地址集包括:随机确定第一物理地址,将所述第一物理地址记入第一存储体对应的第一物理地址集;随机确定第二物理地址,对所述第一物理地址和所述第二物理地址进行连续访问测试;在所述连续访问测试的访问时间超过预设时长时,将所述第二物理地址记入所述第一存储体对应的第一物理地址集,在所述访问时间未超过所述预设时长时,将所述第二物理地址记入第二存储体对应的第一物理地址集。
8.在本公开的一种示例性实施例中,根据连续访问两个物理地址的访问时间是否超过预设时长,所述确定待测存储器的每个存储体对应的第一物理地址集还包括:在多个存储体对应的第一物理地址集不为空集时,随机确定第三物理地址,对所述第三物理地址和每个所述第一物理地址集中的一个物理地址分别进行所述连续访问测试;在任意一次连续访问测试的访问时间超过所述预设时长时,将所述第三物理地址计入该次连续访问测试中另一个物理地址对应的第一物理地址集;在全部所述连续访问测试的访问时间均未超过所述预设时长时,将所述第三物理地址计入一个新的存储体对应的第一物理地址集;重复上述步骤,直至每一个存储体对应的第一物理地址集中的物理地址均达到第一预设值。
9.在本公开的一种示例性实施例中,所述在任意一次连续访问的访问时间超过所述预设时长时,将所述第三物理地址计入该次连续访问测试中另一个物理地址对应的第一物理地址集包括:在所述另一个物理地址对应的第一物理地址集中的物理地址数量未达到第一预设值时,将所述第三物理地址计入所述另一个物理地址对应的第一物理地址集中,否则,抛弃所述第三物理地址。
10.在本公开的一种示例性实施例中,所述在全部所述连续访问的访问时间均未超过所述预设时长时,将所述第三物理地址计入一个新的存储体对应的第一物理地址集包括:在全部所述连续访问的访问时间均未超过所述预设时长时,重新在每个所述第一物理地址集中选取与所述第三物理地址进行连续访问的物理地址,并重新进行连续访问测试;在第二次判断全部所述连续访问的访问时间均未超过所述预设时长时,判断第一物理地址集不为空的存储体数量是否等于所述待测存储器对应的全部存储体数量;如果是,重新在每个所述第一物理地址集中选取与所述第三物理地址进行连续访问的物理地址,并重新进行连续访问测试;如果否,将所述第三物理地址计入一个新的存储体对应的第一物理地址集。
11.在本公开的一种示例性实施例中,所述顺次使用第一预设特征函数集合中的多个第一特征函数与每个所述第一物理地址集中的多个物理地址进行按位与运算,以确定所述待测存储器对应的映射函数集合包括:将一个所述第一特征函数与一个所述物理地址进行按位与运算,确定计算结果中等于1的位数,在所述位数为奇数时,将所述第一特征函数和所述物理地址记为第一类映射,在所述位数为偶数时,将所述第一特征函数和所述物理地址记为第二类映射;在一个所述第一特征函数与一个所述第一物理地址集中的每个物理地址均为所述第一类映射或均为所述第二类映射时,确定所述第一特征函数与所述第一物理地址集具有映射一致性;在一个所述第一特征函数与每个存储体对应的所述第一物理地址集均具有所述映射一致性时,将所述第一特征函数记入所述待测存储器对应的映射函数集合。
12.在本公开的一种示例性实施例中,所述物理地址和所述第一特征函数均为m位二进制数,任意两个所述第一特征函数完全不同,所述顺次使用第一预设特征函数集合中的多个第一特征函数与每个所述第一物理地址集中的多个物理地址进行按位与运算,以确定所述待测存储器对应的映射函数集合包括:确定所述第一预设特征函数集合中的多个特征函数组,同一个所述特征函数组中的所述第一特征函数等于1的位数相同,不同所述特征函数组中的所述第一特征函数等于1的位数不同;在当前未进行测试的特征函数组中,将等于1的位数最少的特征函数组设置为待测特征函数组;在所述待测特征函数组中确定一个待测第一特征函数,将所述待测第一特征函数与每个所述第一物理地址集中的多个物理地址
进行按位与运算后,重新在所述待测特征函数组中确定另一个待测第一特征函数进行运算,直至所述待测特征函数组对应的全部第一特征函数均完成运算;重新确定待测特征函数组,直至每个所述特征函数组均完成运算。
13.在本公开的一种示例性实施例中,所述根据所述映射函数集合确定所述待测存储器对应的阵列映射函数包括:使用高斯消元法对所述映射函数集合进行运算,以得到所述阵列映射函数,所述阵列映射函数包括多个线性无关的第一特征函数。
14.在本公开的一种示例性实施例中,所述阵列映射函数包括x个第一特征函数,2
x
=m,m为待测存储器中存储体的数量,所述根据所述阵列映射函数确定每个所述存储体对应的第二物理地址集包括:随机确定多个目标物理地址;将所述阵列映射函数中的第i个所述第一特征函数与所述目标物理地址进行按位与运算,在运算结果中为1的位数为奇数时,将所述目标物理地址的阵列地址的第i位记为1,在所述运算结果中为1的位数为偶数时,将所述目标物理地址的阵列地址的第i位记为0,1≤i≤x;将所述阵列映射函数中每个所述第一特征函数与所述目标物理地址进行按位与运算,以确定所述目标物理地址的阵列地址;确定所述多个目标物理地址对应的阵列地址,将所述阵列地址相同的目标物理地址记为一个所述存储体对应的所述第二物理地址集。
15.在本公开的一种示例性实施例中,所述根据连续访问两个物理地址的访问时间是否超过预设时长,在每个所述存储体对应的第二物理地址集中确定每一个存储体行对应的第三物理地址集包括:在待测存储体对应的所述第二物理地址集中随机选择一个第四物理地址,将所述第四物理地址记入所述待测试存储体中第一个存储单元行对应的所述第三物理地址集;在所述待测存储体对应的所述第二物理地址集中随机确定一个第五物理地址,对所述第四物理地址和所述第五物理地址进行连续访问测试;在所述在访问时间未超过所述预设时长时,将所述第五物理地址记入所述第一个存储单元行对应的第三物理地址集;在所述连续访问测试的访问时间超过预设时长时,将所述第五物理地址记入第二个存储单元行对应的第三物理地址集;对所述待测存储体对应的所述第二物理地址集中的每个物理地址进行上述连续访问测试,以确定所述存储体中每一个存储单元行对应的第三物理地址集。
16.在本公开的一种示例性实施例中,所述顺次使用第二预设特征函数集合中的多个第二特征函数与所述第三物理地址集中的每个物理地址进行位与运算,以确定所述第三物理地址集对应的行地址映射函数包括:将一个所述第二特征函数与一个所述第三物理地址集中的每个物理地址进行按位与运算,以获取多个运算结果;在所述第二特征函数与所述第三物理地址集中的每个物理地址的所述运算结果均相同时,确定所述第二特征函数为所述第三物理地址集对应的行地址映射函数;在任意一个所述运算结果与其他所述运算结果不同时,重新确定另外一个第二特征函数进行运算。
17.在本公开的一种示例性实施例中,所述物理地址和所述第二特征函数均为m位二进制数,所述待测存储器的行地址的位宽为p,所述第二特征函数中除最低六位外,有p位为1。
18.在本公开的一种示例性实施例中,还包括:随机确定多组物理地址,每组物理地址中包括两个不同的物理地址;对每组物理地址做多次连续访问测试,将所述多次连续访问测试的访问时间的中值或平均值记录为所述每组物理地址对应的连续访问时长;获取所述
多组物理地址对应的多个连续访问时长的统计分布;根据所述统计分布确定所述预设时长。
19.在本公开的一种示例性实施例中,所述对每组所述物理地址做多次连续访问测试包括:在每次所述连续访问测试后,均执行缓存线清除指令。
20.在本公开的一种示例性实施例中,所述根据阵列映射函数和行地址映射函数确定访问事件对应的存储器地址包括:确定所述访问事件对应的物理地址;根据所述物理地址和所述阵列映射函数确定所述物理地址对应的目标阵列地址;根据所述物理地址和所述行地址映射函数确定所述物理地址对应的所述目标阵列地址中的目标行地址;将所述目标阵列地址和所述目标行地址设置为所述访问事件对应的存储器地址。
21.根据本公开的第二方面,提供一种电子设备,包括:待测存储器;以及耦合到所述待测存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上任一项所述的存储器地址确定方法,以确定所述处理器的物理地址与所述待测存储器的存储单元之间的阵列映射函数和行地址映射函数。
22.本公开实施例通过根据连续访问两个物理地址的访问时间是否超过预设时长,确定两个物理地址是否位于同一阵列、以及是否位于同一阵列的相同行,能够分别确定每个存储体和存储器中的每个行对应的物理地址集,进而根据这些物理地址集与特征函数的关系,确定待测存储器的阵列映射函数和行地址映射函数,进而根据阵列映射函数和行地址映射函数确定每个访问事件(包括失效访问事件)对应的存储器地址,可以克服相关技术中通过示波器、逻辑分析仪等仪器定位存储器地址的低效过程,提高存储器测试效率。
23.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
24.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1是本公开示例性实施例中存储器地址确定方法的流程图。
26.图2是内存访问时出现行冲突现象的示意图。
27.图3是本公开一个实施例中确定判断行冲突发生条件的示意图。
28.图4是本公开一个实施例中大量物理地址对访问时间的统计分布示意图。
29.图5a和图5b是本公开一个实施例中步骤s1的流程图。
30.图6是本公开一个实施例中步骤s2的子流程图。
31.图7是本公开一个实施例中高斯消元法的示意图。
32.图8是本公开一个实施例中步骤s5的子流程图。
具体实施方式
33.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加
全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
34.此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
35.下面结合附图对本公开示例实施方式进行详细说明。
36.图1是本公开示例性实施例中存储器地址确定方法的流程图。
37.参考图1,存储器地址确定方法100可以包括:
38.步骤s1,根据连续访问两个物理地址的访问时间是否超过预设时长,确定待测存储器的每个存储体对应的第一物理地址集,所述第一物理地址集中包含属于同一所述存储体的多个物理地址;
39.步骤s2,顺次使用第一预设特征函数集合中的多个第一特征函数与每个所述第一物理地址集中的多个物理地址进行按位与运算,以确定所述待测存储器对应的映射函数集合;
40.步骤s3,根据所述映射函数集合确定所述待测存储器对应的阵列映射函数;
41.步骤s4,根据所述阵列映射函数确定每个所述存储体对应的第二物理地址集,所述第二物理地址集中包含属于同一所述存储体的多个物理地址;
42.步骤s5,根据连续访问两个物理地址的访问时间是否超过所述预设时长,在每个所述存储体对应的第二物理地址集中确定每一个存储体行对应的第三物理地址集,所述第三物理地址集中包含属于同一存储单元行的多个物理地址;
43.步骤s6,顺次使用第二预设特征函数集合中的多个第二特征函数与所述第三物理地址集中的每个物理地址进行按位与运算,以确定所述第三物理地址集对应的行地址映射函数;
44.步骤s7,根据所述阵列映射函数和所述行地址映射函数确定访问事件对应的存储器地址。
45.本公开实施例通过根据连续访问两个物理地址的访问时间是否超过预设时长,确定两个物理地址是否位于同一阵列、以及是否位于同一阵列的相同行,能够分别确定每个存储体和存储器中的每个行对应的物理地址集,进而根据这些物理地址集与特征函数的关系,确定待测存储器的阵列映射函数和行地址映射函数,进而根据阵列映射函数和行地址映射函数确定每个访问事件(包括失效访问事件)对应的存储器地址,可以克服相关技术中通过示波器、逻辑分析仪等仪器定位存储器地址的低效过程,提高存储器测试效率。
46.下面,对存储器地址确定方法100的各步骤进行详细说明。
47.在步骤s1,根据连续访问两个物理地址的访问时间是否超过预设时长,确定待测
存储器的每个存储体对应的第一物理地址集,所述第一物理地址集中包含属于同一所述存储体的多个物理地址。
48.dram(dynamic random access memory,动态随机存取存储器)的存储阵列由多个存储体(bank)组成,每个存储体包括多行(row)、多列(column)的存储单元(cell)。其中,每个存储体对应一个行缓存器(row buffer),行缓存器用于对存储单元进行信号放大和数据缓存。当内存主控器(memory controller)访问dram中某一行的某个或某些存储单元时,该行存储单元会被全部打开(激活),存储单元内放大后的信号被存储到行缓存器中,以便读取行缓存器中的数据并在读取后将行存储器中的数据重新写回到存储单元当中。当内存控制器访问同一个存储体的不同行的时候,首先通过行存储器读取在先访问行的数据,然后将该在先被访问行的数据回写到在先访问行的存储单元后,打开在后要访问行,将该在后访问行的存储单元内的数据放大后暂存到行缓存器中实现读取。这种访问过程由于中间额外涉及到一次等待行缓冲器内容回写到在先访问行的存储单元的过程,会增大内存访问的时间,因此叫做行冲突(row conflict)。
49.图2是内存访问时出现行冲突现象的示意图。
50.参考图2,在连续访问一对存储器地址例如{addr_0,addr_1}时,访问第一个地址之后,开始对第二个地址进行访问,会出现以下3种情况:
51.201.第二个地址与第一个地址属于同一个存储体21的同一行,使用的是相同的行缓存器21a,且第二次访问对应的数据刚好就在行缓存器21a当中,没有发生行冲突(row conflict),访问速度很快;
52.202.第二个地址与第一个地址属于不同存储体21和22,访问使用的是不同的行缓存器21a和22a,没有发生行冲突,访问速度很快;
53.203.第二个地址与第一个地址属于同一个存储体21的不同行,使用的是相同的行缓存器21a,需要将行缓存器内的数据先回写到第一个地址对应的行的存储单元,再打开第二个地址对应的一行存储单元,将其内容读取到行缓存器21a当中,访问速度慢,发生了行冲突。
54.本技术发明人根据上述dram访问特性,提出了本技术中确定存储器地址的方法。
55.首先,在进行实际测试之前,可以确定判断行冲突发生的条件。
56.图3是本公开一个实施例中确定判断行冲突发生条件的示意图。
57.参考图3,在一个实施例中,方法100还包括:
58.步骤s01,随机确定多组物理地址,每组物理地址中包括两个不同的物理地址;
59.步骤s02,对每组物理地址做多次连续访问测试,将多次连续访问测试的访问时间的中值或平均值记录为每组物理地址对应的连续访问时长;
60.步骤s03,获取多组物理地址对应的多个连续访问时长的统计分布;
61.步骤s04,根据统计分布确定预设时长。
62.在步骤s02所示实施例中,首先可以随机取一对物理地址(本公开中物理地址为处理器用于访问存储器/内存的系统物理地址),连续访问r次,通过取中值或者平均数的方法得到这对物理地址的访问时间。然后重复该步骤p次,得到m对地址访问时间分布。为了保证结果精确,r和p的数值可以适当大一些,比如r=40000,p=100000。为了确保内存访问能成功操作到dram,而不是系统内的缓存(cache)操作,对每个物理地址进行访问后都要跟随缓
存线清除(clflush)指令。访问时间测量可以通过rdtscp等指令实现。
63.将得到的访问时间的统计数值描绘到图中,可以得到大量物理地址对访问时间的统计分布,图4所示。
64.由图4可看到,大量的物理地址对的访问时间间隔可以分为2簇:右边一簇代表连续访问期间发生了行冲突(row conflict),因而访问时间比较长,左边一簇代表连续访问器件没有发生行冲突,访问时间比较短。可以根据该统计分布,选中间一个值,比如图3中的数值260ms,作为判断连续访问是否发生行冲突的访问时间判断阈值,即步骤s1和s5中的预设时长。
65.根据图3所示实施例得到的判断行冲突发生的条件,可以确定同一存储体对应的不同行的大量的物理地址。
66.图5a和图5b是本公开一个实施例中步骤s1的流程图。
67.图5a所示是全部第一物理地址集均为空集时对应的步骤s1的子流程,图5b所示是有至少一个第一物理地址集不为空集时对应的步骤s1的子流程,图5a和图5b所示流程共同配合以形成步骤s1的具体操作。
68.参考图5a,在一个实施例中,在全部第一物理地址集均为空时,步骤s1可以包括:
69.步骤s11,随机确定第一物理地址,将第一物理地址记入第一存储体对应的第一物理地址集;
70.步骤s12,随机确定第二物理地址,对第一物理地址和第二物理地址进行连续访问测试;
71.步骤s13,判断连续访问测试的访问时间是否超过预设时长,如果是,进入步骤s14将第二物理地址记入第一存储体对应的第一物理地址集;如果否,进入步骤s15将第二物理地址记入第二存储体对应的第一物理地址集。
72.参考图5b,在一个实施例中,在多个存储体对应的第一物理地址集不为空集时,步骤s1可以包括:
73.步骤s16,随机确定第三物理地址,对第三物理地址和每个第一物理地址集中的一个物理地址分别进行连续访问测试;
74.步骤s17,判断是否有任意一次连续访问测试的访问时间超过预设时长,如果是,进入步骤s18将第三物理地址计入该次连续访问测试中另一个物理地址对应的第一物理地址集,如果否,进入步骤s19将第三物理地址计入一个新的存储体对应的第一物理地址集。
75.重复上述步骤,直至直至每一个存储体对应的第一物理地址集中的物理地址均达到第一预设值。
76.其中,步骤s18又包括:
77.步骤s181,判断另一个物理地址对应的第一物理地址集中的物理地址数量是否达到第一预设值,如果是,进入步骤s182将第三物理地址计入另一个物理地址对应的第一物理地址集中,否则,进入步骤s183抛弃第三物理地址。
78.步骤s19又包括:
79.步骤s191,重新在每个第一物理地址集中选取与第三物理地址进行连续访问的物理地址,并重新进行连续访问测试;
80.步骤s192,第二次判断是否有任意一次连续访问测试的访问时间超过预设时长,
如果是,进入步骤s18;否则,进入步骤s193;
81.步骤s193,判断第一物理地址集不为空的存储体数量是否等于待测存储器对应的全部存储体数量,如果是,返回步骤s191重新在每个第一物理地址集中选取与第三物理地址进行连续访问的物理地址,并重新进行连续访问测试;否则,进入步骤s194将第三物理地址计入一个新的存储体对应的第一物理地址集。
82.其中,在步骤s18限制每个第一物理地址集中的地址数量,是为了降低后续计算特征函数时的运算量。
83.在步骤s19重新在每个第一物理地址集中选取与第三物理地址进行连续访问的物理地址,并重新进行连续访问测试,是由于连续访问的访问时间未超过预设时长时,存在两种情况,一种情况是第三物理地址不是第一物理地址集不为空的存储体对应的地址,即第三物理地址集对应另一个新的存储体;另一种情况是当前选取的第一物理地址集中的物理地址有与第三物理地址位于同一存储体、同一行的物理地址。为了避免第二种情况发生,在全部连续访问的访问时间均未超过预设时长时,可以重新在第一物理地址集中选取一批地址,再测一次。
84.如果第二次全部连续访问的访问时间均未超过预设时长,且还有存储体对应的第一物理地址集为空,则大概率可以判断第三物理地址集对应新的存储体。在图5b所示实施例中,仅通过两次连续访问的访问时间未超过预设时长来判断第三物理地址集对应新的存储体,在本公开的其他实施例中,还可以设置在更多次判断连续访问的访问时间未超过预设时长时,才确定第三物理地址集对应新的存储体。
85.如果不为空的第一物理地址集的数量等于存储体的数量,说明第三物理地址不对应新的存储体,本次比对的一批物理地址中仍旧有与第三物理地址同存储体同行的,需要重新再选一批物理地址进行测试,直至确定与第三物理地址同存储体不同行的物理地址,确定第三物理地址集对应的存储体。
86.需要说明的是,虽然步骤s191的设置可以在一定程度上防止第三物理地址和与其同存储体、同行的物理地址位于不同的第一物理地址集,但是为了进一步确保每个第一物理地址集均对应不同的存储体,防止使用对应同一个存储体、同一行的物理地址生成多个第一物理地址集,在步骤s16和步骤s191,对第三物理地址和每个第一物理地址集中的一个物理地址分别进行连续访问测试时(假设第一物理地址集的数量为x),还可以在获取x个连续访问测试的测试时间后,再判断是否有任意一次连续访问测试的访问时间超过预设时长。
87.在这x个访问时间中,如果有且仅有一个访问时间超过预设时长,可以确定该第三物理地址对应该访问时间中的另一个物理地址的存储体;如果有两个或多个访问时间超过预设时长,说明该第三物理地址同时对应了多个第一物理地址集,该多个第一物理地址集属于同一存储体,需要进行合并;如果没有访问时间超过预设时长,可以判断全部连续访问的访问时间均未超过预设时长,此时可以进入步骤s19或者步骤s193进行下一步处理。
88.同理,在图5a的步骤s14,在将第二物理地址记入第二存储体对应的第一物理地址集之前,也可以再次从第一物理地址集中选择一个物理地址进行连续访问测试,防止第一次连续访问测试时的物理地址与第二物理地址对应同一存储体、同一行。
89.通过图5a和图5b所示过程,可以为每个存储体到一定数量的物理地址,生成每
个存储体对应的第一物理地址集(set),方便后续对这个存储体对应的物理地址的规律进行归纳,从而得到这个存储体的物理地址特征函数。其中,内存模组颗粒中存储体的数量可参考jedec规范,比如8gbx8规格的内存中有16个存储体。
90.假设待测存储器中存储体的数量为m,则在步骤s1结束时,可以得到m个第一物理地址集,有:
91.m=channels*(dimms/channel)*(ranks/dimm)*(banks/rank)
ꢀꢀꢀ
(1)
92.其中,banks/rank是待测存储器中每个rank(存储体排)中存储体的数量,ranks/dimm是每个dimm(dual in-line memory module,双列直插式存储模块)中rank的数量,dimms/channel是每个channel(通道)中dimm的数量,channels是待测存储器中channel(通道)的数量。
93.上述m值可以用于步骤s193,作为判断依据。
94.在步骤s2,顺次使用第一预设特征函数集合中的多个第一特征函数与每个所述第一物理地址集中的多个物理地址进行按位与运算,以确定所述待测存储器对应的映射函数集合。
95.确定了一个存储体对应的多个物理地址(即第一物理地址集)后,可以对这多个物理地址提取特征。
96.在本领域,通常使用映射函数(func-mask)进行存储器地址与物理地址的映射,对于一个存储器地址,将其与映射函数进行计算,得到的计算结果就是该存储器地址对应的物理地址。而本公开实施例的目标即为到该未知的映射函数。
97.可以确定的是,映射函数对具有共同点的存储器地址(例如同一存储体、同一行)的影响存在共同性,经过分析,发现具有共同点的多个存储器地址经过映射函数计算后,得到的多个物理地址具有奇偶一致性,即物理地址中为1的位数均为奇数,或者均为偶数。此外,映射函数与物理地址为位数相同的二进制数。
98.基于上述分析,本技术发明人在步骤s2设置为了寻一个第一物理地址集对应的映射函数集合的方法。
99.在本公开实施例中,在步骤s2,可以首先获取第一预设特征函数集合。该第一预设特征函数包括多个还不相同的第一特征函数,每个第一特征函数均与物理地址为m位二进制数,m大于等于1的正整数。每个第一特征函数均有可能是一个存储体对应的映射函数集合中的一个映射函数。
100.将一个第一特征函数与一个物理地址进行按位与运算后,确定计算结果中等于1的位数,在位数为奇数时,将第一特征函数和物理地址记为第一类映射,在位数为偶数时,将第一特征函数和物理地址记为第二类映射。比如8位第一特征函数和8位物理地址的计算结果“10011010”有偶数个1,对应的第一特征函数和物理地址记为第二类映射,计算结果“00011000”有奇数个1,对应的第一特征函数和物理地址记为第一类映射。
101.根据上述设置,可以选择一个第一特征函数,将其与一个第一物理地址集中的每个物理地址均进行计算。如果该第一特征函数与该第一物理地址集中的每个物理地址均为第一类映射或均为第二类映射时,可以确定该第一特征函数与该第一物理地址集(即该存储体)具有映射一致性,即该第一特征函数具有该存储体的映射函数的特征。
102.接下来,可以更换第一物理地址集进行计算,在该第一特征函数与每个存储体对
应的第一物理地址集均具有映射一致性时,说明该第一特征函数具有每个存储体的映射函数的特征,是待测存储器的映射函数集合中的一员,此时,可以将第一特征函数记入待测存储器对应的映射函数集合。
103.需要说明的是,同一个第一特征函数与不同的存储体之间的映射一致性的种类(计算结果等于1的位数为奇数或者偶数)不一定相同。例如,一个第一特征函数与第一存储体的第一物理地址集中的每个物理地址的计算结果等于1的位数均为奇数,该第一特征函数与第二存储体的第一物理地址集中的每个物理地址的计算结果等于1的位数均为偶数,则该第一特征函数与第一存储体具有映射一致性,该第一特征函数与第二存储体同样具有映射一致性。
104.当然,如果一个第一特征函数与任意一个第一物理地址集中的每个物理地址不具有映射一致性,则该第一特征函数必然不是待测存储器的映射函数,可以从第一预设特征函数集合中重新选择一个第一特征函数进行计算,直至得到多个符合上述要求的第一特征函数,形成待测存储器对应的映射函数集合。
105.在本公开的一个实施例中,由于预先不知道映射函数的其他特征,仅仅知道映射函数的位数等于m,与物理地址的二进制位数相同,第一预设特征函数集合中的第一特征函数的数量庞大,此时,可以根据第一特征函数自身的特征设置其参与计算的顺序。
106.在一个实施例中,可以首先确定第一预设特征函数集合中的多个特征函数组,同一个特征函数组中的第一特征函数等于1的位数相同,不同特征函数组中的第一特征函数等于1的位数不同。然后,在当前未进行测试的特征函数组中,将等于1的位数最少的特征函数组设置为待测特征函数组。接下来,在待测特征函数组中确定一个待测第一特征函数,将待测第一特征函数与每个第一物理地址集中的多个物理地址进行按位与运算后,重新在待测特征函数组中确定另一个待测第一特征函数进行运算,直至待测特征函数组对应的全部第一特征函数均完成运算,重新确定待测特征函数组,直至每个特征函数组均完成运算。
107.将上述过程描述为流程图时,可以设置一个特征函数组gi中第一特征函数等于1的位数均为i。
108.图6是本公开一个实施例中步骤s2的子流程图。
109.参考图6,在一个实施例中,步骤s2可以包括:
110.步骤s21,确定第一预设特征函数集合中的多个特征函数组g1~gn,其中n是预设值,n可以等于存储器物理地址的有效位数w,n也可以小于w,存储器物理地址的有效位数w一般小于存储器物理地址的位宽m。
111.步骤s22,设置i=0。
112.步骤s23,控制i=i+1。
113.步骤s24,选择gi中的一个第一特征函数参与计算,计算与每个第一物理地址集中的物理地址的映射一致性,计算结果包括将第一特征函数加入映射函数集合,或者抛弃该第一特征函数。对一个第一特征函数进行计算之后,进入步骤s25。
114.步骤s25,判断特征函数组gi中的全部第一特征函数是否均参与计算,如果否,返回步骤s24重新在gi中选择一个第一特征函数参与计算,如果是,进入步骤s26。
115.步骤s26,判断i是否等于n,即判断是否已经对全部特征函数组中的全部第一特征函数进行了计算,如果否,则返回步骤s23对i加1,选择下一个特征函数组。如果是,结束步
骤s2。
116.例如,一个第一物理地址集中的物理地址为:
117.1100 0001 1011 1001 1100 1100 0111 1011,
118.i=16时,g16中的第一特征函数均有16位为1,其中一个第一特征函数为:
119.1111 1111 1111 1111 0000 0000 0000 0000,
120.将该第一特征函数与上述物理地址进行按位与运算,得到计算结果:
121.1100 0001 1011 1001 0000 0000 0000 0000,
122.该计算结果中有8位为1,位数为1的数量是偶数,该第一特征函数与该物理地址为第二类映射。
123.如果该第一特征函数与该第一物理地址集中的全部物理地址的计算结果中,位数为1的数量均为偶数,即均为第二类映射,则说明该第一特征函数与该第一物理地址集存在映射一致性。否则,抛弃该第一特征函数。
124.如果该第一特征函数与每个第一物理地址集均具有映射一致性,则将该第一特征函数加入映射函数集合,否则,抛弃该第一特征函数。
125.在图5所示实施例中,以64位二进制物理地址(m=64)为例进行说明,一般而言,64位(m)的物理地址中有33~34位(w)对应地址位,此时将n值设置为33以下例如30(n)即可得到满足下一步计算要求的映射函数集合。
126.在步骤s3,根据所述映射函数集合确定所述待测存储器对应的阵列映射函数。
127.步骤s2得到的映射函数结合中,可能存在多个线性相关的第一特征函数,因此,在步骤s3,可以使用高斯消元法对映射函数集合进行运算,以得到阵列映射函数,阵列映射函数包括多个线性无关的第一特征函数。
128.图7是本公开一个实施例中高斯消元法的示意图。
129.参考图7,映射函数集合71中有步骤s2确定的13个第一特征函数711,经过高斯消元法,得到阵列映射函数72,阵列映射函数72中包括4个线性无关的第一特征函数711。
130.阵列映射函数72即为待测存储器的阵列映射函数,使用该阵列映射函数对待测存储器中具有共同点的多个存储器地址进行计算,可以得到多个具有共同特征的物理地址。同样,使用该阵列映射函数对同一存储体的物理地址进行计算,得到的存储器地址也具有相同的特征,该特征即为该存储体的存储器地址特征,也称阵列地址编码。
131.在步骤s4,根据所述阵列映射函数确定每个所述存储体对应的第二物理地址集,所述第二物理地址集中包含属于同一所述存储体的多个物理地址。
132.在步骤s4,首先可以随机确定多个目标物理地址,然后将阵列映射函数中的第i个第一特征函数与目标物理地址进行按位与运算,在运算结果中为1的位数为奇数时,将目标物理地址的阵列地址编码的第i位记为1,在运算结果中为1的位数为偶数时,将目标物理地址的阵列地址编码的第i位记为0,1≤i≤x,其中x是阵列映射函数中的第一特征函数的数量,有2
x
=m,m为待测存储器中存储体的数量。
133.假设一个目标物理地址为:1100 0001 1011 1001 1100 1100 0111 1011,阵列映射函数中的第1个第一特征函数为:1111 1111 1111 1111 0000 0000 0000 0000,二者按位与运算的结果中,有8位为1,则目标物理地址的阵列地址编码的第1位为0。
134.接下来,将阵列映射函数中每个第一特征函数与目标物理地址进行按位与运算,
以确定目标物理地址的阵列地址编码。根据与一个目标物理地址与第i个第一特征函数func-mask-i的计算结果,确定该目标物理地址的阵列地址编码adbank的第i位。
135.例如,假设x=4,阵列映射函数包括4个第一特征函数,目标物理地址与第1个第一特征函数、第2个第一特征函数、第3个第一特征函数、第4个第一特征函数的按位与运算结果分别为偶数个1、偶数个1、奇数个1、奇数个1,则目标物理地址的阵列地址编码为(0,0,1,1)。
136.根据上述流程,确定多个目标物理地址对应的阵列地址编码,将阵列地址编码相同的目标物理地址记为一个存储体对应的第二物理地址集。每个第二物理地址集中均包括对应相同的存储体的多个目标物理地址。
137.在本步骤中,第二物理地址集中的多个目标物理地址可以包括与该存储体对应的第一物理地址集中的物理地址,但是为了使每个存储体对应的目标物理地址的数量均能够满足后续对每个存储体所有行地址映射函数的计算要求,可以扩大目标物理地址的选择范围,即随机生成大量的目标物理地址,使同一个存储体对应的第二物理地址集中的目标物理地址的数量远大于第一物理地址集中的物理地址的数量。
138.在步骤s5,根据连续访问两个物理地址的访问时间是否超过所述预设时长,在每个所述存储体对应的第二物理地址集中确定每一个存储体行对应的第三物理地址集,所述第三物理地址集中包含属于同一存储单元行的多个物理地址。
139.对于每一个存储体,可以在计算时将其设置为待测存储体。接下来,可以在待测存储体对应的第二物理地址集中随机选择一个第四物理地址(也称为基地址),将第四物理地址记入待测试存储体中第一个存储单元行对应的第三物理地址集;在待测存储体对应的第二物理地址集中随机确定一个第五物理地址,对第四物理地址和第五物理地址进行连续访问测试;在访问时间未超过预设时长时,将第五物理地址记入第一个存储单元行对应的第三物理地址集;在连续访问测试的访问时间超过预设时长时,将第五物理地址记入第二个存储单元行对应的第三物理地址集。根据上述逻辑对待测存储体对应的第二物理地址集中的每个物理地址进行上述连续访问测试,以确定存储体中每一个存储单元行对应的第三物理地址集。
140.将上述逻辑转换为流程图,可以设置存储体的总数量为m,序号为i的一个存储体bi对应第二物理地址集adi,第二物理地址集adi中的目标物理地址的数量为qi,目标物理地址的序号为j。
141.图8是本公开一个实施例中步骤s5的子流程图。
142.参考图8,在一个实施例中,步骤s5可以包括:
143.步骤s501,设置i=1。
144.步骤s502,设置j=1。
145.步骤s503,将第i个存储体bi设置为待测存储体bi,根据待测存储体bi对应的第二物理地址集adi中的物理地址数量设置qi的值。
146.步骤s504,判断j是否等于1,如果是,进入步骤s505,否则,进入步骤s506。
147.步骤s505,在adi中随机选择一个物理地址a1记入待测试存储体中第一个存储单元行对应的第三物理地址集。
148.步骤s506,在adi中随机确定一个第五物理地址aj,在不为空集的每个第三物理地
址集中选取一个第四物理地址,对第五物理地址aj和每个第四物理地址分别进行连续访问测试。
149.步骤s507,判断访问时间是否超过预设时长,如果否,进入步骤s508,如果是,进入步骤s509。
150.步骤s508,将第五物理地址aj记入一个新的存储单元行对应的第三物理地址集。
151.步骤s509,将第五物理地址aj记入与该访问访问时间对应的第四物理地址所在的存储单元行的第三物理地址集。
152.步骤s510,判断j是否等于qi,如果是,进入步骤s511,否则,进入步骤s512对j加1后返回步骤s506。
153.步骤s511,判断i是否等于m,如果否,进入步骤s513对i加1后返回步骤s502,如果是,结束步骤s5。
154.在图8所示实施例中,由于同一个待测存储体对应的第二物理地址集中的各物理地址均对应同一个存储体体,那么如果两个物理地址的连续访问时间如果超过预设时长,则说明这两个物理地址位于不同行,如果未超过预设时长,说明这两个物理地址位于同一行。
155.因此,经过图8所示实施例,可以得到每个存储体的每行对应的物理地址集,即第三物理地址集,进而对每个存储体提取行地址映射函数。
156.在步骤s6,顺次使用第二预设特征函数集合中的多个第二特征函数与第三物理地址集中的每个物理地址进行按位与运算,以确定第三物理地址集对应的行地址映射函数。
157.由于物理地址中某些位组合起来可以指征dram颗粒的行地址,因此,在本步骤中,首先可以确定第二预设特征函数集合。第二预设特征函数集合包括多个第二特征函数,每个第二特征函数均满足成为待测存储器的行地址映射函数的条件。首先,每个第二特征函数均为m位二进制数,其次,在待测存储器的行地址的位宽为p时,第二特征函数中除最低六位外(最低六位是用做缓存线(cache line)地址的编码),有p位为1。根据jedec规范,一种规格的内存颗粒,其行数量是的固定的,比如8gb xb规格的ddr4 dram颗粒,它的行数量是65536(216),因此在物理地址中占用了16个bit的宽度用来指示颗粒行地址,p=16。
158.接下来,可以使用每个第二特征函数与对应一个存储体中一行存储单元的第三物理地址集中的物理地址进行计算,以判断该第二特征函数是否为该第三物理地址集对应的行映射函数。
159.第三物理地址集对应的行映射函数对该第三物理地址集中的各物理地址的影响相同,因此,在一个实施例中,可以将一个第二特征函数与一个第三物理地址集中的每个物理地址进行按位与运算,以获取多个运算结果,在第二特征函数与第三物理地址集中的每个物理地址的运算结果均相同时,确定第二特征函数为第三物理地址集对应的行地址映射函数;在任意一个运算结果与其他运算结果不同时,重新确定另外一个第二特征函数进行运算。
160.按照上述流程,可以确定每个存储体、每个存储体行对应的阵列映射函数和行映射函数,进而对物理地址和存储器地址进行匹配。
161.在步骤s7,根据阵列映射函数和行地址映射函数确定访问事件对应的存储器地址。
162.访问时间包括读取事件和写入事件,处理器执行的每个内存访问事件均对应一或多个物理地址。
163.在一个实施例中,可以首先确定访问事件对应的物理地址,然后根据物理地址和阵列映射函数确定物理地址对应的目标阵列地址,确定的方法为进行按位与运算;接下来,根据物理地址和行地址映射函数确定物理地址对应的目标阵列地址中的目标行地址,确定的方法同样为进行按位与运算。最后,将目标阵列地址和目标行地址设置为访问事件对应的存储器地址。
164.通过本公开实施例提供的方法,可以迅速确定每个物理地址对应的存储器地址,即当前访问的是哪个存储体、哪一行的存储单元,进而在出现访问故障时,迅速定位故障存储单元。同时,在行锤测试等存储器生产测试中,本公开实施例提供的方法也能极大提高测试效率。
165.在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备,电子设备包括:待测存储器;以及耦合到待测存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行如上述任一项的存储器地址确定方法,以确定处理器的物理地址与待测存储器的存储单元之间的阵列映射函数和行地址映射函数。
166.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
167.在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
168.此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
169.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。

技术特征:


1.一种存储器地址确定方法,其特征在于,包括:根据连续访问两个物理地址的访问时间是否超过预设时长,确定待测存储器的每个存储体对应的第一物理地址集,所述第一物理地址集中包含属于同一所述存储体的多个物理地址;顺次使用第一预设特征函数集合中的多个第一特征函数与每个所述第一物理地址集中的多个物理地址进行按位与运算,以确定所述待测存储器对应的映射函数集合;根据所述映射函数集合确定所述待测存储器对应的阵列映射函数;根据所述阵列映射函数确定每个所述存储体对应的第二物理地址集,所述第二物理地址集中包含属于同一所述存储体的多个物理地址;根据连续访问两个物理地址的访问时间是否超过所述预设时长,在每个所述存储体对应的第二物理地址集中确定每一个存储体行对应的第三物理地址集,所述第三物理地址集中包含属于同一存储单元行的多个物理地址;顺次使用第二预设特征函数集合中的多个第二特征函数与所述第三物理地址集中的每个物理地址进行按位与运算,以确定所述第三物理地址集对应的行地址映射函数;根据所述阵列映射函数和所述行地址映射函数确定访问事件对应的存储器地址。2.如权利要求1所述的存储器地址确定方法,其特征在于,根据连续访问两个物理地址的访问时间是否超过预设时长,所述确定待测存储器的每个存储体对应的第一物理地址集包括:随机确定第一物理地址,将所述第一物理地址记入第一存储体对应的第一物理地址集;随机确定第二物理地址,对所述第一物理地址和所述第二物理地址进行连续访问测试;在所述连续访问测试的访问时间超过预设时长时,将所述第二物理地址记入所述第一存储体对应的第一物理地址集,在所述访问时间未超过所述预设时长时,将所述第二物理地址记入第二存储体对应的第一物理地址集。3.如权利要求2所述的存储器地址确定方法,其特征在于,根据连续访问两个物理地址的访问时间是否超过预设时长,所述确定待测存储器的每个存储体对应的第一物理地址集还包括:在多个存储体对应的第一物理地址集不为空集时,随机确定第三物理地址,对所述第三物理地址和每个所述第一物理地址集中的一个物理地址分别进行所述连续访问测试;在任意一次连续访问测试的访问时间超过所述预设时长时,将所述第三物理地址计入该次连续访问测试中另一个物理地址对应的第一物理地址集;在全部所述连续访问测试的访问时间均未超过所述预设时长时,将所述第三物理地址计入一个新的存储体对应的第一物理地址集;重复上述步骤,直至每一个存储体对应的第一物理地址集中的物理地址均达到第一预设值。4.如权利要求3所述的存储器地址确定方法,其特征在于,所述在任意一次连续访问的访问时间超过所述预设时长时,将所述第三物理地址计入该次连续访问测试中另一个物理地址对应的第一物理地址集包括:
在所述另一个物理地址对应的第一物理地址集中的物理地址数量未达到第一预设值时,将所述第三物理地址计入所述另一个物理地址对应的第一物理地址集中,否则,抛弃所述第三物理地址。5.如权利要求3所述的存储器地址确定方法,其特征在于,所述在全部所述连续访问的访问时间均未超过所述预设时长时,将所述第三物理地址计入一个新的存储体对应的第一物理地址集包括:在全部所述连续访问的访问时间均未超过所述预设时长时,重新在每个所述第一物理地址集中选取与所述第三物理地址进行连续访问的物理地址,并重新进行连续访问测试;在第二次判断全部所述连续访问的访问时间均未超过所述预设时长时,判断第一物理地址集不为空的存储体数量是否等于所述待测存储器对应的全部存储体数量;如果是,重新在每个所述第一物理地址集中选取与所述第三物理地址进行连续访问的物理地址,并重新进行连续访问测试;如果否,将所述第三物理地址计入一个新的存储体对应的第一物理地址集。6.如权利要求1所述的存储器地址确定方法,其特征在于,所述顺次使用第一预设特征函数集合中的多个第一特征函数与每个所述第一物理地址集中的多个物理地址进行按位与运算,以确定所述待测存储器对应的映射函数集合包括:将一个所述第一特征函数与一个所述物理地址进行按位与运算,确定计算结果中等于1的位数,在所述位数为奇数时,将所述第一特征函数和所述物理地址记为第一类映射,在所述位数为偶数时,将所述第一特征函数和所述物理地址记为第二类映射;在一个所述第一特征函数与一个所述第一物理地址集中的每个物理地址均为所述第一类映射或均为所述第二类映射时,确定所述第一特征函数与所述第一物理地址集具有映射一致性;在一个所述第一特征函数与每个存储体对应的所述第一物理地址集均具有所述映射一致性时,将所述第一特征函数记入所述待测存储器对应的映射函数集合。7.如权利要求1或6所述的存储器地址确定方法,其特征在于,所述物理地址和所述第一特征函数均为m位二进制数,任意两个所述第一特征函数完全不同,所述顺次使用第一预设特征函数集合中的多个第一特征函数与每个所述第一物理地址集中的多个物理地址进行按位与运算,以确定所述待测存储器对应的映射函数集合包括:确定所述第一预设特征函数集合中的多个特征函数组,同一个所述特征函数组中的所述第一特征函数等于1的位数相同,不同所述特征函数组中的所述第一特征函数等于1的位数不同;在当前未进行测试的特征函数组中,将等于1的位数最少的特征函数组设置为待测特征函数组;在所述待测特征函数组中确定一个待测第一特征函数,将所述待测第一特征函数与每个所述第一物理地址集中的多个物理地址进行按位与运算后,重新在所述待测特征函数组中确定另一个待测第一特征函数进行运算,直至所述待测特征函数组对应的全部第一特征函数均完成运算;重新确定待测特征函数组,直至每个所述特征函数组均完成运算。8.如权利要求1所述的存储器地址确定方法,其特征在于,所述根据所述映射函数集合
确定所述待测存储器对应的阵列映射函数包括:使用高斯消元法对所述映射函数集合进行运算,以得到所述阵列映射函数,所述阵列映射函数包括多个线性无关的第一特征函数。9.如权利要求1所述的存储器地址确定方法,其特征在于,所述阵列映射函数包括x个第一特征函数,2
x
=m,m为待测存储器中存储体的数量,所述根据所述阵列映射函数确定每个所述存储体对应的第二物理地址集包括:随机确定多个目标物理地址;将所述阵列映射函数中的第i个所述第一特征函数与所述目标物理地址进行按位与运算,在运算结果中为1的位数为奇数时,将所述目标物理地址的阵列地址的第i位记为1,在所述运算结果中为1的位数为偶数时,将所述目标物理地址的阵列地址的第i位记为0,1≤i≤x;将所述阵列映射函数中每个所述第一特征函数与所述目标物理地址进行按位与运算,以确定所述目标物理地址的阵列地址;确定所述多个目标物理地址对应的阵列地址,将所述阵列地址相同的目标物理地址记为一个所述存储体对应的所述第二物理地址集。10.如权利要求1所述的存储器地址确定方法,其特征在于,所述根据连续访问两个物理地址的访问时间是否超过预设时长,在每个所述存储体对应的第二物理地址集中确定每一个存储体行对应的第三物理地址集包括:在待测存储体对应的所述第二物理地址集中随机选择一个第四物理地址,将所述第四物理地址记入所述待测试存储体中第一个存储单元行对应的所述第三物理地址集;在所述待测存储体对应的所述第二物理地址集中随机确定一个第五物理地址,对所述第四物理地址和所述第五物理地址进行连续访问测试;在所述在访问时间未超过所述预设时长时,将所述第五物理地址记入所述第一个存储单元行对应的第三物理地址集;在所述连续访问测试的访问时间超过预设时长时,将所述第五物理地址记入第二个存储单元行对应的第三物理地址集;对所述待测存储体对应的所述第二物理地址集中的每个物理地址进行上述连续访问测试,以确定所述存储体中每一个存储单元行对应的第三物理地址集。11.如权利要求1所述的存储器地址确定方法,其特征在于,所述顺次使用第二预设特征函数集合中的多个第二特征函数与所述第三物理地址集中的每个物理地址进行位与运算,以确定所述第三物理地址集对应的行地址映射函数包括:将一个所述第二特征函数与一个所述第三物理地址集中的每个物理地址进行按位与运算,以获取多个运算结果;在所述第二特征函数与所述第三物理地址集中的每个物理地址的所述运算结果均相同时,确定所述第二特征函数为所述第三物理地址集对应的行地址映射函数;在任意一个所述运算结果与其他所述运算结果不同时,重新确定另外一个第二特征函数进行运算。12.如权利要求1或11所述的存储器地址确定方法,其特征在于,所述物理地址和所述第二特征函数均为m位二进制数,所述待测存储器的行地址的位宽为p,所述第二特征函数
中除最低六位外,有p位为1。13.如权利要求1所述的存储器地址确定方法,其特征在于,还包括:随机确定多组物理地址,每组物理地址中包括两个不同的物理地址;对每组物理地址做多次连续访问测试,将所述多次连续访问测试的访问时间的中值或平均值记录为所述每组物理地址对应的连续访问时长;获取所述多组物理地址对应的多个连续访问时长的统计分布;根据所述统计分布确定所述预设时长。14.如权利要求13所述的存储器地址确定方法,其特征在于,所述对每组所述物理地址做多次连续访问测试包括:在每次所述连续访问测试后,均执行缓存线清除指令。15.如权利要求1所述的存储器地址确定方法,其特征在于,所述根据阵列映射函数和行地址映射函数确定访问事件对应的存储器地址包括:确定所述访问事件对应的物理地址;根据所述物理地址和所述阵列映射函数确定所述物理地址对应的目标阵列地址;根据所述物理地址和所述行地址映射函数确定所述物理地址对应的所述目标阵列地址中的目标行地址;将所述目标阵列地址和所述目标行地址设置为所述访问事件对应的存储器地址。16.一种电子设备,其特征在于,包括:待测存储器;以及耦合到所述待测存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1-15任一项所述的存储器地址确定方法,以确定所述处理器的物理地址与所述待测存储器的存储单元之间的阵列映射函数和行地址映射函数。

技术总结


本公开提供一种存储器地址确定方法与电子设备。方法包括:确定待测存储器的每个存储体对应的第一物理地址集;顺次使用第一预设特征函数集合中的多个第一特征函数与每个第一物理地址集中的多个物理地址进行按位与运算,以确定待测存储器对应的阵列映射函数;根据阵列映射函数确定每个存储体对应的第二物理地址集;在每个存储体对应的第二物理地址集中确定每一个存储体行对应的第三物理地址集;顺次使用第二预设特征函数集合中的多个第二特征函数与第三物理地址集中的每个物理地址进行按位与运算,以确定第三物理地址集对应的行地址映射函数。本公开实施例可以测得存储器的物理地址与存储器的存储单元位置之间的映射关系。系。系。


技术研发人员:

蒋国兵

受保护的技术使用者:

长鑫存储技术有限公司

技术研发日:

2022.06.30

技术公布日:

2022/10/4

本文发布于:2024-09-21 14:37:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/15469.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:物理地址   所述   函数   特征
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议