一种激活内存的方法及装置的制造方法_2

文档序号:9921978阅读:来源:国知局
第三内存访问请求用于请求访问内存的第三子行,所述第三子行与所述第一子行处于同一行,所述第二子行包括的任意一存储单元所对应的列号标识与所述第三子行包括的任意一存储单元所对应的列号标识均不相同;
[0078]根据所述第一内存访问请求生成第一激活指令,具体包括:
[0079]合并所述第一内存访问请求和所述第三内存访问请求,生成第一激活指令。
[0080]结合第七方面,以及第七方面的第一种可能的实现方式,在第二种可能的实现方式中,根据所述第二内存访问请求生成第二激活指令之前,还包括:
[0081]获取第四内存访问请求,所述第四内存访问请求用于请求访问内存的第四子行,所述第四子行与所述第二子行处于同一行,所述第四子行包括的任意一存储单元所对应的列号标识与所述第一子行包括的任意一存储单元所对应的列号标识均不相同;
[0082]根据所述第二内存访问请求生成第二激活指令,具体包括:
[0083]合并所述第二内存访问请求和所述第四内存访问请求,生成第二激活指令。
[0084]结合第七方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第四子行包括的任意一存储单元所对应的列号标识与所述第三子行包括的任意一存储单元所对应的列号标识均不相同。
[0085]第八方面,提供一种激活内存的方法,包括:
[0086]接收内存控制器发送的第一激活指令,所述第一激活指令用于指示激活内存中的第一子行;
[0087]根据所述第一激活指令激活处于所述内存中的所述第一子行;
[0088]接收内存控制器发送的第二激活指令,所述第二激活指令用于指示激活内存中的第二子行;
[0089]根据所述第二激活指令激活处于所述内存中的所述第二子行;
[0090]所述第一子行位于第一子阵列,所述第二子行处于第二子阵列;所述第一子阵列和所述第二子阵列均包括至少一行,所述至少一行中的任意一行包括至少一个子行,所述至少一个子行中的任意一子行包括至少一个存储单元,任意一存储单元与一个行号标识和一个列号标识相对应;
[0091]所述第二子行包括的任意一存储单元所对应的列号标识与所述第一子行包括的任意一存储单元所对应的列号标识均不相同;
[0092]所述第一锁存器和所述第二锁存器均与用于进行数据缓存的全局缓冲器相连。
[0093]结合第八方面,在第一种可能的实现方式中,所述第一激活指令还用于指示激活内存中的第三子行,所述第三子行与所述第一子行处于同一行中;
[0094]所述第二子行包括的任意一存储单元所对应的列号标识与所述第三子行包括的任意一存储单元所对应的列号标识均不相同;
[0095]根据所述第一激活指令激活处于所述内存中的所述第一子行,具体包括:
[0096]由所述内存中的第一锁存器根据所述第一激活指令激活处于所述内存中的所述第一子行和所述第三子行。
[0097]结合第八方面,以及第八方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第二激活指令还用于指示激活内存中的第四子行,所述第四子行与所述第二子行处于同一行中;
[0098]所述第四子行包括的任意一存储单元所对应的列号标识与所述第三子行包括的任意一存储单元所对应的列号标识均不相同;
[0099]根据所述第二激活指令激活处于所述内存中的所述第二子行,具体包括:
[0100]由所述内存中的第二锁存器根据所述第二激活指令激活处于所述内存中的所述第二子行和所述第四子行。
[0101]本发明有益效果如下:
[0102]现有技术中,不能同时对多个存储单元进行激活,而是每激活一个存储单元后,要对该存储单元进行预充电后,然后,才能对下一个存储单元进行激活操作,因此,目前激活内存的方法存在效率较低的缺陷,本发明实施例中,获取第一内存访问请求后,第一内存访问请求用于请求访问内存的第一子行,没有立即去激活第一子行,而是从内存待调度队列中查找第二内存访问请求,第二内存访问请求用于请求访问内存的第二子行,第一子行与第二子行处于内存的同一行中或者处于同一行中;然后,合并第一内存访问请求和第二内存访问请求,生成第一激活指令,第一激活指令用于指示激活内存中的第一子行和第二子行,并将第一激活指令发送至内存,这样,就可以同时将第一子行和第二子行激活,没必要在激活第一子行后,对第一子行所在的行预充电后才激活第二子行,因此,提高了激活内存的效率。
【附图说明】
[0103]图1A为本发明实施例中激活内存的一种流程图;
[0104]图1B为本发明实施例中子行选择向量的示意图;
[0105]图2为本发明实施例中激活内存的另一种流程图;
[0106]图3为本发明实施例中内存控制器的一种示意图;
[0107]图4为本发明实施例中内存模块的一种示意图;
[0108]图5A为本发明实施例中内存控制器的另一种不意图;
[0109]图5B为本发明实施例中内存的示意图;
[0110]图6为本发明实施例中内存模块的另一种示意图;
[0111]图7为本发明实施例中激活内存的另一种流程图;
[0112]图8为本发明实施例中激活内存的另一种流程图;
[0113]图9为本发明实施例中内存控制器的另一种不意图;
[0114]图10为本发明实施例中内存模块的另一种示意图;
[0115]图11为本发明实施例中激活内存的另一种流程图;
[0116]图12为本发明实施例中激活内存的另一种流程图。
【具体实施方式】
[0117]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0118]另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字母“/”,一般表示前后关联对象是一种“或”的关系。
[0119]下面结合说明书附图对本发明优选的实施方式进行详细说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0120]下面结合附图对本发明优选的实施方式进行详细说明。
[0121]参阅图1A所示,本发明实施例中,激活内存的一种流程如下:
[0122]步骤100:获取第一内存访问请求,第一内存访问请求用于请求访问内存的第一子行;
[0123]步骤110:从内存待调度队列中查找第二内存访问请求,内存待调度队列包括多个内存访问请求,第二内存访问请求用于请求访问内存的第二子行,第一子行与第二子行处于内存的同一行;
[0124]步骤120:合并第一内存访问请求和第二内存访问请求,生成第一激活指令,第一激活指令用于指示激活内存中的第一子行和第二子行;
[0125]步骤130:将第一激活指令发送至内存。
[0126]本发明实施例中,要识别待激活的第一子行和第二子行是否处于同一行,可以查看所处的行的行地址是否相同。
[0127]本发明实施例中,为了使内存知道哪些子行要激活,哪些子行不激活,在内存待调度队列中查找第二内存访问请求之后,还包括如下操作:
[0128]生成子行选择向量,并将子行选择向量发送至内存;
[0129]子行选择向量用于标识待激活的子行是第一子行和第二子行。
[0130]例如,处于一行中有N个子行,子行选择向量中的值分别与一个子行相对应,且该值用于表示相对应的子行是被激活还是不被激活,如图1B所示,子行选择向量中的值为O时,表示对应的子行被激活,子行选择向量中的值为I时,表示对应的子行不被激活,当然,也可以用其他形式来表示对应的子行是否被激活,在此不再进行一一详述。
[0131 ] 本发明实施例中,在发送子行选择向量时,可以与第一激活指令同时发送,如,将子行选择向量携带在第一激活指令中,此时,在具体实现时,将子行选择向量和第一激活指令在内存总线上同时写入;或者,在发送子行选择向量时,可以在发送第一激活指令之前发送子行选择向量,此时,在具体实现时,在内存总线上第一激活指令写入之前通过总线写入子行选择向量。
[0132]本发明实施例中,在激活第一子行和第二子行后,把第一子行和第二子行中的数据取到对应的子行缓冲中去,对于不被选中的子行,不激活,不把对应的数据取到相应的子行缓冲中去。
[0133]在该方案中,在接收到第一内存访问请求时,不是立即去激活第一内存访问请求所请求访问的第一子行,而是对内存待调度队列中的内存访问请求进行调度,查找第二内存访问请求,将第一内存访问请求和第二内存访问请求合并为第一激活指令,并将第一激活指令发送至内存,这样,一次性可以激活第一子行和第二子行,提高了激活效率。
[0134]参阅图2所示,本发明实施例中,激活内存的另一种流程如下:
[0135]步骤200:接收内存控制器发送的第一激活指令,第一激活指令用于指示激活内存中的第一子行和内存中的第二子行,第一子行与第二子行均处于内存中的同一行中;
[0136]步骤210:根据第一激活指令激活处于内存中的第一子行和第二子行。
[0137]本发明实施例中,根据第一激活指令激活处于内存中的第一子行和第二子行之前,还包括如下操作:
[0138]接收内存控制器发送的子行选择向量,子行选择向量用于标识待激活的子行是第一子行和第二子行;
[0139]根据第一激活指令激活处于内存中的第一子行和第二子行时,可以采用如下方式:
[0140]根据第一激活指令中、子行选择向量激活处于内存的第一子行和第二子行。
[0141]基于上述相应方法的技术方案,参阅图3所示,本发明实施例提供一种内存控制器3000,该内存控制器3000包括请求分发模块30、内存调度器31、命令调度器32,其中:
[0142]请求分发模块30,用于获取第一内存访问请求,第一内存访问请求用于请求访问内存的第一子行;
[0143]内存调度器31,用于从内存待调度队列中查找第二内存访问请求,内存待调度队列包括多个内存访问请求,第二内存访问请求用于请求访问内存的第二子行,第一子行与第二子行处于内存的同一行;
[0144]内存调度器31还用于,合并第一内存访问请求和第二内存访问请求,生成第一激活指令,第一激活指令用于指示激活内存中的第一子行和第二子行;
[0145]命令调度器32,用于第一激活指令发送至内存。
[0146]本发明实施例中,内存调度器31还用于:
[0147]生成子行选择向量,并将子行选择向量发送至内存;
[0148]子行选择向量用于标识待激活的子行是第一子行和第二子行。
[0149]基于上述相应方法的技术方案,参阅图4所示,本发明实施例提供一种内存模块4000,该内存模块4000包括锁存器40、子行选择解码器41,其中:
[0150]锁存器40,用于接收内存控制器发送的第一激活指令,第一激活指令用于指示激活内存中的第一
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1