CN101960532A - 用于节省存储器自刷新功率的系统、方法和装置 - Google Patents
用于节省存储器自刷新功率的系统、方法和装置 Download PDFInfo
- Publication number
- CN101960532A CN101960532A CN2009801066408A CN200980106640A CN101960532A CN 101960532 A CN101960532 A CN 101960532A CN 2009801066408 A CN2009801066408 A CN 2009801066408A CN 200980106640 A CN200980106640 A CN 200980106640A CN 101960532 A CN101960532 A CN 101960532A
- Authority
- CN
- China
- Prior art keywords
- memory
- error
- bit
- memory bank
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40618—Refresh operations over multiple banks or interleaving
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1045—Read-write mode select circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/401—Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C2211/406—Refreshing of dynamic cells
- G11C2211/4061—Calibration or ate or cycle tuning
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/401—Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C2211/406—Refreshing of dynamic cells
- G11C2211/4062—Parity or ECC in refresh operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Abstract
本发明的实施例总体上涉及用于节省动态随机存取存储器(DRAM)自刷新功率的系统、方法和装置。在一些实施例中,DRAM的刷新频率被降低并且错误被允许发生。在错误校验模式中,DRAM存储数据和对应的错误校验比特。错误校验比特可以用于清洗存储器并且修改错误。
Description
技术领域
本发明的实施例总体上涉及集成电路的领域,并且更具体地说,涉及用于节省动态随机存取存储器(DRAM)自刷新功率的系统、方法和装置。
背景技术
存储器设备易于出现错误,例如瞬态错误(或软错误)。如果这些错误没有被正确地处理,那么他们会引起计算系统发生故障。错误校验码(ECC)形式的冗余信息可以被用于提高整体系统的可靠性。但是,冗余信息会增加存储器系统的存储需求,从而增加存储器系统的成本。因此,通常仅在高端或重要业务系统中使用ECC。较低成本(或者不太重要)的系统不使用ECC,并且提供适于它们的使用的一定程度的可靠性。
在一些情况下,通过增加额外的存储器设备(例如,动态随机存取存储器(DRAM)设备)来向系统增加额外的存储比特。例如,使用8个DRAM来存储数据的系统还可以使用另外的DRAM来存储校验码。在其它情况下,额外的比特被存储在专门为在ECC系统中使用而设计的变型DRAM中。例如,非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对应物更大。
在DRAM中的每个存储器单元是由单个晶体管和单个电容构成的,并且被称为动态的,这是因为由于到周围单元和到基板的各种泄露电流路径的原因,它的数据会衰变并且变得无效。为了保持单元中的数据有效,每个存储器单元被周期性地刷新。每次将DRAM单元阵列中的数据从单元阵列读出到读出放大器并且随后重新写入到单元中时,都刷新DRAM单元阵列中的数据。
存储器控制器负责周期性地对存储器单元阵列执行刷新维护操作。存储器阵列的每一行需要在该行中的数据衰变为无效状态之前被刷新。在低功率模式中,DRAM被置入自刷新状态,其中,DRAM负责执行刷新。随着DRAM的密度增加,趋势将是存储器具有更多的行,这继而会增加刷新开销和刷新功率。
附图说明
在附图的图示中,通过举例而非通过限制的方式说明了本发明的实施例,其中,相同的附图标记指示类似的元素。
图1是说明了根据本发明的实施例实现的计算系统的所选择的方面的高层框图。
图2是说明了根据本发明的实施例实现的动态随机存取存储器(DRAM)的所选择的方面的框图。
图3是说明了根据本发明的实施例实现的动态随机存取存储器(DRAM)的所选择的方面的框图。
图4是说明了根据本发明的实施例的,在数据比特和错误校验比特之间的地址映射的例子的示图。
图5是说明了根据本发明的实施例的,用于在自刷新期间消除存储器中的错误的片上错误校正逻辑的所选择的方面的框图。
图6是说明了根据本发明的实施例的,当工作在自刷新状态时节省功率的所选择的方面的流程图。
具体实施方式
本发明的实施例总体上涉及用于节省动态随机存取存储器(DRAM)自刷新功率的系统、方法和装置。在一些实施例中,存储器设备包括至少一个分离存储体对,其具有第一存储器存储体和第二存储器存储体。在错误校验模式中,数据比特可以被存储在所述存储器存储体中的一个中,并且对应的错误校验比特被存储在另一个存储器存储体中。存储器设备可以被配置用于使用例如寄存器比特(例如,模式寄存器组(MRS)寄存器比特)来支持任一模式。存储器设备还可以包括错误校正逻辑。
在一些实施例中,通过降低自刷新频率并且由此减小自刷新电流来减少由DRAM消耗的功率。降低的自刷新频率会允许在DRAM中存储的数据中出现错误。如下文将进一步描述的,在DRAM中存储的错误比特可以用于清洗数据并且改正错误。
图1是说明了根据本发明的实施例实现的计算系统的所选择的方面的高层框图。计算系统100包括请求器102、存储器控制器(或主机)110、存储器设备130和互连120。存储器控制器110至少部分地控制在请求器102和存储器设备130之间的信息的传输。请求器102可以是:处理器(例如,中央处理单元和/或核心)、图形处理器、服务处理器、输入/输出设备(例如,快速外设部件互连(PCI-E)设备)、存储器本身、或请求访问存储器的系统100的任何其它元件。在一些实施例中,存储器控制器110与请求器102位于相同的管芯上。
在所说明的实施例中,存储器控制器110包括错误校验逻辑112、模式指示器114和存储器设备寻址逻辑116。错误检查逻辑112使用冗余信息来保护数据以避免特定的故障。在一些实施例中,错误检查逻辑112是错误校验码(ECC)。
如下文进一步所讨论的,在一些实施例中,存储器设备130可以在错误校验模式或非错误校验模式中工作。当在错误校验模式中工作时,存储器设备130存储数据比特和对应的错误校验比特(例如,ECC比特)。当在非错误校验模式中工作时,存储器设备130的(基本上)全部容量被用于存储数据比特。模式指示器114提供关于存储器设备130是工作于错误校验模式还是工作于非错误校验模式的指示。在一些实施例中,模式指示器114包括一个或多个寄存器比特。
在一些实施例中,取决于是处于错误校验模式中还是处于非错误校验模式中,存储器设备130针对读/写数据应用不同的地址映射。例如,在错误校验模式中使用的地址映射可以解决错误校验比特(例如,ECC比特)的映射。地址映射逻辑116使得存储器控制器110能够知道由存储器设备130使用的地址映射。地址映射逻辑116可以是能够提供许多存储器单元的地址映射的指示的任何逻辑。
在一些实施例中,存储器控制器110包括自刷新频率控制逻辑118。如下文进一步所描述的,控制逻辑118是可选元件,其可以动态地控制存储器设备130的自刷新频率。存储器设备130可以向控制逻辑118提供关于在自刷新期间发生的错误的错误率和/或类型的指示。然后,控制逻辑118可以增大或减小存储器设备130的自刷新频率。例如,如果发生了太多的错误(或者特定类型的错误),则控制逻辑118可以增大自刷新频率。类似地,如果错误率低于系统可以容忍的错误率,则控制逻辑118可以降低自刷新频率。
存储器设备130可以是包括动态随机存取存储器设备(或者,简单地说,DRAM)在内的多种设备中的任意设备。存储器核心141可以被组织为一个或多个分离存储体对140。分离存储体对是指一对存储器存储体,它们可以被配置为单个存储体或者被配置为两个分离的存储体。在一些实施例中,分离存储体对中的每一个存储体具有其自己的行解码器和列解码器。
在一些实施例中,分离存储体对中的每一个存储体可以提供一页存储器。例如,存储体0A提供页142并且存储体0B提供页144。“存储体”(bank)是指由存储器设备提供的存储器单元的阵列。共同地,存储体142和144可以提供逻辑页146。术语“逻辑页”是指两个或更多个物理存储体的逻辑组合。在一些实施例中,页142和144中的每一个提供1千字节(K字节)的存储器,并且逻辑页146提供2K字节的净有效页大小。
在所说明的实施例中,存储器设备130包括模式指示器132、刷新逻辑134、部分写掩码136、和列地址生成逻辑138。模式指示器132提供关于存储器设备130是工作于错误校验模式中还是非错误校验模式中的指示。在一些实施例中,模式指示器132包括诸如模式寄存器组(MRS)这样的寄存器的一个或多个比特。刷新逻辑134提供用于使得存储器设备130能够执行自刷新活动的逻辑。例如,刷新逻辑134可以包括振荡器、列地址计数器等。
部分写掩码136为写入到存储器核心的数据提供写掩码。在一些实施例中,部分写掩码136用于访问与存储器设备130中存储的数据相关联的错误校验比特。在一些实施例中,列地址生成逻辑138为与存储器设备130中存储的数据相关联的错误校验比特生成列地址信息。
存储器设备130还可以包括片上(on-die)错误校正逻辑160。在一些实施例中,当错误校正逻辑160工作于错误校验模式中时,它会提高存储器设备130的可靠性、可用性和可服务性(RAS)。更具体地说,在一些实施例中,错误校正逻辑160使得存储器设备130能够当自刷新速率被降低以节省功率时,消除在存储的数据中可能出现的错误。在一些实施例中,错误校正逻辑160包括ECC计算逻辑和比较逻辑。该计算和比较逻辑使得设备能够在本地为读数据计算ECC比特,并且能够将本地计算的ECC比特与所存储的ECC比特(或主机生成的ECC比特)进行比较。如果本地计算的ECC比特不匹配主机生成的ECC比特,则逻辑160可以校正检测到的错误。在一些实施例中,逻辑160实现海明码(Hamming code)。在其它实施例中,可以使用不同的错误检测/校正码。
图2是说明了根据本发明的实施例实现的、动态随机存取存储器(DRAM)的所选择的方面的框图。DRAM 200包括16个存储器存储体(0A到7B)或者8个分离存储体对(例如,分离存储体对0A、0B)。在一些实施例中,DRAM 200可以被配置为x4/x8或者x16的DRAM。在x4/x8模式中,DRAM 200提供16个存储体(0A到7B)并且每个存储体向4或8个数据(DQ)管脚提供32或64比特的数据。在x16模式中,DRAM 200提供8个分离存储体对,其向16个DQ管脚提供128比特的数据。在替代性实施例中,DRAM 200可以包括不同数量的存储体,它们可以提供不同数量的比特。
在一些实施例中,DRAM 200可以被配置用于工作在错误校验模式(例如,ECC模式)或者非错误校验模式中。当工作在错误校验模式中时,DRAM 200通过将数据存储在分离存储体的一个成员(例如,存储体0A)中并且将对应的错误校验比特(例如,ECC比特)存储在分离存储体的另一个成员(例如,存储体0B)中,来充分利用其分离存储体架构。在错误校验模式中选择的存储体对与用于实现x16设备的存储体对相同,尽管在本发明的一些实施例中,在x4/x8设备中实现错误校验模式。因此,在错误校验模式中,存储体资源(和存储体组)的数量减少了一半并且页大小被有效地加倍到2K。
图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-6,下文将进一步讨论访问数据比特和对应的错误校验比特。
图4是说明了根据本发明的实施例的,在数据比特和错误校验比特之间的地址映射的例子的示图。在所说明的实施例中,数据比特被存储在由分离存储体对内的存储体提供的页的7/8的单元中,如410所示。对应的错误校验比特被存储在该分离存储体对中的另一个存储体的上面1/8的部分中(430)。例如,如附图标记432所示,覆盖了0-7字节的ECC比特被存储在存储器单元896中。类似地,如附图标记434所示,覆盖128-135字节的ECC比特被存储在存储器单元897中,并且如图4所示,对页410中的数据字节继续这种模式。在一些实施例中,如附图标记436所示,存储体430的上面1/8的部分中的最后一个字节(例如,单元903)没有被使用。在一些实施例中,覆盖了8-15字节的错误校验比特被存储在单元905中并且该序列会重复。
图5是说明了根据本发明的实施例的,在自刷新期间的功率节省的所选择的方面的框图。在一些实施例中,存储器设备500(例如,DRAM)除了其它部件以外还包括存储器核心(502和504)、刷新逻辑507、和用于支持通过降低DRAM 500的自刷新频率来节省功率的许多元件。在一些实施例中,图5中所示的元件被集成到公共芯片上。存储体502和存储体504中的每一个可以是分离存储体对中的一个分离的存储体。存储器核心可以包括多个分离存储体对。数据比特503被存储在存储体502中,并且对应的ECC比特505被存储在存储体504中。在一些实施例中,由主机(例如,图1所示的存储器控制器110)来计算ECC比特505,并且在写数据帧中将其提供给存储器设备500。
当DRAM 500处于自刷新模式时,刷新逻辑507通过周期性地执行刷新操作来确保DRAM 500的数据完整性。刷新逻辑507可以包括用于生成行地址的逻辑以及用于逐步通过每个打开的行的列的地址计数器。在一些实施例中,每一步的步幅是64比特。刷新逻辑507经由线路515和517向存储器核心提供行地址。经由线路519和521来传送列地址信息。掩蔽(masking)逻辑511掩蔽列地址的一些比特(例如,三个最高有效比特),以使得存储体504的上面1/M(例如,上面1/8)的部分被访问,以获得错误校验比特505。
振荡器509确定刷新频率。在一些实施例中,基于在功率节省和DRAM500可以支持的错误预算之间的权衡来选择刷新频率。例如,所选择的刷新频率可以足够低,以致在存储的数据中会出现错误。如下文将进一步描述的,可以由例如比较器512和错误校正逻辑506来检测并校正这些错误。在一些实施例中,可以基于在自刷新期间出现的错误的数量(例如,通过逻辑510来跟踪)来动态地设置刷新频率。在替代性实施例中,自刷新频率可以是静态的。
在所说明的实施例中,DRAM 500包括ECC校正逻辑506、ECC比较逻辑508、比较器512、和(可选的)错误跟踪逻辑510。ECC计算逻辑508计算用于覆盖数据503的ECC比特。在一些实施例中,逻辑508使用与用于计算ECC比特505的多项式相同的多项式来计算ECC比特。例如,逻辑508可以与图1所示的错误校验逻辑112使用相同的多项式。逻辑508可以使用几乎任何错误校验码多项式。在所说明的实施例中,逻辑508计算8个ECC比特来覆盖64个数据比特。在替代性实施例中,ECC比特和/或数据比特的数量可以不同。
比较器512将计算的ECC比特(例如,本地生成的ECC比特)与存储的ECC比特(例如,诸如ECC比特505这样的主机生成的ECC比特)进行比较。如果两组ECC比特相匹配,则比较器512使匹配信号有效。如果计算的ECC比特与存储的ECC比特不匹配,则数据比特503可能包含错误。在一些实施例中,DRAM 500包括ECC校正逻辑506以校正某些错误。在这种实施例中,如果两组ECC比特不匹配,则比较器512可以向ECC校正逻辑506提供数据(例如,关于哪些ECC比特未能匹配的指示),从而使得ECC校正逻辑506可以校正问题。在一些实施例中,逻辑506包括单个比特校正逻辑,并且SBC表示例如64比特中的需要被校正的信号比特。如果比较器512检测到逻辑506不能校正的程度的错误,那么比较器512可以使错误信号有效。例如,如果比较器512检测到双比特错误,那么比较器512可以使错误信号有效。比较器512可以是适合于将一组比特与另一组比特进行比较并且响应于所述比较来使一个或多个信号有效的任何逻辑。
在一些实施例中,DRAM 500包括可选的错误跟踪逻辑510。逻辑510跟踪在自刷新期间检测到的错误。逻辑510可以存储错误的日志。在一些实施例中,逻辑510将关于检测到的错误的信息传送给主机(例如,图1所示的主机110),以使得主机可以调整自刷新频率(例如,通过调整振荡器509)。在替代性实施例中,逻辑510向振荡器509提供控制信号以调整自刷新频率。
如上所述,ECC校正逻辑506包括用于校正某些种类的错误(例如,单个比特错误)的逻辑。在一些实施例中,逻辑506接收数据比特503和SBC数据作为输入并输出校正后的数据。如果没有检测到错误,则数据比特503可以简单地通过ECC校正逻辑506。校正后的数据514将数据返回到存储器核心。
图6是说明了根据本发明的实施例的,当工作在自刷新模式时节省功率的所选择的方面的流程图。参照过程框602,主机(例如,图1所示的主机110)进入低功率状态并且指示DRAM启动自刷新。DRAM的刷新逻辑(例如,图5所示的逻辑507)使用同一行地址来打开分离存储体对的每一个存储体中的同一行(604)。在一些实施例中,刷新逻辑包括列地址计数器,用于生成列地址。列地址计数器可以从存储数据比特的存储体(例如,图5中所示的存储体502)访问64比特的数据。在一些实施例中,列地址计数器是提供列地址比特CA9-CA3的7比特计数器。
参照过程框606,ECC计算逻辑(例如,图5中所示的ECC计算逻辑508)计算本地生成的错误校验比特。在一些实施例中,ECC计算逻辑使用诸如海明码这样的工业标准方法来生成错误校验比特。应当使用等同的多项式来生成本地生成的错误校验比特和主机生成的错误校验比特。
参照过程框608,读取主机生成的错误校验比特(例如,从图5中所示的存储体504读取)。在一些实施例中,DRAM包括用于当寻址其中存储了主机生成的错误校验比特的存储体时,对列地址的一部分进行掩蔽的逻辑(例如,图5中所示的逻辑511)。例如,最高3个比特(CA9-CA7)可以被强制为“111”,以从该页的最后1/8的部分提取64比特的数据。在一些实施例中,CA9-CA7的实际值被用于选择64个字节中的一个(例如,使用图5中所示的多路器523)。所选择的字节是包含对应于所述数据的错误校验比特的一个字节。
参照过程框610,将本地生成的错误校验比特与主机生成的错误校验比特进行比较。如果错误校验比特匹配,则在数据中没有错误。如果错误校验比特不匹配,则错误校正逻辑(例如,图5中所示的错误校正逻辑506)可以校正错误。在每一种情况下,数据都被写回到存储器(例如,经由校正后的数据框514)。该过程可以继续,直到整个行被刷新为止,如616所示。在618,刷新逻辑选择下一行来刷新。过程可以继续,直到整个阵列(或者阵列的所选择的部分)被刷新为止。
还可以将本发明的实施例的元件提供为用于存储机器可执行指令的机器可读介质。机器可读介质可以包括但并不限于:闪速存储器、光盘、光盘只读存储器(CD-ROM)、数字通用/视频盘(DVD)ROM、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、传播介质或其它类型的适合于存储电子指令的机器可读介质。例如,本发明的实施例可以被作为计算机程序来下载,可以经由通信链路(例如,调制解调器或网络连接),通过在载波或其它传播媒介中体现的数据信号,来从远程计算机(例如,服务器)向请求计算机(例如,客户端)传输所述计算机程序。
在上述描述中,使用某些术语来描述本发明的实施例。例如,术语“逻辑”表示用于执行一个或多个功能的硬件、固件、软件(或它们的任意组合)。例如,“硬件”的例子包括但并不限于:集成电路、有限状态机或甚至是组合逻辑。集成电路的形式可以是:诸如微处理器这样的处理器、专用集成电路、数字信号处理器、微控制器等。
应当意识到,贯穿该说明书提及的“一个实施例”或“实施例”意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,应当强调并且应当意识到,在该说明书的各个部分中对“实施例”、“一个实施例”或“替代性实施例”的两次或更多次的提及并不必然都是指同一实施例。此外,可以在本发明的一个或更多个实施例中适当地组合特定特征、结构或特性。
类似地,应当意识到,在对本发明的实施例的上述描述中,为了简化有助于理解各个创造性方面中的一个或多个方面的公开,有时在单个实施例、附图或对它们的描述中,将各种特征组合在一起。但是,这种公开方法不应当被解释为反映了如下的意义:即所声明的主题需要比在每个权利要求中明确记载的特征更多的特征。相反,如以下权利要求所反映的,创造性方面体现在比单个上述公开的实施例的所有特征更少的特征中。因而,特此将详细说明之后的权利要求明确地并入到该详细的说明中。
Claims (25)
1.一种存储器设备,包括:
存储器存储体的分离存储体对,其包括第一存储器存储体和第二存储器存储体,其中,如果所述存储器设备处于错误校验模式中,那么数据将被存储在所述第一存储器存储体中,并且对应的主机生成的错误校验比特将被存储在所述第二存储器存储体中;
错误校验逻辑,用于如果所述存储器设备处于自刷新模式中,则从所述第一存储器存储体接收数据并且基于该数据生成本地生成的错误校验比特;以及
比较器,用于将所述主机生成的错误校验比特与所述本地生成的错误校验比特进行比较。
2.根据权利要求1所述的存储器设备,还包括:
振荡器,用于控制自刷新频率,其中,选择所述自刷新频率,以至少部分地允许所述数据中的单个比特错误。
3.根据权利要求2所述的存储器设备,还包括:
错误跟踪逻辑,用于跟踪所述数据中的错误并且提供错误信息。
4.根据权利要求3所述的存储器设备,其中,所述振荡器至少部分地基于所述错误信息来动态地控制所述自刷新频率。
5.根据权利要求3所述的存储器设备,其中,所述错误跟踪逻辑用于向主机提供错误信息。
6.根据权利要求5所述的存储器设备,其中,所述振荡器至少部分地基于来自所述主机的输入来动态地控制所述自刷新频率。
7.根据权利要求2所述的存储器设备,还包括:
错误校正逻辑,用于如果所述主机生成的错误校验比特与所述本地生成的错误校验比特不匹配,则校正所述数据中的错误。
8.根据权利要求7所述的存储器设备,还包括:
写逻辑,用于将校正后的数据写入存储器核心。
9.根据权利要求1所述的存储器设备,还包括:
列地址掩蔽逻辑,用于提供将被存储在所述第二存储器存储体中的所述主机生成的错误校验比特的列地址。
10.一种方法,包括:
打开存储器存储体的分离存储体对的一行,所述分离存储体对包括第一存储器存储体和第二存储器存储体,其中,如果相关联的存储器设备处于错误校验模式中,那么数据被存储在所述第一存储器存储体中并且对应的主机生成的错误校验比特被存储在所述第二存储器存储体中;
使用与所述分离存储体对位于同一集成电路上的错误校验逻辑来计算本地生成的错误校验比特;
从所述第二存储器存储体读取所述主机生成的错误校验比特;
将所述本地生成的错误校验比特与所述主机生成的错误校验比特进行比较;以及
如果所述本地生成的错误校验比特与所述主机生成的错误校验比特不匹配,则向错误校正逻辑提供所述数据。
11.根据权利要求10所述的方法,其中,打开所述存储器存储体的分离存储体对的所述行包括:
使用相同行地址来打开所述存储器存储体的分离存储体对的所述行。
12.根据权利要求10所述的方法,其中,从所述第二存储器存储体中读取所述主机生成的错误校验比特包括:
使用列地址来从所述第二存储器存储体中读取n比特的数据,其中,所述列地址的m个比特被掩蔽;并且
至少部分地基于所述列地址的所述m个比特,从所述n比特中选择o比特。
13.根据权利要求10所述的方法,还包括:
启动存储器设备的自刷新,其中,将自刷新频率设置的足够低,以允许在数据中出现单个比特错误。
14.根据权利要求13所述的方法,其中,打开所述存储器存储体的分离存储体对的所述行包括:
响应于启动所述存储器设备的自刷新,打开所述存储器存储体的分离存储体对的所述行。
15.一种系统,包括:
主机,用于传输数据;以及
与所述主机耦合的存储器设备,所述存储器设备包括:
存储器存储体的分离存储体对,其包括第一存储器存储体和第二存储器存储体,其中,如果所述存储器设备处于错误校验模式中,那么数据将被存储在所述第一存储器存储体中,并且对应的主机生成的错误校验比特将被存储在所述第二存储器存储体中;
错误校正逻辑,用于如果所述存储器设备处于自刷新模式中,则从所述第一存储器存储体接收数据并且基于该数据生成本地生成的错误校验比特;
比较器,用于将所述主机生成的错误校验比特与所述本地生成的错误校验比特进行比较;以及
振荡器,用于控制自刷新频率,其中,所述自刷新频率将被设置的足够低,从而导致所述数据中的单个比特错误。
16.根据权利要求15所述的系统,其中,所述存储器设备还包括:
振荡器,用于控制自刷新频率,其中,选择所述自刷新频率,以至少部分地允许所述数据中的单个比特错误。
17.根据权利要求16所述的系统,其中,所述存储器设备还包括:
错误跟踪逻辑,用于跟踪所述数据中的错误并且提供错误信息。
18.根据权利要求17所述的系统,其中,所述振荡器至少部分地基于所述错误信息来动态地控制所述自刷新频率。
19.根据权利要求16所述的系统,其中,所述错误跟踪逻辑用于向主机提供错误信息。
20.根据权利要求19所述的系统,其中,所述振荡器至少部分地基于来自所述主机的输入来动态地控制所述自刷新频率。
21.根据权利要求16所述的系统,其中,所述存储器设备还包括:
错误校正逻辑,用于如果所述主机生成的错误校验比特与所述本地生成的错误校验比特不匹配,则校正所述数据中的错误。
22.根据权利要求21所述的系统,其中,所述存储器设备还包括:
写逻辑,用于将校正后的数据写入存储器核心。
23.根据权利要求15所述的系统,其中,所述存储器设备还包括:
列地址掩蔽逻辑,用于提供将被存储在所述第二存储器存储体中的所述主机生成的错误校验比特的列地址。
24.根据权利要求15所述的系统,其中,所述主机包括存储器控制器。
25.根据权利要求15所述的系统,其中,所述存储器设备包括动态随机存取存储器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/058,076 | 2008-03-28 | ||
US12/058,076 US8161356B2 (en) | 2008-03-28 | 2008-03-28 | Systems, methods, and apparatuses to save memory self-refresh power |
PCT/US2009/038670 WO2009121022A2 (en) | 2008-03-28 | 2009-03-27 | Systems, methods, and apparatuses to save memory self-refresh power |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101960532A true CN101960532A (zh) | 2011-01-26 |
CN101960532B CN101960532B (zh) | 2014-06-04 |
Family
ID=41114801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980106640.8A Expired - Fee Related CN101960532B (zh) | 2008-03-28 | 2009-03-27 | 用于节省存储器自刷新功率的系统、方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8161356B2 (zh) |
EP (1) | EP2266116B1 (zh) |
KR (1) | KR101203764B1 (zh) |
CN (1) | CN101960532B (zh) |
WO (1) | WO2009121022A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106463179A (zh) * | 2014-04-16 | 2017-02-22 | 英特尔公司 | 利用存储器控制器处理数据错误事件的方法、装置和系统 |
CN107402832A (zh) * | 2011-08-31 | 2017-11-28 | 美光科技公司 | 存储器刷新方法及设备 |
CN107851075A (zh) * | 2015-07-31 | 2018-03-27 | 高通股份有限公司 | 用于存储器的频率重置的系统、方法和装置 |
CN109656746A (zh) * | 2018-11-29 | 2019-04-19 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 用于确定ecc存储器的刷新频率的方法和装置 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8161356B2 (en) | 2008-03-28 | 2012-04-17 | Intel Corporation | Systems, methods, and apparatuses to save memory self-refresh power |
JP2010123156A (ja) | 2008-11-17 | 2010-06-03 | Elpida Memory Inc | 半導体記憶装置及びその制御方法 |
US8468295B2 (en) * | 2009-12-02 | 2013-06-18 | Dell Products L.P. | System and method for reducing power consumption of memory |
US9053812B2 (en) | 2010-09-24 | 2015-06-09 | Intel Corporation | Fast exit from DRAM self-refresh |
US8411523B2 (en) | 2010-09-24 | 2013-04-02 | Intel Corporation | Reduced current requirements for DRAM self-refresh modes via staggered refresh operations of subsets of memory banks or rows |
US9292426B2 (en) * | 2010-09-24 | 2016-03-22 | Intel Corporation | Fast exit from DRAM self-refresh |
US8484418B2 (en) * | 2010-10-22 | 2013-07-09 | Intel Corporation | Methods and apparatuses for idle-prioritized memory ranks |
CN101980339A (zh) * | 2010-11-04 | 2011-02-23 | 浙江大学 | 一种用于dram缓存的纠错编码方法 |
US8621324B2 (en) | 2010-12-10 | 2013-12-31 | Qualcomm Incorporated | Embedded DRAM having low power self-correction capability |
US9411678B1 (en) * | 2012-08-01 | 2016-08-09 | Rambus Inc. | DRAM retention monitoring method for dynamic error correction |
US9299400B2 (en) | 2012-09-28 | 2016-03-29 | Intel Corporation | Distributed row hammer tracking |
US8966345B2 (en) | 2012-11-28 | 2015-02-24 | Intel Corporation | Selective error correction in memory to reduce power consumption |
US9117542B2 (en) | 2013-09-27 | 2015-08-25 | Intel Corporation | Directed per bank refresh command |
US10176043B2 (en) | 2014-07-01 | 2019-01-08 | Hewlett Packard Enterprise Development Lp | Memory controller |
WO2016014046A1 (en) | 2014-07-23 | 2016-01-28 | Hewlett-Packard Development Company, L.P. | Delayed read indication |
US9442801B2 (en) | 2014-09-26 | 2016-09-13 | Hewlett Packard Enterprise Development Lp | Platform error correction |
US9583219B2 (en) | 2014-09-27 | 2017-02-28 | Qualcomm Incorporated | Method and apparatus for in-system repair of memory in burst refresh |
US9740558B2 (en) | 2015-05-31 | 2017-08-22 | Intel Corporation | On-die ECC with error counter and internal address generation |
US10127101B2 (en) * | 2015-08-28 | 2018-11-13 | Intel Corporation | Memory device error check and scrub mode and error transparency |
ITUB20153367A1 (it) * | 2015-09-03 | 2017-03-03 | St Microelectronics Srl | Procedimento per la gestione di memorie, dispositivo ed apparecchiatura corrispondenti |
WO2017074292A1 (en) | 2015-10-25 | 2017-05-04 | Hewlett-Packard Enterprise Development LP | Volatile memory device with automatic lower power state |
US9823964B2 (en) | 2015-12-08 | 2017-11-21 | Nvidia Corporation | Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation |
US10049006B2 (en) | 2015-12-08 | 2018-08-14 | Nvidia Corporation | Controller-based memory scrub for DRAMs with internal error-correcting code (ECC) bits contemporaneously during auto refresh or by using masked write commands |
US9880900B2 (en) | 2015-12-08 | 2018-01-30 | Nvidia Corporation | Method for scrubbing and correcting DRAM memory data with internal error-correcting code (ECC) bits contemporaneously during self-refresh state |
US10936044B2 (en) | 2015-12-21 | 2021-03-02 | Hewlett Packard Enterprise Development Lp | Quality of service based memory throttling |
US9953694B2 (en) * | 2016-06-06 | 2018-04-24 | Intel Corporation | Memory controller-controlled refresh abort |
US10416910B1 (en) | 2016-09-20 | 2019-09-17 | Altera Corporation | Apparatus and method to reduce memory subsystem power dynamically |
KR20180047778A (ko) | 2016-11-01 | 2018-05-10 | 삼성전자주식회사 | 단계별 저전력 상태들을 갖는 메모리 장치 |
EP4147874A1 (en) | 2017-01-31 | 2023-03-15 | Hewlett-Packard Development Company, L.P. | Accessing memory units in a memory bank |
US10332582B2 (en) | 2017-08-02 | 2019-06-25 | Qualcomm Incorporated | Partial refresh technique to save memory refresh power |
US10269445B1 (en) * | 2017-10-22 | 2019-04-23 | Nanya Technology Corporation | Memory device and operating method thereof |
KR102350957B1 (ko) | 2017-10-26 | 2022-01-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 리프레시 제어 방법 |
JP7016332B2 (ja) * | 2019-07-05 | 2022-02-04 | 華邦電子股▲ふん▼有限公司 | 半導体メモリ装置 |
US11112982B2 (en) * | 2019-08-27 | 2021-09-07 | Micron Technology, Inc. | Power optimization for memory subsystems |
US11710514B2 (en) | 2021-10-04 | 2023-07-25 | Micron Technology, Inc. | Delay of self-refreshing at memory die |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030058695A1 (en) * | 2001-09-24 | 2003-03-27 | Seong-Nyuh Yoo | Semiconductor memory device capable of masking undesired column access signal |
US20050041501A1 (en) * | 1997-10-10 | 2005-02-24 | Tsern Ely K. | Memory device having a configurable oscillator for refresh operation |
CN101097784A (zh) * | 2006-06-30 | 2008-01-02 | 英特尔公司 | 改善存储装置的可靠性、可用性及可维修性 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3418844A1 (de) * | 1984-05-21 | 1985-11-21 | Siemens AG, 1000 Berlin und 8000 München | Kastenfoermige flachbaugruppe |
KR940008147B1 (ko) * | 1991-11-25 | 1994-09-03 | 삼성전자 주식회사 | 저전력 데이타 리텐션 기능을 가지는 반도체 메모리장치 |
JP3938842B2 (ja) | 2000-12-04 | 2007-06-27 | 富士通株式会社 | 半導体記憶装置 |
US7257763B1 (en) * | 2001-08-03 | 2007-08-14 | Netlogic Microsystems, Inc. | Content addressable memory with error signaling |
JP2004126911A (ja) | 2002-10-02 | 2004-04-22 | Toshiba Corp | 制御装置 |
JP2005339074A (ja) | 2004-05-26 | 2005-12-08 | Toshiba Corp | データの整合方法及びこれを用いたデータ蓄積システム |
JP4237109B2 (ja) * | 2004-06-18 | 2009-03-11 | エルピーダメモリ株式会社 | 半導体記憶装置及びリフレッシュ周期制御方法 |
KR100634414B1 (ko) * | 2004-09-06 | 2006-10-16 | 삼성전자주식회사 | 에러 검출용 패러티 발생기를 구비한 낸드 플래시 메모리 장치 및 그것의 에러 검출 방법 |
US20070079212A1 (en) * | 2005-04-01 | 2007-04-05 | Silverback Systems, Inc. | Techniques for efficient error correction code implementation in a system |
US20060282755A1 (en) | 2005-05-31 | 2006-12-14 | Jong-Hoon Oh | Random access memory having ECC |
US7676730B2 (en) | 2005-09-30 | 2010-03-09 | Quantum Corporation | Method and apparatus for implementing error correction coding in a random access memory |
US7447948B2 (en) * | 2005-11-21 | 2008-11-04 | Intel Corporation | ECC coding for high speed implementation |
US7734985B2 (en) * | 2006-02-27 | 2010-06-08 | Intel Corporation | Systems, methods, and apparatuses for using the same memory type to support an error check mode and a non-error check mode |
US8161356B2 (en) | 2008-03-28 | 2012-04-17 | Intel Corporation | Systems, methods, and apparatuses to save memory self-refresh power |
-
2008
- 2008-03-28 US US12/058,076 patent/US8161356B2/en not_active Expired - Fee Related
-
2009
- 2009-03-27 CN CN200980106640.8A patent/CN101960532B/zh not_active Expired - Fee Related
- 2009-03-27 KR KR1020107021352A patent/KR101203764B1/ko active IP Right Grant
- 2009-03-27 WO PCT/US2009/038670 patent/WO2009121022A2/en active Application Filing
- 2009-03-27 EP EP09724975.9A patent/EP2266116B1/en not_active Not-in-force
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050041501A1 (en) * | 1997-10-10 | 2005-02-24 | Tsern Ely K. | Memory device having a configurable oscillator for refresh operation |
US20030058695A1 (en) * | 2001-09-24 | 2003-03-27 | Seong-Nyuh Yoo | Semiconductor memory device capable of masking undesired column access signal |
CN101097784A (zh) * | 2006-06-30 | 2008-01-02 | 英特尔公司 | 改善存储装置的可靠性、可用性及可维修性 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402832A (zh) * | 2011-08-31 | 2017-11-28 | 美光科技公司 | 存储器刷新方法及设备 |
CN107402832B (zh) * | 2011-08-31 | 2020-11-27 | 美光科技公司 | 存储器刷新方法及设备 |
CN106463179A (zh) * | 2014-04-16 | 2017-02-22 | 英特尔公司 | 利用存储器控制器处理数据错误事件的方法、装置和系统 |
CN106463179B (zh) * | 2014-04-16 | 2019-11-19 | 英特尔公司 | 利用存储器控制器处理数据错误事件的方法、装置和系统 |
CN107851075A (zh) * | 2015-07-31 | 2018-03-27 | 高通股份有限公司 | 用于存储器的频率重置的系统、方法和装置 |
CN109656746A (zh) * | 2018-11-29 | 2019-04-19 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 用于确定ecc存储器的刷新频率的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20100117134A (ko) | 2010-11-02 |
EP2266116B1 (en) | 2016-07-27 |
KR101203764B1 (ko) | 2012-11-21 |
WO2009121022A3 (en) | 2010-01-07 |
WO2009121022A2 (en) | 2009-10-01 |
EP2266116A4 (en) | 2011-08-24 |
US20090249169A1 (en) | 2009-10-01 |
CN101960532B (zh) | 2014-06-04 |
EP2266116A2 (en) | 2010-12-29 |
US8161356B2 (en) | 2012-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101960532B (zh) | 用于节省存储器自刷新功率的系统、方法和装置 | |
KR102410566B1 (ko) | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 | |
US10445177B2 (en) | Controller-based memory scrub for DRAMs with internal error-correcting code (ECC) bits contemporaneously during auto refresh or by using masked write commands | |
US9600362B2 (en) | Method and apparatus for refreshing and data scrubbing memory device | |
US9823964B2 (en) | Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation | |
US7900120B2 (en) | Memory system and method using ECC with flag bit to identify modified data | |
US8874979B2 (en) | Three dimensional(3D) memory device sparing | |
US20060218469A1 (en) | Low power cost-effective ECC memory system and method | |
CN106683707B (zh) | 半导体器件 | |
US9880900B2 (en) | Method for scrubbing and correcting DRAM memory data with internal error-correcting code (ECC) bits contemporaneously during self-refresh state | |
US11074127B1 (en) | Semiconductor memory devices and methods of operating semiconductor memory devices | |
KR20220021097A (ko) | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 | |
KR20220060156A (ko) | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 | |
CN114627957A (zh) | 存储器装置和包括该存储器装置的存储器系统 | |
KR20220039432A (ko) | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 | |
KR20230051835A (ko) | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 | |
CN113791987A (zh) | 用于访问存储器模块的方法 | |
KR20170097996A (ko) | 반도체 장치 | |
KR102658230B1 (ko) | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 | |
KR20230095437A (ko) | 메모리 시스템 및 이의 동작 방법 | |
CN116069548A (zh) | 存储器装置、存储器模块和存储器控制器的操作方法 | |
CN115994050A (zh) | 基于错误校正能力的路由分配 | |
KR20190137281A (ko) | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140604 Termination date: 20210327 |