低功率存储器子系统中的存储器阵列和链路纠错的制作方法

文档序号:13985182
低功率存储器子系统中的存储器阵列和链路纠错的制作方法

本申请根据35U.S.C.§119(e)要求于2015年6月30日提交的题为“MEMORY ARRAY AND LINK ERROR CORRECTION IN A LOW POWER MEMORY SUB-SYSTEM(低功率存储器子系统中的存储器阵列和链路纠错)”的美国临时专利申请No.62/187,189的权益,其公开内容通过援引全部明确纳入于此。

背景

领域

本公开一般涉及集成电路(IC)。更具体地,本公开的一个方面涉及低功率存储器子系统中的存储器阵列和链路纠错。

背景

半导体存储器器件包括例如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。DRAM存储器单元一般包括一个晶体管和一个电容器,这实现了高度集成。该电容器能够被充电或放电来将信息存储为对应的位值(例如‘0’或‘1’)。因为电容器泄漏电荷,所以除非电容器电荷被周期性刷新,否则所存储的信息最终会消退。由于刷新要求,与SRAM及其他静态存储器相反,DRAM被称为动态存储器。DRAM的持续刷新一般将其用途限于计算机主存储器。

DRAM缩放继续增加每个DRAM芯片的总位数。遗憾的是,DRAM缩放增加了弱留存单元(例如,具有减少的留存时间的单元)的数目。此类单元涉及附加的刷新循环来维持所存储的信息。高级DRAM处理可能因附加的刷新循环或其他处理变化而遭受存储器单元阵列内附加的随机位刷新错误。一些低功率存储器实现纠错码(ECC)以通过将ECC应用于存储器单元阵列中的任何随机位错误来提高存储器良率和可靠性。然而,ECC解码和纠错因增加的读访问时间而使存储器性能降级。另外,存储器链路(例如,接口)不受ECC保护,并且整体存储器可靠性不足以满足高可靠性和高性能的系统存储器要求。

概述

一种低功率存储器子系统中的存储器阵列和链路纠错方法包括在正常写操作期间以及在读操作期间将纠错码(ECC)奇偶校验位嵌入到未使用的数据掩码位内。该方法还包括在掩码写操作期间将该ECC奇偶校验位嵌入与经断言的数据掩码位相对应的掩码写数据字节中。

一种存储器子系统包括具有纠错码(ECC)编码器/解码器的存储器控制器,该存储器控制器被配置成:在正常写操作期间以及在读操作期间将ECC奇偶校验位嵌入数据掩码位中;以及在掩码写操作期间将ECC奇偶校验位嵌入与经断言的数据掩码位相对应的数据字节中。

一种低功率存储器子系统包括用于在正常写操作期间以及在读操作期间将纠错码(ECC)奇偶校验位嵌入数据掩码位中的装置。该低功率存储器子系统还包括用于在掩码写操作期间将ECC奇偶校验位嵌入与经断言的数据掩码位相对应的数据字节中的装置。

这已较宽泛地勾勒出本公开的特征和技术优势以便下面的详细描述可以被更好地理解。本公开的附加特征和优点将在下文描述。本领域技术人员应当领会,本公开可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。本领域技术人员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本公开的教导。被认为是本公开的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合附图来考虑以下描述时将被更好地理解。然而,要清楚理解的是,提供每一幅附图均仅用于解说和描述目的,且无意作为对本公开的限定的定义。

附图简述

为了更全面地理解本公开,现在结合附图参阅以下描述。

图1示出了根据本公开的各方面的解说主机片上系统(SoC)可通信地耦合到低功率存储器器件的低功率存储器子系统的俯视图。

图2A到2C是解说根据本公开的各方面的掩码写(MWT)命令和读(RD)命令的时序图。

图3是解说根据本公开的各方面的在正常写命令期间传达奇偶校验位的时序图。

图4A到4C是解说根据本公开的各方面的用于在掩码写(MWT)命令期间在主机片上系统(SoC)与低功率存储器器件之间传递纠错码(ECC)奇偶校验位的各个选项的时序图。

图5是解说根据本公开的各方面的在读(RD)命令期间在串行总线内传达纠错码(ECC)奇偶校验位的时序图。

图6示出了根据本公开的各方面的解说使用共享命令/地址将主机片上系统(SoC)可通信地耦合到存储器器件的低功率存储器子系统的俯视图。

图7示出了根据本公开的各方面的在掩码写(MWT)命令期间传达纠错码(ECC)位置信息的时序图。

图8A和8B是解说根据本公开的各方面的用于在掩码写(MWT)命令、正常写命令和读(RD)命令期间传达ECC奇偶校验位的方法的流程图。

图9是示出其中可有利地采用本公开的配置的无线通信系统的框图。

详细描述

以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。如本文所述的,术语“和/或”的使用旨在代表“可兼性或”,而术语“或”的使用旨在代表“排他性或”。

半导体存储器器件包括例如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。DRAM存储器单元一般包括一个晶体管和一个电容器,这实现了高度集成。该电容器能够被充电或放电来将信息存储为对应的位值(例如‘0’或‘1’)。因为电容器泄漏电荷,所以除非电容器电荷被周期性刷新,否则所存储的信息最终会消退。由于刷新要求,与SRAM及其他静态存储器相反,DRAM被称为动态存储器。DRAM的持续刷新一般将DRAM限于用作计算机主存储器。

DRAM缩放继续增加每个DRAM芯片的总位数。遗憾的是,DRAM缩放增加了弱留存单元(例如,具有减少的留存时间的单元)的数目。此类单元涉及附加的刷新循环来维持所存储的信息。高级DRAM处理可能因附加的刷新循环或其他处理变化而遭受存储器单元阵列内附加的随机位刷新错误。一些低功率存储器实现纠错码(ECC)以通过将ECC应用于存储器单元阵列中的任何随机位错误来提高存储器良率和可靠性。

例如,服务器和计算系统可以使用宽(例如,72位输出/输出(IO)宽度)存储器模块来增强存储器链路和存储器单元阵列的可靠性。因为服务器计算系统内的存储器故障是不能容忍的,所以通过将ECC应用于存储器操作来增强存储器链路的可靠性。然而,ECC的存储涉及附加设备。例如,在72位IO宽度存储器模块中,将8位ECC指派给八个存储器器件的每个64位数据块。将8位ECC指派给每个64位数据块提供了对抗存储器接口和存储单元阵列两者中的位错误的保护。

然而,在72位IO宽度存储器模块中,第九64位(ECC)存储器器件被用来存储指派给八个存储器器件的每个64位数据块的八个8位ECC。遗憾的是,这种存储器配置增加了存储器系统成本和存储器功率。具体而言,这种存储器配置涉及因ECC存储器器件而导致的附加的印刷电路板(PCB)面积以及支持更宽存储器通道的成本。ECC存储器器件还涉及待机和活跃功率,这增加了与这种存储器配置相关联的成本。

一种用于保护存储器阵列和链路两者的技术包括在主机(例如,片上系统(SoC))与低功率存储器之间传递ECC位。可通过扩展数据突发长度(例如,将16位突发长度扩展到18位突发长度)来传递ECC位。不幸的是,扩展突发长度通过减少净存储器带宽而导致显著的存储器性能损失。一些低功率存储器实现ECC以通过将ECC应用于存储器单元阵列中的任何随机位错误来提高存储器良率和可靠性。然而,存储器器件内的ECC解码和纠错因增加的读访问时间而使存储器性能降级。此外,存储器链路(例如,接口)不受ECC保护,并且整体存储器可靠性不足以满足高可靠性和高性能系统存储器规范。

本公开的各方面涉及包括主机片上系统(SoC)和多个存储器的存储器子系统。存储器控制器具有纠错码(ECC)编码和解码块以生成写数据的ECC位并且纠正由存储器链路和存储器核心阵列引起的任何数据故障。该存储器具有用于数据的单元阵列和用于ECC奇偶校验位的ECC阵列。来自存储器控制器的ECC奇偶校验位在主机与存储器之间通过数据掩码引脚或与掩码写(MWT)命令相关联的数据字节来传递。可以使用ECC位位置信息来将ECC奇偶校验位的位置传达给存储器器件。这一过程并不涉及存储器子系统中的存储器带宽损失或存储器接口变化。在掩码写操作的情形中,存储器恢复与第一经断言的数据掩码(DM)位(例如,“H”)相关联的ECC位,并且其中掩码写命令位字段指示“m”位数据模式的DM活动。在正常写操作的情形中,存储器器件从DM数据流中恢复ECC位。

在读操作中,存储器控制器从来自存储器器件的DM数据流中恢复ECC位。当命令/地址(CA)总线在多个存储器器件之间共享时,掩码写命令可包括指示ECC字节被嵌入DM数据流中的何处的附加位字段(EL)信息。在一种配置中,主机程序在初始化期间将DQ字节ID写入每个存储器器件中的模式寄存器。存储器器件选项(用于确定字节ID/顺序)可在封装级被硬布线。如果“m”=128,则“n”等于或小于16。在本公开的这一方面,掩码写命令之后跟随ECC位置命令(例如,EL位)以指示ECC码被嵌入写突发数据中的何处。

图1示出了根据本公开的各方面的解说主机片上系统(SoC)100耦合到存储器器件140(140-1、…、140-N)的低功率存储器子系统的俯视图。本公开的这一方面将纠错码(ECC)应用于移动或计算系统中的低功率存储器子系统以保护存储器链路(例如,接口)和存储器单元阵列两者免受随机位错误。更具体地,本公开的各方面可涉及移动或计算系统芯片组中的下一代低功率双倍数据率(DDR)规范和存储器控制器实现。

代表性地,主机SoC 100包括支持多线程操作的各个处理单元。对于图1中所示的配置,主机SoC 100包括数字信号处理器(DSP)102、图形处理器单元(GPU)和多媒体引擎104、多核中央处理单元(CPU)106、系统总线108、存储器控制器110、以及存储器物理层(PHY)130。DSP 102、GPU和多媒体引擎104以及多核CPU 106支持各种功能,诸如视频、音频、图形、游戏等等。多核CPU 106的每个处理器核可以是精简指令集计算(RISC)机器、微处理器、或某一其他类型的处理器。

在本公开的这一方面,主机SoC 100通过存储器PHY 130可通信地耦合到存储器器件140(例如,低功率动态随机存取存储器(DRAM))。在这一配置中,存储器控制器110包括用以生成数据122(例如,读/写数据)的ECC奇偶校验位124的ECC编码器/解码器120,数据122通过存储器PHY 130沿着可被统称为存储器链路的数据总线132(132-1、…、132-N)和命令/地址总线134(134-1、…、134-N)传达给存储器器件140中的一者。由ECC编码器/解码器120生成的ECC奇偶校验位124使得能够纠正由存储器器件140的存储器链路和存储器核心阵列导致的任何数据故障。

随着主机SoC 100将存储器链路串行数据率从例如三千两百(3200)兆比特每秒(Mbps)增加到六千四百(6400)Mbps,对抗存储器链路错误的保护变得更受关注。在这一配置中,由存储器控制器110生成ECC奇偶校验位124(“n”位ECC)来保护数据122(例如,“m”位写入)。数据122被存储在存储器单元阵列150(例如,存储器组)中的一者中,并且ECC奇偶校验位124被存储在ECC阵列152中。因为ECC奇偶校验位124和数据122两者均是在写和读操作期间在主机SoC 100与存储器器件140之间传递的,所以任何存储器链路错误都可以使用ECC奇偶校验位124来检测和纠正。此外,存储器单元阵列150中的任何随机位错误都可在存储器控制器110的ECC编码器/解码器120中被纠正。

在这一配置中,存储器器件140包括用于数据122的存储器单元阵列150(例如,存储器组)以及用于ECC奇偶校验位124的ECC阵列152。来自存储器控制器110的ECC奇偶校验位124可以在主机SoC 100与存储器器件140之间通过数据掩码引脚针对与掩码写命令相关联的数据字节来传递。可以使用ECC位的位置(EL)信息来将ECC奇偶校验位124的位置传达给存储器器件140。这一过程并不涉及存储器子系统中的存储器带宽损失或存储器接口变化。如以下进一步详细描述的,在掩码写(MWT)操作期间,存储器器件140可在第一数据掩码(DM)位被断言(例如,“H”)并且MWT命令位字段指示DM活动时根据数据122来恢复ECC奇偶校验位124。在正常写操作期间,存储器器件140可从DM数据流中恢复ECC奇偶校验位124。

在这一配置中,存储器器件140包括可通信地耦合到数据总线132和命令/地址总线134的输入/输出(I/O)块146。在操作中,由存储器控制器110生成的ECC奇偶校验位124可被存储器器件的ECC解码器/纠正块160用来检测和纠正数据122内的链路错误。一旦经纠正/验证,数据122和ECC奇偶校验位124就在ECC编码器170内被编码之后沿着存储器器件140的写路径142被存储在存储器单元阵列150和ECC阵列152中的一者中。主机SoC 100能够使用ECC奇偶校验位124来检测和纠正可能由增加的存储器链路串行数据率(例如,从3200Mbps增加到6400Mbps)导致的任何存储器链路错误。另外,存储器单元阵列150中的任何随机位错误可沿着存储器器件140的读路径144在存储器控制器110的ECC编码器/解码器120中被纠正。

图2A是解说例如具有32位数据总线宽度的串行总线内的掩码写(MWT)命令的时序图200。时序图200示出了时钟信号202、命令信号204和地址信号206。时序图200还示出了具有相关联的写等待时间214和突发数据216的第一数据信号210。对于掩码写命令,向每个写数据字节指派一个数据掩码(DM)位。例如,第一数据掩码信号212包括DM位,诸如与每个写数据字节相关联的第一数据掩码信号212(DM0)。当DM位被断言(例如,DM位=“H”)时,对应的写数据字节不被写入存储器单元阵列。当DM位被解除断言(例如,DM位=“L”)时,对应的写数据字节被写入存储器单元阵列。还示出了第二数据信号220及相关联的第二数据掩码信号222、以及第四数据信号230及相关联的第四数据掩码信号232。

图2B是解说例如具有32位数据总线宽度的串行总线内的读(RD)命令的时序图250。时序图250还示出了时钟信号202、命令信号204和地址信号206。时序图250还示出了具有相关联的读等待时间254和突发数据256的第一数据信号210。对于RD命令,数据掩码位为输入并且在读操作期间被指示为“无所谓”。也就是说,数据掩码引脚在读操作期间被忽略。还示出了第二数据信号220及相关联的第二数据掩码信号222、以及第四数据信号230及相关联的第四数据掩码信号232。

再次参照图1,在存储器器件140中,在写操作期间一般从存储器阵列中读取整个存储器行(例如,256位字)。在掩码写操作期间,ECC编码器170在存储器单元阵列150中的一者内执行读取-修改-写入操作以使用实际写数据来执行ECC编码(使用存储器单元阵列150中的一者中对应的数据字节来替代经掩码的数据字节)。也就是说,掩码写操作使得能够更新存储器行中的所选字节以使得经掩码的数据字节不被写入存储器单元阵列150。在操作中,额外的引脚(例如,数据掩码位)连同数据122一起发送以移除一个或多个指定的写数据字节并通过指定被忽略的写数据字节来限制读取-修改-写入操作。

图2C是解说用于例如具有相关联的16位数据掩码的128位写数据(其中突发长度等于16)的掩码写命令的时序图260。在时序图260中,“D”是指写数据,而“M”是指数据掩码位,其中为每个DQ字节指派一个数据掩码位。在这一示例中,DM0引脚中与写数据D<16:23>相关联的M2位被断言(例如,“高”或“H”)。作为结果,掩码写数据270(例如,写数据D<16:23)不被写入存储器单元阵列150(图1)中的目标存储器单元阵列。响应于掩码写命令,存储器器件140中的目标存储器器件从存储器单元阵列150中的一者中执行读操作,并使用读数据Q<16:23>替代掩码写数据270来形成写数据(例如,128位写数据)以供使用ECC编码器170进行ECC编码。ECC编码器170将128位写数据存储在存储器单元阵列150中的目标存储器单元阵列内,并且将ECC奇偶校验位124写入ECC阵列152中的目标ECC阵列。

本公开的各方面涉及包括主机片上系统(SoC)和多个低功率存储器的低功率存储器系统中的存储器阵列和链路纠错。存储器控制器110包括ECC编码器/解码器120,用以生成读/写数据122的ECC位从而提供存储器阵列和链路纠错。这一解决方案可以利用低功率存储器器件内的内建存储器阵列纠错。在主机SoC与低功率存储器之间传达ECC奇偶校验位不应当涉及存储器子系统中的存储器带宽损失或存储器接口变化。

在本公开的各方面,来自存储器控制器的ECC奇偶校验位在主机SoC与低功率存储器之间通过数据掩码引脚或与掩码写命令相关联的数据字节来传递。可以使用ECC位的位置信息来将ECC奇偶校验位的位置传达给存储器器件。在掩码写操作的情形中,存储器恢复与第一经断言的数据掩码(DM)位(例如,“H”)相关联的ECC位,并且其中掩码写命令位字段指示每“m”位数据模式的DM活动。在正常写操作的情形中,存储器器件从DM数据流中恢复ECC位。

图3是解说用于例如具有相关联的16位数据掩码的128位写数据(其中突发长度等于16)的正常写命令的时序图300。低功率存储器器件(诸如存储器器件140(图1))具有与掩码写命令分开的正常写命令。对于正常写命令,DM0引脚中与128位写数据相关联的所有位(E0、……、E15)都被解除断言(例如,“低”)。作为对比,对于掩码写命令,至少一个DM位在突发数据流(BL)期间被断言为“高”。作为结果,DM0引脚的位在正常写命令期间未被使用。在正常写命令的这一示例中,通过未使用的DM位320来将ECC奇偶校验位(E0、……、E15)传递给存储器器件140,其中“E”表示ECC奇偶校验位。作为结果,存储器器件140可通过DM引脚来识别由存储器控制器110生成的ECC奇偶校验位124。

然而,在掩码写命令期间,DM引脚不可用于携带ECC奇偶校验位124。在本公开的各方面,来自存储器控制器110的ECC奇偶校验位124在主机SoC100与存储器器件140之间通过与掩码写命令相关联的掩码写数据字节来传递。可以使用ECC位位置信息来将ECC奇偶校验位的位置传达给存储器器件。这一过程并不涉及存储器子系统中的存储器带宽损失或存储器接口变化。存储器器件140可恢复与第一经断言的数据掩码(DM)位(例如,“H”)相关联的ECC位,其中掩码写命令位字段指示每“m”位数据模式的DM活动。在正常写操作的情形中,存储器器件从DM数据流中恢复ECC位。

在本公开的各方面,可从128位数据组块(例如,DQ字节X 16个数据拍频)中获得总共16个ECC奇偶校验位。在替换实现中,每128位数据组块的ECC奇偶校验位的16个数据拍频可包含不止ECC奇偶校验位。例如,16个数据拍频可包括8位ECC奇偶校验位加上数据总线反相位和其他类似位。

图4A到4C是解说根据本公开的各方面的用于在掩码写命令期间在主机SoC 100与存储器器件140之间传递ECC奇偶校验位124的各个选项的时序图。

图4A是解说用于例如具有相关联的16位数据掩码的128位写数据(其中突发长度等于16)的掩码写命令的时序图400。在这一安排中,128位写数据被分成第一写数据410和第二写数据420(例如,具有第一8位ECC奇偶校验位的第一64位数据部分和具有第二8位ECC奇偶校验位的第二64位数据部分)。如所提及的,对于掩码写命令,至少一个数据掩码位(DM0)在突发数据流(例如,具有64位突发长度)期间被断言为“H”。在这一示例中,第一8位ECC(例如,E0、……、E7)被嵌入到第一掩码写数据字节412(例如,D<16:23>)内。另外,第二8位ECC(例如,E8、……、E15)被嵌入到第二掩码写数据字节422(例如,D<16:23>)内。

图4B是解说用于第一写数据410的掩码写操作与用于第二写数据420的正常写操作组合的时序图430。在这一安排中,第一8位ECC(例如,E0、……、E7)被嵌入到第一掩码写数据字节412(例如,D<16:23>)内。在第二写数据420中,DM0引脚的位在正常写操作内未被使用。在这一示例中,通过第二未使用的DM位424来将第二8位ECC(例如,E8、……、E15)传递给存储器器件140。作为结果,存储器器件可通过第一写数据410的第一掩码写数据字节412和第二写数据420的第二未使用的DM位424来识别由存储器控制器110生成的ECC奇偶校验位124。在本公开的这一方面,主机SoC 100发出具有扩展位字段的掩码写命令以指示ECC字节被嵌入何处;即掩码写数据字节或未使用的DM位取决于数据掩码活动。

图4C是解说用于第一写数据410的正常写操作与用于第二写数据420的掩码写操作组合的时序图450。在这一安排中,DM0引脚的位在正常写操作内未被使用。在这一示例中,通过第一未使用的DM位414来将第一8位ECC(例如,E0、……、E8)传递给存储器器件140。在第二写数据420中,第二8位ECC(例如,E8、……、E15)被嵌入第二掩码写数据字节422(例如,D<120:127>)内。作为结果,存储器器件可通过第一写数据410的第一未使用的DM位414和第二写数据420的第二掩码写数据字节422来识别由存储器控制器110生成的ECC奇偶校验位124。在本公开的这一方面,主机SoC 100还发出具有扩展位字段的掩码写命令以指示ECC信息被嵌入何处;即未使用的DM位或掩码写数据字节取决于数据掩码活动。

图5是解说根据本公开的各方面的在读(RD)命令期间在例如具有128位输入/输出总线宽度的串行总线内传达ECC奇偶校验位的时序图500。时序图500示出了时钟信号502、命令信号504和地址信号506。时序图500还示出了具有相关联的读等待时间514和突发数据516的第一数据信号510及相关联的第一数据掩码信号512。对于读(RD)命令,使用未使用的DM位550来将128位读数据和每个DQ字节(例如,D0、……、D15)的16位ECC(例如,E0、……、E15)从存储器单元阵列150传递给主机SoC 100。读操作期间的存储器链路错误可使用来自未使用的DM位550的ECC奇偶校验位124来在存储器控制器110的ECC编码器/解码器120中检测和纠正。还示出了第二数据信号520及相关联的第二数据掩码信号522、以及第四数据信号530及相关联的第四数据掩码信号532。

图6示出了根据本公开的各方面的通过共享命令/地址总线634来将主机片上系统(SoC)600可通信地耦合到存储器器件640(640-1、640-2)的低功率存储器子系统的俯视图。在读操作期间,可使用来自存储器器件640的未使用的DM位550(见图5)来恢复ECC奇偶校验位124。然而,在这一安排中,共享命令/地址总线634是在主机SoC 600与存储器器件640之间提供的。在使用共享命令/地址总线634的配置中,掩码写命令可包括指示ECC奇偶校验位124是被嵌入数据中还是数据掩码位流中的附加位字段(EL)。

在其中共享命令/地址总线634支持多个设备的本公开的这一方面,主机可以给每个设备编程字节ID以区分EL信息。这种编程可通过使用封装选项或模式寄存器集(MRS)编程来执行。例如,当使用共享命令/地址总线634时,主机SoC 600对存储器器件640中的每一者编程字节ID(例如,“L”针对存储器器件640-1,且“H”针对存储器器件640-2,则存储器器件640-1被指派EL<0:3>,且存储器器件640-2被指派EL<4:7>)。替换地,在封装级提供功能性,其中设备ID引脚对于存储器器件640-1而言被绑定至“接地”,而对于存储器器件640-2而言被绑定至“电源(逻辑高)”。

例如,图7示出了根据本公开的各方面的在掩码写命令期间传达ECC位置的时序图700。时序图700示出了时钟信号702和命令/地址信号704。在本公开的这一方面,掩码写(MW)命令之后跟随ECC位置命令(例如,EL位)以指示ECC奇偶校验位124被嵌入数据122中的何处。在替换配置中,主机SoC 600程序在初始化期间将DQ字节ID(标识)写入存储器器件640中的每一者中的模式寄存器650(650-1、650-2),如图6所示。存储器器件选项(用于确定字节ID/顺序)也可在封装级被硬布线。

图8A是解说根据本公开的各方面的低功率存储器子系统中的存储器阵列和链路纠错的方法800的流程图。在框802,存储器控制器生成写数据的ECC奇偶校验位(例如,64位写数据的8位ECC奇偶校验位)。在框804,确定是否正在执行掩码写操作。在框808,当正在执行正常写操作时,将该ECC奇偶校验位添加到数据掩码突发数据。例如,如图3中所示,通过未使用的DM位320来将ECC奇偶校验位(E0、……、E15)传递至存储器器件140。对于掩码写命令,在框806,该ECC奇偶校验位替代与第一经断言的数据掩码位相关联的第一掩码写数据字节。例如,如图4A中所示,将第一8位ECC(例如,E0、……、E7)嵌入到第一掩码写数据字节412(例如,D<16:23>)内。

再次参照图8A,在框810,主机(例如,SoC)向目标存储器器件发出写数据和数据掩码。在框812,该目标存储器器件从该主机接收写数据和数据掩码。在框820,确定是否正在执行掩码写操作。当未在执行正常写操作时,执行过程框830到834以完成正常写命令。对于掩码写命令,过程框822到828执行以完成该掩码写命令。

图8B是解说根据本公开的各方面的用于低功率存储器子系统中的读操作的方法850的流程图。在框852,存储器控制器向目标存储器器件发出读命令。在框854,该目标存储器器件从存储器单元阵列读取读数据并从ECC阵列读取ECC位。在读操作中,可任选地,用于ECC解码和读数据纠错的框856和858可被跳过以简化存储器实现并加速读速度(例如,降低来自读命令的读等待时间),因为存储器控制器可在框860和862使用ECC编码器/解码器来恢复存储器单元阵列中引起的位错误。这是存储器性能(等待时间)与存储器子系统可靠性(存储单元阵列位错误+读链路错误)之间的折衷。

在一种配置中,低功率存储器子系统包括用于在正常写操作期间以及在读操作期间将纠错码(ECC)奇偶校验位嵌入数据掩码位中的装置。低功率存储器子系统还包括用于在掩码写操作期间将ECC奇偶校验位嵌入与经断言的数据掩码位相对应的数据字节中的装置。在本公开的一个方面,嵌入装置是配置成执行由该嵌入装置所述的功能的图1的存储器控制器110。在本公开的一个方面,嵌入装置是配置成执行由该嵌入装置所述的功能的图1的ECC编码器/解码器120。图1的ECC编码器/解码器120还可提供用于检测和纠正读数据内的随机位错误和/或存储器链路错误的装置,并且存储器控制器110还可提供用于直接接入读路径以从存储器器件读取数据的装置以及用于检测和纠正该读数据内的随机位错误和/或存储器链路错误的装置。在另一方面,前述装置可以是配置成执行由前述装置叙述的功能的设备或任何层。

本公开的各方面涉及包括主机片上系统(SoC)和多个存储器的存储器子系统。该存储器控制器具有纠错码(ECC)编码和解码块,用以生成写数据的ECC位并且纠正由存储器链路和存储器核心阵列引起的任何数据故障。该存储器具有用于数据的单元阵列和用于ECC奇偶校验位的ECC阵列。来自存储器控制器的ECC奇偶校验位在主机与存储器之间通过数据掩码引脚或与掩码写(MWT)命令相关联的数据字节来传递。可以使用ECC位位置信息来将ECC奇偶校验位的位置传达给存储器器件。这一过程并不涉及存储器子系统中的存储器带宽损失或存储器接口变化。在掩码写操作的情形中,存储器恢复与第一经断言的数据掩码(DM)位(例如,“H”)相关联的ECC位,其中掩码写命令位字段指示每“m”位数据模式的DM活动。在正常写操作的情形中,存储器器件从DM数据流中恢复ECC位。

在读操作中,存储器控制器从来自存储器器件的DM数据流中恢复ECC位。当命令/地址(CA)总线在多个存储器器件之间共享时,掩码写命令可包括指示ECC字节被嵌入DM数据流中的何处的附加位字段(EL)信息。在一种配置中,主机程序在初始化期间将DQ字节ID写入每个存储器器件中的模式寄存器。存储器器件选项(用于确定字节ID/顺序)可在封装级被硬布线。如果“m”=128,则“n”等于或小于16。在本公开的这一方面,掩码写命令之后跟随ECC位置命令(例如,EL位)以指示ECC码被嵌入写突发数据中的何处。

图9是示出其中可有利地采用本公开的配置的示例性无线通信系统900的框图。出于解说目的,图9示出了三个远程单元920、930和950以及两个基站940。将认识到,无线通信系统可具有远多于此的远程单元和基站。远程单元920、930和950包括IC设备925A、925B和925C,其包括所公开的低功率存储器子系统。将认识到,包含IC的任何设备还可包括所公开的低功率存储器子系统,包括基站、交换设备、以及网络装备。图9示出了从基站940到远程单元920、930和950的前向链路信号980,以及从远程单元920、930和950到基站940的反向链路信号990。

在图9中,远程单元920被示为移动电话,远程单元930被示为便携式计算机,而远程单元950被示为无线本地环路系统中的固定位置远程单元。例如,远程单元可以是移动电话、手持式个人通信系统(PCS)单元、便携式数据单元(诸如个人数据助理)、启用GPS的设备、导航设备、机顶盒、音乐播放器、视频播放器、娱乐单元、固定位置数据单元(诸如仪表读数装备)、或者存储或取回数据或计算机指令的任何其他设备、或者其任何组合。例如,包括低功率存储器子系统的远程单元可被集成在车辆控制系统、服务器计算系统、或指定关键数据完整性的其他类似系统内。尽管图9解说了包括所公开的低功率存储器子系统的IC设备925A、925B和925C,但是本公开并不限于所解说的这些示例性单元。本公开的各方面可以合适地在包括低功率存储器子系统的任何设备中采用。

对于固件和/或软件实现,这些方法体系可以用执行本文中所描述功能的模块(例如,规程、函数等等)来实现。任何有形地实施指令的机器可读介质可被用来实现本文所描述的方法体系。例如,软件代码可被存储在存储器中并由处理器单元来执行。存储器可以在处理器单元内或在处理器单元外部实现。如本文所使用的,术语“存储器”是指任何类型的长期、短期、易失性、非易失性、或其他存储器,而并不限于任何特定类型的存储器或存储器数目、或记忆存储在其上的介质的类型。

如果以固件和/或软件实现,则功能可作为一条或多条指令或代码存储在计算机可读介质上。示例包括编码有数据结构的计算机可读介质和编码有计算机程序的计算机可读介质。计算机可读介质包括物理计算机存储介质。存储介质可以是能被计算机存取的可用介质。作为示例而非限定,此类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来存储指令或数据结构形式的期望程序代码且能被计算机访问的其他介质;如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)和蓝光碟,其中盘往往磁性地再现数据,而碟用激光光学地再现数据。上述的组合应当也被包括在计算机可读介质的范围内。

除了存储在计算机可读介质上,指令和/或数据还可作为包括在通信装置中的传输介质上的信号来提供。例如,通信装备可包括具有指示指令和数据的信号的收发机。这些指令和数据被配置成使一个或多个处理器实现权利要求中叙述的功能。

尽管已详细描述了本公开及其优势,但是应当理解,可在本文中作出各种改变、替代和变更而不会脱离如由所附权利要求所定义的本公开的技术。例如,诸如“上方”和“下方”之类的关系术语是关于基板或电子器件使用的。当然,如果该基板或电子器件被颠倒,则上方变成下方,反之亦然。此外,如果是侧面取向的,则上方和下方可指代基板或电子器件的侧面。而且,本申请的范围并非旨在被限定于说明书中所描述的过程、机器、制造、物质组成、装置、方法和步骤的特定配置。如本领域的普通技术人员将容易从本公开领会到的,根据本公开,可以利用现存或今后开发的与本文所描述的相应配置执行基本相同的功能或实现基本相同结果的过程、机器、制造、物质组成、装置、方法或步骤。因此,所附权利要求旨在将这样的过程、机器、制造、物质组成、装置、方法或步骤包括在其范围内。

技术人员将进一步领会,结合本文的公开所描述的各种解说性逻辑框、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、或两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、以及步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。

结合本文的公开所描述的各种解说性逻辑块、模块、以及电路可用设计成执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核协同的一个或多个微处理器、或者任何其他此类配置。

结合本公开所描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM、闪存存储器、ROM、EPROM、EEPROM、寄存器、硬盘、可移动盘、CD-ROM、或者本领域中所知的任何其他形式的存储介质中。示例性存储介质被耦合到处理器,以使得处理器能从/向该存储介质读取/写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。

在一个或多个示例性设计中,所描述的功能可以在硬件、软件、固件、或其任何组合中实现。如果在软件中实现,则各功能可以作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是可被通用或专用计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来携带或存储指令或数据结构形式的指定程序代码手段且能被通用或专用计算机、或者通用或专用处理器访问的任何其他介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)和蓝光碟,其中盘(disk)往往以磁的方式再现数据而碟(disc)用激光以光学方式再现数据。上述的组合应当也被包括在计算机可读介质的范围内。

提供先前描述是为了使本领域任何技术人员均能够实践本文中所描述的各种方面。对这些方面的各种修改将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。由此,权利要求并非旨在被限定于本文中所示出的各方面,而是应被授予与权利要求的语言相一致的全部范围,其中对要素的单数形式的引述并非旨在表示“有且仅有一个”(除非特别如此声明)而是“一个或多个”。除非特别另外声明,否则术语“一些”指的是“一个或多个”。引述一列项目中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一者”旨在涵盖:a;b;c;a和b;a和c;b和c;以及a、b和c。本公开通篇描述的各个方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。权利要求的任何要素都不应当在35U.S.C.§112第六款的规定下来解释,除非该要素是使用措辞“用于……装置”来明确叙述的或者在方法权利要求情形中该要素是使用措辞“用于……步骤”来叙述的。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1