CN1841334A - 存储控制电路及存储控制电路中的地址错误检验方法 - Google Patents
存储控制电路及存储控制电路中的地址错误检验方法 Download PDFInfo
- Publication number
- CN1841334A CN1841334A CNA2005100822859A CN200510082285A CN1841334A CN 1841334 A CN1841334 A CN 1841334A CN A2005100822859 A CNA2005100822859 A CN A2005100822859A CN 200510082285 A CN200510082285 A CN 200510082285A CN 1841334 A CN1841334 A CN 1841334A
- Authority
- CN
- China
- Prior art keywords
- bit
- address
- data
- check code
- storage unit
- 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
- 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/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
一种用于在存储控制电路中进行地址错误检验的方法,存储控制电路将数据存储在由地址指定的存储区域中,其中,该方法用偶数比特对分配给地址的第一编码进行编码;用奇数比特对分配给写入存储单元数据的第二编码进行编码;基于第一和第二编码产生检验码,并将检验码存储在相应于被写到存储单元的数据的存储单元中;以及基于从存储单元读取的数据、相应于数据读取的检验码及读取地址进行错误检查,从而检测多比特地址错误。
Description
技术领域
本发明涉及一种用于存储器等的存储控制电路,并且更具体地涉及一种用于检测有关地址的多比特错误的存储电路以及该存储控制电路中检验错误的方法。
背景技术
在用于存储器等的存储控制电路中存储区域是由地址来指定,以将数据输入到存储控制电路或从存储控制电路输出。例如,将所需的数据写入由地址指定的存储区域,反之,将数据从由地址指定的存储区域读出。
通常,由于各种原因(例如信号线中的噪声、用来在信号线之间进行传送的有故障的缓冲器、信号线中的开断、由电磁波引起的软件错误),存储控制电路可能产生包括地址格式错误,或者数据值反转或固定为0或1这类错误。在数据写期间出现地址错误的情况下,例如,数据被写入的存储区域不同于位于所需地址的存储区域。这可能导致结合存储控制电路的诸如PC(个人计算机)之类的信息处理装置失控。
同样,待写的数据中的错误可能导致信息处理装置失控,因此这是不希望出现的。同样,数据读取期间的地址或者数据错误会严重影响结合存储控制电路的信息处理装置。
为此,在传统的实例中提出了错误检测技术。例如,在日本专利申请公开No.1980-8617、1978-62936、1996-235793、1990-206855及1977-2244中描述了纠错码(ECC)的产生,其能够利用存储装置中存储的地址信息和数据校正单一比特错误及检测两比特错误。
另一方面,图1示出了一种根据现有技术的错误检测方法。图1示出了存储控制电路的一个实例,其能够基于地址及数据的奇偶性产生检验码,并将检验码与数据一起写到指定的地址。
地址奇偶检验码产生电路11基于写入数据指定的地址的奇偶比特(如图1实例中的奇数奇偶性)产生地址码103。图1示出了由地址奇偶检验码产生电路11产生比特图形的实例。“X”标志表示当奇偶比特为1时处于高电平的那些比特。
数据检验码产生电路12基于待写数据产生数据码104。尽管没有示出,但由数据检验码产生电路12产生的比特图形(bit pattern)被设计为提供所需的编码。
在图1的情况,给定地址101(“01010101”)的奇偶比特(奇数奇偶性)为1。因此,产生“11111000”即开始的五比特被设置为高电平的编码作为地址码103。数据检验码产生电路12产生例如“00101001”作为数据码104。取二者的异或(EOR)产生检验码105(“11010001”),并且检验码105与数据102(“00000001”)一起被写到由地址101指定的存储区。
然后,在读取期间,从读取的数据102和地址101产生检验码,以在数据写期间读取数据。将产生的检验码与读取的检验码105比较。将两个检验码之间的不匹配检测即认为发生错误。
但是,现有技术存在这样的问题:即地址多比特错误不能总被检测。在图1所示的传统实例中,例如,即使地址中两比特反转(例如,如果第一比特和第二比特被转换),奇偶比特仍保持1。因此,这种反转没有被检测为错误。
发明内容
基于以上所述,本发明的目的是提供一种用于检测有关地址的多比特错误的存储控制电路,以及用于在存储控制电路中进行错误检查的方法。
作为本发明的一个方案,本发明提供一种存储控制电路来实现以上目的,存储控制电路包括:存储单元,能够在地址指定的存储区中存储数据;检验码产生单元,能够基于写入该存储单元的数据及为写入该数据指定的地址产生检验码,该检验码被存储到与写入该存储单元的数据相应的该存储单元;以及检验码检查单元,能够基于从该存储单元读取的数据、相应于读取的数据的检验码及为读取数据指定的地址进行错误检测,其中该检验码产生单元及该检验码检查单元编码第一编码和第二编码,用偶数比特对分配给地址的第一编码进行编码;用奇数比特对分配给写入存储单元数据的第二编码进行编码;以及其中该检验码产生单元及该检验码检查单元基于第一编码和第二编码产生或检查相应于写入的数据或读取的数据的检验码。
优选地,该地址被定界并分成多个组,每个组具有一个比特或多个比特;以及利用比特图形用偶数比特编码第一编码,该比特图形能够识别多个组的每组中的每一比特或多个比特的错误。优选地,一个滚动比特进一步被分配给该地址,所述滚动比特的值随指定写数据到存储单元或从存储单元读出数据的每个地址周期被反转;以及用偶数比特编码分配给含有滚动比特的地址的第一编码。
作为本发明的第二个方案,通过提供一种检验存储控制单元中的地址错误的方法来达到以上目的,该存储控制电路具有能够将数据存储在由地址指定的存储区域的存储单元,该方法包括:用偶数比特对分配给地址的第一编码进行编码;用奇数比特对分配给写入存储单元数据的第二编码进行编码;基于第一和第二编码产生检验码,并将该检验码存储在与被写到存储单元的数据相对应的存储单元中;以及基于从该存储单元读取的数据、相应于读出数据的检验码及读地址进行错误检测。
优选地,该地址被定界并分成多个组,每个组具有一个比特或多个比特;利用比特图形用偶数比特编码第一编码,该比特图形能够识别多个组的每组中的每一比特或多个比特的错误。一个滚动比特进一步被分配给该地址,所述滚动比特的值随指定写数据到存储单元或从存储单元读出数据的每个地址周期被反转;以及用偶数比特编码分配给含有滚动比特的地址的第一编码。
根据本发明的地址错误检测方法的使用允许检查有关地址的多比特错误,而不需要增加检验码比特数。
附图说明
当结合附图时,从下文中的详细描述将更清楚本发明的以上及其他目的、方案、特征及优点,附图中:
图1是根据现有技术的错误检测方法的说明性图;
图2是表示根据本发明实施例的存储控制电路的结构实例图;
图3A至3C表示由检验码产生及检查电路产生的比特图形的实例;图3A示出32比特数据的开始16比特的比特图形;图3B是表示32比特数据的末尾16比特的比特图形;图3C是关于9比特地址的比特图形;
图4是在读取地址中出现单一比特错误的情况下怎样进行错误检测的说明性图;
图5是在读取地址中出现两比特错误的情况下怎样进行错误检测的说明性图;
图6是在读取地址中出现三比特错误的情况下怎样进行错误检测的说明性图;
图7是旨在减少EOR门级数的有关地址的比特图形实例;
图8A是表示本实施例中的物理存储器结构图;图8B是列提取及说明性图;图8C是地址分组的说明性图;
图9A是滚动比特(roll bit)的说明性图;图9B是在第一次循环中数据写入的说明性图;图9C是第二次循环中数据写入的说明性图;
图10是滚动比特被指定时相关地址的比特图形的实例;以及
图11是表示本实施例的存储控制电路的改进实例图。
具体实施方式
下面,将参照附图描述本发明的实施例。应该理解本发明的技术范围不限于下文中的实施例,而应覆盖本发明所限定的及其等效代换。
图2是表示根据本发明实施例的存储控制电路的结构实例图。检验码产生电路21接收为写入数据指定的地址201(下文称为写地址)以及将存储在存储控制电路中的数据202(下文称为写数据)。
检验码产生电路21基于写地址201和写数据202产生分配写数据202的检验码。下文将参照图3A至3C描述由检验码产生电路21产生的比特图形。
存储器25是本实施例的存储控制电路中的存储单元。存储器25设置有由地址指定的多个存储元件,并且这多个存储元件构成存储区。
写寄存器(WR)22接收待存储在存储器25中的信息(写数据202和检验码204)。写寄存器22暂时存储待存储在存储器25中的信息。
写解码器(WDEC)23接收写地址201。写解码器23驱动相应于写地址201的存储器25中的存储区,以在驱动的存储区中存储来自写寄存器22的信息。
读解码器(RDEC)24接收读地址203。读解码器24读取存储在相应于读地址203的存储器25中存储区的信息并将信息存储在读寄存器(RR)26中。
读寄存器26接收从存储器25(相应于读地址203的写数据202和检验码204)读取的信息。读寄存器26暂时存储从存储器25读取的信息。
检验码检查电路27接收读地址203及从存储器25读取的信息(相应于读地址203的写数据202和检验码204)。检验码检查电路27基于读地址203及相应读地址203的写数据202产生检验码,并比较产生的检验码与相应于读地址203的检验码204。
在比较过程中,检验码检查电路27产生出错比特(syndrome bits)。出错比特即为通过产生的编码和相应于读地址203的检验码204的异或产生的编码。
当出错比特都是0时检验码检查电路27确定没有错误出现,并输出相应于读地址203的写数据202。如果任一出错比特含有1,则检验码检查电路27确定有错误出现,并输出错误通知。由检验码检查电路27产生的检验码与由检验码产生电路21产生的检验码相同,并且下文将参照图3A至3C进行描述。
本实施例的存储控制电路其特征在于由检验码产生电路21和检验码检查电路27产生检验码的比特图形。本实施例的存储控制电路用偶数比特对分配给写地址201的码进行编码,用奇数比特对分配给写数据202的码进行编码,以及取二者的异或(EOR)以产生检验码。
图3A至3C表示由检验码产生电路21和检验码检查电路27产生的比特图形的实例图。图3A至3C表示对于32比特写数据202和9比特写地址201的本实施例的存储控制电路产生的检验码的实例。
本实施例的存储控制电路采用三比特编码数据部分。即如果在32比特数据中每一比特的位置处的比特为1,则在检验码中被设置为高电平的比特数为三。本实施例的存储控制电路采用两比特编码地址部分。
图3A是表示32比特数据的开始16比特的比特图形图,图3B是表示32比特数据的末尾16比特的比特图形;以及图3C是关于9比特地址的比特图形。“X”标志表示当该比特(数据或地址)为1时被设置为高电平(在产生的编码中)的那些比特。
例如,在从末尾起在第二比特和第四比特为1的32比特数据“00000000000000000000000000001010”的情况下,取两个编码(当图3A中的“D28”为1时被设置为高电平的比特构成的编码“00001101”以及当图3B中的“D30”为1时被设置为高电平的比特构成的编码“00010101”)的异或,以产生“00011000”作为数据的编码(第二编码)。
当此数据被写到地址“101010101”时,取五个编码(当图3C中的“A0”为1时被设置为高电平的多个比特构成的编码“11000000”以及当图3C中的“A2”、“A4”、“A6”及“A8”为1时被分别设置为高电平的多个比特构成的编码“10010000”、“10000100”及“01010000”)的异或,以产生“00000101”作为用于地址的编码(第一编码)。
存储控制电路取用于地址的第一编码“00000101”和用于数据的第二编码“00011000”的异或,以最终产生检验码。在这种情况下,检验码为“00011101”。
另一方面,图3A至3C中数据部分的比特图形彼此不同。例如,数据中用于第一比特D00的比特图形“00001110”与数据中用于其他比特Dxx的任何其他比特图形都不同。同样,地址部分的比特图形彼此不同。
如上所述,本实施例的存储控制电路改变被分配地址和数据的编码系统,从而允许检查地址中出现的错误。在本实施例的存储控制电路中,用两比特来对分配给地址的码进行编码。因此,地址中出现的错误被检测为出错比特中的两比特数据错误。
应当注意,尽管在本实施例中存储控制电路用两比特来对分配给写地址201的码进行编码,而用三比特来对分配给写数据202的码进行编码,但用于编码的比特数不限于此。通常,只要用两比特或者更多的偶数比特对分配给写地址201的码进行编码,以及用三比特或者更多的奇数比特对分配给写数据202的码进行编码,即可获得与本实施例类似的效果。
在本实施例中,如果出错比特的比特图形与图3A或者3B中的比特图形相同,则表示相应数据比特有一比特错误。当相应数据比特反转(校正)时能够获得确正的数据。另一方面,只有一个设置为高电平的出错比特的比特图形表示检验码的单一比特错误,并且此错误可被忽略。当出错比特都是0时,这表示没有出现错误。如果出错比特不符合这些情形中的任一种,则被识别为两比特数据或地址错误。
为了检查两比特数据错误,每个数据比特被分配由三比特或更多的奇数比特构成的比特图形,如图3A和3B所示。作为在两个任意数据比特的反转中取两个奇数比特图形的异或的结果,导致出错比特具有偶数比特图形,从而允许识别该反转为两比特错误。就地址错误而言,由于被分配偶数比特图形,作为在一比特或多比特的反转中取两个偶数比特图形的异或的结果,出错比特具有偶数比特图形。因此,将该反转识别为两比特错误。
在图3C的比特图形实例中,比特图形被分别分配为两组,一组是从比特A0到A6,而另一个组是从比特A7到A8。在图3C的比特图形实例中,出错比特具有偶数比特图形,且具有地址组中以所有的不完全组合的两比特或更多比特(比特1至7的任意组合)。因此,任意这种组合可被识别为两比特错误。应该注意的是,在围绕跨越两个地址组的三比特或更多比特的错误中(例如,关于比特A0、A1及A7的同时反转的错误),出错比特全部设置为0。因此,错误不能被检查出来。但是,构成每个地址组的比特同时出错的可能性小。因此,出现检查不到的错误即将所有出错比特设置为0的机会很小。
图4是在读取地址203中出现一比特错误的情况下怎样进行错误检测的说明性图。这幅图表示由于在读地址203被输入到读解码器24的路径中途出现的错误位置300,在地址中怎样产生一比特反转。数据写被正常进行,且数据和检验码被存储在地址“101010101”。
然后,读地址203(“101010101”)被指定,以读取写入的数据。由于读地址203经过错误的位置300并产生一比特反转(在此反转的读地址中的第一比特),从而读解码器24接收错误的地址303(“001010101”)。在相应的地址存储的数据和检验码经由读寄存器26被输入到检验码检查电路27。
另一方面,读地址203被正常输入到检验码检查电路27。检验码检查电路27基于已经读取的数据和检验码以及读地址203产生出错比特401。
产生的出错比特401是错误地址303(“001010101”)处的检验码304(“11000101”)和读地址203(“101010101”)处的检验码305(“00000101”)的异或。这里,出错比特401为“11000000”,并且将该地址中的一比特反转检测为两比特数据错误。
图5是在读取地址203中出现两比特错误的情况下怎样进行错误检测的说明性图。除了出现两比特错误之外,图5与图4相同。
图5表示由于在读地址203被输入到读解码器24的路径中途出现的错误位置300,在地址中怎样产生两比特反转。数据写被正常进行,且数据和检验码被存储在地址“101010101”。
然后,读地址203(“101010101”)被指定,以读取写入的数据。由于读地址203经过错误的位置300并产生两比特反转(在此反转的读地址中的第一比特和第二比特),从而读解码器24接收错误的地址303(“011010101”)。在相应的地址存储的数据和检验码经由读寄存器26被输入到检验码检查电路27。
另一方面,读地址203被正常输入到检验码检查电路27。检验码检查电路27基于已经读取的数据和检验码以及读地址203(“101010101”)产生出错比特401。产生的出错比特401是错误地址303(“011010101”)处的检验码304(“01100101”)和读地址203(“101010101”)处的检验码305(“00000101”)的异或。这里,出错比特401为“01100000”,并且将该地址中的两比特反转检测为两比特数据错误。
图6是在读取地址203中出现三比特错误的情况下怎样进行错误检测的说明性图。除了出现三比特错误之外,图5与图4相同。
图6表示由于在读地址203被输入到读解码器24的路径中途出现的错误位置300,在地址中怎样产生三比特反转。数据写被正常进行,且数据和检验码被存储在地址“101010101”。
然后,读地址203(“101010101”)被指定,以读取写入的数据。由于读地址203经过错误的位置300并产生三比特反转(在此反转的读地址中的第1比特、第2比特及第3比特),从而读解码器24接收错误的地址303(“010010101”)。在相应的地址存储的数据和检验码经由读寄存器26被输入到检验码检查电路27。
另一方面,读地址203被正常输入到检验码检查电路27。检验码检查电路27基于已经读取的数据和检验码以及读地址203(“101010101”)产生出错比特401。产生的出错比特401是错误地址303(“010010101”)处的检验码304(“11110101”)和读地址203(“101010101”)处的检验码305(“00000101”)的异或。这里,出错比特401为“11110000”,并且将该地址中的三比特反转检测为两比特数据错误。如上所述,在出错比特401中地址错误被检测为偶数比特错误。
在图3A至3C所示的检验码比特图形中,在逐行检查检验码的单个比特中,如果一行具有“x”标记的数量,则与“x”标记的数量相等级数的EOR门将被连接。这导致较长的延迟。为此,可以对检验码产生电路21和检验码检查电路27进行设计,以平均单个行中的“x”标记数量,由此减少多级连接的EOR门。
图7是旨在减少EOR门级数的有关地址的比特图形实例。如果由图7替代图3C,则显然检验码第一比特C0所需的EOR门的级数少于图3C。
另一方面,虽然在本实施例中八比特(C0至C7)被用作检验码,但检验码所需的比特数x仅满足以下条件。即如果当不考虑排列从n个目标(thing)取r个目标时合并表示为nCr,则对于数据xCd>(数据比特数)必须为真。这里,d是所有的奇数,3或者更大,其用于编码数据。因此,(8C3=56)+(8C5=56)+(8C7=8)=120。这个数大于数据比特数32。因此,显然满足该条件。
对于地址,两个条件必须被满足。第一个条件是xCa>(地址比特数)必须为真。这里,a为所有的偶数,2或者更大,其用于编编码数据。因此,(8C2=28)+(8C4=70)+(8C6=28)+(8C8=1)=127。这个数量大于地址比特数9。因此,显然该条件被满足。对于地址的第二个条件是检验码比特数必须大于地址组中的比特数。这里,地址组被分成两组,一组是从比特A0至A6,而另一组是从比特A7至A8。这些组分别具有七比特和两比特,而检验码具有八比特,其大于地址组的比特数。因此,显然满足该条件。
接下来,描述地址组的实例。
图8A是表示本实施例中的物理存储器结构图。这幅图表示存储器被分成四列(列0至列3)并表示写入40比特数据、数据和检验码的总比特数。
图8B是列提取及说明性图。每列含有能够存储128组40比特数据(第0行至第127行)的存储元件。
图8C是地址分组的说明性图。在图8A至8C所示的存储器情况下,9比特地址中,从第一比特起的七比特被用于确定一行,而剩余的两比特被用于确定一列。这个地址组被分成两部分,七比特确定一列,两比特确定一列。
就目前为止,描述了在数据读取期间对地址错误的检测。从上述说明中可清楚看出,写到存储器的检验码含有编码的写地址信息,并且此信息与读地址之间的不匹配被检测为地址错误。容易设想,写地址错误与读地址错误一样能够被检测。我们假定写地址产生错误并且数据和检验码被写到存储器中错误的地址。应当注意,我们假定检验码已经从正确的写地址产生。如果写到错误地址的数据和检验码被读取,并且对检验码进行检查,则在读检验码中含有的读地址和写地址信息不匹配。因此,能够检查出地址错误。但是,注意,在写地址出现错误的情况,旧的数据和检验码仍然保持在新的数据和检验码应该已经被写入的地址。即使旧的数据和检验码被读取,读检验码中的读地址和写地址信息匹配。因此,不能检测出地址错误。为了在旧的数据和检验码被读取时检查错误,滚动比特被加入,其值在周期地每次写数据到和从存储单元读出的寻址中被反转。
图9A是滚动比特的说明性图。开始的9比特地址为“00000000”,而末尾的地址为“11111111”。每次周期地从“00000000”寻址至“11111111”时滚动比特反转,然后重新返回至“00000000”。
图9B是在第一周期中数据写入的说明性图。在第一周期中数据写入时,产生检验码且滚动比特设置为0,并且与数据一起被写入。
图9C是第二周期中数据写入的说明性图。在第二周期中数据写入时,当写地址201经过第一地址时,产生检验码且滚动比特被设置为1,并与数据一起被写入。我们假定图9C中在试图将第二周期的数据写到地址“000000110”过程中出现三比特反转,并且从而数据被写到地址“000010101”。
当滚动比特被设置为0时产生的检验码仍保留在相应于地址“000000110”的存储器25中。通过将滚动比特设置为1产生的检验码被存储在相应于地址“000010101”的存储器25中(尽管事实上周围的存储器区域具有滚动比特0)。
接下来,我们假定通过将滚动指定为1来执行数据读取。在这种情况下,如果从地址“000000110”读取数据并对数据进行错误检查,由于通过滚动比特为0产生的检验码仍保留在此地址处,从而会检查出错误。
图10为滚动比特被指定时有关地址的比特图形的实例。与图3C相比,这幅图表示当添加的滚动比特(AX)为1时其所有比特都被设置为高电平的实例。即使在这种情况下,滚动比特被编码为具有偶数比特。
图11是表示本实施例的存储控制电路的改进实例图。改进实例不同于图2所示的存储控制电路之处在于可在具有合并写解码器23和读解码器24的功能的解码器(DEC)30的单端口结构中获得,而不是分别设置有写解码器23和读解码器24的双端口结构。解码器30接收写和读地址作为地址200,并处理每个这些地址。
即使在这种情况下,也能够获得与通过具有图2所示结构的本实施例的存储控制电路类似的效果。
如上所述,本实施例的存储控制电路改变用于分配地址和数据的编码系统,从而允许检测甚至地址中出现的多比特错误。在本实施例的存储控制电路,分配地址的编码被编码成两比特。因此,地址中出现的错误被检测为出错比特中的两比特数据错误。
此外,本实施例的存储控制电路具有称为滚动比特的虚拟比特,该滚动比特被添加到地址并以相同的方式对其进行编码,从而允许检测没有进行数据写入的地址中的错误。
这里,已经详细描述了本发明示意性及目前优选的实施例,应该理解发明概念可以各种其他方式进行实施及利用,并且所附说明和限定旨在解释为包括除了现有技术限定的范围之外的这种改变。
Claims (6)
1、一种存储控制电路,包括:
存储单元,能够在由地址指定的存储区中存储数据;
检验码产生单元,能够基于写入该存储单元的数据及为写入该数据指定的地址产生检验码,该检验码被存储到与写入该存储单元的数据相应的存储单元;以及
检验码检查单元,能够基于从该存储单元读取的数据、相应于读取的数据的检验码及为读取数据指定的地址进行错误检查,其中,
该检验码产生单元及该检验码检查单元用偶数比特对分配给地址的第一编码进行编码;用奇数比特对分配给写入存储单元数据的第二编码进行编码;以及
该检验码产生单元及该检验码检查单元基于第一编码和第二编码,产生或检查相应于写入的数据或读取的数据的检验码。
2.如权利要求1所述的存储控制电路,其特征在于,
该地址被定界并分成多个组,每个组具有一个比特或多个比特;以及
利用比特图形用偶数比特编码第一编码,该比特图形能够识别多个组的每组中的每一比特或多个比特的错误。
3.如权利要求1或2所述的存储控制电路,其特征在于,
一个滚动比特进一步被分配给该地址,所述滚动比特的值随指定写数据到存储单元或从存储单元读出数据的每个地址周期被反转;以及
用偶数比特编码分配给含有滚动比特的地址的第一编码。
4.一种检验存储控制电路中的地址错误的方法,该存储控制电路具有能够将数据存储在由地址指定的存储区域的存储单元,该方法包括:
用偶数比特对分配给地址的第一编码进行编码;
用奇数比特对分配给写入存储单元数据的第二编码进行编码;
基于第一和第二编码产生检验码,并将该检验码存储在与被写到存储单元的数据相对应的存储单元中;以及
基于从该存储单元读取的数据、相应于读出数据的检验码及读地址进行错误检验。
5.如权利要求4所述的地址错误检验方法,其特征在于,
该地址被定界并分成多个组,每个组具有一个比特或多个比特;以及
利用比特图形用偶数比特编码第一编码,该比特图形能够识别多个组的每组中的每一比特或多个比特的错误。
6.如权利要求4所述的地址错误检验方法,其特征在于,
一个滚动比特进一步被分配给该地址,所述滚动比特的值随指定写数据到存储单元或从存储单元读出数据的每个地址周期被反转;以及
用偶数比特编码分配给含有滚动比特的地址的第一编码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005-100541 | 2005-03-31 | ||
JP2005100541 | 2005-03-31 | ||
JP2005100541A JP4799027B2 (ja) | 2005-03-31 | 2005-03-31 | 記憶制御回路、記憶制御回路におけるアドレスエラーチェック方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1841334A true CN1841334A (zh) | 2006-10-04 |
CN1841334B CN1841334B (zh) | 2010-08-18 |
Family
ID=36954951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005100822859A Expired - Fee Related CN1841334B (zh) | 2005-03-31 | 2005-07-06 | 存储控制电路及存储控制电路中的地址错误检验方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7555699B2 (zh) |
EP (1) | EP1715424A3 (zh) |
JP (1) | JP4799027B2 (zh) |
KR (1) | KR100720911B1 (zh) |
CN (1) | CN1841334B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104067233A (zh) * | 2011-11-18 | 2014-09-24 | 桑迪士克企业知识产权有限责任公司 | 用于多分层错误校正的系统、方法和设备 |
CN106201763A (zh) * | 2015-05-22 | 2016-12-07 | 德克萨斯仪器股份有限公司 | 双模式纠错码/可写入一次存储器编解码器 |
CN109669802A (zh) * | 2018-11-13 | 2019-04-23 | 北京时代民芯科技有限公司 | 一种用于edac验证的可配置存储器验证系统 |
CN111382000A (zh) * | 2018-12-25 | 2020-07-07 | 瑞萨电子株式会社 | 半导体装置、存储器控制器与存储器访问方法 |
CN111630595A (zh) * | 2018-01-23 | 2020-09-04 | 微芯片技术股份有限公司 | 用于存储器攻击检测的存储器设备、存储器地址解码器、系统和相关方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028180A1 (en) * | 2006-07-31 | 2008-01-31 | Newman Alex P | Inappropriate access detector based on system segmentation faults |
GB2455212B (en) * | 2008-01-30 | 2012-03-21 | Ibm | Method for identifying address faults of CPU status register files during read and write accesses |
US8990660B2 (en) | 2010-09-13 | 2015-03-24 | Freescale Semiconductor, Inc. | Data processing system having end-to-end error correction and method therefor |
US8566672B2 (en) * | 2011-03-22 | 2013-10-22 | Freescale Semiconductor, Inc. | Selective checkbit modification for error correction |
US8607121B2 (en) | 2011-04-29 | 2013-12-10 | Freescale Semiconductor, Inc. | Selective error detection and error correction for a memory interface |
US8990657B2 (en) | 2011-06-14 | 2015-03-24 | Freescale Semiconductor, Inc. | Selective masking for error correction |
US8949694B2 (en) | 2011-09-23 | 2015-02-03 | International Business Machines Corporation | Address error detection |
FR2992091B1 (fr) * | 2012-06-14 | 2015-07-03 | Commissariat Energie Atomique | Procede d'enregistrement de donnees, procede de detection des erreurs d'acces a une memoire et dispositif associe |
US20170177259A1 (en) * | 2015-12-18 | 2017-06-22 | Intel Corporation | Techniques to Use Open Bit Line Information for a Memory System |
US10489241B2 (en) * | 2015-12-30 | 2019-11-26 | Arteris, Inc. | Control and address redundancy in storage buffer |
US10740174B2 (en) | 2016-11-29 | 2020-08-11 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory address protection circuit and method |
US10353769B2 (en) * | 2017-07-25 | 2019-07-16 | Apple Inc. | Recovering from addressing fault in a non-volatile memory |
US11537319B2 (en) * | 2019-12-11 | 2022-12-27 | Advanced Micro Devices, Inc. | Content addressable memory with sub-field minimum and maximum clamping |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS522244A (en) | 1975-06-24 | 1977-01-08 | Toshiba Corp | Measuring system |
JPS5362936A (en) | 1976-11-17 | 1978-06-05 | Toshiba Corp | Memory control device |
JPS605022B2 (ja) * | 1977-08-29 | 1985-02-07 | 株式会社日立製作所 | 記憶装置のエラー検出装置 |
JPS54142942A (en) * | 1978-04-28 | 1979-11-07 | Hitachi Ltd | Address checking system |
JPS558617A (en) | 1978-06-29 | 1980-01-22 | Fujitsu Ltd | Storage system |
DE3319710A1 (de) * | 1983-05-31 | 1984-12-06 | Siemens AG, 1000 Berlin und 8000 München | Speichersteueranordnung, insbesondere fuer ein fehlertolerantes fernsprech-vermittlungssystem |
JP2930239B2 (ja) | 1989-02-06 | 1999-08-03 | 株式会社日立製作所 | 記憶装置の障害検出方法及び記憶制御装置 |
EP0449052A3 (en) * | 1990-03-29 | 1993-02-24 | National Semiconductor Corporation | Parity test method and apparatus for a memory chip |
JPH0546419A (ja) * | 1991-08-15 | 1993-02-26 | Fujitsu Ltd | Fifoメモリのエラー検出処理方式 |
JPH0793225A (ja) * | 1993-09-27 | 1995-04-07 | Toshiba Corp | メモリチェック方式 |
JP3307529B2 (ja) | 1994-12-27 | 2002-07-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理方法及びデータ記憶装置 |
JPH08314812A (ja) * | 1995-05-16 | 1996-11-29 | Kawasaki Steel Corp | パリティ検査回路 |
US5949358A (en) * | 1995-06-07 | 1999-09-07 | Seagate Technology, Inc. | Rate n(n+1) code for embedded servo address encoding |
DE59701778D1 (de) | 1996-08-30 | 2000-06-29 | Siemens Ag | Fehlererkennung in einem speichersystem |
EP0936743A1 (fr) * | 1998-02-17 | 1999-08-18 | Koninklijke Philips Electronics N.V. | Décodage itératif pour codes binaires en bloc |
US6282686B1 (en) | 1998-09-24 | 2001-08-28 | Sun Microsystems, Inc. | Technique for sharing parity over multiple single-error correcting code words |
US6691278B1 (en) * | 1999-10-13 | 2004-02-10 | Maxtor Corporation | Detecting errors in coded bit strings |
US6457154B1 (en) * | 1999-11-30 | 2002-09-24 | International Business Machines Corporation | Detecting address faults in an ECC-protected memory |
US6581185B1 (en) * | 2000-01-24 | 2003-06-17 | Storage Technology Corporation | Apparatus and method for reconstructing data using cross-parity stripes on storage media |
US7093179B2 (en) | 2001-03-22 | 2006-08-15 | University Of Florida | Method and coding means for error-correction utilizing concatenated parity and turbo codes |
US7000168B2 (en) * | 2001-06-06 | 2006-02-14 | Seagate Technology Llc | Method and coding apparatus using low density parity check codes for data storage or data transmission |
-
2005
- 2005-03-31 JP JP2005100541A patent/JP4799027B2/ja not_active Expired - Fee Related
- 2005-06-20 EP EP05253806A patent/EP1715424A3/en not_active Ceased
- 2005-07-01 KR KR1020050059174A patent/KR100720911B1/ko not_active IP Right Cessation
- 2005-07-06 CN CN2005100822859A patent/CN1841334B/zh not_active Expired - Fee Related
- 2005-09-28 US US11/236,610 patent/US7555699B2/en not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104067233A (zh) * | 2011-11-18 | 2014-09-24 | 桑迪士克企业知识产权有限责任公司 | 用于多分层错误校正的系统、方法和设备 |
CN104067233B (zh) * | 2011-11-18 | 2016-12-14 | 桑迪士克科技有限责任公司 | 用于多分层错误校正的系统、方法和设备 |
CN106201763A (zh) * | 2015-05-22 | 2016-12-07 | 德克萨斯仪器股份有限公司 | 双模式纠错码/可写入一次存储器编解码器 |
CN106201763B (zh) * | 2015-05-22 | 2021-03-05 | 德克萨斯仪器股份有限公司 | 双模式纠错码/可写入一次存储器编解码器 |
CN111630595A (zh) * | 2018-01-23 | 2020-09-04 | 微芯片技术股份有限公司 | 用于存储器攻击检测的存储器设备、存储器地址解码器、系统和相关方法 |
CN109669802A (zh) * | 2018-11-13 | 2019-04-23 | 北京时代民芯科技有限公司 | 一种用于edac验证的可配置存储器验证系统 |
CN111382000A (zh) * | 2018-12-25 | 2020-07-07 | 瑞萨电子株式会社 | 半导体装置、存储器控制器与存储器访问方法 |
CN111382000B (zh) * | 2018-12-25 | 2024-01-12 | 瑞萨电子株式会社 | 半导体装置、存储器控制器与存储器访问方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060236205A1 (en) | 2006-10-19 |
JP2006285318A (ja) | 2006-10-19 |
KR100720911B1 (ko) | 2007-05-25 |
KR20060106558A (ko) | 2006-10-12 |
CN1841334B (zh) | 2010-08-18 |
EP1715424A2 (en) | 2006-10-25 |
US7555699B2 (en) | 2009-06-30 |
EP1715424A3 (en) | 2008-03-19 |
JP4799027B2 (ja) | 2011-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1841334A (zh) | 存储控制电路及存储控制电路中的地址错误检验方法 | |
CN107403646B (zh) | 闪存装置及闪存存储管理方法 | |
CN1113294C (zh) | 利用错误定位码校正一个多级单元存储器的方法和装置 | |
US9311970B2 (en) | Systems and methods of storing data | |
CN1161791C (zh) | 应用交叉存取法校正多级单元存储器的方法和装置 | |
US20120011416A1 (en) | Ecc controller for use in flash memory device and memory system including the same | |
CN1499531A (zh) | 管理非易失存储器系统中的数据完整性的方法和装置 | |
KR20090086523A (ko) | 에러가 발생할 수 있는 확률을 기초로 하여 에러가 보정된 비휘발성 메모리 | |
CN1503456A (zh) | 盘上整合区段格式raid纠错码系统和方法 | |
US8365036B2 (en) | Soft error correction in a memory array and method thereof | |
CN1864223A (zh) | 错误码更正方法与装置 | |
CN111124741B (zh) | 一种面向存储器特征的增强型校验纠错装置 | |
CN1265362C (zh) | 错误检测码产生方法和对多个区段产生错误检测码的方法 | |
JP2020198577A (ja) | メモリシステム | |
CN1670853B (zh) | 编码装置 | |
CN104112479A (zh) | 编码器、译码器和包括其的半导体器件 | |
CN101030153A (zh) | 数据储存装置 | |
CN1311640C (zh) | 在解码交错rs码过程中使用的纠错方法与纠错装置 | |
CN1851827A (zh) | 一种闪烁存储器数据存取方法 | |
CN100342345C (zh) | 用于编码数据的电路和方法以及数据记录器 | |
CN1885271A (zh) | 一种芯片接口检测装置及方法 | |
CN1220332C (zh) | 高编码率数据块编/解码方法及其装置 | |
CN1176541C (zh) | 用于提高乘积码译码速度的方法及译码装置 | |
US20120233383A1 (en) | Memory system and memory controller | |
CN112685217A (zh) | 一种传感器图像像素的ecc纠错方法 |
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 |
Granted publication date: 20100818 Termination date: 20180706 |
|
CF01 | Termination of patent right due to non-payment of annual fee |