包括可变写命令调度的内存系统技术方案

技术编号:8413000 阅读:212 留言:0更新日期:2013-03-14 02:05
本公开涉及包括可变写命令调度的内存系统。一种系统包括一种主机设备,其可被配置为向系统内存发起内存请求。该系统还包括内存控制器,其可被配置为接收内存请求,并将该内存请求格式化为能够经由内存接口而传输到内存设备的内存事务。内存事务包括多种内存写命令类型。每种内存写命令类型都对应用于传输相应的数据有效载荷的不同的各自的调度。

【技术实现步骤摘要】

本公开涉及内存系统,并尤其涉及对内存接口的内存命令调度。
技术介绍
在许多计算机系统中,可以使用各种常规内存接口和协议来对内存设备进行读和写。例如,在一些常规协议中,可以用单独的通道来传送内存命令、地址和相关写数据。分配到每个这种通道的带宽基于各个通道所需要的带宽。这种类型的接口可能存在不足之处。尤其,由于一些通道几乎不需要与其它通道同样多的带宽,所以这些通道的带宽被丢失。例如,用于写命令的数据只有在与写命令相关的特定时间才会被发送。这种类型的命令和数据调度还可能会限制带宽,这取决于何时以及有多少读命令或其它命令被同时挂起。
技术实现思路
本文公开了包括可变写命令调度的内存系统的多个实施例。在一个实施例中,内存子系统包括内存设备和控制单元。内存设备可能包括一个或多个用于存储数据的内存阵列。控制单元可被配置为响应于接收内存事务,向一个或多个内存阵列读和写数据。内存事务包括多种内存写命令类型。然而,每种内存写命令类型都对应用于传输相应数据有效载荷不同的调度。在一个特定实施方式中,每个内存事务包括至少一个具有第一命令段和第二命令段的帧。此外,内存写命令的类型中的一种包括第一帧、第二帧和第三帧。第一帧包括位于第一或第二命令段之一的相应内存写命令。第二帧传输相应数据有效载荷的第一部分,并且第三帧传输该相应数据有效载荷的其余部分。在另一个特定实施方式中,内存写命令类型中的一种包括第一帧和第二帧。第一帧包括位于第一或第二命令段之一的相应内存写命令。第二帧传输在第一命令段中的相应数据有效载荷的第一部分,以及传输在第二命令段中的相应数据有效载荷的其余部分。在另一个实施例中,系统包括主机设备,其可配置为向系统内存发起内存请求。该系统还包括内存控制器,其可配置为接收内存请求并将其格式化为经由内存接口传输到内存设备的内存事务。该内存事务包括多种内存写命令类型。每种内存写命令类型对应用于传输相应的数据有效载荷不同的各自的调度。附图说明图I是包含内存子系统的系统的一个实施例的框图。图2是描述非指定内存事务帧的一个实施例的示图。图3是描述内存读事务的一个实施例的示图。图4A是描述内存写事务的一个实施例的示图。图4B是描述包含5个帧的突发内存写事务的一个实施例的示图。图4C是描述内存写事务的另一个实施例的示图。图4D是描述内存写事务的另一个实施例的示图。图4E是描述内存写事务的另一个实施例的示图。图5是描述内存读-修改-写事务的一个实施例的示图。图6是描述图I所示系统的实施例操作的流程图。在附图中通过示例的方式显示了具体的实施例,并在此对其进行详细描述。然而,应当理解这些附图和详细描述并非旨在将权利要求限制到所公开的特定实施例,即使相对于特定特征只描述了一个单独的实施例。相反,它旨在覆盖得益于本公开的本领域技术人员而言明显的所有修改、等价物和替代。在公开中所提供的特征示例旨在是说明性的而非限制性的,除非另有说明。 本申请通篇使用的词语“可能”是容许的意思(即,意为有潜力做),而并非强制的意思(即,意为必须)。同样,词语“包括”(一般现在时、现在进行时、第三人称动词)意为包括但不限于。各种单元、电路,或其它组件可以被描述成“被配置为”执行一个或多个任务。这里,“被配置为”是结构的一种广义陈述,一般意为“具有电路”来在操作期间执行一个或多个任务。因此,甚至在该单元/电路/组件并没有正在运行时,也可以将单元/电路/组件配置为执行任务。一般,构成对应于“被配置为”的结构的电路系统可包括硬件电路。同样,为了便于描述,可将各种单元/电路/组件描述成执行一个或多个任务。这种描述应当解释为包含短语“被配置为”。对被配置为执行一个或多个任务单元/电路/组件的叙述,其并非旨在明确援引35 U.S.C. § 112第6段中对于单元/电路/组件的解释。具体实施例方式现在参照图1,其示出了包括内存子系统的系统的一个实施例的框图。系统100包括专用集成电路(ASIC)/主机50,其经由接口 33耦接到内存子系统15。在例示的实施例中,ASIC/主机50包括耦接到内存控制器25的路由器27。内存子系统15包括耦接到内存设备20的控制单元22。在一个实施例中,ASIC/主机50可接收来自内部或外部源的内存请求。路由器27可将内存请求转发给内存控制器25。内存控制器25会将内存请求格式化为适于在接口 33向内存子系统15进行传送的内存事务。在各种实施例中,内存事务可包括内存写事务、内存读事务,和内存读-修改-写(RMW)事务。如图2至图5中所示,内存事务可以被格式化为80位的帧,但是其它数量的位是可能和可考虑的。在一个实施例中,该帧可在事务层使用。如下面结合图4A至图4D进一步描述的,内存写事务可包括多种不同类型的写命令。更具体地,通过使用具有不同数据有效载荷调度的不同类型的写命令,内存控制器25可以被配置为格式化内存写事务,以利用接口 33上的可用带宽。在图I中,控制单元22可接收来自内存控制器25的内存事务,对不同的命令操作码进行解码,重新格式化该事务并将其发送到内存设备20。因此,控制单元22可配置为控制对到内存设备20数据的发送和接收操作。如图所示,控制单元22包括存储器单元23。在一个实施例中,存储器单元23可存储读-修改-写操作期间使用的多个基本地址。如结合图5和图6的描述下面将有更加详细的描述,使用指定写入帧,基础地址可被写入。此外,控制单元22的处理单元24被配置为对从内存设备20读取(read)的数据执行多个逻辑和算术函数,作为读-修改-写(RMW)内存事务的修改阶段的一部分。在各种实施例中,根据特定具体实施方式,接口 33可以是串行互连;也可以是并行互连。在串行互连的实施方式中(例如,33A),接口 33可包括一个或多个串行通道。每个通道可包括一个或多个单向或双向通信通路(lane)。在具有单个串行通路的实施方式中,给定帧会通过通路在单个位流中被串行发送。但是,在每个通道包括多个通路的实施方式中,一个80位的帧可以在给定通道中通过一个或多个通路来传送。在并行实施方式中(例如,33B),接口 33可包括构成并行总线的多个单向命令和地址信号路径,以及多个双向数据信号路径,而且该80位的帧可以传统并行格式通过并行总线传送。应当注意,在对接口 33使用串行接口的实施方式中,内存控制器25可以在接口 33的不同通道上同时发送各种不同的内存事务。内存设备20可包括一个或多个用于存储数据的内存阵列。例如,在一个特定实施 例中,内存设备20的一个或多个内存阵列可以使用IT-SRAM单元来实现。在一个实施例中,内存设备20和控制单元22可以经由并行互连而耦接,但在其它实施例中也可以考虑使用任意其它互连方式。此外,内存设备20和控制单元22可以在同一集成电路(IC)芯片上实现。进一步,在一个实施例中,内存子系统15和ASIC/主机50也可以在同一 IC芯片上实现。如下文进一步所述,为了提高带宽,内存控制器25可以采取不同类型的内存事务。更具体地,通过使用不同类型的内存读和写事务,各种内存写和读事务可以组合,并且根据有多少数据需要读取或写入内存设备20,内存控制器25可以在不同时间选择内存读和写命令中不同的命令。转到图2,示出了描述非特定内存事务帧的一个实本文档来自技高网...

【技术保护点】
一种内存子系统,包括:内存设备,其包括用于存储数据的一个或多个内存阵列;和控制单元,其耦接到内存设备,并被配置为响应于经由内存接口接收内存事务,向所述一个或多个内存阵列读和写数据;其中内存事务包括多种内存写命令类型,其中每种内存写命令类型都对应用于传输相应数据有效载荷的各自的调度。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:M·J·莫里森J·B·帕托
申请(专利权)人:莫塞斯股份有限公司
类型:发明
国别省市:

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

1