具有集成式错误校正的DRAM存储器的制作方法

文档序号:19350602发布日期:2019-12-06 21:21阅读:157来源:国知局
具有集成式错误校正的DRAM存储器的制作方法

本发明涉及连接到存储器并且采用错误检测及校正的电子系统。



背景技术:

可以在单个集成电路内制造包含错误校正码(ecc)电路的动态随机存取存储器(dram)子系统。这些dram子系统可具有校正1位存储器错误并且检测2位存储器错误的能力。参见例如,集成式硅解决方案有限公司(integratedsiliconsolutions,inc)(issi)is43/46tr16640ed。



技术实现要素:

在所描述的实例中,可以收集错误统计数据并且将错误统计数据存储在错误统计数据寄存器的集合中。可以使得错误统计数据可供外部装置使用。

附图说明

图1说明与具有集成式ecc的存储器模块接口连接的实例芯片上系统(soc)处理单元。

图2说明实例球栅阵列封装。

图3是说明使用次要总线来存取存储器模块上的统计数据寄存器的流程图。

图4说明具有集成式ecc的另一实例存储器模块。

具体实施方式

在图式中,出于一致性,相似元件由相似参考标号表示。

可以在单个集成电路(ic)内制造包含错误校正码(ecc)电路的dram子系统。举例来说,这些dram子系统可具有校正1位存储器错误并且检测2位存储器错误的能力。然而,在当前可供使用的dram子系统中,错误统计数据和细节不可由位于存储器子系统ic外部的系统控制器读取,例如,主中央处理单元(cpu)。

在所描述的实例中,一或多个统计数据寄存器可以包含在dram存储器模块内以收集错误统计数据和细节。dram存储器是在标准jedec(电子装置工程设计联合协会,jointelectrondeviceengineeringcouncil)兼容的球栅阵列(bga)封装中可供使用的。利用未使用的引脚中的一些,实例可采用i2c(集成电路间)接口,所述接口可用于读取在dram存储器ic内部的错误寄存器。

以此方式,主cpu可配备有读取存储在dramic内的错误统计数据的方法。cpu可使用这些统计数据以响应于过量的存储器错误采取适当的系统行动。行动可在从基于错误的位置或数量擦洗存储器到在极端的情况下重新设置系统的范围内。没有可由cpu存取的错误统计数据,此类系统级别行动是不可能的。

图1说明与具有集成式ecc的存储器模块100进行接口连接的芯片上系统(soc)处理单元120。存储器模块100包含存储器阵列101。存储器阵列101可包含用于存储数据的数据位。存储器阵列101可包含用于每个字位置的额外的ecc位。举例来说,需要额外的八个奇偶校验位用于64位数据字的基础单错误校正双错误检测(secded)汉明码。较大或较小数据字可能需要对应的较大或较小奇偶校验字段。额外的奇偶校验位可用于形成汉明码以执行具有三错误检测的双错误校正(dected)。更加复杂的系统可使用bch(博斯-乔杜里-霍昆格姆,bose-chaudhuri-hocquenghem)代码,所述代码使用有限域上的多项式,被称作“伽罗瓦域”。其它实例可使用其它已知的或稍后研发的错误检测及校正技术。

在此实例中,在已知的或稍后研发的配置中soc120可含有一或多个处理核心、存储器和/或高速缓冲存储器的各种块、各种接口和/或外围装置等。可以提供接口,例如,端口0,所述接口可以耦合到存储器模块100以允许soc120内的处理核心中的一或多个经由存储器总线121写入数据以用于存储在存储器模块100中,并且经由存储器总线121从存储器模块100中读取数据。

存储器总线121可包含用于对存储器模块100中的字位置进行寻址的地址位和数据位。在此实例中,存在八个数据位和十四个地址位,连同库选择位,以及各种控制和选通信号。可以进行突发传递,其中传递数据的八个重复以形成存储在由地址位指示的存储器位置处的64位字。在另一实例中,可以使用其它已知的或稍后研发的存储器总线配置。

在从soc120到存储器模块100的写入事务期间,主要接口电路103接收提供在存储器总线121上的地址和数据位。ecc逻辑102从主要接口电路103接收在数据总线106上的数据位。ecc逻辑102产生对应的ecc位并且将数据位和新近产生的错误校正位两者经由数据总线105供应到存储器阵列101。这些使用已知的或稍后研发的存储器储存技术在地址总线107上在从主要接口电路103提供的地址处存储在存储器阵列101中。

存储器阵列101在可寻址的位置中存储数据和ecc位。存储器阵列101可以是使用已知的或稍后研发的存储器技术实施的。在此实例中,存储器阵列101可使用动态随机存取存储器(dram)单元。在另一实例中,存储器阵列101可以通过非易失性存储器单元实施,例如,铁电单元。在另一实例中,存储器阵列101可以使用快闪存储器单元实施。在另一实例中,存储器阵列101可以使用静态随机存取存储器(sram)等实施。

当从存储器阵列101中读数数据时,地址总线107上的地址确定所存取的存储器位置。数据和错误校正位从存储器阵列101中被召回并且经由数据总线105被供应给ecc逻辑102。ecc逻辑102随后从召回的数据中产生错误校正位的新集合。ecc逻辑102比较这些新近产生的错误校正位与从存储器阵列101中召回的对应的错误校正位。如果它们匹配,那么ecc逻辑102将数据位供应到数据总线106。主要i/o电路103随后经由总线121将此数据传递到soc120。如果新的和召回的ecc位并不匹配,那么ecc逻辑102确定错误校正是否是可能的。冗余位的数量确定是否可以校正检测到的错误。举例来说,已知的汉明方案可以检测两个位中的错误并且检测和校正在单个位中出现的错误。如果ecc逻辑102确定它可以校正检测到的错误,那么它做出此校正并且经由数据总线106将经校正的数据供应到主要i/o电路103。在此实例中,ecc逻辑102经由总线110更新统计数据寄存器111以记录经校正的存储器错误的出现。在此实例中,存储经校正的地址和位。在另一实例中,可以记录较少信息。

如果ecc逻辑102确定它无法校正检测到的错误,那么它中断读取操作并且经由主要总线121将错误消息发射到soc102。ecc逻辑102还经由总线110更新统计数据寄存器111以记录未校正的错误的出现。在此实例中,记录故障的存储器位置的地址。

在此实例中,soc120中的处理器可经由次要总线122、次要i/o电路112和总线110存取统计数据寄存器111。具体地说,在读取错误之后soc120中的处理器可经编程以从统计数据寄存器111中读取数据。此外,soc120中的处理器可经编程以周期性地读取统计数据寄存器111以便评估ecc逻辑102校正的以其它方式不可检测的位错误。

在此实例中,次要总线122可以是众所周知的i2c总线。i2c总线也可被称作“i2c”或“iic”。i2c总线是包含两个双向线的同步的、多主控装置的、多从动装置的、分组交换的、单端的、串联的计算机总线。i2c使用具有在相同线上的输入缓冲器的开放漏极/开放采集器,这允许单个数据线用于双向数据流。因此,当被实施为i2c总线时,需要仅两个信号线用于次要总线122;因此,需要仅两个球形接触件以将次要总线122连接到存储器模块100。

开放漏极是指一种输出的类型,其可以将总线拉动降至某一电压(在大多数情况下,接地)或“释放”总线并且让它被上拉电阻器上拉。在总线通过主控装置或从动装置被释放的情况下,线上的上拉电阻器(rpu)对拉动总线电压至高达电力轨负责。由于没有装置可强制线上的高,这意味着总线将从不会遇到通信问题,其中一个装置可能尝试发射高,并且另一个装置发射低,引起短路(电力轨到接地)。i2c需要如果多主控装置环境中的一个主控装置发射高,但是看到线是低的(另一装置将它向下拉动),以停止通信,这是因为另一装置在使用总线。推拉式接口并不允许这种类型的自由,这是i2c的益处。

i2c总线的操作是众所周知的并且在本文中不必对其进行详细描述;参见例如,“理解i2c总线(understandingthei2cbus)”,德克萨斯州仪器应用报告(texasinstrumentsapplicationreport)slva704,2015年6月,其以引用的方式并入本文中。

i2c使用仅两个双向开放式漏极线、串行数据线(sda)和串行时钟线(scl),通过电阻器上拉。所使用的典型的电压是+5v或+3.3v,然而具有其它电压的系统也是准许的。

i2c参考设计具有7位地址空间,具有很少地使用的10位扩展。常见的i2c总线速度是100千位/s标准模式和400千位/s快速模式。还存在10千位/s低速模式,但是也允许任意地低的时钟频率。i2c的最新的修改可以容纳更多节点并且以更快的速度运行(400千位/s快速模式,1兆位/s快速模式加或fm+,以及3.4兆位/s高速模式)。与在印刷电路板上相比这些速度更广泛地用于嵌入式系统上。

将是可能的是设计统计数据寄存器111,使得它们可使用例如存储器映射式存取经由主要总线121存取。然而,i2c总线作为次要总线来存取统计数据寄存器111的使用允许soc120上或其它处的处理器监测统计数据寄存器111而无需中断主存储器总线121的操作。

此外,i2c总线的开放式收集器操作允许次要总线122在与主要总线121相比不同的电压下操作。举例来说,在此实例中主要总线121可以是在近似地1.35伏或1.5伏下操作的双数据速率3(ddr3)总线。在另一实例中,可以使用在1.2伏下操作的ddr4总线,或在1.8伏下操作的ddr2总线。类似地,存储器101、ecc逻辑102、接口电路102和统计数据寄存器111可在ddr电源电压下操作。在每个实例中,次要i2c开放式收集器总线122可以在完全不同的电压下操作,例如,1.8伏或3.3伏,例如,通过soc120上的接口逻辑提供。

图2说明可用于封装存储器模块100的实例球栅阵列封装200。球栅阵列(bga)是用于集成电路的一种类型的表面安装封装(芯片载体)。bga封装用于永久性地安装装置,例如,微处理器。与可放置在双列直插式或扁平封装上的互连引脚相比,bga可提供更多互连引脚。可使用装置的整个底部表面,而不是仅周长。引线也平均短于通过仅周长类型,引起在高速下的更好的性能。

如上文所提及,在一个实例中需要仅两个信号线用于次要总线122,其中次要总线被提供为i2c类型的总线;因此,需要仅两个球形接触件,例如,球形接触件201、202,以将次要总线122连接到存储器模块100。虽然对于此实例指示两个特定球形接触件201、202,但是其它实例可使用不同的球形接触件位置。另外,当i2c总线需要仅两个球形接触件时,还预期次要总线122也可以通过具有两个信号线的其它总线类型、具有两个以上信号线的其它总线类型(在此情况下两个以上球形接触件将次要总线122连接到存储器模块100),或在一些情况下使用单个信号线(在此情况下仅一个球形接触件将次要总线122连接到存储器模块100)来实施。

图3是说明使用次要总线来存取存储器模块上的统计数据寄存器的流程图。在302处,数据存储在存储器模块内的存储器阵列中。数据可以是使用例如图1中的接口电路103的主要接口从外部装置接收的,例如,图1中的soc120。

在304处,错误校正码是通过ecc逻辑编码的,例如,图1中的ecc逻辑102。错误校正码存储在存储器模块内。

在306处,响应于通过连接到主要接口的外部装置的读取请求,数据是从存储器阵列中检索的。从存储器阵列中检索的数据中的数据错误可以是通过ecc逻辑校正的。数据错误统计数据可以存储在存储器模块内,例如,在图1中的统计数据寄存器111内。

在308处,使用主要接口将经校正的数据提供到外部装置。数据可以被提供到在302中提供数据的相同外部装置,或者不同外部装置可请求对存储器模块的存取。

在310处,使用与主要接口分开的次要接口可以将错误统计数据提供到外部装置,所述次要接口例如图1中的次要接口112和次要总线122。举例来说,次要接口可以是i2c总线,或另一已知的或稍后研发的通信信道。

在312处,响应于错误统计数据可以在存储器模块上采取行动。举例来说,耦合到存储器模块的主cpu可使用这些统计数据以响应于过量存储器错误采取适当的系统行动。行动可在从基于错误的位置或数量擦洗存储器到在极端的情况下重新设置系统的范围内。没有可由cpu存取的错误统计数据此类系统级别行动可能是不可能的。

图4说明具有集成式ecc逻辑的另一实例存储器模块400。此实例可以类似于图1中的存储器模块400。此实例可包含额外控制逻辑,例如,可以经由主要接口电路103存取的配置寄存器430。这些配置寄存器可用于配置存储器模块400的操作。举例来说,可以配置各种参数,例如:突发长度、cas时延、测试模式、预充电延迟、驱动强度、终端阻抗等。其它已知的或稍后研发的类型的存储器模块参数可以此方式配置。

可以使用主要接口103和主要接口总线121写入和读取配置寄存器430。

其它实施例

在所描述的实例中,包含ecc逻辑和统计数据寄存器的存储器模块封装在bga封装中。其它实例可以封装在可以提供两个接触点用于i2c接口的其它类型的已知的或稍后研发的封装中。

在所描述的实例中,i2c接口用于存取存储器模块内部的统计数据寄存器。在其它实例中,其它已知的或稍后研发的类型的低引脚计数通信总线可用于存取内部统计数据寄存器。

在所描述的实例中,描述具有ecc逻辑的存储器模块。在其它实例中,例如,处理器核心、传感器接口逻辑或其它类型的逻辑的额外的逻辑可以包含在存储器模块内。

在本说明书中,术语“耦合”和其派生词意味着间接、直接、光学和/或无线电连接。因此,如果第一个装置耦合到第二个装置,那么那个连接可以通过直接电连接、通过经由其它装置和连接的间接电连接、通过光学电连接和/或通过无线电连接。

在权利要求书的范围内,对所描述的实施例的修改是可能的,并且其它实施例是可能的。

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