CN102939590B - 为在存储器元件内存储的数据提供数据保护的方法及其集成电路器件 - Google Patents
为在存储器元件内存储的数据提供数据保护的方法及其集成电路器件 Download PDFInfo
- Publication number
- CN102939590B CN102939590B CN201080067368.XA CN201080067368A CN102939590B CN 102939590 B CN102939590 B CN 102939590B CN 201080067368 A CN201080067368 A CN 201080067368A CN 102939590 B CN102939590 B CN 102939590B
- Authority
- CN
- China
- Prior art keywords
- data
- code
- code field
- bit
- code word
- 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.)
- Active
Links
Classifications
-
- 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/1012—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 codes or arrangements adapted for a specific type of error
- G06F11/1028—Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
一种用于为在随机存取存储器(RAM)元件内存储的数据提供数据保护的方法。所述方法包括接收要写入存储器的数据(420),划分所接收的数据为多个数据段(430),对所述数据段应用纠错编码以形成码字段(440),交织所述码字段以形成交织数据码字(450),以及在单一时钟周期内将所述交织数据码字写入存储器(460)。
Description
技术领域
本发明涉及一种为在存储器元件内存储的数据提供数据保护的方法及其集成电路器件。
背景技术
在集成电路器件领域内,特别是在用于汽车应用的集成电路器件领域内,用纠错码(ECC)保护存储在RAM(随机存取存储器)内的数据,特别是针对由错误事件例如α辐射、大气中子等引起的数据内的“软错误”提供保护,是众所周知的。这种纠错码的例子是提供单位纠错和双位错误检测的扩展汉明码、夏码(Hsia codes)以及类似的线性码。
随着加工技术的发展以及被缩小到纳米,单错误事件(例如,由单一字母或中子粒子引起的)可能会引起RAM内多个相邻位单元改变状态,并且因此被损坏。因此,由传统的ECC技术单独提供的单一位纠错不足以防止这种错误事件。为了克服这个问题,已知交织存储在RAM块内的数据字。以这种方式,在所述RAM块内数据字的相邻数据位不是相邻于彼此被存储的。这种技术通常被表示为多路复用器(MUX)因子。例如,图1说明了带有MUX因子‘4’的RAM 100的简化框图。因此,4个数据字110、120、130、140(为方便说明,每个包括4个位)被交织成RAM块100的位单元的单一行150。以这种方式,对于带有MUX因子‘4’的RAM块,例如图1中所说明的RAM块100,存储在一行位单元内的每第四个数据位属于相同的数据字。如果错误事件发生,例如通过击中所述RAM块的α粒子或中子,使得单一行内的最多四个相邻位单元被损坏,则任何数据字内只有一个位将被损坏。因此,以这种方式,所述错误能够通过传统的ECC单一位纠错技术被纠正。此外,正如图2所说明的,通过传递从带有MUX因子‘4’的RAM块100内读取的数据通过传统的ECC功能块200,在单一行150内损坏最多四个相邻位单元的多位错误事件可被防止。
然而,随着加工技术和特征尺寸的持续缩小,RAM位单元变得更小,可受单一错误事件影响的相邻RAM位单元的数量变得更大。因此,需要对存储在RAM块内的数据提供保护,以防止在单一行RAM位单元内损坏更大数量的相邻位单元的多位错误事件。
这个问题的一种解决方案是使用能够纠正例如两个错误而不是单一错误码的ECC码。以这种方式,当与带有MUX因子‘4’的RAM一起使用时,在单一行内损坏最多八个相邻位单元的多位错误事件可被防止。然而,这种方法的一个问题是使用这种多元纠错码比单一纠错码慢得多,使得这个多元纠错码从性能的角度来看不切实际。
这个问题的另一种解决方案是为RAM块增加MUX因子,例如使用带有MUX因子‘8’的RAM块,据此8个数据字的数据位被交织成单一行RAM位单元。以这种方式,单一行内的每第八个数据位属于相同的数据字。当用传统的ECC单一位纠错技术实施时,在单一行内损坏最多八个相邻位单元的多位错误事件可被防止。
这个解决方案的一个问题是它在RAM块的物理实现上设置了显著的约束。当这种约束可适应大RAM块时,对于更小的RAM块,这种约束使得这个解决方案不切实际。例如,假设RAM块需要包括32位字以及例如256个字。如果这个RAM块通过MUX因子4实现时,RAM块将包括RAM位单元的矩阵,所述矩阵包括(32*4=128)行(位线)和(256/4=64)列。因此,RAM位单元的所述矩阵包括尺寸之间的2倍差异。然而,如果RAM块通过MUX因子8实现,需要的行的数量成为32*8=256,以及列的数量成为(256/8==32)。因此,RAM位单元的所述矩阵包括8倍差异;256行×32列。结果是,在硅上这个RAM阵列将包括窄的矩形,从而导致较差的面积效率和较差的时间。通常,用于RAM位单元的矩阵的尺寸的品质因数可被看做:(位数*MUX_因子)不应超过(字数/MUX_因子)的2至4倍。
发明内容
本发明提供了一种如所附权利要求中所描述的为在存储器元件内存储的数据提供数据保护的方法以及集成电路器件。
本发明的具体实施例在从属权利要求中被陈述。
根据下文中描述的实施例,本发明的这些或其它方面将会很明显并且被阐述。
附图说明
根据附图,仅仅通过举例的方式,描述了本发明的进一步细节、方面和实施例。在附图中,类似的符号被用于表示相同的或功能相似的元件。为了简便以及清晰,附图中的元件不一定按比例绘制。
图1和图2说明了RAM存储器的例子。
图3说明了集成电路器件的例子的简化框图。
图4说明了一种为在存储器元件内存储的数据提供数据保护的方法的例子的简化流程图。
图5说明了一种为在存储器元件内存储的数据提供数据保护的方法的替代例子的简化流程图。
具体实施方式
由于本发明所说明的实施例可能,在大多数情况下,通过使用本领域所属技术人员所熟知的电子元件以及电路被实施,细节不会在比上述所说明的认为有必要的程度大的任何程度上进行解释。对本发明基本概念的理解以及认识是为了不混淆或偏离本发明所教之内容。
综上所述,示例实施例涉及一种为在随机存取存储器(RAM)元件内存储的数据提供数据保护的方法和集成电路。根据一些示例实施例,所述方法包括接收要写入存储器的数据以及将所述接收到的数据划分为多个数据段。然后纠错码可被应用于所述数据段以形成码字段,例如,每个码字段可能包括所述数据段之一及其所附加的纠错码位。然后所述码字段可彼此交织以形成交织的数据码字,所述数据码字可在单一时钟周期内被写入存储器。根据一些进一步的示例实施例,一种方法可能包括在单一时钟周期从存储器读取数据码字并且解交织所读取的数据码字以获得多个码字段。然后可对解交织的数据码字段执行错误检测和校正以检索数据段,所述数据段然后或可被组合以再现用户数据。
以这种方式,通过将要写入存储器的数据划分为多个段,并且将纠错码应用于单独数据段,相对于对作为一个整体的数据执行相同的(或类似的)纠错技术,在所述数据内检测和校正错误的能力被提高。例如,对作为一个整体的数据使用传统的ECC单一位纠错技术只能使作为一个整体的数据内的一个单一位错误被纠正。然而,通过将所述数据划分为多个数据段以及将这种ECC单一位纠错技术单独应用到每个段,单一位错误能够在每个数据段内被检测。因此,例如,如果所述数据被划分为,比如说,两个数据段,两个单一位错误可在所述数据内被检测(每个数据段一个),与当传统的ECC单一位纠错技术被应用于作为一个整体的所述数据时的只一个单一位错误相反。
此外,通过交织所述码字段以形成然后写入存储器的交织的数据码字,每个码字段的连续位被设置在所述交织的数据码字的每n个连续位之一,其中n是被交织的码字段的数量。以这种方式,如果在存储器内存储的所述交织的数据码字内有小于或等于n个连续位被损坏,例如,作为单一错误事件的结果(例如,由单一α或中子粒子引起的),只有与任何一个码字段相关的单一位将会被损坏。因此,当所述交织数据码字随后从存储器被读取并且所述码字段被解交织时,传统的ECC单一位纠错技术可被用于纠正每个码字段内的所述单一错误以检索原始数据段,所述原始数据段然后可被重新组合以获得原始的用户数据。因此,以这种方式,存储器内存储的所述数据可免受单一错误事件(例如,由单一α或中子粒子引起的),所述单一错误事件通过使用传统的ECC单一位纠错技术,引起存储器内存储的所述交织的数据码字内的最多n个连续位被损坏。
现参照图3,根据本发明的一些示例实施例,说明了被改编的集成电路器件300的例子的简化框图。所述集成电路器件300包括存储器存取模块305用于从存储器读取数据和写入数据到存储器。对于说明的例子,所述存储器存取模块305被安排以从存储器元件300读取数据和写入数据到存储器元件300,对于所说明的例子,这形成了所述集成电路器件300的不可分割的一部分。
根据一个例子,所述存储器存取模块305被安排以接收要写入存储器的数据320以及将所接收的数据划分为多个数据段,对于所说明的例子,这包括了通常在322和324被说明的连续的数据位的段。然后所述存储器存取模块305被安排以将纠错码应用于所述数据段以形成码字段。因此,对于所说明的例子,所述存储器存取模块305包括多个纠错码(ECC)块310、315,其中每个ECC块310、315被安排以接收所接收的数据320的一个数据段322、324。在收到所接收的数据320的数据段322、324后,每个ECC块310、315为其各自数据段322、324生成纠错码,并附加所述纠错码至所述各自数据段322、324以形成码字段,正如在312、317说明的所述码字段被输出。所述存储器存取模块305还被安排以交织所述ECC块310、320输出的所述码字段312、317以形成交织的数据码字,正如通常在340所说明的。然后这种交织的数据码字在单一时钟周期内被写入存储器元件330。
根据一些示例实施例,所述存储器存取模块305,或更具体地说,对于所说明的例子,所述ECC块310、315被安排以将单一位纠错编码应用于所述数据段322、324以形成所述码字段312、317。以这种方式,由这种错误编码的应用引起的延迟是最小的。这种单一位纠错编码技术是众所周知的,并且因此在本发明中将不被详细描述。
对于所说明的例子,所述存储器存取模块305被安排以将所接收的数据划分为两个数据段322、324。然而,在其它例子中,概念并不局限于将所接收的数据320恰好划分为两个数据段322、324,因此所接收的数据320可被划分为任何适当数量(n)的数据段,以及将纠错码应用于那些n个数据段以形成n个码字段,以及交织所述n个码字段以形成单一交织的数据码字。以这种方式,通过交织所述码字段312、317以形成在单一时钟周期内被写入存储器330的交织的数据码字340,每个单独码字段312、317的连续位被设置在所述交织的数据码字340的每n个连续位的一个上。因此,如果在存储器内存储的所述交织的数据码字内有小于或等于n个连续位被损坏,例如,作为单一错误事件的结果(例如,由单一α或中子粒子引起的),只有与任何一个码字段312、317相关的单一位将已经被损坏。因此,当所述交织的数据码字340随后从存储器330被读取并且所述码字段312、317被解交织时,传统的ECC单一位纠错技术可被用于纠正每个码字段312、317内的所述单一错误以检索原始数据段322、324,所述原始数据段322、324然后或可被重新组合以获得原始的用户数据320。因此,以这种方式,存储器300内存储的所述数据可免受单一错误事件(例如,由单一α或中子粒子引起的),所述单一错误事件通过使用传统的ECC单一位纠错技术,引起存储器300内存储的所述交织的数据码字340内的最多n个连续位被损坏。
根据一些示例实施例,所述存储器存取模块305可还被安排以将所述交织的数据码字340的连续位写入,比如说,所述存储器元件330内的一行存储器位单元335内的每i个连续位单元的一个上。例如,所述存储器存取模块305可能包括多路复用模块350,所述多路复用模块被安排以接收交织的数据码字340以及将所接收的交织的数据码字340的第一位写入一行存储器位单元335内的i个起始位单元中的一个(根据控制信号355)。所述存储器存取模块305还可能将所接收的交织的数据码字340的随后连续位写入存储器元件330内的一行存储器位单元335内的每第i个连续位单元。以这种方式,所述多路复用模块350可被安排以将i个交织的数据码字340写入单一行存储器位单元335以便当存储在所述存储器元件330内时,所述i个交织的数据码字彼此互相交织。
这种存储在一行存储器内的多路复用数据字,比如说关于包括“i”MUX因子的RAM块是为人所熟知的。因此,对于所说明的例子,所述存储器元件330可能包括RAM块,所述RAM块包括MUX因子,比如说‘4’,以及所述多路复用模块350形成所述存储器元件330的一部分并且被安排以在一行存储器位单元335内多路复用四个交织的数据码字340。因此,对于所说明的例子,所述存储器存取模块305可能包括既与所述存储器元件330互相整合又位于存储器元件330之外的部件,所述存储器存取模块305被安排以向其提供存取。
以这种方式,存储在一行存储器内的数据字的多路复用导致数据字的相邻数据位在一行存储器内不是彼此相邻被存储的。例如,其中i个数据字被多路复用到单一行存储器内,存储在所述行内的每第i个数据位属于相同的数据字。如果错误事件发生,例如α粒子或中子击中存储器块,使得单一行内的最多i个相邻位单元被损坏,任何数据字内只有一个位将被损坏。因此,根据一些示例实施例,结合上述描述的通过存储器存取模块305形成的交织的数据码字340,通过实施这种多路复用,即使单一行内i*n相邻位单元被损坏,通过使用传统的ECC单一位纠错技术,原始用户数据仍然可能被恢复。
例如,以下这个例子:通过所述存储器存取模块305将用户数据320划分为数据段322、324的数量(n),以及由所述ECC块310输出的码字段312、317的数量,包括比如说两个,被多路复用到一行存储器位单元335内的交织的数据码字340的数量(i)等于四。如果在单一行存储器位335内的i*n个相邻位,对于这个例子,包括8个相邻位,被损坏,例如,由于α粒子或中子击中存储器块,由于每第i个位属于相同的交织的数据码字340,每个交织的数据码字340内的n个连续位将被损坏。因此,对于这个例子,每个交织的数据码字340内只有两个连续位将被损坏。
正如前面所提到的,通过交织所述码字段312、317以形成然后被写入存储器330的交织的数据码字340,每个码字段312、317的连续位被设置在所述交织的数据码字340的每n个连续位的一个上。因此,对于这个例子,每个码字段312、317的连续位被设置在所述交织的数据码字340的每两个连续位的一个上。因此,当每个交织的数据码字340内的两个连续位已经被损坏,正如上面的例子中的情况,所述两个损坏的位对应于两个不同的码字段312、317。因此,当所述交织的数据码字340随后从存储器被读取以及所述码字段312、317被解交织时,每个数据码字段312、317将只包括单一损坏位。因此,传统的ECC单一位纠错技术可被用于纠正每个码字段312、317内的单一错误以检索原始数据段322、324,所述原始数据段然后可被重新组合以获得原始用户数据320。因此,以这种方式,存储器内存储的数据可防止在存储器元件330内的一行存储器位单元335内的最多i*n个连续位被损坏,对于上述的例子包括最多8个连续位,例如通过使用传统的ECC单一位纠错技术,作为一个单一错误事件的结果(例如,由单一α或中子粒子引起的)。
为了帮助理解,如下所述,本发明实施的一个详细的例子被提供。让我们假定需要带有32位用户字宽度的256-条目深RAM块,并且要求防止影响最多八个相邻RAM位单元的错误。为了避免使用慢的多元纠错码,已知的现有技术可能包括使用包括MUX因子‘8’的RAM块以提供所需的数据保护。RAM块将需要39位(32位用于用户数据以及7位用于ECC校验和)的宽度。
相反,对于本发明实施的一个例子,当与例如存储器存取控制器一起使用时,包括MUX因子‘4’的RAM块足以提供所需的数据保护,所述存储器存取控制器将所述用户数据划分为两个数据段,然后交织源自这两个数据段的ECC保护的码字段以生成要被存储于存储器内的交织的码字。例如,在图3中所说明的例子中,所述存储器存取控制器305可被安排以接收要被写入包括32位字的存储器内的数据,将所接收的数据划分为两个16位数据段,将6位纠错编码应用于每个数据段以形成两个22位码字段,以及交织所述两个22位码字数据段以形成44位交织的数据码字。然后所述44位交织的数据码字可被提供给包括MUX因子‘4’的RAM块330并且被写入一行335存储器330内每第四位单元。在这个例子中,RAM块将需要44位(32位用于用户数据以及12位用于ECC检验和-或者更准确地说2*16用于用户数据以及2*6用于ECC检验和)的宽度。
显著地,使用带有更高MUX因子的RAM块的需要被大大减轻以实现更高程度的保护,而不需要依赖于使用更慢的多元纠错码。当实施本发明上述例子需要更宽的RAM块时,对于更小RAM块,例如,包括使得(位数*MUX_因子)与(字数/MUX_因子)相差不超过2至4倍的尺寸,改进的面积效率及时间可被实现以弥补所述更宽的RAM块。
因此,当相对于已知现有技术,存储器存取模块305的所说明的例子使得防止了多位错误事件而不需要使用更慢的多元纠错码,而且不需要使用例如有增加的MUX因子的RAM块,其中所述多位错误事件损坏了在单一行存储器内的大量相邻位单元。
对于图3中所说明的例子,所述存储器存取模块305包括两个单独ECC块310、315,每个用于所述数据段322、324中的每个,所接收的用户数据被划分为所述数据段322、324。此外,在‘写入’方向,每个ECC块310、315接收单一数据段322、324并且输出单一的码字段312、317,所述码字段312、317包括所接收的数据段322、324和相应的纠错码。此外,在‘读取’方向,每个ECC块310、315接收单一码字段312、317并且输出相应的数据段322、324。为了便于对所说明的例子的理解,单独ECC块已被说明,以及根据其它示例实施例进行改编的存储器存取模块可不被局限于包括这种单独ECC块。例如,在‘写入’方向,这样的存储器存取模块可能包括一个或多个ECC块,被安排以接收多个数据段322、324以及将纠错码应用于每个所接收的数据段322、324以及输出产生的多个码字段312、317。此外,在‘读取’方向,这种ECC块可被安排以接收多个码字段312、317以及输出相应的数据段322、324。
此外,对于所说明的例子,在‘写入’方向的用户数据320在被提供给ECC块310、315之前被划分为数据段322、324。同样,在‘读取’方向的数据段322、324通过ECC块322、324被输出以随后被重新组合以恢复所述用户数据320。然而,将用户数据划分为数据段以及重新组合数据段以恢复用户数据可替代地至少部分在一个或多个ECC块内被执行。
此外,对于所说明的例子,所述存储器存取模块305实质地包括‘共同的’读取和写入路径;也就是说,对于所说明的例子,在读取操作期间从所述存储器元件330读取数据位采取与其在之前的写入操作期间实质相同的路径。然而,所述存储器存取模块305可能包括至少部分地单独读取和写入路径。例如,所述存储器存取模块305可能包括一个或多个‘读取’ECC块,被安排以接收数据段以及将纠错码应用于所接收数据段以形成码字段,还包括一个或多个单独‘写入’ECC块,被安排以接收码字段以及对其执行错误检测和纠正以检索数据段。在另一个例子中,单独存储器存取块可被用于实施读取和写入操作。例如,第一存储器存取块可被安排以接收要被写入存储器的数据,将所接收的数据划分为多个数据段,将纠错码应用于所述数据段以形成码字段,交织所述码字段以形成交织的数据码字,以及将所述交织的数据码字写入存储器。相反地,第二存储器存取块可被安排以从存储器读取数据码字,解交织所读取的数据码字以获得多个码字段,对所述解交织的数据码字段执行错误检测和纠正以检索数据段以及组合所检索的数据段以再现用户数据。
现参照图4,根据本发明的一些示例实施例,说明了一种为在存储器元件内存储的数据提供数据保护的方法的例子的简化的流程图400。所述方法从步骤410开始,并移动到步骤420,其中接收要被写入存储器的用户数据。然后,在步骤430,所述用户数据被划分为n个数据段。然后纠错码位在步骤440被应用于每个数据段以形成码字段,对于所说明的例子,所述码字段包括在步骤440的ECC扩展数据段。然后所述码字段在步骤450被交织以形成交织的数据码字,所述数据码字然后在单一时钟周期内被写入一行存储器位单元内的每第i个连续位单元,例如通过多路复用等等。所述方法然后在步骤470结束。
现参照图5,根据本发明的一些示例实施例,说明了一种为在存储器元件内存储的数据提供数据保护的方法的例子的简化的流程图500。所述方法从步骤510开始,并移动到步骤520,在所述步骤520,存储的数据在单一时钟周期内从一行存储器位单元内的每第i个连续位单元被读取。然后,在步骤530,所读取数据被解交织以获得n个码字段,对于所说明的例子,所述码字段包括ECC扩展数据段。然后,在步骤540,对所述码字段执行错误检测和纠正以检索用户数据段,以及然后在步骤550,所述用户数据段被组合以再现所述用户数据。然后在步骤560所述用户数据被输出,以及所述方法在步骤570结束。
在前面的说明中,参照本发明实施例的特定例子已经对本发明进行了描述。然而,很明显各种修改和变化可在不脱离所附权利要求中所陈述的本发明的宽范围精神及范围的情况下被做出。
这里所讨论的连接可以是任何类型的连接。该连接适于将信号从各节点、单元或设备传输或传输到各节点、单元或器件,例如通过中间设备。因此,除非暗示或说明,连接,例如,可能是直接连接或间接连接。连接可以被说明或描述,涉及到是单一连接、多个连接、单向连接、或双向连接。然而,不同实施例可能改变连接的实现。例如,可以使用单独单向连接而不是双向连接,反之亦然。此外,多个连接可以被替换为连续地或以时间复用方式传输多个信号的单一连接。同样地,携带多个信号的单一连接可以被分离成各种不同的携带这些信号的子集的连接。因此,存在传输信号的许多选项。
这里所描述的每个信号可被设计为正逻辑或负逻辑。在负逻辑信号的情况下,所述信号是低活性,其中,所述逻辑真状态相当于逻辑电平0。在正逻辑信号的情况下,所述信号是高活性,所述逻辑真状态相当于逻辑电平1。注意,这里所描述的任何信号可以被设计为负逻辑信号或正逻辑信号。因此,在替代实施例中,那些被描述为正逻辑信号的信号可被实施为负逻辑信号,以及那些被描述为负逻辑信号的信号可被实施为正逻辑信号。
此外,对于上述说明的例子,被安排以执行单一位纠错技术的ECC块已被描述以应用纠错码至数据段以形成码字段。然而,在其它示例实施例中,多位纠错技术可被替代地应用于数据段以形成码字段。
本领域所属技术人员将认识到逻辑块之间的界限仅仅是说明性的并且替代实施例可能合并逻辑块或电路元素或在各种逻辑块或电路元素上强加替代的分解功能。因此,应了解,本发明描述的架构仅仅是示范的,并且事实上实现相同功能的很多其它架构可以被实现。
为实现相同功能的任何组件的布置是有效地“关联”以便所需的功能得以实现。因此,为实现特定功能,本发明中结合在一起的任何两个组件可以被看作彼此“相关联”以便所需的功能得以实现,不论架构还是中间组件。同样地,如此关联的任何两个组件还可以被认为是彼此被“可操作连接”或“可操作耦合”以实现所需的功能。
此外,本领域所属技术人员将认识到上述描述的操作之间的界限仅仅是说明性的。多个操作可被组合成单一操作,单一操作可分布在附加操作中以及操作可至少在时间上部分地重叠而被执行。而且,替代实施例可能包括特定操作的多个例子,并且操作的顺序可在各种其它实施例中被改变。
又如,在一个实施例中,说明的例子可被作为位于单一集成电路上的电路或在相同器件内的电路被实施。或者,例子可作为以一种合适的方式彼此相连接的任何数量的单独集成电路或单独器件被实施。例如,图3中所说明的存储器元件330以及所述存储器存取模块305的相关联的多路复用电路可在第一集成电路或器件内被实施,同时所述存储器存取模块305的剩余组件可在一个或多个其他集成电路或器件上被实施。
又如,例子或其中的一部分可能作为物理电路的软或代码表征被实现,或作为能够转化成物理电路的逻辑表征,例如在任何合适的类型的硬件描述语言中被实现。
此外,本发明不限定在非程序化硬件中被实现的物理器件或单元,但也可以应用在可编程器件或单元中。这些器件或单元通过操作能够执行所需的器件功能。该执行是根据合适的的程序代码,例如,主机、微型计算机、服务器、工作站、个人电脑、笔记本、个人数字助理、电子游戏、汽车和其它嵌入式系统、手机和其它无线器件,在本申请中通常表示“计算机系统”。
然而,其它修改、变化和替代也是可能的。说明书和附图相应地被认为是说明性的而非限定意味。
在权利要求中,放置在括号之间的任何参考符号不得被解释为限定权利要求。词语“包括”不排除在权利要求中列出的那些元素或步骤之外的其它元素或步骤的存在。此外,本发明所用的“a”或“an”被定义为一个或多个。并且,在权利要求中的引入性术语,如“至少一个”以及“一个或多个”,不应被解释为,不定冠词“a”或“an”所引入的其它权利要求元素将包括这些引入的权利要求元素的任何特定权利要求限定为只包含一个这样的元素的发明,即使同一权利要求中包括引入性短语“一个或多个”或“至少一个”以及不定冠词,例如“a”或“an”。使用定冠词也是如此。除非另有说明,使用术语如“第一”以及“第二”是用于任意区分这些术语描述的元素的。因此,这些术语不一定表示时间或这些元素的其它优先次序。某些特定手段在相互不同的权利要求中被列举并不表示这些手段的组合不能被用于获取优势。
Claims (11)
1.一种为在随机存取存储器(RAM)元件内存储的数据提供数据保护的方法(400),所述方法包括:
接收要被写入存储器的数据(420);
划分所接收的数据为多个数据段(430);
应用纠错码至所述数据段以形成码字段(440);
交织所述码字段以形成交织的数据码字(450);以及
在单一时钟周期内将所述交织的数据码字的连续位写入存储器的一行存储器位单元内的每i个连续位单元中的一个(460),其中每个码字段的连续位被设置在所述交织的数据码字的每n个连续位之一,其中n是被交织的码字段的数量。
2.根据权利要求1所述的方法(400),其中写入连续位包括将所述交织的数据码字的连续位写入所述存储器的一行存储位单元内的每四个连续位单元中的一个(460)。
3.根据权利要求1或权利要求2所述的方法(400),其中所述方法还包括应用单一位纠错码至所述数据段以形成码字段(440)。
4.根据权利要求1或权利要求2所述的方法(400),其中所述方法还包括划分所接收的数据为两个数据段。
5.一种为在随机存取存储器(RAM)元件内存储的数据提供数据保护的方法(500),所述方法包括:
在单一时钟周期内从存储器的一行存储器位单元内的每i个连续位单元中的一个读取数据码字的连续位(520);
解交织所读取的数据码字以获得多个码字段(530);
对解交织的数据码字段执行错误检测和纠正以检索数据段(540);以及
组合所检索的数据段以再现用户数据(560)。
6.根据权利要求5所述的方法(500),其中读取连续位包括从所述存储器的一行存储位单元内的每四个连续位单元中的一个中读取所述数据码字的连续位(520)。
7.根据权利要求5所述的方法(500),其中所述方法还包括对解交织的数据码字段执行单一位错误检测和纠正以检索数据段(540)。
8.根据权利要求5或权利要求7所述的方法(500),其中所述方法还包括解交织所读取的数据以获得两个码字段(530)。
9.根据权利要求5所述的方法(500),其中所述方法还包括:
从存储器读取44位数据码字(520);
解交织所述44位数据码字以获得两个22位码字段(530);
对解交织的数据码字段执行错误检测和纠正以检索两个16位数据段(540);以及
组合所述两个16位数据段以再现32位数据字(560)。
10.一种集成电路器件(300),包括存储器存取模块(305),用于将接收的数据写入随机存取存储器(RAM),所述存储器存取模块(305)被安排以:
接收要被写入存储器(330)的数据(320);
划分所接收的数据为多个数据段(322、324);
应用纠错码至所述数据段(322、324)以形成码字段(312、317);
交织所述码字段(312、317)以形成交织的数据码字(340);以及
在单一时钟周期内将所述交织的数据码字的连续位写入存储器的一行存储器位单元内的每i个连续位单元中的一个(330),其中每个码字段的连续位被设置在所述交织的数据码字的每n个连续位之一,其中n是被交织的码字段的数量。
11.一种集成电路器件(300),包括存储器存取模块(305),用于从随机存取存储器(RAM)读取数据,所述存储器存取模块(305)被安排以:
在单一时钟周期内从存储器的一行存储器位单元内的每i个连续位单元中的一个读取数据码字的连续位(520);
解交织所读取的数据码字以获得多个码字段(530);
对解交织的数据码字段执行错误检测和纠正以检索数据段(540);以及
组合所检索的数据段以再现用户数据(560)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2010/052617 WO2011154780A1 (en) | 2010-06-11 | 2010-06-11 | Method for providing data protection for data stored within a memory element and integrated circuit device therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102939590A CN102939590A (zh) | 2013-02-20 |
CN102939590B true CN102939590B (zh) | 2016-09-14 |
Family
ID=45097591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080067368.XA Active CN102939590B (zh) | 2010-06-11 | 2010-06-11 | 为在存储器元件内存储的数据提供数据保护的方法及其集成电路器件 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8977933B2 (zh) |
EP (1) | EP2580703A4 (zh) |
CN (1) | CN102939590B (zh) |
WO (1) | WO2011154780A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462992B (zh) * | 2013-09-17 | 2017-09-22 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
US9213595B2 (en) | 2013-10-15 | 2015-12-15 | International Business Machines Corporation | Handling errors in ternary content addressable memories |
CN103685552B (zh) * | 2013-12-25 | 2017-11-07 | 烽火通信科技股份有限公司 | 一种小内存设备的软件升级方法 |
US20170185328A1 (en) * | 2015-12-29 | 2017-06-29 | Alibaba Group Holding Limited | Nand flash storage error mitigation systems and methods |
US10878892B2 (en) | 2018-04-23 | 2020-12-29 | Arm Limited | Integrated circuit using discharging circuitries for bit lines |
US11637657B2 (en) * | 2019-02-15 | 2023-04-25 | Intel Corporation | Low-latency forward error correction for high-speed serial links |
US11249837B2 (en) | 2019-03-01 | 2022-02-15 | Intel Corporation | Flit-based parallel-forward error correction and parity |
US10990471B2 (en) * | 2019-05-29 | 2021-04-27 | Bae Systems Information And Electronic Systems Integration Inc. | Apparatus and method for reducing radiation induced multiple-bit memory soft errors |
US11740958B2 (en) | 2019-11-27 | 2023-08-29 | Intel Corporation | Multi-protocol support on common physical layer |
US11342915B1 (en) | 2021-02-11 | 2022-05-24 | Bae Systems Information And Electronic Systems Integration Inc. | Cold spare tolerant radiation hardened generic level shifter circuit |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1452321A (zh) * | 2002-04-16 | 2003-10-29 | 汤姆森特许公司 | 随机存取存储器需求减小的纠错码块编码器和解码器 |
CN1650270A (zh) * | 2002-04-25 | 2005-08-03 | 国际商业机器公司 | 用破坏读取高速缓冲存储器来缓冲的破坏读取随机访问存储器系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100493263B1 (ko) | 1998-05-27 | 2005-06-02 | 가부시키가이샤 엔.티.티.도코모 | 인터리빙을 행하기 위한 방법 및 장치와, 디인터리빙을행하기 위한 방법 및 장치 |
AU2284301A (en) | 2000-01-03 | 2001-07-16 | Icoding Technology, Inc. | System and method for high speed processing of turbo codes |
US6964005B2 (en) | 2001-06-08 | 2005-11-08 | Broadcom Corporation | System and method for interleaving data in a communication device |
US7493457B2 (en) * | 2004-11-08 | 2009-02-17 | Sandisk Il. Ltd | States encoding in multi-bit flash cells for optimizing error rate |
WO2009053962A2 (en) | 2007-10-22 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US20090177943A1 (en) | 2008-01-09 | 2009-07-09 | Broadcom Corporation | Error correction coding using soft information and interleaving |
US8151174B2 (en) | 2008-02-13 | 2012-04-03 | Sunrise IP, LLC | Block modulus coding (BMC) systems and methods for block coding with non-binary modulus |
US8190848B2 (en) | 2008-07-28 | 2012-05-29 | Lantiq Deutschland Gmbh | Interleaver memory allocation method and apparatus |
US8458572B1 (en) * | 2009-11-24 | 2013-06-04 | Apple Inc. | Efficient storage of error correction information in DRAM |
-
2010
- 2010-06-11 EP EP10852816.7A patent/EP2580703A4/en not_active Withdrawn
- 2010-06-11 WO PCT/IB2010/052617 patent/WO2011154780A1/en active Application Filing
- 2010-06-11 CN CN201080067368.XA patent/CN102939590B/zh active Active
- 2010-06-11 US US13/634,760 patent/US8977933B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1452321A (zh) * | 2002-04-16 | 2003-10-29 | 汤姆森特许公司 | 随机存取存储器需求减小的纠错码块编码器和解码器 |
CN1650270A (zh) * | 2002-04-25 | 2005-08-03 | 国际商业机器公司 | 用破坏读取高速缓冲存储器来缓冲的破坏读取随机访问存储器系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2580703A1 (en) | 2013-04-17 |
US20130080859A1 (en) | 2013-03-28 |
EP2580703A4 (en) | 2013-11-27 |
WO2011154780A1 (en) | 2011-12-15 |
US8977933B2 (en) | 2015-03-10 |
CN102939590A (zh) | 2013-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102939590B (zh) | 为在存储器元件内存储的数据提供数据保护的方法及其集成电路器件 | |
CN105453049B (zh) | 使用纠错指针处置存储器中的错误 | |
CN104798047B (zh) | 错误检测和校正装置及方法 | |
CN103473146B (zh) | 存储器控制方法、存储器控制器以及电子装置 | |
US7149945B2 (en) | Systems and methods for providing error correction code testing functionality | |
CN101685381B (zh) | 固态大容量存储装置的数据串流 | |
CN101573761B (zh) | 具有可变读取阈值的非易失性存储器 | |
DE10233642B4 (de) | Fehlerkorrektur-Kodierung und -Dekodierung in einer Festkörper-Speicherungsvorrichtung | |
CN102339641B (zh) | 检错/纠错校验模块及该模块读写数据的方法 | |
CN102117662B (zh) | 用于8-位存储器设备的差错校正机制 | |
US20030140300A1 (en) | (146,130) error correction code utilizing address information | |
CN103136068A (zh) | 用于页复制操作的可纠错的非易失性存储器及其方法 | |
CN107229881A (zh) | 以sram为基础的认证电路 | |
CN110389852A (zh) | 错误检测和纠正电路 | |
CN105023613B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN108182125A (zh) | 近阈值电压下高速缓存多位硬错误的检测及容错装置与方法 | |
CN103594120A (zh) | 以读代写的存储器纠错方法 | |
CN109840162B (zh) | 存储器件及其操作方法 | |
CN103413571B (zh) | 存储器和利用该存储器实现检错纠错的方法 | |
CN104658609A (zh) | 用于存储器系统的纠错码分布的方法和系统 | |
CN106548802A (zh) | 固态存储装置及其相关读取控制方法 | |
CN103593252B (zh) | 具有动态错误侦测及更正的存储器 | |
CN106201907A (zh) | 数据重新写入方法以及使用该方法的装置 | |
CN102339648A (zh) | 一种检错/纠错校验模块的检测方法及装置 | |
CN103985410B (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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: Texas in the United States Patentee after: NXP America Co Ltd Address before: Texas in the United States Patentee before: Fisical Semiconductor Inc. |
|
CP01 | Change in the name or title of a patent holder |