CN103270498A - 用于错误特征不完全的信道和存储器的错误检测和修正编码 - Google Patents

用于错误特征不完全的信道和存储器的错误检测和修正编码 Download PDF

Info

Publication number
CN103270498A
CN103270498A CN2011800609758A CN201180060975A CN103270498A CN 103270498 A CN103270498 A CN 103270498A CN 2011800609758 A CN2011800609758 A CN 2011800609758A CN 201180060975 A CN201180060975 A CN 201180060975A CN 103270498 A CN103270498 A CN 103270498A
Authority
CN
China
Prior art keywords
channel
code word
symbol
symbols
coding
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.)
Pending
Application number
CN2011800609758A
Other languages
English (en)
Inventor
S·普日贝尔斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mosaid Technologies Inc
Original Assignee
Mosaid Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Publication of CN103270498A publication Critical patent/CN103270498A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
    • H03M13/49Unidirectional error detection or correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

信道具有第一端和第二端。信道的第一端与发送器耦合。该信道能够将从符号集中选择的符号从第一端发送到第二端。该信道表现出不完全错误引入属性。编码包括一组码字。该组码字的元素为一个或多个编码符号长。这些编码符号是该符号集的成员。根据信道的错误引入属性,该组码字的元素之间的最小改良汉明间隔大于该组码字的元素之间的最小汉明距离。还介绍了一种存储器装置、一种使用信道的方法和一种生成编码的方法。

Description

用于错误特征不完全的信道和存储器的错误检测和修正编码
技术领域
本发明涉及应用于存储和通信应用的错误检测和修正编码,并且更具体地涉及一种在可能的错误与所存储或所通信的数据相关的情形下有效检测和/或修正错误的方法、设备和系统。
背景技术
错误检测和修正编码已经用在电子系统中来在面临将错误引入到数据中的物理或电子现象时降低错误被引入到所存储或所通信的数据中的概率。例如,图1示出了典型的概念化的通信系统。通信系统的底层模型是串行数据流需要被从源101发送到目的地109。源数据首先经过源编码器102,源编码器102通过移除原始的串行源数据流X中的任何冗余来压缩该原始的串行源数据流X。信道编码器103以受控且系统的方式添加冗余,以便帮助检测在信道编码器103与信道解码器107之间引入的任何错误,或者还可添加修正这些错误的选项。这些错误通常被认为是由不良信道105引入的,由于噪声或其它物理或电子现象,不良信道105会导致从信道105出来的符号流r’与进入信道105的符号流v’并不相同。于是,信道编码器103通常会将纠错码(ECC)引入到数据流中。
信道调制器104的用途在于将输入位流v转换为信道105的电信号。在二进制数字信道的情况下,该调制器比较简单--它通常将编码数据流v直接且不经改变地传到该信道中,从而v'=v。然而,存在着多个信道,这些信道一次一个地传送从具有超过两个元素的符号集中选取的符号。例如,如果通信信道能够在各个数据传输时段内发送四个电压之一,则符号集的大小为4。一般来说,所发送的符号v’[j]是从符号集S={s0,s1,s2,...sl}中选取的,该符号集的大小为l。本领域的技术人员将会理解,有很多这样的信道,尤其是,例如使用相移键控(PSK)幅度调制的信道,以及每单元多位闪存或DRAM存储器。在这些情况下,信道调制器104取输入流v的两位,以选取符号流v’的一个符号。在二进制数字信道的情况下,构成符号流v’的符号,不管它们是由电流、电压、电荷还是某种其它量来表示,都很容易与二进制数字0和1关联起来。对于二进制信道,符号集的大小l=||S||为2。鉴于这种关联,并且如上所指出的,在这种情况下,通常可以将v’视为与v相同,尽管其它的关系也是可能的。一种常用的替代方案是,例如,v’等于v的补集。
不考虑符号集S的大小,引入到信道中的噪声或以其他方式引入的错误可能会把一个所传送或存储的符号改变为另一个符号,后面将对此进行讨论。
信道解调器106的任务是将所接收到的符号流r’转换为二进制的接收编码数据流r。取决于信道将什么样的错误引入到该符号流中,接收编码数据流r只是编码数据流v的近似副本,而不是精确副本,尽管可能,但非必然,发生时移。时移量取决于信道是否是通信信道,在通信信道的情况下,时间延迟等于经过调制器104、信道105和解调器106的传播延迟。在信道为存储器装置的情况下,v和r之间的时移可能是相当大的,尤其是在制造该存储器(比如例如CD和DVD)的时候就将符号流v’嵌入到存储器中的情况下。
信道解码器107的任务是消除由信道编码器103引入的冗余,以便产生经过修正的数据流w。如果纠错码是考虑信道特征而精心设计的,那么被引入到所接收到的符号流r’中的错误就会被消除,从而解码后的数据流w中的各个和每个位与压缩数据流u中的对应位相同的可能性非常高。某些纠错码能够检测它们不能修正的某些错误种类。当偶尔在所接收的符号流中存在可检测但不可修正的错误的情况下使用这些码时,已经认识到经过修正的数据流是错误的,通常会将这一认识发送给控制机构,以防止在重新生成和/或重新发送信息之前,使用错误的修正数据。
该过程的最终阶段是源解码器108,源解码器108撤消由源编码器102对数据流进行的数据压缩,以产生最终接收的数据流x’,最终接收的数据流x’在理想情况下与源数据流x相同。不过,很多通信和存储系统并不包括源编码器/源解码器对。在这些情形下,信道编码器103的输入应当是原始的源数据流,并且信道解码器107的输出应当是发送到数据目的地109的最终接收的数据流x’。
图2表示通信或存储系统的简化示意图,其中没有源编码器或源解码器,并且其中信道是二进制数字信道,从而所发送的符号与编码数据流位相同。信道调制器和解调器因此实际上是对整个系统没有任何意义的直通装置。结果是唯一有意义的块是信道编码器202和信道解码器204。在这个图中,信道203由二进制相加来代表,这在功能上等同于单一异或门。在这种概念的信道和错误中,错误流e是长度与编码数据流v相等的二进制位流。错误流中1的意思是信道在这个位位置上向数据流中注入了错误。二进制相加功能的本质是,错误的存在将数据流中的0改为1并且反之亦然。在这种概念的信道中,错误与数据无关,因为错误流中的1不管编码数据流中的对应位置上的数据位是0还是1都会造成错误。此外,从一个符号到下一个符号,引入错误的概率被认为是不变的。这种类型的信道称为二进制对称信道(BSC)。还有其它一些信道模型,这些信道模型包括这样的概念:一个位位置上的错误概率与前一位位置上出现错误的概率有关。这些信道是具有存储器的信道并且它们会经历突发的密集错误。
图3表示图1的一般通信系统的另一种简化形式,在这种情况下,术语的名称有所改变,以反映存储应用。在这些应用中,通信信道由存储器装置303代替。存储器装置可以是物理上静态的装置,比如,一个或多个CD或DVD,诸如半导体存储器这样的有源装置,比如,动态随机存取存储器(DRAM)、闪存存储器或只读存储器(ROM);或者任何其它形式的其功能部分用于将信息存储一段时间的装置。在这种概念下,信道编码器被称为ECC编码器302。编码数据流是在制造时一次写入到存储器装置中、在出售时一次写入到存储器装置中或者在使用该装置时重复写入到该装置中。接收的数据流r通常是通过一种类型或另一种类型的读取操作(这取决于存储器装置的具体情形)从存储器装置中取得的。在随机存取存储器装置的情况下,数据不必按照写入的顺序来读取,写入符号与读出符号之间是通过隐含或明确给出的地址而关联起来的。应理解,ECC解码器可存在于存储器控制器内或者存在于存储器装置集成电路内,或者以分立装置的形式存在于其中间的任何位置,或者存在于存储器控制器与数据目的地之间,对此没有限制。
存储器装置通常将数据存储在存储单元中。大多数存储器类型在每个存储单元中存储一位的信息。对于这些装置,符号集是二进制数字0和1的集合,并且没有相应的信道调制器。例外是,在很多半导体存储器类型中,存在沿着将编码数据位v[i]传送到存储单元的信号路径发生的反转,从而对于某些或全部存储单元,所存储的符号是以某种方式从编码数据位反转而来的。
还存在着可以通过商业手段得到且在现有技术文献中提到的存储器装置,其在各个存储器位置上存储来自于较大符号集的符号。例如,很多多级闪存存储器装置将各个存储单元规划为四级中的一级,从而将编码数据流的两位码字存储到各个存储器位置上。对于这些装置,信道调制器和信道解调器的等价物--管理编码数据位与所存储的符号之间的映射以及所存储的符号与从所接收的数据流r[i]中读出的位之间的相应映射的电路或算法--是存储器控制器的一部分,负责存储器装置的读取和可能的写入。
本领域技术人员应理解,纠错码和信道调制方案是根据特定信道的错误特征而设计的,并且有多种编码类型可供选择用于设计任何特定的存储器或通信系统。这些纠错码通常不会将修正后数据流w中的错误概率减小为零。相反,它们仅仅将这一概率大体上降低到低于某一主观上可接受的错误率的程度。
图4表示前面参照图2介绍的二进制对称信道的概率转换图。二进制对称信道将编码数据流v[i]的位通过信道传送到信道解码器,作为接收数据流r[i]的位。在任一位位置上引入错误(即,r[i]不同于v[i])的概率为p,所以这个位被传送通过信道而不被信道损坏的概率为1-p。该信道是对称的,因为不管编码数据位是0还是1,错误的概率都是一样的。
大部分信息和编码理论都建立在二进制对称信道模型所固有的假设的基础上。但实际上,很多通信信道和存储器装置就它们的错误属性而言要么是非二进制的,要么是非对称的。在实践中,造成错误被引入到接收数据流r中的很多现象优先对信道中的不同符号产生影响。例如,如果二进制信道的特征是使得一个符号总是被无错误地传送,而另一个符号变为第一个符号的概率为p,则该信道被称为Z信道。图5表示对于这种信道的概率转换图,其中0总是不变地通过,而1变为零的概率为p。在其中不是所有的错误都可能发生(比如在图5中,从0变为1的错误就不可能发生或者可能性小到不必考虑)的错误概率转换图被称为不完全的。具有仅仅产生某些类型的错误转换而不产生其它类型的错误转换的错误注入机制的信道和存储器同样被称为是不完全的。
图6表示另一种不完全信道的概率转换图。在这种情况下,信道能够一次发送从由三个符号构成的符号集中选取的一个符号。用于传送这三个符号的物理或电子属性与信道的错误特征的抽象分析无关,所以将这些符号简单地标注为a、b和c。这些符号可以由不同的电压、电流、电荷或相位等等来表示。例如,符号a可以由正电压表示,符号c可以由负电压表示,符号b可以由近地电压表示。对于这一举例说明的信道,符号b总是不变地通过该信道,而符号a和c变为符号b的概率分别为p和q。在这种情况下,由于这是一个三进制信道,因此输入到信道输入端的符号是所发送的符号流v’[i]中的项目,并且离开信道的符号是所接收的符号流r’[j]中的项目。以如图6中所示的那样的概率转换图表征的信道因为符号集大小大于二且至少一个可能的错误转换具有实际上为零的概率,而被称为非二进制的不完全信道。这种信道也是非对称的,因为不是所有可想象到的错误都具有相同的发生概率。
检测和修正传输信号中错误的能力可以用所使用的编码的汉明距离来表征。任何两个码字之间的汉明距离(有时也称为“距离”)是这两个码字不相同的符号位置的数量。例如,两个二进制码字0011010和0010110的汉明距离为2,因为它们有两个地方不同。类似地,码字abacdda和acdadda的汉明距离为3,因为它们在三个符号位置上不同。很好理解,对于用在完全信道(符号集中的每对符号之间的所有错误都可能发生)上的、能够修正t个错误并检测t+1个错误的编码,则所有码字的最小间隔必须为至少2t+2。具体地说,得到广泛认可的单错修正、双错检测(SECDED)二进制汉明码在所有码字之间的最小间隔为4。所有接收到的与一个码字的汉明距离为1的字被假定为它们当中有单个错误,因此所有这样接收到的数据字可以被接收器修正为该码字。任何接收到的与一个以上的码字的汉明距离为2的数据字被假定为其中具有两个错误。由于所接收到的码字与两个截然不同的有效码字之间的汉明距离相同,因此接收器不能明确地确定这两个码字中的哪一个是由信道调制器发送过来的。在此情形下,能够检测到两个错误,但是这两个错误是不可修正的。
发明内容
本发明的一个目的是提供一种针对通过非二进制不完全信道传递的符号流的错误检测和/或修正编码以及信道调制。
本发明的另一个目的是提供一种用于在具有非二进制不完全信道的存储器装置内进行错误检测和/或修正的编码。
本发明的另一个目的是提供一种用于在具有不完全错误转换属性的多值存储器内进行错误检测和/或修正的编码。
本发明的另一个目的是提供一种用于非二进制不完全信道和存储器的高效错误修正编码。
本发明提供一种用于检测和修正非二进制不完全通信信道或类似的多值存储器装置内出现的错误的方法和系统。
本发明的另一个目的是提供一种找出供不完全通信信道或类似的多值存储器装置使用的编码的算法。
根据一个方面,信道具有第一端和第二端。该信道的第一端与发送器耦合。该信道能够将从一个符号集中选择的符号从第一端发送到第二端。该信道表现出不完全错误引入属性。编码包括一组码字。该组码字的元素为一个或多个编码符号长。这些编码符号是所述符号集中的成员。按照信道的错误引入属性,该组码字的元素之间的最小改良汉明间隔大于该组码字的元素之间的最小汉明距离。还介绍了一种存储器装置、一种使用信道的方法和一种生成编码的方法。
在另一个方面中,该编码还包括一组数据字。该组数据字的大小与该组码字的大小相同。在该组数据字的元素与码字的元素之间存在着一对一的映射。
在另一个方面中,符号集的大小最少为3。
在另一个方面中,符号集的大小最少为4。
在另一个方面中,接收器与信道的第二端耦合。接收器具有信道解调器和信道解码器。发送器具有信道调制器和源数据编码器。信道的第一端与发送器耦合。该信道是通信信道。发送器通过接收数据字和生成码字来实现该编码。接收器通过从信道中接收符号组并且生成与由发送器接收到的数据字相对应的数据字来实现该编码。
在另一个方面中,符号集的大小最少为3。
在另一个方面中,符号集的大小最少为4。
在另一个方面中,该组码字的元素之间的最小改良汉明距离为4或更大。
在另一个方面中,该组码字的元素之间的最小改良汉明距离为5或更大。
在一个附加方面中,系统包括至少一个包括多个存储单元的存储器装置。各个存储单元具有与一组存储的符号中的成员一一对应的多个存储状态。存储器装置的错误机制具有不完全错误引入属性。与所述至少一个存储器装置耦合的存储器控制器,用于使得由从该组存储符号中选择的符号得出的数据从所述至少一个存储器装置的多个存储单元中读出。信道解码器与存储器控制器耦合,用于修正从所述至少一个存储器装置读出的数据中的错误,这些错误至少部分地由所述错误机制引入。信道解码器对包括一组码字的编码进行解码。按照所述至少一个存储器装置的不完全错误引入属性,该组码字的元素间的最小改良汉明间隔大于该组码字的元素间的最小汉明距离。
在另一个方面中,符号集的大小最少为3。
在另一个方面中,符号集的大小最少为4。
在另一个方面中,信道编码器被配置为接收未编码的数据并且将该数据编码为从该组码字中选择的码字的集合。这些码字随后被写入到所述至少一个存储器装置中的多个存储单元中。
在另一个方面中,该组码字的元素之间的最小改良汉明距离为4或更大。
在另一个方面中,该组码字的元素之间的最小改良汉明距离为5或更大。
在一个附加方面中,半导体存储器装置具有多个存储单元。各个存储单元具有与一组存储的符号中的成员一一对应的多个存储状态。存储器装置的错误机制具有不完全错误引入属性。信道解码器与存储单元耦合,用于修正从存储单元读出的数据中的错误,这些错误至少部分通过该错误机制引入。信道解码器对包括一组码字的编码进行解码。按照存储单元的不完全错误引入属性,该组码字的元素间的最小改良汉明间隔大于该组码字的元素间的最小汉明距离。
在另一个方面中,符号集的大小最少为3。
在另一个方面中,符号集的大小最少为4。
在另一个方面中,信道编码器被配置为接收未编码的数据并且将该数据编码为从该组码字中选择的码字的集合。这些码字随后被写入到多个存储单元中。
在另一个方面中,符号集的大小最少为3。
在另一个方面中,符号集的大小最少为4。
在另一个方面中,该组码字的元素之间的最小改良汉明距离为4或更大。
在另一个方面中,该组码字的元素之间的最小改良汉明距离为5或更大。
在一个附加方面中,一种操作信道的方法,该信道具有第一端、第二端以及具有不完全错误属性的错误引入机制,该方法包括下列步骤:
从信道中接收符号流,所接收的符号流包括多个符号字,各个符号字包括从符号集中选择的一个或多个符号;和
根据错误修正和/或检测编码,对所接收的符号字进行解码,以产生修正后的数据流,该编码包括具有该编码的最小改良汉明距离的一组码字,按照信道的错误引入机制的错误引入属性计算最小改良汉明间隔,该最小改良汉明距离大于该编码的汉明距离的最小值,其中,对符号字的解码包括确定该组码字中的哪个码字产生最小的改良汉明距离,并且输出该码字。
在另一个方面中,该方法还包括下列步骤:
通过根据数据字与码字之间的一对一映射,将未编码的数据字变换为码字来对该未编码的数据进行编码,其中该编码还包括该映射,由与信道的第一端耦合的发送器执行编码;和通过根据该错误引入机制经历错误引入的信道将这些码字发送出去。
在另一个方面中,符号集的大小最少为3。
在另一个方面中,最小改良汉明距离最少为4。汉明距离小于4。
通过所包含的附图和下面的介绍,本发明的其它目的和优点将会变得显而易见。
术语定义
在本发明的说明书中通常使用下列术语:
术语x用于表示源数据流。这通常是但并非必须是二进制位流。
术语u用于表示压缩的数据流。这通常是但并非必须是二进制位流。
术语v用于表示编码的数据流。这通常是但并非必须是二进制位流。
术语v’用于表示发送的符号流。这在一般情况下是符号流。每个符号可以由单个电学或物理实体或特征来代表,或者每个符号可以由更小符号的集合构成,例如二进制位的集合。在一个极端情况下,每个符号是一个二进制位;在另一个极端情况下,每个符号可以对原始源数据流的很多位进行编码。
术语r’用于表示接收到的符号流,该符号流是由不完善信道和/或存储器引入了错误之后的发送的符号流。
术语r用于表示解调之后的接收数据流。它通常是但并非必须是二进制位流。
术语w用于表示由信道或ECC解码器输出的修正后数据流。它通常是但并非必须是二进制位流。
符号x’用于表示最终的接收数据流。它通常是但并非必须是二进制位流。
符号S用于表示信道自然传送的符号集。对于二进制信道,符号集S由符号0和1组成。变量l用于指示符号集的大小(或其中的元素数)。术语“符号”指的是源或编码数据的单个位的值的表示。符号集的大小是单个符号可以具有的不同值的数量。二进制符号集的大小为2,因为对于每个符号允许有两个值(零或一)。
术语n用于表示以符号或位形式的码字的大小。术语“码字”指的是被指定为表示一个或多个数据字并且可选地包含错误检测或修正信息的预定长度的编码符号序列。
术语k用于表示数据字的大小。数据字是一起编码为信道符号或存储位的位或符号的集合。术语“数据字”指的是表示一位或多位源数据的预定长度的符号序列。
术语p和q用于表示在所发送或所存储的符号流内任意符号位置上引入错误的概率。
术语“符号n元组”(例如“符号三元组”)指的是n个数据符号或编码符号的序列,不管该序列是否与源数据的一个或多个位相对应。
编码的效率是以数据字的大小k除以码字的大小n的比值来度量的。换句话说,编码的效率是发送或存储给定数量的未编码数据位所需的编码数据的位数与所述未编码数据位的数量的比值。如果数据集或者所发送的符号集是非二进制的,则对应的n或k被乘以其符号集大小。在编码数据的情况下,符号集大小被表示为“l”。所以,如果数据字是二进制的并且所发送(或存储)的符号流是非二进制的,则编码的效率被计算为k/n*l。
术语“数据流”或“符号流”用于表示从纯单个位宽串行流到同时或并行传送或存储很多符号的多位并行结构的各式各样的通信或存储机制。此外,在信道包括一个或多个存储器装置的情况下,按照任何任意顺序将编码符号流写入到存储器中的特定地址的顺序与从这些地址中读取信息来形成所接收的数据或符号流的顺序之间并非必须有关联。此外,将会理解,将存储器装置303描绘为具有输入和输出端的块并非打算以任何方式将本发明的适用范围局限于多端口存储器。本发明的实施例可适用于表现出非对称错误引入特征的所有宽度和结构的信道和存储器和/或在每个存储单元或位置存储一个以上的二进制信息位的非二进制信道或存储器。具体地说,本发明明确适用于具有共享数据地址和/或控制信号路径和用于向和从存储器系统内的存储器装置写入和读取数据的公共或共享控制器电路的传统结构的存储器系统,不管数据编码和解码是位于一个或多个存储器内,还是位于存储器控制器内,或者是位于系统中的其它地方。
对于本申请的目的而言,术语“改良汉明距离”的意思是指,相对于一对码字而言,遍历特定的可能的符号转换图(比如,图11中所示的)以从第一个码字转移到第二个码字所需的允许错误的最小数量。改良汉明距离与传统汉明距离的不同之处在于,仅仅考虑与允许错误转换对应的差异。换句话说,改良汉明距离是能够将第一字变换为第二字的可能错误的最小数量。应当理解,在不完全信道中,改良汉明距离不必是对称的。参见图11,从aaa到bbb的改良汉明距离为3,因为例如通过aaa→aab、然后aab→abb、然后abb→bbb这三次错误转换,aaa可以被变换为bbb。不过,从bbb到aaa的改良汉明距离是无限大,因为没有错误转换的组合能够将bbb变换为aaa。与此相反,无论符号转换图如何,传统的汉明距离是对称的并且aaa与bbb之间的汉明距离是3,因为aaa和bbb在三个符号位置上不同。
一对码字之间的“改良汉明间隔”是将这两个码字都变换为第三个字所需的允许或可能错误的最小总数,第三个字可以是两个码字之一或者任何其它字。例如,参见图11,字abb和bba之间的改良汉明间隔是2,因为两种允许的错误转换abb→bbb和bba→bbb会导致两个字都被变换为公共字bbb。类似地,字aaa与abb之间的改良汉明间隔为二,因为aaa可以在如前面所示的两个允许错误转换中被变换为abb。此外,下面介绍改良汉明间隔的定义。
术语整个编码的“改良汉明码字间隔”是该编码中任何一对码字之间的最小改良汉明间隔。
在信道或存储器具有不完全错误特征的情况下,例如如果一个码字不能被表示为另一个码字加上一个或多个错误转换的结果,两个码字之间的改良汉明距离可能比相同两个码字之间的传统汉明距离要大。例如,参见图11,三元组aaa和cca的汉明距离为2,因为它们在两个符号位置上不同。同样的两个三元组aaa和cca的改良汉明间隔为4,因为这两个三元组都可以各自通过两个错误转换(总数为四)变换到公共三元组bba,例如,aaa→baa→bba和cca→bca→bba。
附图说明
在附图的图形中,以举例的方式而非限定的方式对本发明加以说明:
图1描述了可以应用本发明的多个方面的第一端到端通信系统;
图2描述了可以应用本发明的多个方面的第二端到端通信系统;
图3描述了可以应用本发明的多个方面的存储器系统;
图4示出对于二进制对称信道的典型转换概率图;
图5示出对于具有非对称和不完全错误转换概率的二进制信道的转换概率图。这种类型的图可互换地称为错误转换图或符号转换图。
图6示出对于能够存储或发送三个符号的三进制信道的转换概率图,并且其中错误转换概率是非对称的且该图形是不完全的;
图7示出对于通过对称三进制信道发送的单个符号而言可能的错误转换;
图8示出对于通过不完全三进制信道发送的单个符号而言可能的错误转换;
图9示出对于通过具有图6中所示错误转换的不完全三进制信道发送的单个符号而言可能的错误转换;
图10示出对于通过具有图6中所示错误转换的不完全三进制信道发送的一对符号而言可能的错误转换;
图11示出对于通过具有图6中所示错误转换的不完全三进制信道发送的三个符号字而言可能的错误转换;
图12示出在被配置为每个符号时间周期发送三个符号的其中一个的信道上正在发送的符号的数据眼;
图13示出现有技术的DRAM存储单元;
图14示出三个符号被分配给DRAM存储单元中的单元电压的三个电压范围;
图15示出具有缩短到Vplate的Vcell的三进制DRAM存储单元的概率转换图。
图16示出四个符号被分配给DRAM存储单元中单元电压的四个电压范围以及源数据位对对于符号的四种可能的分配方式;
图17示出能够存储或发送四个符号的信道的转换概率图,并且其中错误转换概率是取决于数据的;和
图18示出了用于确定供具有非对称错误概率的信道使用的编码的算法。
具体实施方式
分组码是这样一组错误修正编码:通过加入冗余符号来形成n个符号长的码字,来保护源数据流u的多个由k个符号构成的组。来自源数据流的由k个符号构成的组是数据字。如果数据符号和编码符号是从同一个符号集中选择的,那么实质上提供错误保护(检测和/或修正)的冗余符号的数量是n-k。二进制分组码被应用于二进制源数据流,逻辑上、时间上或者物理上将该源数据流划分为k位的数据字。各个数据字被编码成n位码字,该n位码字被发送给信道调制器,以编码成m个符号、创建一个m个符号长的发送码字。在二进制信道和二进制源数据流的情况下,m=n。另外一种选择是,可以理解,错误编码和调制(将位组划分成符号)可以作为单个步骤同时完成。
可以这样来选择编码:使得n元组的子集形成与所有可能的数据字的集合以一对一的关系对应的码字的集合,并且剩余的编码n元组并不与数据字相对应,即,它们不是该编码的一部分。在此情形下,当信道解调器或信道解码器或ECC解码器接收到不是该编码的部分的其中一个n元组时,这种情况表明信道或存储器已引入了一个或多个错误。后面将会更加详细地介绍该过程。
图7表示对称且完全三进制信道的可能错误转换。这种类型的图表示与例如图5相同的信息,只是在该图中,发送的符号和接收的符号彼此重叠。所表示的信道是完全的,因为如双向箭头所示,在该信道或存储器内,各个符号可能被错误地改变为任一其它符号。各个双向箭头代表可能被注入到所发送的符号流中的两种可能的错误。图8表示另一种不完全的三进制信道的可能的符号转换图。在这种情况下,符号a可能会退化为符号b或c,并且符号b可能会退化为符号c,但是其它的可想到的错误转换在物理上是不可能发生的。这一符号转换图对于例如其中信号电平或所存储的值随时间或沿着信道的长度向由符号"c"代表的最低可能值退化的信道而言是可能的。
下面将介绍供三进制不完全信道使用的实现单错修正、双错检测编码和单错修正、单错检测编码的编码的例子。应当理解,可以以类似的方式实现其它类型的错误检测和修正,并可将其推广到q进制信道,其中q>2。三进制信道是在其中所发送的符号集的大小为3的信道,如图6中所示。图9示出了一个符号的三个值的完整集合。一种可能的编码仅仅包括符号a和c,如由围绕某些符号的阴影框所示。如果接收到符号b,则发生了错误,但是无法识别出原始发送的符号,按照所给出的这一信道的可能的错误转换,符号b与符号a和符号c的改良汉明距离都为1。在本发明的实施例中,图10表示在具有图6的错误特征的三进制信道上发送的符号对所构成的编码。有九个可能的符号对。如果选择符号对aa和cc作为码字来代表源数据位的两个二进制值(0或1),则可以修正所有可能的单错误并且能够检测所有可能的双错误。表A中示出了这一编码。
Figure BDA00003361796400131
应当理解,源数据位到码字的映射完全是任意的,并且源数据位值(0和1)向码字(aa和cc)的两种分配中的任意一种都会产生相同的最终效果。
还应当理解,在表A的注解字段中列为“不可能”的接收的码字代表基于从任何可能的码字的错误转换而不被图9的错误转换图涵盖的接收码字。在某些情形下,除了包含在错误转换图中的那些错误机制外,可能有其它的可能性可能较低的错误机制。一般情况下,这样的错误机制的可能性比所防范的主要错误机制的可能性小很多。产生在作为编码基础的错误转换图中不明显的错误转换的错误机制不可以由这种编码修正。在这些情况下,应该将被列为不可能的接收码字看作是不可修正的错误。此外,还可能存在其它一些错误机制,这些错误机制单独地或与其它的错误机制相结合地,能够将一个码字改变为另一个;这些错误或错误组合属于不可检测的错误的类别。
如果符号对bb也是码字,则该编码将会是具有三个有效码字的单错检测、单错修正编码。各个符号对将会是仅仅能够发送源数据的一个位,不过,符号对的集合可以被组合起来对大量的源数据位进行编码。表B示出将两个符号对组合在一起创建了能够发送源数据的三个位并且能够检测和修正各个符号对中的单个错误的编码。
Figure BDA00003361796400141
在这种将三个源位调制到两对符号上的调制中,有8个源位组合和9个有效码字组合。将其中一个码字组合保留为不使用。应当理解,将源数据位三元组调制到符号对上的具体调制是任意的,并且可以依据其它考虑因素来选择。还应当理解,这种将多个符号对分组在一起的模式将会创建能够检测和修正各个符号对中的单错误的额外的更高阶编码,这种更高阶编码能够对大量的源数据位进行编码并且改善编码的效率。表C中给出了几种示范性的此类编码的特征。应当理解,源数据位值到符号对值上的调制是任意的,并且可以使用传统的逻辑化简技术来设计相应的调制器和解调器。还应当理解,通过交织或以其他方式混排符号或者对符号进行重新排列,可以在时间或空间上将作为符号对一部分的各个符号分隔开,使得这一类编码不能检测到的错误对将不会在逻辑上、物理上或时间上相邻,从而减小了多个错误出现在同一个符号对中的可能性。
图11示出对于三个符号构成的码字,由图6定义的三进制信道给出的所有可能的错误转换。在这种情况下,如表D中所示,由五个码字构成的编码能够允许对三个符号内所有单错误的修正和所有双错误的检测。
参见表D,例如,注意所接收的符号三元组bab与码字aaa和cac之间都相距两个错误。具体地说,码字aaa可以通过第一个错误(a→b)变换为baa,也可能会被变换为相同错误类型的另一实例,这次是第三个符号上的改变,变为bab。类似地,码字cac可能会通过第一个和第三个符号位置上发生的c→b错误变换为非码字bab。
更重要的是,由于根据图6定义的信道特征,从符号b到符号a的转换是不可能的,因此从码字bbb到符号三元组bab的改良汉明距离实际上是无穷大,因为图6的不完全错误转换图没有预期能够将第二个符号b变换为符号a的错误。参照前述的相同例子,按照图11的符号转换图,符号三元组bab到符号三元组bbb的改良汉明距离为一,因为一个允许的错误能够将中间的符号从a变换为b,从而将该三元组从bab变换为三元组bbb。类似地,符号三元组bbb到符号三元组bab的改良汉明距离为无限大,从aaa到abb的改良汉明距离为二,并且从acc到abb的改良汉明距离为二。
为了理解这种编码的错误检测和修正属性,可以考虑聚合属性。在上述例子中,由于从aaa到abb的改良汉明距离为二,从acc到abb的改良汉明距离也是二,因此码字aaa和acc之间经由非码字abb的改良汉明间隔是这两个值的和或者4。相较而言,该编码的传统汉明距离不能超过3,因为各个字仅仅包含3个符号,并且因此两个字可以在最多三个位置上不同。
传统汉明距离与改良汉明距离之间的重要区别在于,在计算改良汉明距离的过程中,单一符号位置上的两个错误能够造成距离二。例如,在具有图17中所示的不完全错误转换集合的信道或存储器的情况下,符号三元组caa和bba与符号三元组aaa之间的距离都是二,即使符号三元组caa仅仅在第一个符号中包括错误。在这种情况下这两个错误(a→b)和(b→c)都是允许的并且在这一信道的定义中,可以相继出现在相同的符号位置上。在又一实施例中,具有相同错误转换图的不同信道或存储器应该能够将最多一个错误引入到所发送或存储的各个符号中,或者换句话说,将第二个错误引入到符号中的可能性大大小于第二个错误被引入到另一个符号中的可能性,因此前一类型的事件可以被忽略不计。
改良汉明间隔对于理解由依据特定符号转换图的编码提供的错误检测和校正的程度而言,具有重要的意义。从前面的例子中,应当了解到,编码能够在具有不完全错误引入特征的信道上提供单错修正和双错检测,即使不满足码字的汉明距离为4的常规要求。
例如,如果每个码字与每个其它码字的改良汉明间隔至少为三,那么第一个码字中的双错误能够与任何一个其它码字的无错误传输区分开来。此外,如果所有其它可能接收到的不是码字但是与码字的改良汉明距离为1的字与所有其它码字之间具有至少为3的改良汉明距离,那么所有可能的单错误都是明确可修正的并且能够与所有其它的单错误和双错误区分开来。最后,如果所有可能接收到的与码字的距离为二的字与所有其它码字的改良汉明距离至少为二,那么所有的双错误都可以被检测为双错误,即使它们并非全都必须是可修正的。如果接收到的字与至少2个码字的改良汉明距离为二,那么这一双错误应该是不可修正的。
两个码字之间的改良汉明间隔因此与按照与传统汉明距离用于在具有完全错误特征的环境下操作的编码一样的方式将码字与所引入的错误区分开来的能力有关。具体地说,两个码字之间的改良汉明间隔等于从第一个码字到任何一个非码字的改良汉明距离与从第二个码字到任何相同的非码字的改良汉明距离的总和的最小值,该最小值是针对所有可能的非码字而取得的。
当用代数方法表达时,两个码字a和b(都是从可能的n元组Sn的空间中选择的n元组)之间的改良汉明间隔是由下式给出的:
对于所有的c∈Sn,mHs(a,b)=min(mHd(a,c)+mHd(b,c)),c≠a,c≠b,其中mHs(a,b)是码字a与码字b之间的改良汉明间隔,mHd(a,b)是从码字a到码字b的改良汉明距离。
由于mHs(a,b)=mHs(b,a),所以改良汉明间隔函数是对称的。
整个编码的改良汉明码字间隔是该编码中各对码字之间的改良汉明间隔的最小值。整个编码的改良汉明码字距离是该编码中各对码字之间的改良汉明距离的最小值。用代数方法,这些是由下式给出的:
mHcws(C)=min(mHs(a,b))针对所有的a,b∈C,a≠b
mHcwd(C)=min(mHd(a,b))针对所有的a,b∈C,a≠b
其中C是由Sn中的一组n元组构成的编码。
如果编码的改良汉明码字间隔是四,则所有的非码字或者是1)与一个码字之间有一个错误并且与所有的其它码字之间有至少三个错误,或者是2)与一个码字之间有两个错误并且与所有其它码字有超过两个错误,或者是3)与两个或更多码字之间有两个错误,或者是4)与所有的码字之间有超过两个错误。此外,如果各个码字与所有其它码字之间的改良汉明距离至少为3,则如果接收到的字是码字,它不可能是其中引入一个或两个错误的不同码字的结果。
因此,如果mHcws(C)>=4且mHcwd(C)>=3,对于具有不完全错误引入特征的信道或存储器,该编码是单错修正、双错检测(SECDED)编码。
如果所有这些条件都满足,则所有接收到的码字可以被认定为是无错传输和/或存储的结果。所有接收到的前面的第一类别的非码字都可以被安全地认定为是单错的结果并且所发送或存储的码字可以被明确确定以修正该错误。所有接收到的第二类别的非码字可以类似地被断定为是明确可修正的双错误的结果。所有接收到的第三类别的非码字都是双错的结果,但是原始发送或存储的码字不能被明确确定。所有接收到的第四类别的非码字都可以被看作是不可修正的多重错误,即使某些可能是可修正的多重错误的结果。
表E按照与前面运用的相同逻辑,描述了编码提供的错误修正和检测程度与编码的最小改良汉明码字间隔和最小改良汉明码字距离之间的关系。本领域技术人员应理解如何按照所公开的理论将表E扩展到更高程度的错误修正和检测。
Figure BDA00003361796400183
由于错误转换图不完全,两个码字之间的改良汉明间隔可能大于传统汉明距离,即,两个码字有差异的符号位置的数量的总和。在前面表D给出的例子中,aaa与acc之间的汉明距离是2,因为三个符号中的两个不同。这两个码字不可能是传统单错修正编码的一部分,因为它们没有所要求的汉明间隔3。
如果编码具有至少为4的改良汉明码字间隔,则该编码可以是单错修正和双错检测的。例如,如果非码字与第一个码字之间的改良汉明距离为1并且与第二个码字之间的改良汉明距离为2(即,该编码的改良汉明间隔最大为3),则信道解码器应该不能区分与第一个码字相关的单符号错误和与第二个码字相关的双符号错误。就象两个码字之间的改良汉明距离可能大于它们的传统汉明距离一样,编码的改良汉明码字间隔也可能大于它们的传统汉明距离(即,每对码字之间的汉明距离的最小值)。因此编码的错误修正和/或检测可以达到在错误转换图是完全的或者该编码未能利用不完全的错误特征的情况下不可能达到的程度。
表D的例子是这样的编码:该编码在不完全错误转换图的情况下是单错修正双错检测的,因为它的改良汉明码字间隔为4或更大,并且其改良汉明码字距离为3或更大,即使它的汉明距离小于4。由此,表D的编码不能基于它的传统汉明距离被看作是SECDED编码。将会给出额外的编码的例子,这些编码在考虑特定的错误转换图的时候具有大于它们的汉明距离的改良汉明码字间隔,从而使得该编码能够检测或修正比通过单独考虑汉明距离所了解的错误更多的错误。
仍然参照表D,注意如果符号三元组bbb被从码字组中排除,则在所有情况下,接收到符号b都指示一个错误。在这种情况下,物理信道属性—比如,电压或电流或电荷水平—可以被赋予适当的符号a、b、c,从而从a到c或从c到a的转换的概率要远低于所允许的从符号a和c到符号b的错误转换的概率。一个这样的例子是与调制器/解调器相结合的信道,其被设计为确保某些符号转换的可能性远少于其它符号转换,该区别变成基本上不可能的转换与具有非零概率的错误转换之间的差异。
就象这个信道上的符号对的组合创建了能够同时处理大量源编码位的更大编码一样,可以将多个符号三元组组合起来产生具有大量码字的编码。表F说明了相同的三元组组合。应当理解,本实施方式可以使用源数据位与多个符号三元组之间的任何调制或映射。
Figure BDA00003361796400201
可以将更大的符号组类似地组合成码字。如果改良汉明码字间隔为四或更大,则该编码是单错修正、双错检测编码。本发明的一种实施例是基于错误特征如图6中所示的三进制信道上的四个符号字的SECDED编码。这一编码在表G中给出。该编码在仅仅一个码字中使用中间符号b。可以将这一码字除去,而不会改变实施将三个源数据位映射为信道上的四个符号的调制的可能性。本发明的另一个实施例将会包括与表G中所示相同的编码,其中不使用码字5,即bbbb。在这种情况下,如表G的最后一列中所示,和前面的实施例中一样,没有码字使用符号b。在这一实施例中,符号b的接收可以被用作错误指示,触发附加分析以确定该错误或多个错误的性质和修正任何可修正错误。应当理解,这个例子并不依赖于多组源数据位的特定值到特定码字的任何特定映射。
Figure BDA00003361796400202
Figure BDA00003361796400211
在又一实施例中,可以将同一信道上的多组5个符号组成多个码字,并且按照表H中列出的编码来对它们进行编码。在这一实施例中,和这一类的其它实施例一样,各个码字之间的改良汉明间隔至少为4,构成了这一SECDED编码。应当理解,具有基于以正在讨论的信道的错误特征为基础的改良汉明码字间隔的不同特征的其它编码也是可能的。
Figure BDA00003361796400212
应当理解,这一类的编码或者可以在各个码字中使用超过5个符号,并且相应的信道编码器、信道调制器、信道解调器和信道解码器可以使用公知的逻辑合成技术来实现,而无论该信道是通信信道还是存储器装置。还应当理解,在信道被实现为一个或多个存储器装置的情况下,本发明的任何一个实施例的各个码字可以全部被存储在单个存储器装置中或者散布在多个存储器装置中。表I示出了在假设信道具有图6所定义的特征的情况下,按照图18的方法找到的编码的多样性和有效性。
Figure BDA00003361796400221
图12示出了本发明实施例的三进制通信信道的眼图。在采样点tsample,对输入信号的电压进行采样,即,捕获。该图举例说明了分别被可靠地采样为符号c、b和a的三个电压范围Vcl-Vch、Vbl-Vhh和Val-Vah。三个电压范围的宽度和这些电压范围之间对于符号a、b和c的噪声容限以及接收器的输入电路的特征决定了在其中作为一个符号发送的信号被接收为另一个符号的情况。例如,在一个实施例中,符号a和c的接受范围减小,而符号b的范围增大。这些改变了的范围使得降低了作为符号a发送的符号被作为符号c接收的概率和作为符号c发送的符号被作为符号a接收的概率。因此,对于如图6的概率转换图或者图9到11的改良汉明距离图中所描述的情况,确保具有发送器和接收器对的信道具有非对称的错误特征。在本实施例中,所选择的电压范围因此有利于利用该非对称错误特征的三进制编码的使用。这即使在从符号a到符号b或者从符号c到符号b的错误转换的概率增大的情况下也是有益的。
本发明的实施例可以被用于图1、图2和图3中所示的一般类型的系统中。例如,在图1中所示类型的通信系统的情况下,信道编码器和信道调制器会采用本发明的编码,从而使得信道的不完全错误特征得到利用。信道解调器和信道解码器会对该编码进行解码并且检测和/或修正由该信道引入的任何错误,直到达到该编码的错误检测和修正极限。在图3中所示的存储系统的情况下,ECC编码器将会实现编码,使得存储器装置的不完全错误特征得到利用。ECC解码器将会对读出数据进行解码并且检测和/或修正由存储器引入的任何错误,直到达到该编码的错误检测和修正极限。
图13示出了动态随机存储器(DRAM)中存储单元的示意图。DRAM包括多个存储单元,各个存储单元通常用于存储一位信息。各个信息位通常由在所示电容器上存储的电荷量来表示,从而Vcell大于或小于Vplate。DRAM的显著特征是,存储在电容器上的电荷会发生泄漏,从而Vcell会向Vplate漂移。经过一段时间以后,对于DRAM负责读取这个信息位的部分而言,Vcell会变得与Vplate差别不大,不足以区分原本存储在这里的是1还是0。这种机制和本领域中公知的其它机制能够造成写入的1被读取为0,反之亦然。因此,根据图1和3当DRAM被看作信道一部分时,其具有如图4的转换概率图所示的传统的二进制对称错误特征。
在一个实施例中,存储单元读取电路适合于将各个存储单元内的单元电压Vcell解读为代表三个符号a、b和c之一。每个单元存储一位以上信息的DRAM在现有技术中是公知的。在图14中所示的这一实施例中,单元被读取时介于Val与Vah之间的单元电压被解读为符号a,介于Vbl与Vbh之间的单元电压被解读为符号b,并且单元被读取时介于Vcl与Vch之间的单元电压被解读为符号c。这些单元电压范围是这样选择的:使得Vplate处于与符号b对应的范围内,并且与符号a和c对应的范围分别高于和低于Vplate。当对存储单元进行写入时,如果该单元被写入符号a,则Vcell被设置为实际上接近于Vdd的初始值。此外,如果单元要被写入符号c,则Vcell被设置为实际上接近Gnd的初始值,并且如果单元要被写入符号b,则Vcell被设置为接近Vplate的初始值。随着电容器上的电荷不断泄漏,并且电压Vcell朝向Vplate降低,符号a和c变为与符号b区别不大,但是彼此之间并非不可区分。DRAM在作为三进制存储器工作时的这种错误机制具有不完全的转换概率图。可以预见到,这一原理可以应用于其它存储介质或通信信道,其中一个明显错误机制会导致任何信号朝向预定量或状态衰退。可以选择与不同符号对应的信号范围来产生不完全的转换概率图,从而产生非对称信道,尤其是在可以得到高于或低于预定量的信号值时。
DRAM具有其它的错误引入机制。其中一些会产生软错误(一次性错误),而其它一些牵涉到总是会以相同方式出错的有缺陷的存储单元。例如,包括以造成Vcell恒定缩小为Vplate的方式出错的电容器的存储单元将会表现为具有图15中所示的概率转换图的单元。
其它的实施例包括供存储或传送四个值之一的存储器或相应信道使用的一系列信道。每个单元存储四个值的DRAM和其它的存储器类型在现有技术中是公知的。如图16中所示,在示例性存储单元中存储的四个电压范围中的每一个代表四个符号(这里表示为a、b、c和d)的其中一个。在符号集的大小是二的幂的信道或存储器的情况下,信道调制可以是尽可能直接地从编码数据流中选择整数位,以确定所要存储或发送的符号。图16示出了4种可能的信道调制,其中不同的编码数据流位对与四个存储或发送的符号中的各个符号相对应。这些编码中的第一个(图16中标注为I)在图17中所示的信道转换概率图中示出。这个图的特征在于,错误引入机制是由存储或发送的电压朝向中心点衰退造成的。具体地说,符号a和d将会分别朝向符号b和c衰退,而符号b和c通过逼近公共的中间电压而实际上朝向彼此衰退。就这种将编码的信道位编码到符号的格雷码(grey code)而言,不是所有的错误转换都可能发生。每对编码的信道位有四种可能的错误(11=>10;10=>00;00=>10;01=>00)。当从单个位的角度来看这些错误时,很明显,对于一对中的第一位,所有错误都是可能的(1=>0和0=>1),然而对于各个对的第二位,只有一种错误转换是可能的(1=>0)。对于这一信道并且使用该信道调制,各个对的第一位的信道转换概率图是图4中所示的图,而各个对的第二位的信道转换概率图是图5中所示的图。然而,因为各个对的第一和第二位上的可能错误是成对的(即,各个对中一次只可能有一个错误),所以将图17的错误转换图分解成图4和5的错误转换图会丢失某些信息;基于图17的编码与基于用于奇数位位置的图4和用于偶数位位置的图5的二进制编码相比,具有更高的信息量或更好的错误修正/检测。
在由图16和17表示的四进制信道或存储器提供的环境中,信道编码和信道调制便于一起处理。例如这里,k个二进制源数据位的集合可以被汇集为数据字,并且各个数据字可以被编码为k位的码字。在这种情况下,只要k是偶数,并且编码考虑了信道/存储器的错误特征,则能够获得该编码/信道组合的任何期望的错误修正和检测特征。
图18给出了找出满足基于信道/存储器的错误引入特征的期望水平的错误修正性能的编码(即,数据字与码字之间的对应关系)的方法。该算法搜索码字空间,以便找出彼此之间具有足够大的改良汉明间隔的码字,然后将这些码字分配给数据字。该算法开始于步骤A,确定编码的参数,例如:码字的大小、所产生的编码的期望或目标改良汉明码字间隔和改良汉明码字距离以及码字内各个或各组位位置的信道错误转换特征。应当理解,这些特征中的某一些可以通过信道/存储器的特征、整个系统的错误率目标和存储器结构约束来确定。这样,它们被输入到这一算法中,该算法找出服从这些参数的编码。在步骤A中可以使用前面的表E来将期望的错误修正和检测特征量化为目标改良汉明码字间隔。
一般来说,码字越大,实现预定水平的错误检测和修正的开销越低,并且所产生的编码的效率越高。此外,各个符号位置的信道错误转换特征越不完全,该不完全特征能够有助于编码比采用完全错误转换图的可比较传统编码效率更高的可能性越高。
在步骤B,选择可能的码字之一并且将其指定为第一个实际码字。保留变量J,变量J是所找到的构成一组的彼此之间全部满足最小改良汉明间隔标准的可能码字的实际数量的实时计数。这个第一个码字可以是随机选择的,或者是按照对信道/存储器的错误特征的某种认识选择的,或者简单地选择为简单的公知起始码字,比如全部为零或全部为一,或者选择为与全部为零或全部为一的码字之间具有特定的改良汉明距离的码字,或者按照某一其它标准来选择。本发明并不局限于任何特定的选择第一个码字的方法。第一个码字的选择将会影响到图18的算法将会找到码字的集合。某些最终的码字集合将会优于其它的码字集合,因为某些最终的码字集合可以具有比其它码字集合更多的码字,并且某些码字集合在硬件编码器或解码器中比其它的码字集合更加容易实施。一个初始码字是否优于另一个是信道的错误转换图、实施约束条件与方法以及错误检测和修正的目标等级的函数。
由于第一个码字是最终编码设计中的变量,因此图18的算法可以利用不同的第一个码字和/或不同的候选选择算法被执行多次(步骤C),并且按照码字设置首选项的简单标准或者按照多个码字设置首选项的简单标准的集合来选择所有产生的编码中的最优者。本发明并不局限于选择优于其它码字的码字集合的任何特定标准或标准集合。
在步骤C,从还没有被选择来进行考虑的那些可能的码字中选择新的候选码字。和步骤A中一样,这可以用许多不同的方式来完成。例如,用于内循环的当前循环的候选码字可以是随机选择的、从上一个候选码字递增的方式来选择的、通过选择与所选择的码字之间的改良汉明距离或间隔较小的候选码字来选择或者通过某种其它方法选择的。例如,如果将码字看作基为1的多位整数(符号集的大小),则递增法应当是选择ci+1=ci+1,其中ci是第i个候选码字。另一种可选方法是,在后续执行步骤C时,选择与第一个码字w1之间的改良汉明间隔为d的所有候选码字,然后选择与码字w2之间的改良汉明间隔为d的所有候选码字,并且如此继续进行,直到指定码字wj的列表全部被取尽。如果当指定码字的列表已经被取尽时仍然还有未选择的候选码字剩下,则可以通过某种其它方法,比如随机地或逐个地,在步骤C中依次选择所有剩下的未选择候选码字。
另一种包括在步骤C的后续执行中依次选择所有候选码字的可能方法是首先选择所有与第一个码字之间的改良汉明间隔为1的候选码字,然后选择所有与第一个码字之间的改良汉明间隔为二的候选码字,随后选择所有与第一个码字之间的改良汉明间隔为三的候选码字,并且如此继续进行,直到选择了所有的候选码字。另一种可能的方法包括选择有利于相应编码器或解码器高效或小规模实现的候选码字。候选码字的选择顺序影响所产生的编码及其实现的容易程度,从而不同的实现环境可以要求不同的选择顺序或标准。本发明并不局限于任何特定的选择后续候选码字的方法。
一旦在步骤C中选择了候选码字ci,就在步骤D中确定包括候选码字ci的该可能的编码的改良汉明码字间隔和改良汉明码字距离。这可以通过确定候选码字ci与所有之前指定的码字wj之间的改良汉明间隔并且将该结果与目标改良汉明码字间隔进行比较来完成。可以使用确定包括候选码字的可能编码的改良汉明码字间隔将会小于、大于还是等于目标改良汉明码字间隔的任何替代方法。如前所述,之前指定的码字与当前候选码字之间的改良汉明间隔是基于所允许的错误转换而确定的。
类似地,包括候选码字ci的可能编码的改良汉明码字距离可以是在确定可能编码的改良汉明码字间隔之前或者与确定可能编码的改良汉明码字间隔并行地,通过本领域技术人员公知的任何方法来确定的。
在步骤E,将候选码字与所有之前指定的码字之间的改良汉明间隔和从候选码字到各个之前指定的码字的改良汉明距离(反之亦然)与所要产生的编码的目标最小改良汉明码字间隔和目标最小改良汉明码字距离进行比较。如果改良汉明间隔和改良汉明距离(即,到候选码字的和与候选码字之间的)分别大于或等于目标最小改良汉明码字间隔和目标最小改良汉明码字距离,则在步骤F中将候选码字ci指定为实际码字wJ。如果改良汉明间隔小于目标最小改良汉明码字间隔,或者任何一个最小汉明距离小于目标最小改良汉明码字距离,则拒绝将候选码字ci作为码字。该处理在步骤G继续进行。
在步骤G,如果已经指定了足够数量的码字以满足初始参数(在这种情况下编码是完整的),或者已经拒绝了足够数量的可能码字,以至于不能产生满足初始参数的编码,或者如果已经考察了所有可能的码字,则编码生成过程完成。如果该过程未完成,则该过程返回到步骤C来选择和评价另一个候选码字。如果该过程完成并且已经指定了足够数量的码字,则在步骤H继续该过程,并且将指定的码字按照一对一的对应关系分配给数据字。如果该过程完成且没有指定足够数量的码字,则该过程以失败结束,因为没有找到满足目标特征的编码。该过程可以选择通过将初始参数修订为限制更少来从步骤A重新开始,或者可以通过选择不同的第一个码字来在步骤B处重新开始。
步骤H以一一对应的方式进行数据字向码字的分配。这可以通过顺序地逐步通过两个集合,将连续的码字指定给连续的数据字来完成。或者,该分配操作可以是随机进行的。或者,该分配可以逐个地进行并且从结果得到的信道编码器和信道解码器的实现的角度进行,以便产生其中一个或另一个或者这两个单元的更加有效的实现。或者该分配可以是反复进行的,其中尝试并且实施多次分配并且最终选择产生编码器、解码器或二者的最希望的实现方式的分配方式。本发明并不局限于任何特定的进行码字向数据字分配的方法。
在又一实施例中,图18的方法与本领域中公知的逻辑最优化和逻辑合成的方法结合起来,以循环地或并行地找到多个编码以及它们的编码器和解码器实现,以便找到用于特定情形的在时间、面积和/或能耗方面高效的编码。
为了说明图18的方法的操作,给出了基于图17的错误转换表描述的四进制信道、码字大小为四个符号和最小改良汉明码字间隔为4的例子。对于这个例子,表J列出了该方法所遵循的步骤以及在各个步骤中进行的动作。
Figure BDA00003361796400281
如图表J中所示的,表K举例说明通过图18的方法确定的编码。具体地说,它是用于具有图17中所示的错误转换图的四进制信道的编码。它代表可以应用于每个单元或时间段存储或发送两位的存储器和信道(其中电压或电荷倾向于仅向中点退化)的编码。该编码的最小改良汉明码字间隔为4,意味着它是单错修正、双错检测编码。具体地说,图18的方法找到20个可能的码字,这些码字彼此之间全部至少距离为3。表K示出了这20个码字中的16个,这16个码字在图18的每个步骤H中被分配给来自源数据流的16个可能的4位数据字。因此4个四进制符号可以存储或发送4位源数据,同时对各个四位组进行完全的SECDED保护。本发明并不取决于如步骤M中所指定的那样的将编码向数据字的特定分配,并且产生高效的或期望的编码器和/或解码器的任何分配都是适合的。
Figure BDA00003361796400292
Figure BDA00003361796400301
如果信道特征是使得各个符号位置上最多可能有一个错误,则处于与码字之间的距离为二或更大之内的可能的接收字更少。例如,对于具有图17中所示的错误转换图的四进制信道,接收字是caaa,与码字aaaa之间的改良汉明距离为2,同时这两个错误都出现在第一个错误位置上。因此,如表J中所示,候选码字daaa不是可能的码字,因为它与码字aaaa之间的改良汉明间隔为3。然而,如果同一个码字中的第二个错误的概率为零或者远小于发送或存储的字中的另一个符号中的第一个错误,则未检测到的错误集合的总体概率可能仍然低于可接受的阈值,即使没有将单个符号内的多个错误与零错误或该符号内的单错误正确区分开。在这个例子中,如果在编码的形成过程中没有考虑单个符号内的多个错误,则从码字aaaa到可能接收到的字caaa之间的改良汉明距离是无穷大。因此,表J的项目12处码字aaaa与候选码字daaa之间的改良汉明间隔为无穷大,并且通过前进到图18的方法的步骤F,可以将候选码字daaa指定为第二个码字。在这宽松的错误条件设置下,图18的方法找出了24个满足SECDED编码标准的码字。表L中示出了这24个码字以及对数据字的可能的分配。
Figure BDA00003361796400302
Figure BDA00003361796400311
此外,当码字大小m为8个符号时,图18的算法在给定图17的错误转换图的情况下搜索SECDED编码时,如果考虑每个符号有多个错误,则会找出1762个可能的码字,如果没有考虑每个符号有多个错误,则会找到1866个可能的码字。
显然,在这两种情况下,当码字大小为4时,图18的方法会找到超过16个可能的码字。如果编码的信息容量被看成要乘以码字数量的log2,则两个4符号编码的信息容量在考虑和不考虑每个符号有多个错误的情况下分别是4.322位和4.585位。由于信道是四进制信道,因此发送或存储4个符号所需的原始信道容量是8位。本领域中都知道,使用8个发送或存储位的SECDED汉明码的信息量是4位。表K和L中给出的本发明的编码都具有比可比较的SECDED汉明码更高的效率。
对于步骤F,按照另一种可选方法,所有之前没有选择的与新的码字wJ之间的汉明间隔为d或更小的候选码字都可以被标记为与现有的码字过近,以至于它们自己不能作为码字。可以将它们标记为实质上已经被选择过(隐含的意思是遭到了拒绝),从而不会在将来执行步骤C时再次选择它们,或者在步骤C中依次选择它们时为了在步骤E中进行快速拒绝而进行标记。在本发明的上下文中,有助于更快地找出整个编码的其它优化方案都是可行的。
将会理解,本发明的实施例可以应用于本质上具有不完全错误引入属性的其它存储器装置和通信装置。其它的存储器装置和通信信道可以具有多个错误引入机制,其中一个或多个比其它的可能性高。可以抛弃可能性非常小的机制,以便将装置或信道模拟为具有不完全错误引入属性的装置或信道。
在前述说明书中,参照具体实施例介绍了本发明。显而易见,可以对所公开的实施例进行各种改变,而不会超出本发明的较宽泛精神和范围。由此,要从举例说明的角度,而不是限定的角度来看待这些实施例的描述和附图。

Claims (29)

1.一种系统,包括:
具有第一端和第二端的信道,该信道的第一端与发送器耦合,该信道能够将从符号集中选择的符号从第一端发送到第二端,
其中该信道表现出不完全错误引入属性,和
包括一组码字的编码,该组码字的元素为一个或多个编码符号长,编码符号是所述符号集中的成员,
其中,根据所述信道的错误引入属性,该组码字的元素之间的最小改良汉明间隔大于该组码字的元素之间的最小汉明距离。
2.根据权利要求1所述的系统,其中,该编码还包括一组数据字,该组数据字的大小与该组码字的大小相同,并且该组数据字的元素与码字的元素之间存在一对一的映射。
3.根据权利要求2所述的系统,其中符号集的大小至少为3。
4.根据权利要求2所述的系统,其中符号集的大小至少为4。
5.根据权利要求2所述的系统,还包括:
与所述信道的第二端耦合的接收器,该接收器包括信道解调器和信道解码器,并且
其中发送器包括信道调制器和源数据编码器,其中所述信道的第一端与所述发送器耦合,
其中所述信道是通信信道,
其中发送器通过接收数据字和生成码字来实现所述编码,并且其中接收器通过从所述信道中接收符号组并且生成与由发送器接收的数据字对应的数据字来实现所述编码。
6.根据权利要求5所述的系统,其中符号集的大小至少为3。
7.根据权利要求5所述的系统,其中符号集的大小至少为4。
8.根据权利要求1所述的系统,其中该组码字的元素之间的最小改良汉明距离为4或更大。
9.根据权利要求1所述的系统,其中该组码字的元素之间的最小改良汉明距离为5或更大。
10.一种系统,包括:
至少一个包括多个存储单元的存储器装置,各个存储单元具有与一组存储符号的成员一对一对应的多个存储状态,该存储器装置的错误机制具有不完全错误引入属性,
与所述至少一个存储器装置耦合的存储器控制器,用于使得由从该组存储符号中选择的符号得出的数据从所述至少一个存储器装置的多个存储单元中读出,
与存储器控制器耦合的信道解码器,用于修正从所述至少一个存储器装置读出的数据中的错误,所述错误至少部分地是通过所述错误机制引入的,
其中,信道解码器对包括一组码字的编码进行解码,根据所述至少一个存储器装置的不完全错误引入属性,该组码字的元素间的最小改良汉明间隔大于该组码字的元素间的最小汉明距离。
11.根据权利要求10所述的系统,其中符号集的大小至少为3。
12.根据权利要求10所述的系统,其中符号集的大小至少为4。
13.根据权利要求10所述的系统,还包括信道编码器,该信道编码器被配置为接收未编码的数据并且用来将该数据编码为从该组码字中选择的码字的集合,这些码字随后被写入到所述至少一个存储器装置中的多个存储单元中。
14.根据权利要求13所述的系统,其中符号集的大小至少为3。
15.根据权利要求13所述的系统,其中符号集的大小至少为4。
16.根据权利要求10所述的系统,其中该组码字的元素之间的最小改良汉明距离为4或更大。
17.根据权利要求10所述的系统,其中该组码字的元素之间的最小改良汉明距离为5或更大。
18.一种半导体存储器装置,包括:
多个存储单元,各个存储单元具有与一组存储符号的成员一一对应的多个存储状态,该存储器装置的错误机制具有不完全错误引入属性,
与存储单元耦合的信道解码器,用于修正从存储单元读出的数据中的错误,所述错误至少部分地是通过所述错误机制引入的,
其中,信道解码器对包括一组码字的编码进行解码,根据所述存储单元的不完全错误引入属性,该组码字的元素间的最小改良汉明间隔大于该组码字的元素间的最小汉明距离。
19.根据权利要求18所述的半导体存储器装置,其中符号集的大小至少为3。
20.根据权利要求18所述的半导体存储器装置,其中符号集的大小至少为4。
21.根据权利要求18的半导体存储器装置,还包括信道编码器,该信道编码器被配置为接收未编码的数据并且将该数据编码为从该组码字中选择的码字的集合,这些码字随后被写入到所述多个存储单元中。
22.根据权利要求21所述的半导体存储器装置,其中符号集的大小至少为3。
23.根据权利要求21所述的半导体存储器装置,其中符号集的大小至少为4。
24.根据权利要求18所述的半导体存储器装置,其中该组码字的元素之间的最小改良汉明距离为4或更大。
25.根据权利要求18所述的半导体存储器装置,其中该组码字的元素之间的最小改良汉明距离为5或更大。
26.一种操作具有第一端、第二端以及具有不完全错误属性的错误引入机制的信道的方法,该方法包括下列步骤:
从信道中接收符号流,所接收的符号流包括多个符号字,各个符号字包括从符号集中选择的一个或多个符号;和
根据错误修正和/或检测编码,对所接收的符号字进行解码,以产生修正后的数据流,该编码包括具有该编码的最小改良汉明距离的一组码字,根据信道的错误引入机制的错误引入属性计算最小改良汉明间隔,该最小改良汉明距离大于该编码的汉明距离的最小值,
其中,对符号字的解码包括确定该组码字中的哪个码字产生最小的改良汉明距离,并且输出该码字。
27.根据权利要求26所述的方法,其中该方法还包括下列步骤:
通过根据数据字与码字之间的一一映射,将未编码的数据字变换为码字来对未编码数据进行编码,其中该编码还包括所述映射,该编码是由与信道的第一端耦合的发送器执行的;和
通过根据错误引入机制经历错误引入的信道将这些码字发送出去。
28.根据权利要求27所述的方法,其中符号集的大小至少为3。
29.根据权利要求28所述的方法,其中最小改良汉明距离至少为4,并且汉明距离小于4。
CN2011800609758A 2010-10-19 2011-09-27 用于错误特征不完全的信道和存储器的错误检测和修正编码 Pending CN103270498A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/907,210 US8429495B2 (en) 2010-10-19 2010-10-19 Error detection and correction codes for channels and memories with incomplete error characteristics
US12/907,210 2010-10-19
PCT/US2011/053353 WO2012054188A1 (en) 2010-10-19 2011-09-27 Error detection and correction codes for channels and memories with incomplete error characteristics

Publications (1)

Publication Number Publication Date
CN103270498A true CN103270498A (zh) 2013-08-28

Family

ID=45935174

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011800609758A Pending CN103270498A (zh) 2010-10-19 2011-09-27 用于错误特征不完全的信道和存储器的错误检测和修正编码

Country Status (6)

Country Link
US (2) US8429495B2 (zh)
EP (1) EP2630572A1 (zh)
JP (1) JP5726312B2 (zh)
KR (1) KR20140032945A (zh)
CN (1) CN103270498A (zh)
WO (1) WO2012054188A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111540401A (zh) * 2018-12-24 2020-08-14 爱思开海力士有限公司 存储系统和存储模块
CN112118018A (zh) * 2019-06-19 2020-12-22 瑞昱半导体股份有限公司 发送器、通信系统及发送方法
CN113273083A (zh) * 2018-08-27 2021-08-17 波拉兰哈伯雷斯姆技术公司 使用压缩的信道输出信息来解码数据的方法和系统
CN115309573A (zh) * 2021-04-06 2022-11-08 美光科技公司 用于迭代错误校正的动态位翻转顺序

Families Citing this family (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9288089B2 (en) 2010-04-30 2016-03-15 Ecole Polytechnique Federale De Lausanne (Epfl) Orthogonal differential vector signaling
US9596109B2 (en) 2010-05-20 2017-03-14 Kandou Labs, S.A. Methods and systems for high bandwidth communications interface
US9246713B2 (en) 2010-05-20 2016-01-26 Kandou Labs, S.A. Vector signaling with reduced receiver complexity
US9077386B1 (en) 2010-05-20 2015-07-07 Kandou Labs, S.A. Methods and systems for selection of unions of vector signaling codes for power and pin efficient chip-to-chip communication
US9300503B1 (en) 2010-05-20 2016-03-29 Kandou Labs, S.A. Methods and systems for skew tolerance in and advanced detectors for vector signaling codes for chip-to-chip communication
US9985634B2 (en) 2010-05-20 2018-05-29 Kandou Labs, S.A. Data-driven voltage regulator
US9288082B1 (en) 2010-05-20 2016-03-15 Kandou Labs, S.A. Circuits for efficient detection of vector signaling codes for chip-to-chip communication using sums of differences
US9450744B2 (en) 2010-05-20 2016-09-20 Kandou Lab, S.A. Control loop management and vector signaling code communications links
US9251873B1 (en) 2010-05-20 2016-02-02 Kandou Labs, S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications
US9362962B2 (en) 2010-05-20 2016-06-07 Kandou Labs, S.A. Methods and systems for energy-efficient communications interface
US9401828B2 (en) 2010-05-20 2016-07-26 Kandou Labs, S.A. Methods and systems for low-power and pin-efficient communications with superposition signaling codes
US9106238B1 (en) 2010-12-30 2015-08-11 Kandou Labs, S.A. Sorting decoder
US9479369B1 (en) 2010-05-20 2016-10-25 Kandou Labs, S.A. Vector signaling codes with high pin-efficiency for chip-to-chip communication and storage
US8593305B1 (en) 2011-07-05 2013-11-26 Kandou Labs, S.A. Efficient processing and detection of balanced codes
US9564994B2 (en) 2010-05-20 2017-02-07 Kandou Labs, S.A. Fault tolerant chip-to-chip communication with advanced voltage
WO2011151469A1 (en) 2010-06-04 2011-12-08 Ecole Polytechnique Federale De Lausanne Error control coding for orthogonal differential vector signaling
US8429495B2 (en) * 2010-10-19 2013-04-23 Mosaid Technologies Incorporated Error detection and correction codes for channels and memories with incomplete error characteristics
US9275720B2 (en) * 2010-12-30 2016-03-01 Kandou Labs, S.A. Differential vector storage for dynamic random access memory
US9032277B1 (en) * 2011-11-28 2015-05-12 Altera Corporation Parallel low and asymmetric rate Reed Solomon coding
US8732560B2 (en) * 2012-05-08 2014-05-20 Infineon Technologies Ag Method and device for correction of ternary stored binary data
US9268683B1 (en) 2012-05-14 2016-02-23 Kandou Labs, S.A. Storage method and apparatus for random access memory using codeword storage
US10621040B2 (en) 2012-11-30 2020-04-14 Hewlett Packard Enterprise Development Lp Memory controllers to form symbols based on bursts
US9204467B2 (en) * 2012-12-11 2015-12-01 Blackberry Limited Communicating encoded traffic data
US9041428B2 (en) 2013-01-15 2015-05-26 International Business Machines Corporation Placement of storage cells on an integrated circuit
US9201727B2 (en) 2013-01-15 2015-12-01 International Business Machines Corporation Error protection for a data bus
US9021328B2 (en) * 2013-01-15 2015-04-28 International Business Machines Corporation Shared error protection for register banks
CN104995612B (zh) 2013-01-17 2020-01-03 康杜实验室公司 低同步开关噪声芯片间通信方法和系统
US9043683B2 (en) * 2013-01-23 2015-05-26 International Business Machines Corporation Error protection for integrated circuits
CN105122758B (zh) 2013-02-11 2018-07-10 康杜实验室公司 高带宽芯片间通信接口方法和系统
KR102241045B1 (ko) 2013-04-16 2021-04-19 칸도우 랩스 에스에이 고 대역폭 통신 인터페이스를 위한 방법 및 시스템
WO2014210074A1 (en) 2013-06-25 2014-12-31 Kandou Labs SA Vector signaling with reduced receiver complexity
WO2015077608A1 (en) 2013-11-22 2015-05-28 Kandou Labs SA Multiwire linear equalizer for vector signaling code receiver
US9806761B1 (en) 2014-01-31 2017-10-31 Kandou Labs, S.A. Methods and systems for reduction of nearest-neighbor crosstalk
US9369312B1 (en) 2014-02-02 2016-06-14 Kandou Labs, S.A. Low EMI signaling for parallel conductor interfaces
CN110266615B (zh) 2014-02-02 2022-04-29 康杜实验室公司 低isi比低功率芯片间通信方法和装置
US9363114B2 (en) 2014-02-28 2016-06-07 Kandou Labs, S.A. Clock-embedded vector signaling codes
US9509437B2 (en) 2014-05-13 2016-11-29 Kandou Labs, S.A. Vector signaling code with improved noise margin
US9148087B1 (en) 2014-05-16 2015-09-29 Kandou Labs, S.A. Symmetric is linear equalization circuit with increased gain
US9852806B2 (en) 2014-06-20 2017-12-26 Kandou Labs, S.A. System for generating a test pattern to detect and isolate stuck faults for an interface using transition coding
US9112550B1 (en) 2014-06-25 2015-08-18 Kandou Labs, SA Multilevel driver for high speed chip-to-chip communications
CN106797352B (zh) 2014-07-10 2020-04-07 康杜实验室公司 高信噪特性向量信令码
US9432082B2 (en) 2014-07-17 2016-08-30 Kandou Labs, S.A. Bus reversable orthogonal differential vector signaling codes
KR101943048B1 (ko) 2014-07-21 2019-01-28 칸도우 랩스 에스에이 다분기 데이터 전송
EP3175592B1 (en) 2014-08-01 2021-12-29 Kandou Labs S.A. Orthogonal differential vector signaling codes with embedded clock
US9967500B2 (en) * 2014-09-29 2018-05-08 Samsung Electronics Co., Ltd. Systems and methods of selective output for reducing power
US9674014B2 (en) 2014-10-22 2017-06-06 Kandou Labs, S.A. Method and apparatus for high speed chip-to-chip communications
US9948920B2 (en) 2015-02-27 2018-04-17 Qualcomm Incorporated Systems and methods for error correction in structured light
US10068338B2 (en) 2015-03-12 2018-09-04 Qualcomm Incorporated Active sensing spatial resolution improvement through multiple receivers and code reuse
US9530215B2 (en) 2015-03-20 2016-12-27 Qualcomm Incorporated Systems and methods for enhanced depth map retrieval for moving objects using active sensing technology
WO2016210445A1 (en) 2015-06-26 2016-12-29 Kandou Labs, S.A. High speed communications system
US9635339B2 (en) 2015-08-14 2017-04-25 Qualcomm Incorporated Memory-efficient coded light error correction
US9846943B2 (en) 2015-08-31 2017-12-19 Qualcomm Incorporated Code domain power control for structured light
US9557760B1 (en) 2015-10-28 2017-01-31 Kandou Labs, S.A. Enhanced phase interpolation circuit
US9577815B1 (en) 2015-10-29 2017-02-21 Kandou Labs, S.A. Clock data alignment system for vector signaling code communications link
US10055372B2 (en) 2015-11-25 2018-08-21 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
US10003315B2 (en) 2016-01-25 2018-06-19 Kandou Labs S.A. Voltage sampler driver with enhanced high-frequency gain
US10003454B2 (en) 2016-04-22 2018-06-19 Kandou Labs, S.A. Sampler with low input kickback
CN109314518B (zh) 2016-04-22 2022-07-29 康杜实验室公司 高性能锁相环
US10153591B2 (en) 2016-04-28 2018-12-11 Kandou Labs, S.A. Skew-resistant multi-wire channel
US10333741B2 (en) 2016-04-28 2019-06-25 Kandou Labs, S.A. Vector signaling codes for densely-routed wire groups
US10056903B2 (en) 2016-04-28 2018-08-21 Kandou Labs, S.A. Low power multilevel driver
KR102565005B1 (ko) * 2016-08-04 2023-08-07 에스케이하이닉스 주식회사 저항 변화 메모리의 수명 연장 방법 및 그 방법을 이용하는 데이터 저장 시스템
US9906358B1 (en) 2016-08-31 2018-02-27 Kandou Labs, S.A. Lock detector for phase lock loop
US10411922B2 (en) 2016-09-16 2019-09-10 Kandou Labs, S.A. Data-driven phase detector element for phase locked loops
US10200188B2 (en) 2016-10-21 2019-02-05 Kandou Labs, S.A. Quadrature and duty cycle error correction in matrix phase lock loop
US10372665B2 (en) 2016-10-24 2019-08-06 Kandou Labs, S.A. Multiphase data receiver with distributed DFE
US10200218B2 (en) 2016-10-24 2019-02-05 Kandou Labs, S.A. Multi-stage sampler with increased gain
DE102017130591B4 (de) 2016-12-20 2022-05-25 Hyperstone Gmbh Verfahren und Vorrichtung zur Fehlerkorrekturkodierung auf Basis einer Datenkomprimierung
CN110741562B (zh) 2017-04-14 2022-11-04 康杜实验室公司 向量信令码信道的流水线式前向纠错
US10116468B1 (en) 2017-06-28 2018-10-30 Kandou Labs, S.A. Low power chip-to-chip bidirectional communications
US10686583B2 (en) 2017-07-04 2020-06-16 Kandou Labs, S.A. Method for measuring and correcting multi-wire skew
US10693587B2 (en) 2017-07-10 2020-06-23 Kandou Labs, S.A. Multi-wire permuted forward error correction
US10203226B1 (en) 2017-08-11 2019-02-12 Kandou Labs, S.A. Phase interpolation circuit
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10326623B1 (en) 2017-12-08 2019-06-18 Kandou Labs, S.A. Methods and systems for providing multi-stage distributed decision feedback equalization
US10554380B2 (en) 2018-01-26 2020-02-04 Kandou Labs, S.A. Dynamically weighted exclusive or gate having weighted output segments for phase detection and phase interpolation
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10749547B2 (en) * 2018-03-28 2020-08-18 Intel Corporation Error detector and/or corrector checker method and apparatus
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
WO2020000136A1 (en) 2018-06-25 2020-01-02 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of i/o requests
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US10860420B2 (en) * 2019-02-05 2020-12-08 Alibaba Group Holding Limited Method and system for mitigating read disturb impact on persistent memory
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10970212B2 (en) 2019-02-15 2021-04-06 Alibaba Group Holding Limited Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones
US11061834B2 (en) 2019-02-26 2021-07-13 Alibaba Group Holding Limited Method and system for facilitating an improved storage system by decoupling the controller from the storage medium
US10891065B2 (en) 2019-04-01 2021-01-12 Alibaba Group Holding Limited Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11074124B2 (en) 2019-07-23 2021-07-27 Alibaba Group Holding Limited Method and system for enhancing throughput of big data analysis in a NAND-based read source storage
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11356197B1 (en) 2021-03-19 2022-06-07 Kandou Labs SA Error-tolerant forward error correction ordered set message decoder
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996108A (en) * 1993-12-28 1999-11-30 Kabushiki Kaisha Toshiba Memory system
CN1327331A (zh) * 2000-05-30 2001-12-19 阿尔卡塔尔公司 两个发射/接收的接口间进行信号处理的传输方法
US20060088127A1 (en) * 2004-10-27 2006-04-27 Nec Corporation Modulation and demodulation system, modulator, demodulator and phase modulation method and phase demodulation method used therefor
US20080168320A1 (en) * 2007-01-05 2008-07-10 California Institute Of Technology Codes For Limited Magnitude Asymetric Errors In Flash Memories

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5048023A (en) * 1989-02-16 1991-09-10 The United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Asymmetric soft-error resistant memory
JP3854331B2 (ja) * 1996-01-11 2006-12-06 日立マクセル株式会社 多値記録用符号化及びその復号方法
JP4613693B2 (ja) * 2005-05-24 2011-01-19 日本電気株式会社 変復調システム、変調装置、復調装置及びそれらに用いる位相変調方法並びに位相復調方法
FR2906656A1 (fr) * 2006-10-03 2008-04-04 France Telecom Procede et dispositif de decodage a l'aide de codes correcteurs d'erreurs.
US7805658B2 (en) * 2007-02-12 2010-09-28 International Business Machines Corporation DRAM Cache with on-demand reload
US8266495B2 (en) * 2008-02-20 2012-09-11 Marvell World Trade Ltd. Systems and methods for performing concatenated error correction
US8429495B2 (en) * 2010-10-19 2013-04-23 Mosaid Technologies Incorporated Error detection and correction codes for channels and memories with incomplete error characteristics

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996108A (en) * 1993-12-28 1999-11-30 Kabushiki Kaisha Toshiba Memory system
CN1327331A (zh) * 2000-05-30 2001-12-19 阿尔卡塔尔公司 两个发射/接收的接口间进行信号处理的传输方法
US20060088127A1 (en) * 2004-10-27 2006-04-27 Nec Corporation Modulation and demodulation system, modulator, demodulator and phase modulation method and phase demodulation method used therefor
US20080168320A1 (en) * 2007-01-05 2008-07-10 California Institute Of Technology Codes For Limited Magnitude Asymetric Errors In Flash Memories

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANGELA BARBERO等: "Maximum Likelihood Decoding of Codes on the Z-channel", 《IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS,2006.ICC’06.》 *
ANGELA BARBERO等: "Maximum Likelihood Decoding of Codes on the Z-channel", 《IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS,2006.ICC’06.》, vol. 3, 30 June 2006 (2006-06-30), pages 1200 - 1205, XP031025221 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113273083A (zh) * 2018-08-27 2021-08-17 波拉兰哈伯雷斯姆技术公司 使用压缩的信道输出信息来解码数据的方法和系统
CN113273083B (zh) * 2018-08-27 2024-05-24 波拉兰哈伯雷斯姆技术公司 使用压缩的信道输出信息来解码数据的方法和系统
CN111540401A (zh) * 2018-12-24 2020-08-14 爱思开海力士有限公司 存储系统和存储模块
CN111540401B (zh) * 2018-12-24 2023-09-19 爱思开海力士有限公司 存储系统和存储模块
CN112118018A (zh) * 2019-06-19 2020-12-22 瑞昱半导体股份有限公司 发送器、通信系统及发送方法
CN112118018B (zh) * 2019-06-19 2021-12-31 瑞昱半导体股份有限公司 发送器、通信系统及发送方法
CN115309573A (zh) * 2021-04-06 2022-11-08 美光科技公司 用于迭代错误校正的动态位翻转顺序

Also Published As

Publication number Publication date
US8806305B2 (en) 2014-08-12
US8429495B2 (en) 2013-04-23
US20130232393A1 (en) 2013-09-05
JP5726312B2 (ja) 2015-05-27
EP2630572A1 (en) 2013-08-28
JP2014502071A (ja) 2014-01-23
WO2012054188A1 (en) 2012-04-26
US20120096330A1 (en) 2012-04-19
KR20140032945A (ko) 2014-03-17

Similar Documents

Publication Publication Date Title
CN103270498A (zh) 用于错误特征不完全的信道和存储器的错误检测和修正编码
US7579968B2 (en) Encoding of data words using three or more level levels
Jiang et al. Rank modulation for flash memories
Yaakobi et al. Codes for write-once memories
Kayser et al. Multiple-write WOM-codes
CN102694625A (zh) 一种循环冗余校验辅助的极化码译码方法
Wu Low complexity codes for writing a write-once memory twice
Shpilka Capacity-achieving multiwrite WOM codes
Shpilka New constructions of WOM codes using the Wozencraft ensemble
Wang et al. Optimal binary switch codes with small query size
Yaakobi et al. On codes that correct asymmetric errors with graded magnitude distribution
WO2011156750A2 (en) Efficient two and multiple write wom-codes, coding methods and devices
Wachter-Zeh et al. Codes for partially stuck-at memory cells
Mahdavifar et al. Explicit capacity achieving codes for defective memories
Qin et al. Time–space constrained codes for phase-change memories
Haymaker et al. Geometric WOM codes and coding strategies for multilevel flash memories
Immink Coding schemes for multi-level channels with unknown gain and/or offset
Bachoc et al. Bounds for binary codes relative to pseudo-distances of k points
Cheng et al. Bit Flipping Moment Balancing Schemes for Insertion, Deletion and Substitution Error Correction
Lu et al. Construction of unrestricted-rate parallel random input-output code
Einolghozati et al. Error detection in diffusion-based molecular communication
Lu et al. Unrestricted-Rate Parallel Random Input-Output Codes for Multilevel Flash Memory
Heymann et al. Concatenated permutation block codes for correcting single transposition errors
Buzaglo et al. Weakly constrained codes via row-by-row coding
Rajaraman Coding Theory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1186546

Country of ref document: HK

C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Ontario, Canada

Applicant after: Examine Vincent Zhi Cai management company

Address before: Ontario, Canada

Applicant before: Mosaid Technologies Inc.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: MOSAID TECHNOLOGIES INC. TO: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130828

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1186546

Country of ref document: HK