CN102394112B - 改善存储装置的可靠性、可用性及可维修性 - Google Patents
改善存储装置的可靠性、可用性及可维修性 Download PDFInfo
- Publication number
- CN102394112B CN102394112B CN201110266608.5A CN201110266608A CN102394112B CN 102394112 B CN102394112 B CN 102394112B CN 201110266608 A CN201110266608 A CN 201110266608A CN 102394112 B CN102394112 B CN 102394112B
- Authority
- CN
- China
- Prior art keywords
- ecc
- error correcting
- correcting code
- storage
- logic parts
- 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.)
- Expired - Fee Related
Links
Classifications
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明的名称是“改善存储装置的可靠性、可用性及可维修性”。本发明的实施例一般涉及提高存储装置的可靠性、可用性及可维修性。在一些实施例中,存储装置包含具有存储数据位的第一部分和存储对应于数据位的纠错码(ECC)位的第二部分的存储核心。存储装置还可在与存储核心在同一芯片上包含纠错逻辑部件。在一些实施例中,纠错逻辑部件使存储装置能够计算ECC位并将所存储的ECC位与所计算的ECC位进行比较。
Description
本申请是申请日为2007年6月29日、申请号为200710129013.9、发明名称为“改善存储装置的可靠性、可用性及可维修性”的申请的分案申请。
技术领域
本发明的实施例一般涉及集成电路领域,尤其涉及用于改善存储装置的可靠性、可用性及可维修性的***、方法和装置。
背景技术
存储装置易发生错误,诸如瞬态(或软)错误等。如果这些错误不被适当处理,就可能导致计算***故障。以纠错码(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型。
发明内容
本发明为克服现有技术中存在的上述不利或缺点构思而成。
本发明的一个方面是一种存储装置,其中包括:
存储核心,它具有存储数据位的第一部分和存储对应于所述数据位的纠错码(ECC)位(所存储的ECC位)的第二部分;以及
纠错逻辑部件,它与所述存储核心在同一芯片上,所述纠错逻辑部件包含ECC计算逻辑部件来计算对应于所述数据位的ECC位(所计算的ECC位)。
本发明的又一方面是一种方法,包括:
从存储核心的第一部分读出数据位;
从所述存储核心的第二部分读出所存储的纠错码(ECC)位;
用ECC计算逻辑部件来产生所计算的ECC位,其中,所述存储核心和所述ECC计算逻辑部件位于共用集成电路上;以及
比较所存储的ECC位和所计算的ECC位来判定所存储的ECC位是否与所计算的ECC位匹配。
本发明的再一方面是一种***,其中包括:
动态随机存取存储器(DRAM),包括:
包含第一存储体和第二存储体的分离的存储体对,其中,若所述动态随机存取存储器处于错误检验模式中,则数据位将被存储在第一存储体中而对应的纠错码(ECC)位(所存储的ECC位)将被存储在第二存储体中;以及
与所述分离的存储体对位于同一芯片上的纠错逻辑部件,所述纠错逻辑部件包含ECC产生逻辑部件来计算对应于所述数据位的ECC位(所计算的ECC位);以及
与所述动态随机存取存储器(DRAM)连接的请求器。
附图说明
本发明的实施例是解释性的而不是限制性的,在附图中,相同的附图标记代表相同的部件要素。
图1是说明本发明一实施例实现的计算***的选定形态的高级框图。
图2是说明本发明一实施例实现的动态随机存取存储器(DRAM)的选定形态的框图。
图3是说明本发明一实施例实现的动态随机存取存储器(DRAM)的选定形态的框图。
图4是说明本发明一实施例在数据位和错误检验位之间的地址映射的框图。
图5A和5B说明本发明一实施例的写入数据帧序列的选定形态。
图6是说明本发明一实施例的片上纠错逻辑部件的选定形态的框图。
图7是说明本发明一实施例从存储装置读出数据的选定形态的流程图。
图8表示本发明一实施例的读出数据帧的序列的选定形态。
图9是说明本发明一实施例的电子***的选定形态的框图。
图10是说明本发明备选实施例的电子***的选定形态的框图。
具体实施方式
本发明的实施例一般涉及改善存储装置的可靠性、可用性及可维修性(RAS)。在一些实施例中,存储装置包含至少一个具有第一存储体和第二存储体的分离存储体对。在错误检验模式中,数据位可被存储在存储体之一中而对应的错误检验位被存储在另一存储体中。存储装置可配置成支持使用寄存器位的任一模式(例如,模式寄存器组(MRS)寄存器位)。存储装置还可包含纠错逻辑部件。如进一步描述的,通过将ECC产生逻辑部件和比较逻辑部件集成到存储装置上,纠错逻辑部件可用读返回数据(read return data)来启用循环冗余码(CRC)位的使用。
图1是说明根据本发明一实施例的计算***的选定形态的高级框图。计算***100包含请求器102、存储控制器(或主机)110、存储装置130和互连部120。存储控制器110至少部分控制请求器102和存储装置130之间的信息传送。请求器102可为处理器(例如,中央处理器和/或核心),服务处理器、输入/输出设备(例如,***部件互连(PCI)Express设备)、存储器本身或***100中请求访问存储器的任何其他器件。在一些实施例中,存储控制器110与请求器102在同一芯片上。
在所说明的实施例中,存储控制器110包含错误检验逻辑部件112、模式指示符114和存储装置寻址逻辑部件116。错误检验逻辑部件112使用冗余信息来保护数据免于发生确定的故障。在一些实施例中,错误检验逻辑部件112是纠错码(ECC)。
如下面进一步讨论的,在一些实施例中,存储装置130能运行在错误检验模式中或者非错误检验模式中。当运行在错误检验模式中时,存储装置130存储数据位和对应的错误检验位(例如,ECC位)。当运行在非错误检验模式中时,存储装置130的整个容量(基本上)都被于存储数据位。模式指示符114提供存储装置130是运行在错误检验模式中还是非错误检验模式中的指示。在一些实施例中,模式指示符114包含一个或多个寄存器位。
在一些实施例中,存储装置130根据它在错误检验模式中还是非错误检验模式中对读/写数据施加不同的地址映射。例如,用在错误检验模式中的地址映射可能构成错误检验位(例如,ECC位)的映射。地址映射逻辑部件116使存储控制器110能知道由存储装置130使用的地址映射。地址映射逻辑部件116可为任何能为一些存储单元提供地址映射的指示的逻辑部件。
存储装置130可为各种装置中的任何一个,其中包括动态随机存取存储器(或简称为DRAM)的。存储核心141可组织成一个或多个分离存储体对140。分离存储体对指可配置为单个存储体或两个分开的存储体的一对存储体。在一些实施例中,分离存储体对的各存储体具有其自身的行解码器和列解码器。
在一些实施例中,分离存储体对的各存储体能提供存储页面。例如,存储体0A提供页面142而存储体0B提供页面144。“存储体”指由存储装置提供的存储单元阵列。存储体142和144能共同提供逻辑页面146。术语“逻辑页面”指两个或更多个物理存储体的逻辑组合。在一些实施例中,页面142和144各提供1千字节(K字节)的存储而逻辑页面146提供2K字节的净有效页面尺寸。
在所说明的实施例中,存储装置130包含模式指示符132、后置写入缓冲器(posted write buffer)134,部分写入屏蔽(partial write mask)136和列地址产生逻辑部件138。模式指示符132提供关于存储装置130是运行在错误检验模式中还是非错误检验模式中的指示。在一些实施例中,模式指示符132包含寄存器(如模式寄存器组(MRS))中的一个或多个位。后置写入缓冲器134是数据在被写入存储装置130的存储核心之前被投寄的缓冲器。部分写屏蔽136为被写入存储核心的数据提供写屏蔽。在一些实施例中,部分写屏蔽136被用于访问与存储在存储装置130中的数据相关联的错误检验位。在一些实施例中,列地址产生逻辑部件138产生与存储在存储装置130中的数据相关联的错误检验位的列地址信息。
存储装置130还可包含片上纠错逻辑部件160。在一些实施例中,当存储装置130运行在错误检验模式中时,纠错逻辑部件160改善了其可靠性、可用性及可维修性(RAS)。更具体地说,在一些实施例中,纠错逻辑部件160使存储装置130能对读返回数据使用CRC位,即使当它运行在错误检验模式时。在一些实施例中,纠错逻辑部件160包含ECC计算逻辑部件和比较逻辑部件。计算和比较逻辑部件使存储装置能在本地计算读出数据的ECC位并能在本地比较所计算的ECC位和所存储的ECC位。若在本地计算的ECC位匹配所存储的ECC位,则CRC位可在读返回数据中代替ECC位。ECC纠错逻辑部件在下面参照图6-8进行进一步讨论。
图2是说明根据本发明一实施例实现的动态随机存取存储器(DRAM)的选定形态的框图。DRAM 200包含16个存储体(0A到7B)和8个分离存储体对(例如,分离存储体对0A、0B)。在一些实施例中,DRAM 200能被配置为x4或x8DRAM。在x4模式中,DRAM200提供16个存储体(0A到7B)并且各存储体将64位数据提供给4个数据(DQ)引脚。在x8模式中,DRAM 200提供8个分离存储体对来将128位数据提供给8个DQ引脚。
在一些实施例中,DRAM 200可配置成运行在错误检验模式(例如,ECC模式)或非错误检验模式中。当运行在错误检验模式中时,DRAM 200通过将数据存储在分离存储体中的一个(例如,存储体0A)中,而将对应的错误检验位(例如,ECC位)存储在分离存储体的另一个(例如,存储体0B)中来利用其分离存储体架构。在一些实施例中,当运行在错误检验模式中时,DRAM 200被配置为x8DRAM。
图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-8进一步讨论。
图4是说明一例根据本发明一实施例的数据位和错误检验位之间地址映射的框图。在所说明的实施例中,数据位被存储在由如410所示的分离存储体对中的一存储体提供的页面的7/8。对应的错误检验位被存储在分离存储体对(430)中的另一存储体的上部的1/8中。例如,覆盖字节0-7的ECC位被存储在存储单元896中,如附图标记432所示。同样,覆盖字节128-135的ECC位被存储在存储单元897中,如附图标记434所示,并且该模式对如图4所示的页面410中的数据字节继续保持。在一些实施例中,存储体430的上部1/8中的最后一个字节(例如,存储单元903)不被使用,如附图标记436所示。在一些实施例中,掩护字节8-15的错误检验位被存储在存储单元905中并且该序列自行重复。
图5A和5B说明了根据本发明一实施例的写入数据帧的选定形态。图5A和5B所示的写序列可被用在具有两个存储装置的并行存储通道的***中。各器件能看到所有四个帧并被分配D0到D63和D64到D127。下面进一步讨论存储装置的分配。
在一些实施例中,写序列包含如下帧:写入报头(Wh)502,ECC写入帧(We)504,写入数据1(Wd1)506,以及写入数据2(Wd2)508。在一些实施例中,各帧是9位帧(例如,单元间隔0到8和9到17)的6位帧(标注为0到5)。Wh 502包含写序列的报头信息以及一些数据位。
We 504传送覆盖相关数据位的错误检验位(例如,如UI12-15中所示的ECC位510)。在一些实施例中,错误检验位(例如,ECC位)用部分写屏蔽编码传送到存储装置130。就是说,除了屏蔽位由错误检验位(例如,如单元间隔12-15中所示的ECC位510)代替之外,We504可具有与部分写屏蔽帧(Wm)相同的命令编码。ECC位ECC0-ECC7覆盖数据位D0-D63,而ECC位ECC8-ECC15覆盖数据位D64-D127。在一些实施例中,当***运行在错误检验模式中时,对所有写入数据传送都需要We帧504。
Wd1 506和Wd2 508传送用于写操作的其余数据位。数据位D0-D63由一个存储装置使用而D64-D127由另一存储装置使用。在一些实施例中,存储装置中的寄存器位判定哪个存储装置获得哪些数据位。例如,MRS寄存器可被用来分配数据位给存储装置。
在一些实施例中,地址位g1(512)配有We 504来启用分离PWB装载的执行。在一些实施例中,存储装置可任选地使用与装载PWB有关的g1。地址位g1可配有写CAS以指示分离存储体中的一个被用于数据存储而另一个被用于ECC位存储。
图6是说明根据本发明一实施例的片上纠错逻辑部件的选定形态的框图。在一些实施例中,存储装置600(例如,DRAM)除了其他部件还包含存储核心601和纠错逻辑部件607。存储核心601和纠错逻辑部件607可被集成到普通芯片上。在一些实施例中,存储核心601可包含多个部分如第一部分602和第二部分604。例如,第一部分602和第二部分604可各自为分离存储体对中的分离存储体。数据位603被存储在第一部分602中而对应的ECC位605被存储在第二部分604中。在一些实施例中,ECC位605由主机(例如,如图1所示的存储控制器110)计算并在写入数据帧(例如,如图5所示的ECC写入帧504)中提供给存储装置600。
纠错逻辑部件607包含改善存储装置600的RAS的逻辑部件。在一些实施例中,纠错逻辑部件607包含校验并纠正ECC错误的逻辑部件。原本用来运输ECC位的读出数据帧的部分可用来运输CRC位。因此,对软错误和链接错误,数据位603均可被覆盖,而不用在读出数据帧中运输ECC位。
在所说明的实施例中,纠错逻辑部件607包含ECC纠错逻辑部件606、ECC计算逻辑部件608、CRC计算逻辑部件610、比较器612和帧逻辑单元(FLU)614。在一些备选实施例中,纠错逻辑部件607可包含更多部件、更少部件和/或不同的部件。此外,在一些实施例中,作为纠错逻辑部件607的一部分说明的一个或多个部件可在存储装置600的一个不同的部分中实现。
ECC计算逻辑部件608计算覆盖数据603的ECC位。在一些实施例中,逻辑部件608用与用于计算ECC位605相同的多项式来计算ECC位。例如,逻辑部件608可使用与如图1所示的错误检验逻辑部件112相同的多项式。逻辑部件608可使用几乎任何纠错码多项式。在一些实施例中,多项式可为ECC和CRC的结合。在所说明的实施例中,逻辑部件608计算8个ECC位来覆盖64个数据位。在一些备选实施例中,ECC位和/或数据位的数量可以不同。
比较器612比较所计算的ECC位和所存储的ECC位(例如,ECC位605)。若这两组ECC位匹配,则比较器612确证一匹配信号。若所计算的ECC位不匹配所存储的ECC位,则数据位603可包含一错误。在一些实施例中,纠错逻辑部件607包含ECC纠错逻辑部件606来纠正某些错误。在这些实施例中,若这两组ECC位不匹配,则比较器612可提供数据(例如,关于哪些ECC位未匹配的指示)给ECC纠错逻辑部件606,使得ECC纠错逻辑部件606能纠正该问题。在一些实施例中,逻辑部件606包含一位纠错逻辑部件和表示例如64位中需要被纠正的信号位的SBC。若比较器612检测到具有逻辑部件606不能纠正的严重程度的错误,则它可确证报警信号。例如,若比较器612检测到双位错误,则它可确证报警信号。比较器612可以是任何适于比较一组位和另一组位并响应该比较来确证一个或多个信号的逻辑部件。
如前面讨论的,ECC纠错逻辑部件606包括纠正某些类型的错误(例如,单一位错误)的逻辑部件。在一些实施例中,逻辑部件606接收数据位603和SBC数据作为输入并输出经纠正的数据。若没有检测到错误,则数据位603可只是流过ECC纠错逻辑部件606。
CRC计算逻辑部件610计算CRC位来覆盖由逻辑部件606提供的数据位(例如,经纠正的数据位或初始数据)。在一些实施例中,CRC计算逻辑部件610计算8个CRC位来覆盖64个数据位。在一些备选实施例中,CRC位的数量和/或数据位的数量可以不同。CRC计算逻辑部件610可包括实现各种CRC多项式中任何一个的逻辑部件。在一些备选实施例中,一个不同的方案可被用于产生链接错误保护位。例如,在一些实施例中逻辑部件610可实现奇偶校验方案或任何提供链接错误保护的方案。
帧逻辑单元(FLU)614包括将数据位和/或CRC位成帧而传输到请求器的逻辑部件。在一些实施例中,FLU 614将CRC位附加到数据位上。在一些备选实施例中,FLU 614独立于数据位将CRC位成帧。在一些备选实施例中,若例如检测到双位错误,则FLU 614可传送失效的ECC位。
图7是说明根据本发明一实施例从存储装置读出数据的选定形态的流程图。参照处理步骤702,片上纠错逻辑部件从存储核心(例如图6所示的存储核心601)的相应部分读出数据位和对应的ECC位。为方便讨论,术语“所存储的ECC位”指在数据位被写入存储装置之前产生的、并且与它们所覆盖的数据位一起存储在存储装置上的ECC位。术语“所计算的ECC位”则指由与存储核心在同一芯片上的ECC计算逻辑部件计算的ECC位。
参照处理步骤704,片上ECC计算逻辑部件(例如,如图6所示的逻辑部件608)使用与用于计算所存储的ECC位相同的多项式来为数据位计算ECC位。所计算的ECC位在步骤706与所存储的ECC位进行比较。若所计算的ECC位匹配所存储的ECC位,则片上CRC计算逻辑部件计算覆盖这些位的CRC,如步骤708所示。参照处理步骤710,CRC位和数据位被发送给请求器(用例如图6所示的FLU 614)。
若所计算的ECC位不匹配所存储的ECC位,则片上纠错逻辑部件判定检测到的错误是否具有能由片上ECC纠错逻辑部件纠正的严重程度。例如,处理步骤714示出了校验单一位错误的纠错逻辑部件。若数据位包含单一位错误,则它可在步骤716被纠正。CRC位然后可被计算(708),并且CRC位和经纠正的数据位可被发送给请求器(710)。在一些实施例中,经纠正的数据可被写回存储核心和/或作为错误记录在能被主机随后擦除的寄存器位置中。
若检测到的错误具有指示其不能被纠正的严重程度,则纠错逻辑部件用例如报警信号(718)来报告错误。在一些实施例中,该失效的ECC位被存储在例如寄存器位置中。在一些实施例中,若检测到单一位错误或双位错误,则纠错逻辑部件发送ECC位(例如,取代CRC位)给请求器。在这些实施例中,报警信号也可被确证。主机然后可决定如何处理被破坏的数据。
图8说明了根据本发明一实施例的读出数据帧的选定形态。若***(例如,图1所示的***100)处于错误检验模式中,则,在一些实施例中,64位数据通过两个叠置的帧来传送。例如,帧802和804在单元间隔(UI)0-7和9-16中传送64个数据位。此外,帧802和804传送8个CRC位。例如,在UI 8中运输4个CRC位而在UI 17中运输另外4个CRC位。
在一些实施例中,并行地进行两个读操作,并且在4个帧中传送128数据位。例如,在所说明的实施例中,帧802和804传送第一64个数据位(例如,d0-d63)而帧806和808传送另一64个数据位(例如,d64-d127)。覆盖数据位d0-d63的CRC位(例如,CRC_A)分别在帧802和804的UI 8和17中传送。同样,覆盖数据位d64-d127的CRC位(例如,CRC_B)分别在帧806和808的UI 8和17中传送。在一些备选实施例中,读出帧可具有不同的结构和/或可被运输的不同数量的帧。因为数据位既覆盖软错误又覆盖链接错误而只有CRC位用读出数据帧返回,所以改善了存储装置的RAS。
图9是说明根据本发明一实施例的电子***的选定形态的框图。电子***900包含处理器910、存储控制器920、存储器930、输入/输出(I/O)控制器940、射频(RF)电路950和天线960。在运行中,***900用天线960来发送和接收信号,并且这些信号由图9所示的各种部件来处理。天线960可为定向天线或全向天线。如本文中使用的,术语“全向天线”指任何在至少一个平面中具有基本均匀的方向图的天线。例如,在一些实施例中,天线960可为诸如偶极天线或四分之一波长天线的全向天线。同时,例如,在一些实施例中,天线960可为诸如抛物面碟形天线、贴片天线或八木天线的定向天线。在一些实施例中,天线960可包括多个物理天线。
射频电路950与天线960和I/O控制器940通信。在一些实施例中,RF电路950包含对应于通信协议的物理接口(PHY)。例如,RF电路950可包含调制器、解调器、混频器、频率合成器、低噪声放大器、功率放大器等。在一些实施例中,RF电路950可包含外差接收器,而在另一些实施例中,RF电路950可包含直接变换接收器。例如,在具有多个天线960的实施例中,各天线可被连接到对应的接收器。在运行中,RF电路950接收来自天线960的通信信号并提供模拟或数字信号给I/O控制器940。此外,I/O控制器940可提供信号给RF电路950,该电路基于这些信号工作,然后将它们传输到天线960。
处理器910可为任何类型的处理器件。例如,处理器910可为微处理器、微控制器等。此外,处理器910可包含任意数量的处理核心或可包含任意数量的单独处理器。
存储控制器920提供处理器910和图9所示的其他部件之间的通信路径。在一些实施例中,存储控制器920是还提供其他功能的集线器的一部分。如图9所示,存储控制器920连接到处理器910、I/O控制器940和存储器930。
存储器930可包括多种存储装置。这些存储装置可基于任何类型的存储技术。例如,存储器930可为随机存取存储器(RAM),动态随机存取存储器(DRAM),静态随机存取存储器(SRAM),非易失性存储器如闪存,或任何其他类型的存储器。存储器930可支持错误检验模式和非错误检验模式。在一些实施例中,存储器930包含片上纠错逻辑部件932。纠错逻辑部件932可通过将ECC产生逻辑部件和比较逻辑部件集成到存储装置用读返回数据来启动循环冗余码(CRC)位的使用。
存储器930可代表一个或多个模块上的单个存储装置或一些存储装置。存储控制器920通过互连部922将数据提供给存储器930并响应读请求从存储器930接收数据。命令和/或地址可通过互连部922或通过不同的互连部(图中未显示)来提供给存储器930。存储控制器920可从处理器910或从另一来源接收将存入存储器930的数据。存储控制器920可将其从存储器930接收的数据提供给处理器910或另一目标装置。互连部922可为双向互连部或单向互连部。互连部922可包含一些并行导体。信号可为差分的或单端的。在一些实施例中,互连部922使用前向、多相时钟方案来运行。
存储控制器920还被连接到I/O控制器940并提供处理器910和I/O控制器940之间的通信路径。I/O控制器940包含用于与I/O电路如串行端口、并行端口、通用串行总线(USB)端口等通信的电路。如图9所示,I/O控制器940提供到RF电路950的通信路径。
图10是说明根据本发明一备选实施例的电子***的选定形态的框图。电子***1000包含存储器930、I/O控制器940、RF电路950和天线960,这些都在上面参照图9作了描述。电子***1000还包含处理器1010和存储控制器1020。如图10所示,存储控制器1020可与处理器1010在同一芯片上。处理器1010可为如上面参照处理器910(图5)描述的任何类型的处理器。由图9和10代表的示例***包括桌上型电脑、膝上型电脑、服务器、便携式电话、个人数字助理、数字家庭***等。
本发明实施例的部件还可作为用于存储机器可执行指令的可机读介质来提供。可机读介质可包括(但不限于)闪存、光盘、只读光盘存储器(CD-ROM)、数字通用/视频光盘(DVD)ROM,随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁或光卡、传播介质或适于存储电子指令的其他类型的可机读介质。例如,本发明的实施例可作为计算机程序来下载,该程序可通过通信链接(例如,调制解调器或网络连接)借助包含在载波或其他传播介质中的数据信号来从远程计算机(例如,服务器)传送到请求计算机(例如,客户机)。
要理解到整个说明书中对“一个实施例”或“一实施例”的引用意味着与该实施例相联系而描述的特定功能、结构或特征包含在本发明的至少一个实施例中。因此,应强调并且理解:在本说明书的各部分对“一实施例”或“一个实施例”或“一备选实施例”的两个或多个引用不必全都参照同一实施例。此外,所述特定功能、结构或特征可适当结合在本发明的一个或多个实施例中。
同样,要理解到在对本发明的实施例的前面描述中,为了简化本公开以理解各发明点中的一个或多个,各种特征有时被集中在单个实施例、附图或其描述中。然而,不应将所公开的方法理解成反映了这样的意图:所要求的主题需要比在各权利要求中明确陈述的更多的特征。更确切地说,如下面权利要求所反映的发明点少于单个前面公开的实施例的所有特征。因此,“具体实施方式”部分后的权利要求在文中被明示地结合到“具体实施方式”部分中。
Claims (12)
1.一种存储装置,包括:
存储核心,它具有:存储数据位的第一部分和存储对应于所述数据位的纠错码ECC位作为存储的纠错码ECC位的第二部分;和
纠错逻辑部件,它与所述存储核心在同一芯片上,所述纠错逻辑部件包括纠错码ECC计算逻辑部件,用来在本地计算对应于所述数据位的纠错码ECC位以获得计算的纠错码ECC位,其中所述纠错逻辑部件进一步包括用来纠正所述数据位中的错误的ECC纠错逻辑部件,用来比较存储的纠错码ECC位和计算的纠错码ECC位的比较器,用来产生对应于所述数据位的循环冗余码CRC位的循环冗余码CRC产生逻辑部件,用来将所述循环冗余码CRC位和所述数据位发送到请求器的成帧逻辑部件,
其中当计算的纠错码ECC位匹配存储的纠错码ECC位时,所述循环冗余码CRC产生逻辑部件产生所述循环冗余码CRC位以便覆盖所述纠错码ECC位并且所述成帧逻辑部件将所述循环冗余码CRC位和数据位发送到所述请求器,以及
其中当计算的纠错码ECC位不匹配存储的纠错码ECC位时,所述纠错逻辑部件判定检测到的错误是否具有能够由所述ECC纠错逻辑部件纠正的严重程度,如果检测到的错误能够由所述ECC纠错逻辑部件纠正,则所述ECC纠错逻辑部件纠正检测到的错误并且所述循环冗余码CRC产生逻辑部件产生所述循环冗余码CRC位以便覆盖所述纠错码ECC位以及所述成帧逻辑部件将所述循环冗余码CRC位和经纠正的数据位发送到所述请求器,如果检测到的错误不能够由所述ECC纠错逻辑部件纠正,则所述纠错逻辑部件向所述请求器报告检测到的错误。
2.如权利要求1所述的存储装置,其中,所述存储核心包括具有对应于第一部分的第一存储体和对应于第二部分的第二存储体的分离的存储体对。
3.如权利要求1所述的存储装置,其中:所述存储装置包括动态随机存取存储器(DRAM)设备。
4.如权利要求1所述的存储装置,其中所述存储装置能够在错误检验模式和非错误检验模式中操作。
5.如权利要求4所述的存储装置,其中所述存储装置进一步包括:
映射逻辑部件,用来将存储的纠错码ECC位映射到所述存储核心的第二部分。
6.一种用于改善存储装置的方法,包括:
从所述存储装置的存储核心的第一部分读出数据位,
从所述存储装置的所述存储核心的第二部分读出对应于所述数据位的存储的纠错码ECC位;
用所述存储装置的纠错码ECC计算逻辑部件在本地产生对应于所述数据位的计算的纠错码ECC位,其中,所述存储核心和所述纠错码ECC计算逻辑部件位于共用集成电路上;
用所述存储装置的比较器在本地比较存储的纠错码ECC位和计算的纠错码ECC位以判定存储的纠错码ECC位是否与计算的纠错码ECC位匹配;以及
如果计算的纠错码ECC位匹配存储的纠错码ECC位,则用所述存储装置的循环冗余码CRC产生逻辑部件产生循环冗余码CRC位以便覆盖所述纠错码ECC位并且用所述存储装置的成帧逻辑部件将所述循环冗余码CRC位和所述数据位发送到请求器,
如果计算的纠错码ECC位不匹配存储的纠错码ECC位,则判定检测到的错误是否具有能够由所述存储装置的ECC纠错逻辑部件纠正的严重程度,如果检测到的错误能够由所述ECC纠错逻辑部件纠正,则所述ECC纠错逻辑部件纠正检测到的错误并且所述循环冗余码CRC产生逻辑部件产生所述循环冗余码CRC位以便覆盖所述纠错码ECC位以及所述成帧逻辑部件将所述循环冗余码CRC位和经纠正的数据位发送到所述请求器,如果检测到的错误不能够由所述ECC纠错逻辑部件纠正,则所述纠错逻辑部件向所述请求器报告检测到的错误。
7.如权利要求6所述的方法,其中,所述存储核心包括具有对应于第一部分的第一存储体和对应于第二部分的第二存储体的分离的存储体对。
8.如权利要求6所述的方法,进一步包括:
如果存储的纠错码ECC位与计算的纠错码ECC位不匹配,则判定所述数据位是否包含单一位错误;以及
如果所述数据位包含单一位错误,则用纠错码ECC纠错逻辑部件来纠正所述单一位错误,其中,所述纠错码ECC纠错逻辑部件和所述存储核心位于共用集成电路上。
9.如权利要求6所述的方法,其中,将所述循环冗余码CRC位和所述数据位发送到所述请求器包括:
将所述数据位形成为读出数据帧;
将所述循环冗余码CRC位附加到所述读出数据帧;以及
将所述读出数据帧发送到所述请求器。
10.如权利要求6所述的方法,进一步包括:
如果存储的纠错码ECC位与计算的纠错码ECC位不匹配,则判定所述数据位是否包含单一位错误,
若所述数据位不包含单一位错误,则向请求器报告错误。
11.一种用于改善存储装置的***,包括:
动态随机存取存储器(DRAM)设备,包括:
包括第一存储体和第二存储体的分离的存储体对,其中,如果所述DRAM设备处于错误检验模式中,则数据位将被存储在第一存储体中而对应的纠错码ECC位作为存储的纠错码ECC位将被存储在第二存储体中,以及
与所述分离的存储体对在同一芯片上的纠错逻辑部件,所述纠错逻辑部件包括用来在本地计算对应于所述数据位的纠错码ECC位以获得计算的纠错码ECC位的纠错码ECC计算逻辑部件,用来纠正所述数据位中的错误的纠错码ECC纠错逻辑部件,用来比较存储的纠错码ECC位和计算的纠错码ECC位的比较器,用来产生对应于所述数据位的循环冗余码CRC位的循环冗余码CRC产生逻辑部件,用来将循环冗余码CRC位和所述数据位发送到请求器的成帧逻辑部件,其中当计算的纠错码ECC位匹配存储的纠错码ECC位时,所述循环冗余码CRC产生逻辑部件产生所述循环冗余码CRC位以便覆盖所述纠错码ECC位并且所述成帧逻辑部件将所述循环冗余码CRC位和数据位发送到所述请求器,以及其中当计算的纠错码ECC位不匹配存储的纠错码ECC位时,所述纠错逻辑部件判定检测到的错误是否具有能够由所述ECC纠错逻辑部件纠正的严重程度,如果检测到的错误能够由所述ECC纠错逻辑部件纠正,则所述ECC纠错逻辑部件纠正检测到的错误并且所述循环冗余码CRC产生逻辑部件产生所述循环冗余码CRC位以便覆盖所述纠错码ECC位以及所述成帧逻辑部件将所述循环冗余码CRC位和经纠正的数据位发送到所述请求器,如果检测到的错误不能够由所述ECC纠错逻辑部件纠正,则所述纠错逻辑部件向所述请求器报告检测到的错误;以及
与所述DRAM设备耦合的请求器。
12.如权利要求11所述的***,其中,所述DRAM设备进一步包括:
映射逻辑部件,用来将所存储的纠错码ECC位映射到第二存储体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/479067 | 2006-06-30 | ||
US11/479,067 US7774684B2 (en) | 2006-06-30 | 2006-06-30 | Reliability, availability, and serviceability in a memory device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101290139A Division CN101097784B (zh) | 2006-06-30 | 2007-06-29 | 改善存储装置的可靠性、可用性及可维修性 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102394112A CN102394112A (zh) | 2012-03-28 |
CN102394112B true CN102394112B (zh) | 2014-11-12 |
Family
ID=38878338
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110266608.5A Expired - Fee Related CN102394112B (zh) | 2006-06-30 | 2007-06-29 | 改善存储装置的可靠性、可用性及可维修性 |
CN2007101290139A Expired - Fee Related CN101097784B (zh) | 2006-06-30 | 2007-06-29 | 改善存储装置的可靠性、可用性及可维修性 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101290139A Expired - Fee Related CN101097784B (zh) | 2006-06-30 | 2007-06-29 | 改善存储装置的可靠性、可用性及可维修性 |
Country Status (8)
Country | Link |
---|---|
US (2) | US7774684B2 (zh) |
EP (1) | EP2035938B1 (zh) |
JP (1) | JP5135348B2 (zh) |
KR (1) | KR101047241B1 (zh) |
CN (2) | CN102394112B (zh) |
AT (1) | ATE545910T1 (zh) |
TW (1) | TWI343581B (zh) |
WO (1) | WO2008005781A2 (zh) |
Families Citing this family (141)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100681429B1 (ko) * | 2005-10-24 | 2007-02-15 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 비트 에러 검출 방법 |
US7774684B2 (en) * | 2006-06-30 | 2010-08-10 | Intel Corporation | Reliability, availability, and serviceability in a memory device |
JP2008090451A (ja) | 2006-09-29 | 2008-04-17 | Toshiba Corp | 記憶装置 |
JP2008090433A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | メモリコントローラ、メモリシステム及びデータ転送方法 |
US7856588B2 (en) * | 2006-10-19 | 2010-12-21 | Hewlett-Packard Development Company, L.P. | Data allocation in memory chips |
JP4564520B2 (ja) * | 2007-08-31 | 2010-10-20 | 株式会社東芝 | 半導体記憶装置およびその制御方法 |
US8751755B2 (en) | 2007-12-27 | 2014-06-10 | Sandisk Enterprise Ip Llc | Mass storage controller volatile memory containing metadata related to flash memory storage |
US20090186534A1 (en) * | 2008-01-17 | 2009-07-23 | Amphenol Corporation | Electrical Connector Contact |
US8161356B2 (en) * | 2008-03-28 | 2012-04-17 | Intel Corporation | Systems, methods, and apparatuses to save memory self-refresh power |
US8255783B2 (en) * | 2008-04-23 | 2012-08-28 | International Business Machines Corporation | Apparatus, system and method for providing error protection for data-masking bits |
US8321778B2 (en) * | 2008-06-16 | 2012-11-27 | Intel Corporation | Efficient in-band reliability with separate cyclic redundancy code frames |
US8196009B2 (en) * | 2008-06-18 | 2012-06-05 | Intel Corporation | Systems, methods, and apparatuses to transfer data and data mask bits in a common frame with a shared error bit code |
US8103928B2 (en) * | 2008-08-04 | 2012-01-24 | Micron Technology, Inc. | Multiple device apparatus, systems, and methods |
KR20100096616A (ko) * | 2009-02-25 | 2010-09-02 | 삼성전자주식회사 | 저항성 메모리 장치 및 저항성 메모리 장치에서의 입출력 제어 방법 |
US8307258B2 (en) * | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
WO2011031260A1 (en) * | 2009-09-10 | 2011-03-17 | Hewlett-Packard Development Company, L.P. | Memory subsystem having a first portion to store data with error correction code information and a second portion to store data without error correction code information |
US8612828B2 (en) * | 2009-12-22 | 2013-12-17 | Intel Corporation | Error correction mechanisms for 8-bit memory devices |
US8589766B2 (en) * | 2010-02-24 | 2013-11-19 | Apple Inc. | Codeword remapping schemes for non-volatile memories |
US8365041B2 (en) | 2010-03-17 | 2013-01-29 | Sandisk Enterprise Ip Llc | MLC self-raid flash data protection scheme |
US8639964B2 (en) * | 2010-03-17 | 2014-01-28 | Dell Products L.P. | Systems and methods for improving reliability and availability of an information handling system |
US8874958B2 (en) | 2010-11-09 | 2014-10-28 | International Business Machines Corporation | Error detection in a mirrored data storage system |
CN102203740B (zh) * | 2011-05-27 | 2013-06-05 | 华为技术有限公司 | 数据处理方法、装置及*** |
US8732557B2 (en) * | 2011-05-31 | 2014-05-20 | Micron Technology, Inc. | Data protection across multiple memory blocks |
US8910020B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | Intelligent bit recovery for flash memory |
US8909982B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | System and method for detecting copyback programming problems |
US8527836B2 (en) * | 2011-07-01 | 2013-09-03 | Intel Corporation | Rank-specific cyclic redundancy check |
US9058289B2 (en) | 2011-11-07 | 2015-06-16 | Sandisk Enterprise Ip Llc | Soft information generation for memory systems |
US8924815B2 (en) | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
US9048876B2 (en) | 2011-11-18 | 2015-06-02 | Sandisk Enterprise Ip Llc | Systems, methods and devices for multi-tiered error correction |
US8954822B2 (en) | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
US8707133B2 (en) | 2011-12-05 | 2014-04-22 | Lsi Corporation | Method and apparatus to reduce a quantity of error detection/correction bits in memory coupled to a data-protected processor port |
EP2672387B1 (en) * | 2012-06-04 | 2018-08-01 | Amplidata NV | A distributed object storage system |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9299400B2 (en) | 2012-09-28 | 2016-03-29 | Intel Corporation | Distributed row hammer tracking |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US9003264B1 (en) | 2012-12-31 | 2015-04-07 | Sandisk Enterprise Ip Llc | Systems, methods, and devices for multi-dimensional flash RAID data protection |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9183082B2 (en) * | 2013-01-29 | 2015-11-10 | Qualcomm Incorporated | Error detection and correction of one-time programmable elements |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9009576B1 (en) | 2013-03-15 | 2015-04-14 | Sandisk Enterprise Ip Llc | Adaptive LLR based on syndrome weight |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9092350B1 (en) | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US9021334B2 (en) * | 2013-05-01 | 2015-04-28 | Apple Inc. | Calculation of analog memory cell readout parameters using code words stored over multiple memory dies |
CN104184543B (zh) * | 2013-05-24 | 2018-10-30 | 华为技术有限公司 | 一种数据传输的方法、装置和*** |
US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
US10031802B2 (en) | 2013-06-28 | 2018-07-24 | Intel Corporation | Embedded ECC address mapping |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers implemented in non-volatile data storage systems |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9235509B1 (en) | 2013-08-26 | 2016-01-12 | Sandisk Enterprise Ip Llc | Write amplification reduction by delaying read access to data written during garbage collection |
US9519577B2 (en) | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
US9934143B2 (en) | 2013-09-26 | 2018-04-03 | Intel Corporation | Mapping a physical address differently to different memory devices in a group |
US9158349B2 (en) | 2013-10-04 | 2015-10-13 | Sandisk Enterprise Ip Llc | System and method for heat dissipation |
US9323637B2 (en) | 2013-10-07 | 2016-04-26 | Sandisk Enterprise Ip Llc | Power sequencing and data hardening architecture |
US9213595B2 (en) * | 2013-10-15 | 2015-12-15 | International Business Machines Corporation | Handling errors in ternary content addressable memories |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US10073731B2 (en) * | 2013-11-27 | 2018-09-11 | Intel Corporation | Error correction in memory |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9122636B2 (en) | 2013-11-27 | 2015-09-01 | Sandisk Enterprise Ip Llc | Hard power fail architecture |
US9280429B2 (en) | 2013-11-27 | 2016-03-08 | Sandisk Enterprise Ip Llc | Power fail latching based on monitoring multiple power supply voltages in a storage device |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9250676B2 (en) | 2013-11-29 | 2016-02-02 | Sandisk Enterprise Ip Llc | Power failure architecture and verification |
US9092370B2 (en) | 2013-12-03 | 2015-07-28 | Sandisk Enterprise Ip Llc | Power failure tolerant cryptographic erase |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9129665B2 (en) | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
US9798620B2 (en) | 2014-02-06 | 2017-10-24 | Sandisk Technologies Llc | Systems and methods for non-blocking solid-state memory |
US9549457B2 (en) | 2014-02-12 | 2017-01-17 | Sandisk Technologies Llc | System and method for redirecting airflow across an electronic assembly |
US9497889B2 (en) | 2014-02-27 | 2016-11-15 | Sandisk Technologies Llc | Heat dissipation for substrate assemblies |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9348377B2 (en) | 2014-03-14 | 2016-05-24 | Sandisk Enterprise Ip Llc | Thermal isolation techniques |
US9485851B2 (en) | 2014-03-14 | 2016-11-01 | Sandisk Technologies Llc | Thermal tube assembly structures |
US9519319B2 (en) | 2014-03-14 | 2016-12-13 | Sandisk Technologies Llc | Self-supporting thermal tube structure for electronic assemblies |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US9070481B1 (en) | 2014-05-30 | 2015-06-30 | Sandisk Technologies Inc. | Internal current measurement for age measurements |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US9093160B1 (en) | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US9645749B2 (en) | 2014-05-30 | 2017-05-09 | Sandisk Technologies Llc | Method and system for recharacterizing the storage density of a memory device or a portion thereof |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
KR102204391B1 (ko) | 2014-08-18 | 2021-01-18 | 삼성전자주식회사 | 공유 가능한 ecc 셀 어레이를 갖는 메모리 장치 |
US10002044B2 (en) * | 2014-08-19 | 2018-06-19 | Samsung Electronics Co., Ltd. | Memory devices and modules |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US9558066B2 (en) * | 2014-09-26 | 2017-01-31 | Intel Corporation | Exchanging ECC metadata between memory and host system |
US9811420B2 (en) | 2015-03-27 | 2017-11-07 | Intel Corporation | Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC) |
US10061645B2 (en) * | 2015-06-30 | 2018-08-28 | Qualcomm Incorporated | Memory array and link error correction in a low power memory sub-system |
ITUB20153367A1 (it) * | 2015-09-03 | 2017-03-03 | St Microelectronics Srl | Procedimento per la gestione di memorie, dispositivo ed apparecchiatura corrispondenti |
US9692455B2 (en) * | 2015-09-11 | 2017-06-27 | Micron Technology, Inc. | Multi channel memory with flexible code-length ECC |
US10140175B2 (en) * | 2015-11-20 | 2018-11-27 | Qualcomm Incorporated | Protecting an ECC location when transmitting correction data across a memory link |
US9965352B2 (en) * | 2015-11-20 | 2018-05-08 | Qualcomm Incorporated | Separate link and array error correction in a memory system |
US9952925B2 (en) * | 2016-01-06 | 2018-04-24 | Micron Technology, Inc. | Error code calculation on sensing circuitry |
WO2017192626A1 (en) * | 2016-05-02 | 2017-11-09 | Intel Corporation | Internal error checking and correction (ecc) with extra system bits |
KR102498208B1 (ko) | 2016-06-07 | 2023-02-10 | 삼성전자주식회사 | 여분의 용량을 포함하는 메모리 장치 및 이를 포함하는 적층 메모리 장치 |
US10169126B2 (en) * | 2016-10-12 | 2019-01-01 | Samsung Electronics Co., Ltd. | Memory module, memory controller and systems responsive to memory chip read fail information and related methods of operation |
KR20180055148A (ko) * | 2016-11-16 | 2018-05-25 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
US10705912B2 (en) | 2017-06-07 | 2020-07-07 | Rambus Inc. | Energy efficient storage of error-correction-detection information |
US10387242B2 (en) | 2017-08-21 | 2019-08-20 | Qualcomm Incorporated | Dynamic link error protection in memory systems |
JP7182373B2 (ja) * | 2018-04-24 | 2022-12-02 | ラピスセミコンダクタ株式会社 | 半導体集積回路、記憶装置及びエラー訂正方法 |
US11265022B2 (en) | 2018-05-18 | 2022-03-01 | SK Hynix Inc. | Memory system and operating method thereof |
KR20190132237A (ko) * | 2018-05-18 | 2019-11-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20190132238A (ko) | 2018-05-18 | 2019-11-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10957413B2 (en) * | 2018-10-31 | 2021-03-23 | Micron Technology, Inc. | Shared error check and correct logic for multiple data banks |
US11514174B2 (en) | 2019-01-23 | 2022-11-29 | Micron Technology, Inc. | Memory devices with cryptographic components |
US11023320B2 (en) * | 2019-04-04 | 2021-06-01 | Intel Corporation | Technologies for providing multiple levels of error correction |
TWI703572B (zh) * | 2019-06-06 | 2020-09-01 | 華邦電子股份有限公司 | 記憶體儲存裝置及其記憶體測試方法 |
US11237903B2 (en) * | 2019-06-25 | 2022-02-01 | Intel Corporation | Technologies for providing ECC pre-provisioning and handling for cross-point memory and compute operations |
US10762977B1 (en) | 2019-07-22 | 2020-09-01 | Winbond Electronics Corp. | Memory storage device and memory testing method thereof |
US11294766B2 (en) * | 2019-08-13 | 2022-04-05 | Micron Technology, Inc. | Coordinated error correction |
US11099929B2 (en) * | 2019-12-17 | 2021-08-24 | Micron Technology, Inc. | Separating parity data from host data in a memory sub-system |
KR20210147132A (ko) | 2020-05-27 | 2021-12-07 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치를 포함하는 메모리 모듈 |
WO2022053157A1 (en) * | 2020-09-14 | 2022-03-17 | Huawei Technologies Co., Ltd. | Fault resistant verification |
US20220318603A1 (en) * | 2021-03-31 | 2022-10-06 | International Business Machines Corporation | Nvm-based high-capacity neural network inference engine |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6233717B1 (en) * | 1997-12-31 | 2001-05-15 | Samsung Electronics Co., Ltd. | Multi-bit memory device having error check and correction circuit and method for checking and correcting data errors therein |
CN1684200A (zh) * | 2004-04-12 | 2005-10-19 | 恩益禧电子股份有限公司 | 半导体存储装置 |
CN1716443A (zh) * | 2004-06-18 | 2006-01-04 | 尔必达存储器股份有限公司 | 半导体存储装置及其误码修正方法 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US692900A (en) * | 1901-08-28 | 1902-02-11 | Elihu Thomson | Mechanism for operating motion-checking devices. |
US4319356A (en) * | 1979-12-19 | 1982-03-09 | Ncr Corporation | Self-correcting memory system |
JPS61192100A (ja) * | 1985-02-20 | 1986-08-26 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPS61217999A (ja) * | 1985-03-25 | 1986-09-27 | Toshiba Corp | 半導体メモリ |
JPH03162800A (ja) * | 1989-08-29 | 1991-07-12 | Mitsubishi Electric Corp | 半導体メモリ装置 |
US5134616A (en) * | 1990-02-13 | 1992-07-28 | International Business Machines Corporation | Dynamic ram with on-chip ecc and optimized bit and word redundancy |
JPH04282736A (ja) * | 1991-03-12 | 1992-10-07 | Hitachi Ltd | 半導体記憶装置のロード及びアンロード方式 |
JPH06250935A (ja) * | 1993-02-24 | 1994-09-09 | Fujitsu Ltd | 半導体メモリ装置 |
US5896404A (en) * | 1997-04-04 | 1999-04-20 | International Business Machines Corporation | Programmable burst length DRAM |
KR100287018B1 (ko) * | 1998-08-07 | 2001-04-16 | 윤종용 | 에러 정정 회로를 구비한 반도체 메모리 장치 |
US6038693A (en) * | 1998-09-23 | 2000-03-14 | Intel Corporation | Error correction scheme for an integrated L2 cache |
JP2002023966A (ja) * | 2000-06-30 | 2002-01-25 | Toshiba Corp | 転送データを冗長化したディスクシステム |
JP4373615B2 (ja) * | 2001-01-25 | 2009-11-25 | 富士通マイクロエレクトロニクス株式会社 | 初期不良ブロックのマーキング方法 |
US7117420B1 (en) * | 2001-05-17 | 2006-10-03 | Lsi Logic Corporation | Construction of an optimized SEC-DED code and logic for soft errors in semiconductor memories |
JP4437519B2 (ja) * | 2001-08-23 | 2010-03-24 | スパンション エルエルシー | 多値セルメモリ用のメモリコントローラ |
US7117421B1 (en) * | 2002-05-31 | 2006-10-03 | Nvidia Corporation | Transparent error correction code memory system and method |
US7043679B1 (en) * | 2002-06-27 | 2006-05-09 | Advanced Micro Devices, Inc. | Piggybacking of ECC corrections behind loads |
US7043579B2 (en) * | 2002-12-05 | 2006-05-09 | International Business Machines Corporation | Ring-topology based multiprocessor data access bus |
US7219294B2 (en) | 2003-11-14 | 2007-05-15 | Intel Corporation | Early CRC delivery for partial frame |
JP2005203064A (ja) * | 2004-01-19 | 2005-07-28 | Toshiba Corp | 半導体記憶装置 |
JP4102313B2 (ja) * | 2004-02-05 | 2008-06-18 | 株式会社東芝 | 半導体集積回路装置 |
JP2005310313A (ja) * | 2004-04-23 | 2005-11-04 | Toshiba Corp | 半導体記憶装置 |
KR100634414B1 (ko) * | 2004-09-06 | 2006-10-16 | 삼성전자주식회사 | 에러 검출용 패러티 발생기를 구비한 낸드 플래시 메모리 장치 및 그것의 에러 검출 방법 |
US7409623B2 (en) * | 2004-11-04 | 2008-08-05 | Sigmatel, Inc. | System and method of reading non-volatile computer memory |
KR100643288B1 (ko) * | 2004-11-16 | 2006-11-10 | 삼성전자주식회사 | 플래시 메모리의 데이터 처리 장치 및 방법 |
JP4802515B2 (ja) * | 2005-03-01 | 2011-10-26 | 株式会社日立製作所 | 半導体装置 |
ITMI20050780A1 (it) * | 2005-04-29 | 2006-10-30 | St Microelectronics Srl | Metodo di memorizzazione di un array di celle di memoria non-volatile con codice di correzione di errore e relativo dispositivo |
US7650558B2 (en) * | 2005-08-16 | 2010-01-19 | Intel Corporation | Systems, methods, and apparatuses for using the same memory type for both error check and non-error check memory systems |
US7328384B1 (en) * | 2005-09-29 | 2008-02-05 | Xilinx, Inc. | Method and apparatus using device defects as an identifier |
US7221615B2 (en) * | 2005-10-04 | 2007-05-22 | Infineon Technologies Ag | Semiconductor memory chip |
KR100681429B1 (ko) * | 2005-10-24 | 2007-02-15 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 비트 에러 검출 방법 |
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 |
US7774684B2 (en) * | 2006-06-30 | 2010-08-10 | Intel Corporation | Reliability, availability, and serviceability in a memory device |
US8136016B1 (en) * | 2007-11-08 | 2012-03-13 | Marvell International Ltd. | Split sector recovery method |
-
2006
- 2006-06-30 US US11/479,067 patent/US7774684B2/en active Active
-
2007
- 2007-06-27 KR KR1020087031500A patent/KR101047241B1/ko active IP Right Grant
- 2007-06-27 AT AT07799113T patent/ATE545910T1/de active
- 2007-06-27 EP EP07799113A patent/EP2035938B1/en not_active Not-in-force
- 2007-06-27 WO PCT/US2007/072295 patent/WO2008005781A2/en active Application Filing
- 2007-06-27 JP JP2009530716A patent/JP5135348B2/ja not_active Expired - Fee Related
- 2007-06-27 TW TW096123239A patent/TWI343581B/zh not_active IP Right Cessation
- 2007-06-29 CN CN201110266608.5A patent/CN102394112B/zh not_active Expired - Fee Related
- 2007-06-29 CN CN2007101290139A patent/CN101097784B/zh not_active Expired - Fee Related
-
2010
- 2010-06-28 US US12/824,298 patent/US8806298B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6233717B1 (en) * | 1997-12-31 | 2001-05-15 | Samsung Electronics Co., Ltd. | Multi-bit memory device having error check and correction circuit and method for checking and correcting data errors therein |
CN1684200A (zh) * | 2004-04-12 | 2005-10-19 | 恩益禧电子股份有限公司 | 半导体存储装置 |
CN1716443A (zh) * | 2004-06-18 | 2006-01-04 | 尔必达存储器股份有限公司 | 半导体存储装置及其误码修正方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101047241B1 (ko) | 2011-07-06 |
EP2035938A4 (en) | 2010-08-04 |
US20100262889A1 (en) | 2010-10-14 |
CN101097784A (zh) | 2008-01-02 |
KR20090016604A (ko) | 2009-02-16 |
CN101097784B (zh) | 2011-11-09 |
TW200809867A (en) | 2008-02-16 |
JP5135348B2 (ja) | 2013-02-06 |
WO2008005781A3 (en) | 2008-03-06 |
EP2035938B1 (en) | 2012-02-15 |
US8806298B2 (en) | 2014-08-12 |
ATE545910T1 (de) | 2012-03-15 |
TWI343581B (en) | 2011-06-11 |
JP2009540477A (ja) | 2009-11-19 |
US20080005646A1 (en) | 2008-01-03 |
CN102394112A (zh) | 2012-03-28 |
US7774684B2 (en) | 2010-08-10 |
EP2035938A2 (en) | 2009-03-18 |
WO2008005781A2 (en) | 2008-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102394112B (zh) | 改善存储装置的可靠性、可用性及可维修性 | |
US11734106B2 (en) | Memory repair method and apparatus based on error code tracking | |
US7734985B2 (en) | Systems, methods, and apparatuses for using the same memory type to support an error check mode and a non-error check mode | |
US7587625B2 (en) | Memory replay mechanism | |
US20120185752A1 (en) | Dram address protection | |
US20240095134A1 (en) | Memory module with dedicated repair devices | |
US11030040B2 (en) | Memory device detecting an error in write data during a write operation, memory system including the same, and operating method of memory system | |
US10810080B2 (en) | Memory device selectively correcting an error in data during a read operation, memory system including the same, and operating method of memory system | |
US7836380B2 (en) | Destination indication to aid in posted write buffer loading | |
CN116483614A (zh) | 用于计算快速链路(cxl)装置中的存储器***的循环冗余校验(crc)重试 | |
CN115994050A (zh) | 基于错误校正能力的路由分配 |
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: 20141112 Termination date: 20210629 |