首页> 中国专利> 用于使用相同存储器类型来支持纠错模式和非纠错模式的系统、方法和器件

用于使用相同存储器类型来支持纠错模式和非纠错模式的系统、方法和器件

摘要

本发明的实施例大致上涉及用于在纠错模式和非纠错模式中使用相同存储器类型的系统、方法和器件。在一些实施例中,存储器件包括存储体的至少一个分离存储体对。如果该存储器件处在纠错模式下,那么在一些实施例中,数据被存储在分离存储体对的一个存储体中,而相应的纠错位被存储在分离存储体对的另一个存储体中。在该存储器件上的寄存器位指示其是处在纠错模式还是处在非纠错模式中。对其它实施例进行了说明和要求。

著录项

  • 公开/公告号CN102568606A

    专利类型发明专利

  • 公开/公告日2012-07-11

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201110442180.5

  • 发明设计人 库吉特·贝恩斯;

    申请日2007-02-27

  • 分类号G11C29/42(20060101);G11C7/10(20060101);

  • 代理机构72002 永新专利商标代理有限公司;

  • 代理人陈松涛;王英

  • 地址 美国加利福尼亚

  • 入库时间 2023-12-18 06:00:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-04-15

    授权

    授权

  • 2012-09-12

    实质审查的生效 IPC(主分类):G11C29/42 申请日:20070227

    实质审查的生效

  • 2012-07-11

    公开

    公开

说明书

本申请为分案申请,其原申请是于2007年2月27日向中国专利局提交的专利申请,申请号为200710100611.3,发明名称为“用于使用相同存储器类型来支持检错模式和非检错模式的系统、方法和设备”。 

技术领域

本发明的实施例大体上涉及集成电路领域,更具体地,涉及用于使用相同存储器类型来支持纠错模式和非纠错模式的系统、方法和器件。 

背景技术

存储器件易受到误差的影响,例如,瞬态(或软)误差。如果这些误差没有被适当地处理,则它们可能使计算系统发生故障。以纠错码(ECC)形式的冗余信息可以被用于提高整个系统的可靠性。然而,冗余信息增加了存储器系统的存储要求,由此增加了存储器系统的成本。因此,ECC通常只用于高端或关键任务系统。较低成本(或较次要)的系统不使用ECC,并提供适合于它们使用的可靠性等级。 

在一些情况下,通过增加额外的存储器件(例如,动态随机存取存储器(DRAM)器件)将存储的附加位增加到系统中。例如,使用8个DRAM来存储数据的系统还可以使用附加的DRAM来存储校验码。在其它情况下,附加位被存储在一个变体DRAM中,其被特别 设计以用于ECC系统中。例如,非ECC DRAM可以具有256M比特的容量和16个输出。该DRAM的ECC变体可以具有288M比特的容量和18个输出。在这两个实例中,ECC系统与相对应的非ECC系统相比多了12.5%的存储容量。 

在ECC系统中使用不同DRAM器件具有许多缺陷。例如,存在与DRAM器件的两种(或多种)变体的设计、制造和清点有关的成本的增加。另外,ECC变体DRAM器件大于其相对应的非ECC对应物,从而更难制造。向ECC变体DRAM增加附加位降低了器件的良率,并且因此增加了器件的成本。使用DRAM器件的两种(或多种)变体的另一个缺点是要求与DRAM器件连接的存储控制器支持额外的引脚(例如,ECC引脚)。此外,由于ECC变体DRAM模块的连接器比其非ECC对应物的大,因此其使用了主板上更多的空间。 

附图说明

在附图的图形中,本发明的实施例作为例子但不是作为限制而被示出,其中相同的附图标记指代相似的元件。 

图1是示出根据本发明实施例实施的计算系统的所选方面的高层次框图; 

图2是示出根据本发明实施例实施的动态随机存取存储器(DRAM)的所选方面的框图; 

图3是示出根据本发明实施例实施的动态随机存取存储器(DRAM)的所选方面的框图; 

图4是示出根据本发明实施例的,在数据位与纠错位之间的地址映射的实例的框图; 

图5示出根据本发明实施例的读取数据帧的所选方面; 

图6A和6B示出根据本发明实施例的写数据帧序列的所选方面; 

图7是示出根据本发明实施例的电子系统的所选方面的框图; 

图8是示出根据本发明可选实施例的电子系统的所选方面的框图。 

具体实施方式

本发明的实施例大体上将注意力集中在用于使用相同存储器类型来支持纠错模式和非纠错模式的系统、方法和设备。在一些实施例中,存储器件包括至少一个分离存储体对,其具有第一存储体和第二存储体。在纠错模式中,数据位可以存储在一个存储体中,而相应的纠错位存储在另一个存储体中。可以配置存储器件以使其支持任一的使用寄存器位(例如,模式寄存器组(MRS)寄存器位)的模式。在一些实施例中,支持纠错模式和非纠错模式的能力在与存储控制器的接口上具有最小的影响。也就是说,基本上可以使用与仅支持非纠错模式的系统相同的信令(signaling)、引脚数和突发长度(bust length)。 

图1是示出根据本发明实施例实施的计算系统的所选方面的高层次框图。计算系统100包括请求器102、存储控制器(或主机)110、存储器件130,和互连120。存储控制器110,至少部分地,控制请求器102和存储器件130之间的信息传递。请求器102可以是处理器(例如,中央处理单元和/或内核),服务处理器,输入/输出装置(例如,外设部件互连(PCI)高速设备),存储器本身,或请求访问存储器的系统100的其它任何元件。在一些实施例中,存储控制器110与请求器102在同一芯片上。 

在所示的实施例中,存储控制器110包括纠错逻辑电路112,模式指示器114,和存储器件寻址逻辑电路116。纠错逻辑电路112使用冗余信息来保护数据以避免特定的错误。在一些实施例中,纠错逻辑电路112是纠错码(ECC)。 

如下面进一步讨论的,在一些实施例中,存储器件130可以在纠错模式或者非纠错模式下运行。当在纠错模式中运行时,存储器件130同时存储数据位和相应的纠错位(例如,ECC位)。当在非纠错模式中运行时,(基本上)存储器件130的全部容量都用于存储数据位。模式指示器114提供存储器件130是在纠错模式中还是在非纠错模式中运行的指示。在一些实施例中。模式指示器114包括一个或多个寄存器位。 

在一些实施例中,根据存储器件130是处于纠错模式还是在非纠错模式中,存储器件130对读/写数据施以不同的地址映射。例如,在纠错模式中所用的地址映射会导致纠错位(例如,ECC位)的映射。地址映射逻辑电路116使得存储控制器110能够知道存储器件130使用的地址映射。地址映射逻辑电路116可以是能够为许多存储单元提供地址映射指示的任何逻辑电路。 

存储器件130可以是很宽范围的各种器件中的任何一种器件,包括动态随机存取存储器(或简称为DRAM)。在一些实施例中,存储器件130被组织为一个或多个分离的存储体对140。分离的存储体对指的是一对存储体,其可以被配置为单个存储体或两个分离的存储体。在一些实施例中,分离的存储体对中的每个存储体都具有其自己的行译码器和列译码器。 

在一些实施例中,分离的存储体对中的每一个存储体都能够提供一个存储器页面。例如,存储体0A提供页面142,而存储体0B提供页面144。“存储体(bank)”指的是由存储器件提供的存储单元的阵列。存储体142和144能够共同地提供逻辑页面146。术语“逻辑页面”指的是两个或多个物理存储体的逻辑组合。在一些实施例中,页面142和144各自提供1千字节(K字节)的存储器,并且逻辑页面146提供2K字节的净有效页面大小。 

在所示实施例中,存储器件130包括模式指示器132、登记(posted)写缓冲器134、部分写掩模136和列地址产生逻辑电路138。模式指示器132提供存储器件130是在纠错模式中还是在非纠错模式中工作的指示。在一些实施例中,模式指示器132包括寄存器的一个或多个位,例如模式寄存器组(MRS)。登记写缓冲器134是数据在写入到存储器件130的存储内核之前被登记的缓冲器。部分写掩模136为写入到存储内核的数据提供写掩模。在一些实施例中,部分写掩模136用于访问与存储在存储器件130中的数据有关的纠错位。在一些实施例中,列地址产生逻辑电路138为与存储在存储器件130中的数据有关的纠错位产生列地址信息。 

图2是示出根据本发明实施例实施的动态随机存取存储器(DRAM)的所选方面的框图。DRAM 200包括16个存储体(0A到7B)或8个分离的存储体对(例如,分离的存储体对0A,0B)。在一些实施例中,DRAM 200可以被配置为×4或×8DRAM。在×4模式中,DRAM 200提供16个存储体(0A到7B),每个存储体向4个数据(DQ)引脚提供64位数据。在×8模式中,DRAM 200提供8个分离的存储体对,以将128位数据提供到8个DQ引脚。 

在一些实施例中,可以将DRAM 200配置为使其在纠错模式(例如,ECC模式)或非纠错模式下运行。当在纠错模式下运行时,DRAM200通过在分离的存储体中的一个部件(例如,存储体0A)中存储数据,并在分离的存储体的另一个部件(例如,存储体0B)中存储相应的纠错位(例如,ECC位)来平衡(leverage)其分离的存储体结构。 

图3是示出根据本发明实施例的,在分离的存储体对中存储数据位和纠错位的所选方面的框图。分离的存储体对300包括存储体0A和存储体0B。在一些实施例中,数据被存储在每个存储体中直到第 N/M(例如,第7/8)个单元中,而相应的纠错位被存储在分离的存储体对300的另一个部件的最后1/M(例如,1/8)单元中。例如,覆盖了存储在存储体0A中数据的纠错位可以被存储在存储体0B最高的第1/8个存储单元中(302)。类似地,覆盖了存储在存储体0B中数据的纠错位可以被存储在存储体0A最高的第1/8个存储单元中(304)。在一些实施例中,纠错位是纠错码(ECC)位。 

在一些实施例中,主机(例如,图1中所示的存储控制器110)在分离的存储体对中对特定存储体进行寻址,以识别接收/提供数据位的存储体。如果存储器件处在纠错模式下,那么它就使用其内部逻辑电路(例如,图1中所示的部分写掩模136、列地址产生逻辑电路138等)来访问与数据位相对应的纠错位。下面参照附图4-6B来更进一步讨论对数据位和相应的纠错位的访问。 

图4是示出根据本发明实施例的,在数据位与纠错位之间的地址映射的实例的框图。在示出的实施例中,数据位存储在7/8页面中,该页面是由一对分离的存储体中的一个存储体来提供的,如410所示。相应的纠错位存储在该分离的存储体对中的另一个存储体(430)最高的1/8单元中。例如,覆盖了字节0-7的ECC位存储在如参考标记432所示的存储单元896中。类似地,覆盖字节128-135的ECC位存储在如参考标记434所示的存储单元897中,并且如图4所示,对页面410中的数据字节继续这种方式。在一些实施例中,存储体430最高的1/8的最后字节(例如,单元903)没有被使用,如参考标记436所示。在一些实施例中,覆盖了字节8-15的纠错位存储在单元905中,并且该序列重复其自身。 

再次参照图1,说明了从DRAM中进行读取的事件序列。存储控制器110向存储器件130提供行地址124。至少部分地基于行地址124,存储器件130激活在分离的存储体对的两个存储体中的相同的 行。例如,基于行地址124,存储器件130打开存储体0A和0B的行150和152。 

存储控制器110向存储器件130提供列地址122(例如,使用列地址选通(CAS)帧)。存储器件130利用列地址122来访问来自适当的存储体(例如,存储体0A)的数据位。在一些实施例中,至少部分地基于列地址122,存储器件130为纠错位在内部产生列地址。也就是说,存储器件130在内部为其中存储了错误位的存储体产生列地址。在一些实施例中,存储装置130使得列地址122的一部分为高位(例如,逻辑1),以激活其中存储了纠错位的存储体的最高的M行。 

例如,在一些实施例中,列地址122包括8个列地址(CA)位CA3到CA10。在这种实施例中,存储器件130可以通过迫使列地址位CA8、CA9和CA10为高并访问来自适当的存储体(例如,存储体0B)的8个字节来访问纠错位。然后存储器件130可以利用CA8、CA9和CA10的实际值来识别这8个字节中的一个。例如,如果CA8到CA10的实际值是“000”,那么存储器件130将这8个字节中的第一个确定为包含纠错位的字节。类似地,如果CA8到CA10是“001”,那么存储器件130将第二个字节确定为包含纠错位的字节。然后存储器件130可以向存储控制器110提供读取的数据和其相关的纠错位。在一些实施例中,使用了由读取的CAS帧而来的CA3到CA7。 

图5示出了根据本发明实施例的读取数据帧的所选方面。如果系统(例如,图1中所示的系统100)处于纠错模式,那么在一些实施例中,在两个紧连的帧上进行64位数据的传递。例如,帧502和504在单元区间0到15中传送64个数据位,并且在单元区间(UI)16和17中传送8个纠错(例如,ECC)位。 

在一些实施例中,并行执行两个读取,并且在四帧中传递128个 数据位。例如,在所示实施例中,帧502和504传递最初的64个数据位(例如,d0-d63),而帧506和508传递另一个64数据位(例如,d64-d127)。覆盖数据位d0-d63的纠错位在帧506的UI16和17中传递,而覆盖数据位d64-d127的纠错位在帧508的UI 16和17中传递。在可选实施例中,读取帧可以具有不同的结构和/或可以传送不同数量的帧。 

再次参照图1,说明了向存储器件(例如,DRAM)写入数据的事件序列。从存储控制器110传递纠错位(例如,ECC位126)和数据位(例如,数据位128),并将它们存储在缓冲器134(例如,后写缓冲器)中。另外,存储控制器110还提供行地址124和列地址122(例如,作为写CAS帧的部分)。 

至少部分地基于行地址124,存储器件130在分离的存储体对140的两个存储体中激活相同的行(例如,行150和152)。基于在写CAS帧中的数据(例如,列地址122和存储体地址字段的位),数据位128被写入到分离的存储体对140中的一个存储体。至少部分地基于列地址122,存储器件130在内部为纠错位产生列地址。在一些实施例中,通过使CA8到CA10为高并利用来自写CAS帧而来的CA4到CA10来产生纠错位的列地址。在一些实施例中,不使用CA2到CA0。 

通常,纠错位的数量仅是数据位数量的几分之一。例如,8个纠错位可以用于覆盖64个数据位。这样,存储器件130可以产生部分写掩模以屏蔽56个位,并将这8个纠错位写到列地址,其是基于CA8到CA10为高,CA4到CA10按照由写CAS帧所提供的。 

图6A和6B示出了根据本发明实施例的写入数据帧序列的所选方面。在图6A和6B中所示的写入序列可以用于具有并行存储通道的两个存储器件的系统。每个器件查看到全部四个帧,并且其被分配了从D0到D63或D64到D127。下面进一步讨论存储器件的分配。 

在一些实施例中,写入序列包括以下帧:写入标题(Wh)602,ECC写入帧(We)604,写入数据1(Wd1)606,和写入数据2(Wd2)608。在一些实施例中,每个帧都是6位帧(标记为0到5),其是9位深(例如,UI 0到8或9到17)。Wh 602包括用于写序列的标题信息及一些数据位。 

We 604传递覆盖有关的数据位的纠错位(例如,在UI 12-14中所示的ECC位610)。在一些实施例中,利用部分写掩模编码将纠错位(例如,ECC位)传递到存储器件130。就是说,除了掩模位被纠错位代替之外(例如,在UI 12-14所示的ECC位610),We 604可以具有与部分写掩模帧(Wm)相同的命令编码。ECC位ECC0-ECC7覆盖数据位D0-D63,并且ECC位ECC8-ECC15覆盖数据位D64-D127。在一些实施例中,当系统在纠错模式下工作时,所有写入数据传递都需要We帧604。 

Wd1606和Wd2608为写入操作传递其余的数据位。数据位D0-D63由一个存储器件使用,而D64-D127被另一个存储器件使用。在一些实施例中,存储器件内的寄存器位确定哪个存储器件来挑选哪个数据位。例如,MRS寄存器可以用于将数据位分配到存储器件。 

图7是示出根据本发明实施例的电子系统的所选方面的框图。电子系统700包括处理器710、存储控制器720、存储器730、输入/输出(I/O)控制器740、射频(RF)电路750,和天线760。在操作中,系统700利用天线760发送并接收信号,并且这些信号由图7中所示的各种元件来进行处理。天线760可以是定向天线或全向天线。如在此所用的,术语全向天线指的是在至少一个平面中具有基本上均匀方向图的任何天线。例如,在一些实施例中,天线760可以是全向天线,例如偶极子天线或四分之一波长天线。此外,例如,在一些实施例中,天线760可以是定向天线,例如抛物面天线、贴片天线、或八木天线。 在一些实施例中,天线760可以包括多个物理天线。 

射频电路750与天线760和I/O控制器740通信。在一些实施例中,RF电路750包括与通信协议相对应的物理接口(PHY)。例如,RF电路750可以包括调制器、解调器、混频器、频率合成器、低噪声放大器、功率放大器,等等。在一些实施例中,RF电路750可以包括外差接收机,并且在其它实施例中,RF电路750可以包括直接转换接收机。例如,在具有多个天线760的实施例中,每个天线可以耦合到相应的接收机。在操作中,RF电路750从天线760接收通信信号,并向I/O控制器740提供模拟或数字信号。更进一步,I/O控制器740可以向RF电路750提供信号,该RF电路对这些信号进行操作,随后将它们传输到天线760。 

处理器710可以是任何类型的处理装置。例如,处理器710可以是微处理器、微控制器,或类似物。此外,处理器710可以包括任意数量的处理内核或可以包括任意数量的单独处理器。 

存储控制器720提供在处理器710和图7中所示的其它元件之间的通信路径。在一些实施例中,存储控制器720是集线器装置的一部分,集线器装置还提供其它功能。如图7中所示,存储控制器720耦合到处理器710、I/O控制器740和存储器730。 

存储器730可以包括多个存储器件。这些存储器件可以基于任何类型的存储器技术。例如,存储器730可以是随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、非易失性存储器,例如FLASH存储器,或任何其它类型的存储器。在一些实施例中,存储器730可以支持纠错模式和非纠错模式。 

存储器730可以代表单个存储器件或在一个或多个模块上的多个存储器件。存储控制器720通过互连722将数据提供给存储器730并响应于读取请求从存储器730接收数据。通过互连722或通过不同 的互连(未示出),命令和/或地址可以被提供给存储器730。存储控制器720可以从处理器710或从另一个来源接收将要存储在存储器730中的数据。存储控制器720可以将从存储器730接收的数据提供给处理器710或另一个目的地。互连722可以是双向互连或单向互连。互连722可以包括多个并联导体。信号可以是差分的或单端的。在一些实施例中,互连722采用正向多相时钟方案工作。 

存储控制器720还连接到I/O控制器740,并提供在处理器710和I/O控制器740之间的通信路径。I/O控制器740包括用于与I/O电路例如串口、并口、通用串行总线(USB)端口等进行通信的电路。如图7所示,I/O控制器740提供到RF电路750的通信路径。 

图8是示出根据本发明可选实施例的电子系统的所选方面的框图。电子系统800包括存储器730、I/O控制器740、RF电路750和天线760,它们都在上面参照图7进行了说明。电子系统800还包括处理器810和存储控制器820。如图8所示,存储控制器820可以与处理器810在同一芯片上。在一些实施例中,存储控制器820包括重放逻辑电路(例如,在图3中所示的重放逻辑电路310),以检测规定的错误,执行自动快速复位,并重放特定的事务处理。如上面参照处理器710(图5)所述的,处理器810可以是任何类型的处理器。由图7和8所代表的实例系统包括台式计算机,膝上型计算机,服务器,移动电话,个人数字助理,数字家庭系统,等等。 

本发明实施例的要素还可以作为用于存储机器可执行指令的机器可读取介质来提供。机器可读取介质可以包括,但不限于,快闪存储器,光盘,光盘只读存储器(CD-ROM),数字多用途/视频盘(DVD)ROM,随机存取存储器(RAM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),磁或光学卡,传播介质或适于存储电子指令的其它类型的机器可读取介质。例如,本发明的实施 例可以作为计算机程序而被下载,其可以从远程计算机(例如,服务器)作为包含在载波或其它传播介质中的数据信号,经通信链路(例如,调制解调器或网络连接)传递到请求计算机(例如,客户机)。 

应当意识到,本说明书全文提及的“一个实施例”或“实施例”意味着结合该实施例所述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,强调的是并应当意识到在本说明书不同部分中的两次或多次提及的“一个实施例”或“可替换的实施例”不必全部指的是同一实施例。而且,在本发明的一个或多个实施例中可以适当地组合所述特定特征、结构或特性。 

类似地,应当意识到在本发明实施例前面的说明中,为了简化本公开内容,并帮助理解各个发明方面中的一个或多个,各种特征有时在单一实施例、附图,或其说明中组合在一起。然而,这种公开的方法不应解释为反映了这样的意图,即所要求的主题需要比在每个权利要求中清楚陈述的更多的特征。相反,如随后的权利要求所反映的,发明的各个方面可以在少于单个前述公开的实施例的所有特征下存在。因此,在详细说明之后的权利要求书由此清楚地合并在本详细说明中。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号