非易失性双列直插式存储器模块的命令重放制造技术

技术编号:34507194 阅读:22 留言:0更新日期:2022-08-13 20:50
将存储器访问命令置于存储器接口队列中并将其从所述存储器接口队列传输到异构存储器通道,所述异构存储器通道耦合到易失性双列直插式存储器模块(DIMM)和非易失性DIMM。将置于所述存储器接口队列中的选定的存储器访问命令存储在重放队列中。置于所述存储器接口队列中的非易失性读在非易失性命令队列(NV队列)中。方法基于通过所述异构存储器通道接收的信息来检测到已经发生需要恢复序列的错误。响应于所述错误,所述方法发起所述恢复序列,所述恢复序列包括(i)传输存储在所述重放队列中的选定的存储器访问命令和(ii)传输存储在所述NV队列中的非易失性读。所述NV队列中的非易失性读。所述NV队列中的非易失性读。

【技术实现步骤摘要】
【国外来华专利技术】非易失性双列直插式存储器模块的命令重放

技术介绍

[0001]计算机系统典型地将廉价且高密度的动态随机存取存储器(DRAM)芯片用于主存储器。现今销售的大多数DRAM芯片都与由美国电子器件工程联合委员会(Joint Electron Devices EngineeringCouncil)(JEDEC)颁布的各种双数据速率(DDR)DRAM标准兼容。DDR存储器控制器用于根据公布的DDR标准来管理在各种存储器访问代理与DDR DRAM之间的接口。
[0002]具有持久性存储的非易失性双列直插式存储器模块(“NVDIMM

P”)是可替代标准DDR DIMM进行使用但包括持久性存储器的存储级存储器。使用具有支持易失性存储器(诸如DRAM)的存储器通道的持久性或“非易失性”存储器会带来一些新问题。从非易失性DIMM上的非易失性存储器读是比从DRAM读更慢的过程。非易失性存储器读典型地在不确定的时间内完成,这与在确定的已知时间内更快地完成的DRAM读相反。处理诸如此类的差异在设计可与非易失性DIMM交互的存储器控制器时带来各种挑战。
附图说明
[0003]图1以框图形式示出了现有技术中已知的加速处理单元(APU)和存储器系统;
[0004]图2以框图形式示出了根据一些实施方案的适合在与图1类似的APU中使用的存储器控制器;
[0005]图3以框图形式示出了根据一些实施方案的数据处理系统;
[0006]图4是根据一些实施方案的用于处理存储器访问请求的过程的流程图;
[0007]图5是根据一些实施方案的用于处理错误的过程的流程图;
[0008]图6以图示形式示出了图5的过程;并且
[0009]图7以图示形式示出了图5的过程的另外部分。
[0010]在以下描述中,在不同的附图中使用相同的附图标记指示类似或相同的项。除非另有说明,否则词语“耦合的”及其相关联动词形式包括通过本领域已知的手段的直接连接和间接电连接,并且除非另有说明,否则直接连接的任何描述也暗示使用合适形式的间接电连接的替代实施方案。
具体实施方式
[0011]一种存储器控制器包括命令队列、存储器接口队列、非易失性命令队列(NV队列)、重放队列以及重放控制电路。命令队列具有第一输入和输出并且具有多个条目,该第一输入用于接收存储器访问请求,包括易失性读、易失性写、非易失性读和非易失性写。存储器接口队列具有用于接收从命令队列选择的命令的输入和用于耦合到异构存储器通道的输出,该异构存储器通道耦合到至少一个非易失性双列直插式存储器模块(DIMM)。NV队列耦合到命令队列的输出以用于存储置于存储器接口队列中的非易失性读命令。重放队列耦合到命令队列的输出以用于存储置于存储器接口队列中的选定的存储器访问命令。重放控制电路基于通过异构存储器通道接收的信息来检测到已经发生需要恢复序列的错误,并且响
应于该错误,发起恢复序列,该恢复序列包括传输存储在重放队列中的选定的存储器访问命令和传输存储在NV队列中的非易失性读。
[0012]一种方法对存储系统中的错误进行响应。该方法包括接收多个存储器访问命令,该多个存储器访问命令包括易失性存储器读、易失性存储器写、非易失性存储器读和非易失性存储器写。将用于履行存储器访问请求的存储器访问命令置于存储器接口队列中。将存储器访问命令从存储器接口队列传输到异构存储器通道,该异构存储器通道耦合到易失性双列直插式存储器模块(DIMM)和非易失性DIMM。将置于存储器接口队列中的选定的存储器访问命令存储在重放队列中。将置于存储器接口队列中的非易失性读存储在非易失性命令队列(NV队列)中。基于通过异构存储器通道接收的信息,该方法检测到已经发生需要恢复序列的错误,并且响应于所述错误,发起恢复序列,该恢复序列包括(i)传输存储在重放队列中的选定的存储器访问命令和(ii)传输存储在NV队列中的非易失性读。将置于存储器接口队列中的存储器访问命令存储在至少一个存储队列中。
[0013]一种数据处理系统包括:中央处理单元;数据构架,该数据构架耦合到中央处理单元;以及存储器控制器,该存储器控制器耦合到数据构架以用于履行来自中央处理单元的存储器访问请求。存储器控制器包括命令队列、存储器接口队列、非易失性命令队列(NV队列)、重放队列以及重放控制电路。命令队列具有第一输入和输出并且具有多个条目,该第一输入用于接收存储器访问请求,包括易失性读、易失性写、非易失性读和非易失性写。存储器接口队列具有用于接收从命令队列选择的命令的输入和用于耦合到异构存储器通道的输出,该异构存储器通道耦合到至少一个非易失性双列直插式存储器模块(DIMM)。NV队列耦合到命令队列的输出以用于存储置于存储器接口队列中的非易失性读命令。重放队列耦合到命令队列的输出以用于存储置于存储器接口队列中的选定的存储器访问命令。重放控制电路基于通过异构存储器通道接收的信息来检测到已经发生需要恢复序列的错误,并且响应于该错误,发起恢复序列,该恢复序列包括传输存储在重放队列中的选定的存储器访问命令和传输存储在NV队列中的非易失性读。
[0014]图1以框图形式示出了现有技术中已知的加速处理单元(APU)100和存储器系统130。APU 100是适合用作主机数据处理系统中的处理器的集成电路,并且一般包括中央处理单元(CPU)核心复合体110、图形核心120、一组显示引擎122、存储器管理集线器140、数据构架125、一组外围控制器160、一组外围总线控制器170以及系统管理单元(SMU)180。
[0015]CPU核心复合体110包括CPU核心112和CPU核心114。在该示例中,CPU核心复合体110包括两个CPU核心,但在其他实施方案中,CPU核心复合体110可包括任意数量的CPU核心。CPU核心112和114中的每一者双向连接到形成控制架构的系统管理网络(SMN)并连接到数据构架125,并且能够向数据构架125提供存储器访问请求。CPU核心112和114中的每一者可以是单一核心,或者可以进一步是具有共享某些资源(诸如高速缓存)的两个或更多个单一核心的核心复合体。
[0016]图形核心120是能够以高度集成和并行的方式执行诸如顶点处理、片段处理、着色、纹理混合等的图形操作的高性能图形处理单元(GPU)。图形核心120双向连接到SMN并连接到数据构架125,并且能够向数据构架125提供存储器访问请求。在这点上,APU 100可支持其中CPU核心复合体110和图形核心120共享相同的存储器空间的统一存储器架构,或者其中CPU核心复合体110和图形核心120共享存储器空间的一部分而图形核心120还使用CPU
核心复合体110无法访问的私有图形存储器的存储器架构。
[0017]显示引擎122对由图形核心120生成的对象进行渲染和光栅化以在监视器上显示。图形核心120和显示引擎122双向连接到共用存储器管理集线器140以用于统一转换为存储器系统130中的适当地址,并且存储器管理集线器140双向连接到数据构架125以用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种存储器控制器,所述存储器控制器包括:命令队列,所述命令队列具有第一输入和输出并具有多个条目,所述第一输入用于接收存储器访问请求,包括易失性读、易失性写、非易失性读和非易失性写;存储器接口队列,所述存储器接口队列具有耦合到所述命令队列的所述输出的输入和用于耦合到异构存储器通道的输出,所述异构存储器通道耦合到易失性双列直插式存储器模块(DIMM)和非易失性DIMM;非易失性命令队列(NV队列),所述NV队列耦合到所述命令队列的所述输出以用于存储置于所述存储器接口队列中的非易失性读命令;重放队列,所述重放队列耦合到所述命令队列的所述输出以用于存储置于所述存储器接口队列中的选定的存储器访问命令;以及重放控制电路,所述重放控制电路用于基于通过所述异构存储器通道接收的信息来检测到已经发生需要恢复序列的错误,并且响应于所述错误,发起所述恢复序列,所述恢复序列包括传输存储在所述重放队列中的选定的存储器访问命令和传输存储在所述NV队列中的非易失性读。2.如权利要求1所述的存储器控制器,其中所述恢复序列还包括在传输存储在所述重放队列中的所有的所述选定的存储器访问命令之后传输存储在所述NV队列中的非易失性读。3.如权利要求1所述的存储器控制器,其中所述恢复序列还包括请求所述DIMM中的一者或多者上的所有未决读标识符(RID)的复位。4.如权利要求1所述的存储器控制器,其中所述恢复序列还包括针对所述DIMM中的一者或多者上的缓冲器请求并获得写信用。5.如权利要求1所述的存储器控制器,其中所述选定的命令包括易失性读、易失性写、非易失性写、多用途寄存器(MPR)相关命令和与MPR相关命令相关联的SEND命令。6.如权利要求1所述的存储器控制器,其中所述恢复序列还包括跳过存储在所述重放队列中的与非易失性读相关联的SEND命令,并且响应于在所述恢复序列期间从所述非易失性DIMM接收的读就绪(RD_RDY)响应而生成新的SEND命令。7.如权利要求1所述的存储器控制器,其中需要所述恢复序列的所述错误是以下错误中的一者:命令奇偶校验错误、与非易失性DIMM相关联的写命令纠错码(ECC)错误和与非易失性DIMM相关联的读命令ECC错误。8.一种方法,所述方法包括:接收多个存储器访问命令,所述多个存储器访问命令包括易失性存储器读、易失性存储器写、非易失性存储器读和非易失性存储器写;将用于履行所述存储器访问请求的存储器访问命令置于存储器接口队列中并将所述存储器访问命令从所述存储器接口队列传输到异构存储器通道,所述异构存储器通道耦合到易失性双列直插式存储器模块(DIMM)和非易失性DIMM;将置于所述存储器接口队列中的选定的存储器访问命令存储在重放队列中;以及将置于所述存储器接口队列中的非易失性读存储在非易失性命令队列(NV队列)中;以及基于通过所述异构存储器通道接收的信息来检测到已经发生需要恢复序列的错误,并
且响应于所述错误,发起所述恢复序列,所述恢复序列包括(i)传输存储在所述重放队列中的选定的存储器访问命令和(ii)传输存储在所述NV队列中的非易失性读。9.如权利要求8所述的方法,其中所述恢复序列还包括在传输存储在所述重放队列中的所有的...

【专利技术属性】
技术研发人员:王静詹姆斯
申请(专利权)人:超威半导体公司
类型:发明
国别省市:

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

1