首页> 中国专利> 基于内存芯片互连的内存访问处理方法、内存芯片及系统

基于内存芯片互连的内存访问处理方法、内存芯片及系统

摘要

本发明实例公开了基于内存芯片互连的内存访问处理方法、内存芯片及系统,涉及电子设备领域,可以减少内存访问请求的处理时延,提高系统带宽的利用率。本发明的方法包括:第一内存芯片接收内存访问请求;若所述第一内存芯片不是所述内存访问请求对应的目标内存芯片,则根据预先配置的路由规则通过芯片互连接口将所述内存访问请求发送给所述内存访问请求对应的目标内存芯片。本发明的实施例主要用于内存访问请求的处理过程中。

著录项

  • 公开/公告号CN103902472A

    专利类型发明专利

  • 公开/公告日2014-07-02

    原文格式PDF

  • 申请/专利号CN201210587401.2

  • 发明设计人 黄永兵;陈明宇;阮元;陈荔城;

    申请日2012-12-28

  • 分类号G06F12/08;

  • 代理机构北京中博世达专利商标代理有限公司;

  • 代理人申健

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-16 23:56:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-20

    授权

    授权

  • 2014-07-30

    实质审查的生效 IPC(主分类):G06F12/08 申请日:20121228

    实质审查的生效

  • 2014-07-02

    公开

    公开

说明书

技术领域

本发明涉及电子设备领域,尤其涉及一种基于内存芯片互连的内存 访问处理方法、内存芯片及系统。

背景技术

随着处理器工艺的快速发展,现有内存系统不足以匹配经过快速发 展的处理器系统,造成内存工艺的瓶颈现象日益突出。其中,内存工艺 发展的瓶颈现象主要体现在两个方面:内存带宽的有效利用率低和内存 系统功耗大。

现有技术中,为了降低内存系统功耗,改变了内存芯片的组织方式, 从而改进内存访问请求的处理方式,具体的:由一个内存芯片中的一个 子芯片(Subarry)处理一个内存访问请求,而不是将一个内存访问请求 均分到所有的内存芯片上或均分到一个内存芯片的全部Subarry上,从 而在处理内存访问请求时,只激活与内存访问请求相关的内存芯片,其 他没有被激活的Subarry处于低功耗模式。

在实现上述内存访问处理的过程中,由于一个内存芯片中的一个 Suba rry处理一个内存访问请求时传输数据需要更多的时间,而内存控制 器在接收到内存芯片返回的应答信息后,才能再次向该内存芯片发送下 一个内存访问请求,导致内存访问请求的处理时延较高。

发明内容

本发明的实施例提供的基于内存芯片互连的内存访问处理方法、内 存芯片及系统,可以减少内存访问请求的处理时延,提高系统带宽的利 用率。

为达到上述目的,本发明的实施例采用如下技术方案:

本发明实施例的第一方面,提供一种基于内存芯片互连的内存访问 处理方法,包括:

第一内存芯片接收内存访问请求;

当所述第一内存芯片不是所述内存访问请求对应的目标内存芯片 时,根据预先配置的路由规则通过芯片互连接口将所述内存访问请求发 送给所述内存访问请求对应的目标内存芯片;

其中,所述第一内存芯片上设置有至少一个所述芯片互连接口,每 个所述芯片互连接口连接至一个第二内存芯片。

结合第一方面,在一种可能的实现方式中,所述第一内存芯片接收 内存访问请求,包括:

通过高速总线接口接收内存控制器发送的所述内存访问请求;

或者,通过芯片互连接口接收所述第二内存芯片发送的所述内存访 问请求。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中, 在第一内存芯片接收内存访问请求之后,所述方法还包括:

若所述第一内存芯片是所述内存访问请求对应的目标内存芯片,则 执行所述内存访问请求对应的内存访问操作。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中, 在所述执行所述内存访问请求对应的内存访问操作之前,所述方法还包 括:

在所述第一内存芯片处于忙碌状态时,缓存接收自所述第二内存芯 片的内存访问请求;

在所述第一内存芯片脱离所述忙碌状态时,读取缓存的所述内存访 问请求。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中, 所述内存访问请求中包含:数据交互指令,和/或内存业务数据;

若所述内存访问请求中包含所述第一内存芯片与所述目标内存芯片 之间的数据交互指令,则所述执行所述内存访问请求对应的内存访问操 作,包括:

根据所述路由规则通过所述芯片互连接口将所述数据交互指令指示 的内存业务数据发送给所述数据交互指令指示的目标内存芯片。

结合第一方面和上述可能的实现方式,在另一种可能的实现方式中, 所述内存控制器发送的所述内存访问请求包括:所述内存控制器接收到 的一级内存访问请求;和/或,根据所述一级内存访问请求分割得到的至 少两个二级内存访问请求中的一个。

本发明实施例的第二方面,还提供一种内存芯片,包括:

接收单元,用于接收内存访问请求;

发送单元,用于当所述内存芯片不是所述内存访问请求对应的目标 内存芯片时,根据预先配置的路由规则通过芯片互连接口将所述内存访 问请求发送给所述内存访问请求对应的目标内存芯片;

其中,所述内存芯片上设置有至少一个所述芯片互连接口,每个所 述芯片互连接口连接至一个其他内存芯片。

结合第二方面,在一种可能的实现方式中,所述接收单元,还用于 通过高速总线接口接收内存控制器发送的所述内存访问请求;或者,通 过芯片互连接口接收其他内存芯片发送的所述内存访问请求。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中, 所述内存芯片,还包括:

处理单元,用于在所述接收单元接收内存访问请求之后,当所述内 存芯片是所述内存访问请求对应的目标内存芯片时,执行所述内存访问 请求对应的内存访问操作。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中, 所述内存芯片,还包括:

缓存单元,用于在所述处理单元执行所述内存访问请求对应的内存 访问操作之前,在所述内存芯片处于忙碌状态时,缓存接收自所述其他 内存芯片的内存访问请求;

读取单元,用于在所述内存芯片脱离所述忙碌状态时,读取缓存的 所述内存访问请求。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中, 所述内存访问请求中包含:数据交互指令,和/或内存业务数据。

若所述内存访问请求中包含所述内存芯片与所述目标内存芯片之间 的数据交互指令,则所述处理单元,还用于根据所述路由规则通过所述 芯片互连接口将所述数据交互指令指示的内存业务数据发送给所述数据 交互指令指示的目标内存芯片。

结合第二方面和上述可能的实现方式,在另一种可能的实现方式中, 所述内存控制器发送的所述内存访问请求包括:所述内存控制器接收到 的一级内存访问请求;和/或,根据所述一级内存访问请求分割得到的至 少两个二级内存访问请求中的一个。

本发明实施例的第三方面,还提供一种基于内存芯片互连的内存访 问处理系统,包括:至少两个内存芯片;以及内存控制器。

所述内存芯片,用于接收内存访问请求;若所述内存芯片不是所述 内存访问请求对应的目标内存芯片,则根据预先配置的路由规则通过芯 片互连接口将所述内存访问请求发送给所述内存访问请求对应的目标内 存芯片;其中,所述内存芯片上设置有至少一个所述芯片互连接口,每 个所述芯片互连接口连接至一个其他内存芯片。

所述内存控制器,用于接收处理器发送的一级内存访问请求;将所 述一级内存访问请求作为内存访问请求发送给不处于忙碌状态的内存芯 片。

结合第三方面,在一种可能的实现方式中,所述内存控制器,还用 于将所述一级内存访问请求分割成至少两个二级内存访问请求;将所述 二级访问内存访问请求作为所述内存访问请求分发给不处于忙碌状态的 内存芯片。

本发明实施例提供的基于内存芯片互连的内存访问处理方法、内存 芯片及系统,内存芯片接收内存访问请求后,可以根据预先配置的路由 规则通过芯片互连接口将所述内存访问请求发送给所述内存访问请求对 应的目标内存芯片,与现有技术中只能在目标内存芯片完成当前内存访 问操作后才能接收内存控制器发送的内存访问请求的技术相比,无论目 标内存芯片是否忙碌,内存控制器均可将内存访问请求发送至内存芯片, 通过内存芯片之间的转发目标内存芯片可以快速获取内存访问请求,减 少从内存控制器获取数据的传输时延和数据等待过程中的对系统带宽浪 费,从而可以减少内存访问请求的处理时延,提高系统带宽的利用率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将 对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见 地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技 术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获 得其他的附图。

图1为本发明实施例1中的一种基于内存芯片互连的内存访问处理 方法流程图;

图2为本发明实施例2中的一种基于内存芯片互连的内存访问处理 方法流程图;

图3为本发明实施例2中的一种内存芯片的结构示意图;

图4为本发明实施例2中的另一种基于内存芯片互连的内存访问处 理方法流程图;

图5为本发明实施例3中的一种内存芯片组成示意图;

图6为本发明实施例3中的另一种内存芯片组成示意图;

图7为本发明实施例4中的一种内存芯片组成示意图;

图8为本发明实施例5中的一种基于内存芯片互连的内存访问处理 系统组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案 进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实 施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本 发明保护的范围。

实施例1

本发明实施例提供一种基于内存芯片互连的内存访问处理方法,如 图1所示,包括:

101、第一内存芯片接收内存访问请求。

其中,所述第一内存芯片接收内存访问请求可以包括:通过高速总 线接口接收内存控制器发送的所述内存访问请求;或者,通过芯片互连 接口接收所述第二内存芯片发送的所述内存访问请求。所述内存访问请 求可以是所述内存控制器接收到的一级内存访问请求;也可以是根据所 述一级内存访问请求分割得到的至少两个二级内存访问请求中的一个。

102、若所述第一内存芯片不是所述内存访问请求对应的目标内存芯 片,则根据预先配置的路由规则通过芯片互连接口将所述内存访问请求 发送给所述内存访问请求对应的目标内存芯片。

其中,所述第一内存芯片在接收到所述内存访问请求后,可以根据 所述内存访问请求中携带的其目标芯片地址信息,通过所述第一内存芯 片的路由功能判断所述第一内存芯片是否为内存访问请求对应的目标内 存芯片,若所述第一内存芯片不是所述内存访问请求对应的目标内存芯 片,则根据预先配置的路由规则通过芯片互连接口将所述内存访问请求 发送给所述内存访问请求对应的目标内存芯片。其中,所述第一内存芯 片上设置有至少一个所述芯片互连接口,每个所述芯片互连接口连接至 一个第二内存芯片。

本发明实施例提供的基于内存芯片互连的内存访问处理方法,内存 芯片接收内存访问请求后,可以根据预先配置的路由规则通过芯片互连 接口将所述内存访问请求发送给所述内存访问请求对应的目标内存芯 片,与现有技术中只能在目标内存芯片完成当前内存访问操作后才能接 收内存控制器发送的内存访问请求的技术相比,无论目标内存芯片是否 忙碌,内存控制器均可将内存访问请求发送至内存芯片,通过内存芯片 之间的转发目标内存芯片可以快速获取内存访问请求,减少从内存控制 器获取数据的传输时延和数据等待过程中的对系统带宽浪费,从而减少 内存访问请求处理时延,提高系统带宽的利用率。

实施例2

本发明实施例提供一种基于内存芯片互连的内存访问处理方法,包 括:

201、内存控制器接收处理器发送的一级内存访问请求。

其中,所述内存控制器可以接收处理器发送的内存访问请求,并将 所述内存访问请求分发给该内存控制器控制的至少一个内存芯片,同时, 所述内存芯片还可以接收内存芯片返回的应答数据,进行组合并发送给 处理器。

202、内存控制器将所述一级内存访问请求作为内存访问请求发送给 不处于忙碌状态的内存芯片。

其中,所述内存控制器将所述一级内存访问请求作为内存访问请求 发送给不处于忙碌状态的内存芯片的具体实现方法可以是:所述内存控 制器可以根据所述内存访问请求中携带的该内存访问请求对应的目标内 存芯片地址信息,对所述内存访问请求进行地址映射,确定出所述内存 访问请求对应的目标内存芯片,然后根据内存控制器中备份的内存芯片 的工作状态(例如,空闲状态或忙碌状态),判断所述目标内存芯片是 否处于忙碌状态,若所述目标内存芯片不处于忙碌状态,则直接向所述 目标内存芯片发送该内存访问请求,若所述目标内存芯片处于忙碌状态, 则选择一个处于空闲状态的内存芯片,并发送该内存访问请求。

进一步可选的,在本实施例的一种应用场景中,为了灵活配置内存 芯片上数据的访问粒度,步骤202可以替换为:202a、内存控制器将所 述一级内存访问请求分割成至少两个二级内存访问请求;202b、将所述 二级访问内存访问请求作为所述内存访问请求分发给不处于忙碌状态的 内存芯片。

其中,所述内存控制器将所述一级内存访问请求分割成至少两个二 级内存访问请求,并将所述二级访问内存访问请求作为所述内存访问请 求分发给不处于忙碌状态的内存芯片的具体实现方法可以包括:所述内 存控制器可以根据所述内存芯片的工作状态以及所述内存访问请求的紧 急程度,对所述内存访问请求进行地址映射,将所述一级内存访问请求 分割成至少两个二级内存访问请求,并将所述二级访问内存访问请求作 为所述内存访问请求分发给不处于忙碌状态的内存芯片。例如,当所述 内存控制器接收到处理器发送的一个紧急内存访问请求A时,所述内存 控制器可以对内存访问请求A携带的该内存访问请求对应的目标内存芯 片地址信息进行地址映射,改变所述内存访问请求对应的目标内存芯片, 将所述内存访问请求A分割成至少两个二级内存访问请求,并将所述二 级访问内存访问请求作为所述内存访问请求分发给不处于忙碌状态的内 存芯片。其中,所述内存控制器可以根据所述内存模块中处于空闲状态 的内存芯片的个数,确定将所述内存访问请求A分割成两个或者多个两 个二级内存访问请求。例如,当内存模块中仅有两个处于空闲状态的内 存芯片时,则内存控制器可以将所述内存访问请求A分割成两个二级内 存访问请求,并进行分发。当内存模块中包含多个处于空闲状态的内存 芯片时,则内存控制器还可以根据内存访问请求的紧急或者重要程度对 内存访问请求A进行不同程度的分割。

需要说明的是,所述内存控制器将所述一级内存访问请求分割成至 少两个二级内存访问请求的方法和条件包含却不局限于本发明实施例所 提供的方法和条件,其他的分割所述一级内存访问请求的方法和条件本 发明实施例中不再赘述。

进一步可选的,在本实施例的一种应用场景中,如图2所示,当所 述第一内存芯片不处于忙碌状态时,则可以接收到所述内存控制器发送 的内存访问请求,由于所述第一内存芯片在接收到所述内存访问请求时, 可以通过访问请求中携带的目标地址查询第一内存芯片的路由表,判断 该内存芯片是否为所述内存访问请求对应的目标内存芯片,因此,本实 施例的方法还可以包括以下步骤:

203、判断所述第一内存芯片是否为所述内存访问请求对应的目标内 存芯片。若所述第一内存芯片不是所述内存访问请求对应的目标内存芯 片,则执行步骤204;若所述第一内存芯片是所述内存访问请求对应的目 标内存芯片,则执行步骤207。

在本实施例中,每个内存芯片在接收到所述内存访问请求时,无论 所述内存访问请求是接收自内存控制器还是接收自其它内存芯片,都需 要判断该内存芯片是否为所述内存访问请求对应的目标内存芯片,若该 内存芯片不是所述内存访问请求对应的目标内存芯片,则根据预先配置 的路由规则选择最优路径,通过芯片互连接口将所述内存访问请求发送 给下一个内存芯片(即直接相连的其他内存芯片中的一个),直至将所 述内存访问请求发送至所述内存访问请求对应的目标内存芯片;若该内 存芯片是所述内存访问请求对应的目标内存芯片,则执行所述内存访问 请求对应的内存访问操作。

204、第一内存芯片根据预先配置的路由规则通过芯片互连接口将所 述内存访问请求发送给所述内存访问请求对应的目标内存芯片。

其中,所述第一内存芯片上设置有至少一个所述芯片互连接口,每 个所述芯片互连接口连接至一个第二内存芯片。其中,所述第一内存芯 片上还可以设置有至少一个连接该内存芯片上子芯片(Subarray)的芯 片互连接口,内存芯片可以通过该芯片互连接口将接收自内存控制器或 者其他内存芯片的内存访问请求发送到对应的Subarray中。

具体的,内存芯片的路由模块可以在内存芯片接收到来自内存控制 器或者其他内存芯片的内存访问请求后,判断所述内存芯片是否为所述 内存访问请求对应的目标芯片;若所述内存芯片为所述内存访问请求对 应的目标芯片,内存芯片的路由模块则可以通过所述连接子芯片的芯片 互连接口将所述内存访问请求发送到对应的Subarray中;若所述内存芯 片不是所述内存访问请求对应的目标芯片,内存芯片的路由模块则可以 通过连接其他内存芯片的芯片互连接口将所述内存访问请求发送到所述 内存访问请求对应的目标芯片。如图3所示的内存芯片上设置有4个连 接其他内存芯片的芯片互连接口Port #0、Port #1、Port #2、Port #3、 和2个连接子芯片的芯片互连接口Port #4、Port #5。

需要说明的是,所述内存芯片之间通过芯片互连接口进行连接,形 成了内存芯片之间的网络,由于内存芯片之间并不是两两相连的,所以 根据预先配置的路由规则通过芯片互连接口将所述内存访问请求发送给 所述内存访问请求对应的目标内存芯片需要所述内存芯片进行至少一次 转发。

进一步可选的,在本实施例的另一种应用场景中,如图4所示,当 所述第一内存芯片处于忙碌状态,且第一内存芯片为所述内存访问请求 的目标芯片时,内存控制器可以将内存访问请求发送给不处于忙碌状态 的第二内存芯片,第二内存芯可以经过判断,根据预先配置的路由规则 通过芯片互连接口将所述内存访问请求转发给第一内存芯片。由于所述 第一内存芯片在接收到第二内存芯片转发的所述内存访问请求时,还未 完成当前内存访问请求对应的内存访问操作,因此,本实施例的方法还 可以包括:

205、在所述第一内存芯片处于忙碌状态时,缓存接收自所述第二内 存芯片的内存访问请求。

其中,当所述第一内存芯片接收到所述第二内存芯片发送的内存访 问请求时,所述第一内存芯片的当前内存访问请求对应的内存访问操作 还在进行,即所述第一内存芯片处于忙碌状态,则所述第一内存芯片可 以缓存所述内存访问请求,等待第一内存芯片完成当前内存访问请求对 应的内存访问操作后,再处理该内存访问请求。

206、在所述第一内存芯片脱离所述忙碌状态时,读取缓存的所述内 存访问请求。

其中,由于所述第一内存芯片可以缓存至少一个内存访问请求,因 此,在所述第一内存芯片完成当前内存访问处理任务,脱离所述忙碌状 态时,所述第一内存芯片可以根据缓存中所述内存访问请求的紧急程度, 优先读取紧急程度较高的内存访问请求。其中,所述内存访问请求中可 以携带该内存芯片的紧急程度信息。其中,读取缓存的所述内存访问请 求的方法包括但不局限于上述方法,还可以依据所述内存访问请求缓存 的先后顺序读取缓存的所述内存访问请求。

207、第一内存芯片执行所述内存访问请求对应的内存访问操作。

其中,在所述读取缓存的所述内存访问请求后,所述第一内存芯片 可以对从缓存中读取的内存访问请求执行对应的内存访问操作。

进一步的,在本实施例的一种应用场景中,所述执行所述内存访问 请求对应的内存访问操作可以包括:若所述第一内存芯片是所述内存访 问请求对应的目标内存芯片,则执行所述内存访问请求对应的内存访问 操作。在这种应用场景中,不需要执行步骤204、步骤205和步骤206, 直接执行所述内存访问请求对应的内存访问操作。具体的,若所述第一 内存芯片通过高速总线接口接收内存控制器发送的所述内存访问请求 后,若所述第一内存芯片是所述内存访问请求对应的目标内存芯片,则 执行所述内存访问请求对应的内存访问操作。

其中,所述第一内存芯片执行所述内存访问请求对应的内存访问操 作具体可以是:第一内存芯片中的至少一个Suba r r y执行所述内存访问 请求对应的内存访问操作。

其中,所述内存访问请求中可以包含:数据交互指令,和/或内存业 务数据。若所述内存访问请求中包含所述第一内存芯片与所述目标内存 芯片之间的数据交互指令,则所述执行所述内存访问请求对应的内存访 问操作,包括:根据所述路由规则通过所述芯片互连接口将所述数据交 互指令指示的内存业务数据发送给所述数据交互指令指示的目标内存芯 片。其中,所述数据交互指令可以包含数据迁移指令、数据复制指令等 等。例如,当需要将内存芯片A中的内存业务数据a迁移到内存芯片B 中时,所述内存控制器只需要向内存芯片A发送一个数据迁移指令,内 存芯片A根据该数据迁移指令的指示通过所述芯片互连接口将所述内存 业务数据a发送到内存芯片B中,而不需要内存芯片A根据数据迁移指 令的指示通过高速总线接口将所述内存业务数据a发送到内存控制器, 再由所述内存控制器将内存业务数据a发送给内存芯片B,就可以完成内 存业务数据的迁移。

进一步的,为了进一步减少内存访问处理时延,本实施例的方法还 可以包括步骤208:

208、完成所述内存访问请求对应的内存访问操作后,第一内存芯片 向所述内存控制器发送应答信息,以使得所述内存控制器向所述第一内 存芯片发送所述内存访问请求。

其中,所述应答信息可以包括:已完成所述内存访问请求对应的内 存访问操作。对应步骤202中内存控制器将一级内存访问请求分割成至 少两个二级内存访问请求,并分发给不处于忙碌状态的内存芯片,所述 方法还可以包括:多个内存芯片在完成所述二级内存访问请求对应的内 存访问操作后,分别向所述内存控制器发送应答信息,以使得所述内存 控制器组合二级内存访问请求对应的应答信息。

需要说明的是,本实施例所提供的方法中,内存模块上的内存芯片 之间通过互连接口形成的内存芯片网络可以是异构的,即所述内存芯片 网络中的可以包含多种材质的内存芯片。例如,所述内存芯片可以包含: 动态随机存取存储器(Dynamic Random Access Memory,DRAM)芯片和 非易失性存储器(Nonvolatile memory)芯片。其中,不同材质的内存 芯片在容量、延迟、带宽以及功耗等方面具有各自的特性。

本发明实施例提供的基于内存芯片互连的内存访问处理方法,内存 芯片接收内存访问请求后,可以根据预先配置的路由规则通过芯片互连 接口将所述内存访问请求发送给所述内存访问请求对应的目标内存芯 片,与现有技术中只能在目标内存芯片完成当前内存访问操作后才能接 收内存控制器发送的内存访问请求的技术相比,无论目标内存芯片是否 忙碌,内存控制器均可将内存访问请求发送至内存芯片,通过内存芯片 之间的转发目标内存芯片可以快速获取内存访问请求,减少从内存控制 器获取数据的传输时延和数据等待过程中的对系统带宽浪费,从而减少 内存访问请求处理时延,提高系统带宽的利用率。

并且,当内存访问请求中包含所述第一内存芯片与所述目标内存芯 片之间的数据交互指令时,可以通过芯片互连接口将数据交互指令指示 的内存业务数据发送目标内存芯片,实现内存芯片之间的数据传递,从 而减少内存芯片通过高速总线接口与内存控制器之间的数据交互,进一 步的减少了内存访问请求处理时延。

实施例3

本发明实施例提供一种内存芯片,如图5所示,包括:接收单元31、 发送单元32。

接收单元31,用于接收内存访问请求。

发送单元32,用于当所述内存芯片不是所述接收单元31接收的内存 访问请求对应的目标内存芯片时,根据预先配置的路由规则通过芯片互 连接口将所述内存访问请求发送给所述内存访问请求对应的目标内存芯 片。

其中,所述内存芯片上设置有至少一个所述芯片互连接口,每个所 述芯片互连接口连接至一个其他内存芯片。

进一步的,如图6所述,所述接收单元31,还可以用于通过高速总 线接口接收内存控制器发送的所述内存访问请求;或者,通过芯片互连 接口接收其他内存芯片发送的所述内存访问请求。

进一步的,所述内存单元,还可以包括:处理单元33。

处理单元33,用于在所述接收单元31接收内存访问请求之后,当所 述内存芯片是所述内存访问请求对应的目标内存芯片时,执行所述内存 访问请求对应的内存访问操作。

进一步的,所述内存单元,还可以包括:缓存单元34、读取单元35。

缓存单元34,用于在所述处理单元33执行所述内存访问请求对应的 内存访问操作之前,在所述内存芯片处于忙碌状态时,缓存接收自所述 其他内存芯片的内存访问请求。

读取单元35,用于在所述内存芯片脱离所述忙碌状态时,读取缓存 的所述内存访问请求。

进一步的,所述内存访问请求中包含:数据交互指令,和/或内存业 务数据。

若所述内存访问请求中包含所述内存芯片与所述目标内存芯片之间 的数据交互指令,则所述处理单元33,还可以用于根据所述路由规则通 过所述芯片互连接口将所述数据交互指令指示的内存业务数据发送给所 述数据交互指令指示的目标内存芯片。

进一步的,所述内存控制器发送的所述内存访问请求包括:所述内 存控制器接收到的一级内存访问请求;和/或,根据所述一级内存访问请 求分割得到的至少两个二级内存访问请求中的一个。

需要说明的是,本发明实施例提供的内存芯片中部分功能模块的具 体描述可以参考方法实施例中的对应内容,本实施例这里不再详细赘述。

本发明实施例提供的内存芯片,接收内存访问请求后,可以根据预 先配置的路由规则通过芯片互连接口将所述内存访问请求发送给所述内 存访问请求对应的目标内存芯片,与现有技术中只能在目标内存芯片完 成当前内存访问操作后才能接收内存控制器发送的内存访问请求的技术 相比,无论目标内存芯片是否忙碌,内存控制器均可将内存访问请求发 送至内存芯片,通过内存芯片之间的转发目标内存芯片可以快速获取内 存访问请求,减少从内存控制器获取数据的传输时延和数据等待过程中 的对系统带宽浪费,从而减少内存访问请求处理时延,提高系统带宽的 利用率。

实施例4

本发明实施例提供一种内存芯片,如图7所示,包括:接收器41、 发送器42。

接收器41,用于接收内存访问请求。

发送器42,用于当所述内存芯片不是所述内存访问请求对应的目标 内存芯片时,根据预先配置的路由规则通过芯片互连接口将所述内存访 问请求发送给所述内存访问请求对应的目标内存芯片。

其中,所述内存芯片上设置有至少一个所述芯片互连接口,每个所 述芯片互连接口连接至一个其他内存芯片。

进一步的,所述接收器41,还可以用于通过高速总线接口接收内存 控制器发送的所述内存访问请求;或者,通过芯片互连接口接收其他内 存芯片发送的所述内存访问请求。

进一步的,所述内存芯片,还可以包括:处理器43。

处理器43,用于在所述接收器41接收内存访问请求之后,当所述内 存芯片是所述内存访问请求对应的目标内存芯片时,执行所述内存访问 请求对应的内存访问操作。

进一步的,所述内存芯片,还可以包括:存储器44。

存储器44,用于在所述处理器43执行所述内存访问请求对应的内存 访问操作之前,在所述第一内存芯片处于忙碌状态时,缓存接收自所述 其他内存芯片的内存访问请求。

所述处理器43,还用于在所述内存芯片脱离所述忙碌状态时,读取 缓存的所述内存访问请求。

进一步的,所述内存访问请求中包含:数据交互指令,和/或内存业 务数据。

若所述内存访问请求中包含所述内存芯片与所述目标内存芯片之间 的数据交互指令,则所述发送器,还用于根据所述路由规则通过所述芯 片互连接口将所述数据交互指令指示的内存业务数据发送给所述数据交 互指令指示的目标内存芯片。

进一步的,所述内存控制器发送的所述内存访问请求包括:所述内 存控制器接收到的一级内存访问请求;和/或,根据所述一级内存访问请 求分割得到的至少两个二级内存访问请求中的一个。

需要说明的是,本发明实施例提供的内存芯片中部分功能模块的具 体描述可以参考其他实施例中的对应内容,本实施例这里不再详细赘述。

本发明实施例提供的内存芯片,接收内存访问请求后,可以根据预 先配置的路由规则通过芯片互连接口将所述内存访问请求发送给所述内 存访问请求对应的目标内存芯片,与现有技术中只能在目标内存芯片完 成当前内存访问操作后才能接收内存控制器发送的内存访问请求的技术 相比,无论目标内存芯片是否忙碌,内存控制器均可将内存访问请求发 送至内存芯片,通过内存芯片之间的转发目标内存芯片可以快速获取内 存访问请求,减少从内存控制器获取数据的传输时延和数据等待过程中 的对系统带宽浪费,从而减少内存访问请求处理时延,提高系统带宽的 利用率。

实施例5

本发明实施例提供一种基于内存芯片互连的内存访问处理系统,如 图8所示,包括:内存芯片51、内存控制器52。

所述内存芯片51,用于接收内存访问请求;若所述内存芯片不是所 述内存访问请求对应的目标内存芯片,则根据预先配置的路由规则通过 芯片互连接口将所述内存访问请求发送给所述内存访问请求对应的目标 内存芯片;其中,所述内存芯片上设置有至少一个所述芯片互连接口, 每个所述芯片互连接口连接至一个其他内存芯片。

所述内存控制器52,用于接收处理器发送的一级内存访问请求;将 所述一级内存访问请求作为内存访问请求发送给不处于忙碌状态的内存 芯片。

进一步的,所述内存控制器52,还用于将所述一级内存访问请求分 割成至少两个二级内存访问请求;将所述二级访问内存访问请求作为所 述内存访问请求分发给不处于忙碌状态的内存芯片。

需要说明的是,本发明实施例提供的基于内存芯片互连的内存访问 处理系统中内存芯片51和内存控制器52的具体描述可以参考其他实施 例中的对应内容,本实施例这里不再详细赘述。

本发明实施例提供的基于内存芯片互连的内存访问处理系统,内存 芯片接收内存访问请求后,可以根据预先配置的路由规则通过芯片互连 接口将所述内存访问请求发送给所述内存访问请求对应的目标内存芯 片,与现有技术中只能在目标内存芯片完成当前内存访问操作后才能接 收内存控制器发送的内存访问请求的技术相比,无论目标内存芯片是否 忙碌,内存控制器均可将内存访问请求发送至内存芯片,通过内存芯片 之间的转发目标内存芯片可以快速获取内存访问请求,减少从内存控制 器获取数据的传输时延和数据等待过程中的对系统带宽浪费,从而减少 内存访问请求处理时延,提高系统带宽的利用率。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解 到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过 硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明 的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的 形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算 机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可 以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所 述的方法。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不 局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此, 本发明的保护范围应以所述权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号