DDR存储器错误恢复制造技术

技术编号:20596290 阅读:30 留言:0更新日期:2019-03-16 11:56
在一种形式中,一种存储器控制器包括命令队列、仲裁器和重放队列。所述命令队列接收并存储存储器访问请求。所述仲裁器耦合到所述命令队列,用于向存储器通道提供一系列存储器命令。所述重放队列存储提供给所述存储器通道的所述一系列存储器命令,并且继续存储尚未从所述存储器通道接收到响应的存储器访问命令。当响应指示完成对应的存储器命令而无任何错误时,所述重放队列移除所述对应的存储器命令而不采取进一步的措施。当响应指示完成所述对应的存储器命令而有错误时,所述重放队列重放至少所述对应的存储器命令。在另一种形式中,一种数据处理系统包括所述存储器控制器、存储器访问代理和存储器系统,所述存储器控制器耦合到所述存储器访问代理和所述存储器系统。

DDR Memory Error Recovery

In one form, a memory controller includes a command queue, an arbitrator, and a playback queue. The command queue receives and stores memory access requests. The arbitrator is coupled to the command queue to provide a series of memory commands to the memory channel. The playback queue stores the series of memory commands provided to the memory channel, and continues to store memory access commands that have not yet received a response from the memory channel. When the response instruction completes the corresponding memory command without any error, the playback queue removes the corresponding memory command without taking further measures. When an error occurs when the response instruction completes the corresponding memory command, the playback queue replays at least the corresponding memory command. In another form, a data processing system includes the memory controller, the memory access agent and the memory system, which are coupled to the memory access agent and the memory system.

【技术实现步骤摘要】
【国外来华专利技术】DDR存储器错误恢复
技术介绍
计算机系统通常将廉价且高密度的动态随机存取存储器(DRAM)芯片用于主存储器。现今销售的大部分DRAM芯片与电子器件工程联合委员会(JEDEC)所颁布的各种双数据速率(DDR)DRAM标准兼容。DDR存储器控制器用于根据公布的DDR标准来管理各种存储器访问代理与DDRDRAM之间的对接。现代DDR存储器控制器维持队列以存储待决存储器访问请求,以允许它们关于待决存储器访问请求被生成或存储的顺序无序地选取所述待决存储器访问请求,以提高效率。例如,存储器控制器可从队列中检索对给定存储器存储列中的同一行的多个存储器访问请求,并且将它们连续地发出给存储器系统,以避免对当前行进行预充电和激活另一行的开销。DDR存储器系统包括多种用于错误检测和恢复的机制,诸如奇偶校验位、循环冗余码(CRC)、错误检测码(EDC)、或与数据一起存储在DDRDRAM中的其他纠错码(ECC)。当执行存储器访问时,DDR存储器控制器将所存储的CRC或ECC位与利用存储器访问计算出的CRC或ECC位进行比较。响应于检测到错误,DDR存储器控制器在可能的情况下纠正错误,并将错误报告给操作系统,并且操作系统确定要采取的进一步的纠正措施。然而,DRAM总线以相对高的时钟速率、诸如2400兆赫兹(MHz)操作,并在时钟周期的两个转换上传输数据。由于高数据速率,DDR存储器总线容易受到偶然的随机错误或存储器总线上的“小故障”的影响。虽然已知的DDR存储器控制器具有检测和纠正这些错误的机制,但是由于操作系统调用所引起的开销,这些机制显著降低了系统性能。附图说明图1以框图形式示出根据一些实施方案的数据处理系统;图2以框图形式示出适合于在图1的数据处理系统中使用的加速处理单元(APU);图3以框图形式示出根据一些实施方案的适合于在图2的APU中使用的存储器控制器和相关联的物理接口(PHY);图4以框图形式示出根据一些实施方案的适合于在图2的APU中使用的另一存储器控制器和相关联的PHY;图5以框图形式示出根据一些实施方案的存储器控制器;并且图6示出与图5的存储器控制器的有限状态机的操作相关联的状态图。在以下描述中,在不同图示中相同参考符号的使用指示类似或完全相同的项目。除非另外指出,否则词语“耦合”及其相关联的动词形式包括直接连接和通过本领域中已知的手段的间接电气连接两者,并且除非另外指出,否则对直接连接的任何描述也意味着使用适当形式的间接电气连接的替代性实施方案。具体实施方式在一种形式中,一种存储器控制器包括命令队列、仲裁器和重放队列。所述命令队列接收并存储存储器访问请求。所述仲裁器耦合到所述命令队列,用于向存储器通道提供一系列存储器命令。所述重放队列存储提供给所述存储器通道的所述一系列存储器命令,并且继续存储尚未从所述存储器通道接收到响应的存储器访问命令。当响应指示完成对应的存储器命令而无任何错误时,所述重放队列移除所述对应的存储器命令而不采取进一步的措施。当响应指示完成所述对应的存储器命令而有错误时,所述重放队列重放至少所述对应的存储器命令。在另一种形式中,一种存储器控制器包括命令队列、仲裁器、存储器接口队列和重放队列。所述命令队列接收并存储存储器访问请求。所述仲裁器耦合到所述命令队列,用于向存储器通道提供一系列存储器命令。所述存储器接口队列耦合到所述命令队列,用于接收并存储存储器访问请求。所述重放队列耦合到所述存储器接口队列并存储提供给所述存储器通道的所述一系列存储器命令,并且继续存储尚未从所述存储器通道接收到响应的存储器访问命令。只要所述存储器控制器没有检测到任何错误,所述存储器控制器就保持在正常状态中,其中在所述正常状态中,所述存储器接口队列继续从所述命令队列接收由所述仲裁器选取的命令。响应于检测到错误,所述存储器控制器进入恢复状态,在所述恢复状态中,所述重放队列通过将至少一个对应的存储器命令发送到所述存储器接口队列来重放所述至少一个对应的存储器命令。在又一种形式中,一种数据处理系统包括存储器访问代理、存储器系统和存储器控制器。所述存储器访问代理提供存储器访问请求。所述存储器控制器耦合到所述存储器访问代理和所述存储器系统。所述存储器控制器包括命令队列、仲裁器和重放队列。所述命令队列接收并存储存储器访问请求。所述仲裁器耦合到所述命令队列,用于向所述存储器系统提供一系列存储器命令。所述重放队列存储提供给所述存储器通道的所述一系列存储器命令,并且继续存储尚未从所述存储器系统接收到响应的存储器访问命令。当响应指示完成对应的存储器命令而无任何错误时,所述重放队列移除所述对应的存储器命令而不采取进一步的措施。当响应指示完成所述对应的存储器命令而有错误时,所述重放队列重放至少所述对应的存储器命令。在再一种形式中,一种方法包括接收并存储存储器访问请求。从所存储的存储器访问请求中向存储器通道提供一系列存储器命令,并且继续存储尚未从所述存储器通道接收到无错误的响应的存储器命令。检测从所述存储器通道接收的响应中是否发生存储器错误。响应于检测到没有存储器错误,存储器控制器保持在正常状态中,并且当在所述正常状态中时,继续从所存储的存储器访问请求之中提供命令。响应于检测到错误,进入恢复状态,并且当在所述恢复状态中时,从发生错误的对应存储器命令开始重放所存储的存储器命令。图1以框图形式示出根据一些实施方案的数据处理系统100。数据处理系统100大体上包括呈加速处理单元(APU)形式的数据处理器110、存储器系统120、高速外围部件互连(PCIe)系统150、通用串行总线(USB)系统160以及磁盘驱动器170。数据处理器110操作为数据处理系统100的中央处理单元(CPU),并且提供可用于现代计算机系统中的各种总线和接口。这些接口包括两个双数据速率(DDRx)存储器通道、用于连接到PCIe链路的PCIe根联合体、用于连接到USB网络的USB控制器以及到串行高级技术附件(SATA)大容量存储装置的接口。存储器系统120包括存储器通道130和存储器通道140。存储器通道130包括连接到DDRx总线132的一组双列直插式存储器模块(DIMM),包括在此实例中对应于单独的存储列的代表性DIMM134、136和138。同样地,存储器通道140包括连接到DDRx总线142的一组DIMM,包括代表性DIMM144、146和148。PCIe系统150包括PCIe交换机152,其连接到数据处理器110中的PCIe根复合体、PCIe装置154、PCIe装置156以及PCIe装置158。PCIe装置156继而连接到系统基本输入/输出系统(BIOS)存储器157。系统BIOS存储器157可以是多种非易失性存储器类型中的任一种,诸如只读存储器(ROM)、闪速电可擦除可编程ROM(EEPROM)等。USB系统160包括连接到数据处理器110中的USB主控器的USB集线器162,以及各自连接到USB集线器162的代表性USB装置164、166和168。USB装置164、166和168可以是诸如键盘、鼠标、闪速EEPROM端口等的装置。磁盘驱动器170经由SATA总线连接到数据处理器110,并且为操作系统、应用程序、应用文件等提供大容量存储。数据处理系统100通本文档来自技高网...

【技术保护点】
1.一种存储器控制器(500),其包括:命令队列(520),其用于接收并存储存储器访问请求;仲裁器(538),其耦合到所述命令队列,用于向存储器通道(130/140)提供一系列存储器命令;以及重放队列(530),其用于存储提供给所述存储器通道(130/140)的所述一系列存储器命令,并且继续存储尚未从所述存储器通道(130/140)接收到响应的存储器访问命令,其中:当响应指示完成对应的存储器命令而无任何错误时,所述重放队列(530)移除所述对应的存储器命令而不采取进一步的措施;并且当响应指示完成所述对应的存储器命令而有错误时,所述重放队列(530)重放至少所述对应的存储器命令。

【技术特征摘要】
【国外来华专利技术】2016.07.15 US 62/363,075;2016.12.09 US 15/375,0761.一种存储器控制器(500),其包括:命令队列(520),其用于接收并存储存储器访问请求;仲裁器(538),其耦合到所述命令队列,用于向存储器通道(130/140)提供一系列存储器命令;以及重放队列(530),其用于存储提供给所述存储器通道(130/140)的所述一系列存储器命令,并且继续存储尚未从所述存储器通道(130/140)接收到响应的存储器访问命令,其中:当响应指示完成对应的存储器命令而无任何错误时,所述重放队列(530)移除所述对应的存储器命令而不采取进一步的措施;并且当响应指示完成所述对应的存储器命令而有错误时,所述重放队列(530)重放至少所述对应的存储器命令。2.如权利要求1所述的存储器控制器(500),其还包括:纠错码(ECC)校验块(542),其耦合到所述重放队列(530),用于计算所述对应的存储器命令的ECC,并将计算的ECC与从所述存储器通道(130/140)返回的ECC进行比较。3.如权利要求1所述的存储器控制器(500),其还包括:存储器接口队列(514),其耦合到所述命令队列(520),用于接收并存储存储器访问请求,其中所述存储器接口队列(514)进一步耦合到所述重放队列(530),用于提供已经分派到所述存储器通道(130/140)的命令和已经响应于所述命令而从所述存储器通道(130/140)接收到的响应。4.如权利要求3所述的存储器控制器(500),其中:响应于从所述存储器接口队列(514)接收到响应,所述重放队列(530)通过计算纠错码并将所述纠错码与从所述存储器通道(130/140)接收的纠错码进行比较,来确定所述响应中存在错误。5.如权利要求3所述的存储器控制器(500),其中:响应于从所述存储器接口队列(514)接收到具有错误的响应,所述重放队列(530)重放所述对应的存储器命令和在所述对应的存储器命令之后由所述存储器接口队列(514)向所述存储器通道(130/140)提供的任何另外的命令。6.一种存储器控制器(500),其包括:命令队列(520),其用于接收并存储存储器访问请求;以及仲裁器(538),其耦合到所述命令队列(520),用于向存储器通道(130/140)提供一系列存储器命令;存储器接口队列(514),其耦合到所述命令队列(520),用于接收并存储存储器访问请求;以及重放队列(530),其耦合到所述存储器接口队列(514),用于存储提供给所述存储器通道(130/140)的所述一系列存储器命令,并且继续存储尚未从所述存储器通道(130/140)接收到响应的存储器访问命令,其中:只要所述存储器控制器(500)没有检测到任何错误,所述存储器控制器(500)就保持在正常状态中,其中在所述正常状态中,所述存储器接口队列(514)继续从所述命令队列(520)接收由所述仲裁器(500)选取的命令;并且响应于检测到错误,所述存储器控制器(500)进入...

【专利技术属性】
技术研发人员:詹姆斯·R·麦格罗彭瑞华安东尼·阿莎罗凯达尔纳特·巴拉里斯南斯科特·P·墨菲姚于斌
申请(专利权)人:超威半导体公司
类型:发明
国别省市:美国,US

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

1