CN115080475A - 用于编码和解码的装置和方法 - Google Patents

用于编码和解码的装置和方法 Download PDF

Info

Publication number
CN115080475A
CN115080475A CN202210119251.6A CN202210119251A CN115080475A CN 115080475 A CN115080475 A CN 115080475A CN 202210119251 A CN202210119251 A CN 202210119251A CN 115080475 A CN115080475 A CN 115080475A
Authority
CN
China
Prior art keywords
sub
codeword
bit
block
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210119251.6A
Other languages
English (en)
Inventor
薛昶圭
金志烨
邵惠晶
郭明保
尹弼相
李受哲
林真洙
崔荣暾
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020210070262A external-priority patent/KR20220127113A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN115080475A publication Critical patent/CN115080475A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/20Conversion to or from representation by pulses the pulses having more than three levels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0033Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0036Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0084Formats for payload data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4908Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4917Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computer Hardware Design (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Dc Digital Transmission (AREA)

Abstract

提供一种用于编码和解码的装置和方法,以实现具有最小开销的最大转换避免编码。示例性装置通过使用表示数据突发中的一些比特值与符号之间的相关性的子块查找表、基于数据突发的其余比特值选择性地将子块查找表互连的组合查找表、以及指定与接收的码字中的每一个的符号对应的子块查找表的码字解码查找表,来执行编码和/或解码。

Description

用于编码和解码的装置和方法
相关申请的交叉引用
本申请基于并要求于2021年3月10日在韩国知识产权局提交的韩国专利申请No.10-2021-0031486和于2021年5月31日在韩国知识产权局提交的韩国专利申请No.10-2021-0070262的优先权,这些申请的公开内容通过引用整体结合于此。
技术领域
本发明构思涉及装置和方法,并且更具体地,涉及用于编码和解码以实现具有最小开销的最大转换避免编码(maximum transition avoidance coding)的装置和方法。
背景技术
使计算系统更强大并且更功率高效的努力可导致开发接口通信并在不增加功耗的情况下提高吞吐量,同时降低理想情况下的功耗。传统的系统是用脉冲幅度调制4电平(PAM-4)信令来实现的。PAM-4用于将2比特流转换为具有4电平的单个多电平信号。PAM-4信令系统可使用最大转换避免(MTA)编码以用于去除接口线上的PAM-4符号之间的最大电压转换。MTA编码可减少会导致信号失真的符号间干扰(ISI)和串扰。
在由计算系统执行的各种操作中,用于数据写入和/或读取的存储器访问操作是重要的。至少部分地基于存储器的输入/输出结构来执行存储器访问操作,并且当存储器带宽增加到32比特或更多时,可通过使用数据调制方法来访问存储器。例如,当使用PAM-4信令时,由于MTA编码所需的信号线的数量的增加和/或芯片面积的增加,可能产生大的开销。因此,需要一种通过使用应用了MTA的PAM-4信令以最小开销实现的用于收发32比特数据的装置和方法。
发明内容
本发明构思提供了一种用于编码和解码的装置和方法,以实现具有最小开销的最大转换避免编码。
该装置包括用于数据总线的发送器,其中,发送器包括编码器,编码器被配置为将要被传送至数据总线的数据突发转换为由符号构成的码字。编码器包括表示数据突发和符号之间的相关性的逻辑电路。逻辑电路包括:根据码字映射的数量被分类的多个子块查找表,其中,码字映射表示数据突发中的一些比特值与符号之间的相关性;以及组合查找表,其基于数据突发的每一个中的其余比特值,根据多个子块查找表选择性地互连编码结果。编码器被配置为通过使用组合查找表和多个子块查找表将与数据突发对应的码字提供给数据总线。
一种发送数据的方法包括:接收要被发送至数据线的m(m是自然数)比特的数据突发;将m比特的数据突发中的p(p为自然数并且m>p)比特的值发送至数据总线反相(DBI)信号线;通过对q比特执行q:(q+k)(q是自然数,k是等于或大于1的自然数)比特编码来生成DBI信号线的码字,其中q比特是DBI信号线上的p比特的总和;以及通过对数据突发中的每一个的其余(m-p)比特执行(m-p):m比特编码来生成数据线的码字。
一种包括用于数据总线的接收器的装置,其中,接收器包括解码器,解码器被配置为将由通过数据总线接收的符号构成的码字转换为数据突发。解码器包括表示符号与数据突发之间的相关性的逻辑电路。逻辑电路包括:码字解码查找表,其被配置为提供查找表映射,查找表映射指定与码字中的每一个的符号对应的多个子块查找表;根据码字映射的数量对多个子块查找表进行分类,其中,码字映射表示符号与数据突发中的一些比特值之间的相关性;以及组合查找表,其基于由查找表映射指定的子块查找表的组合,选择性地互连多个子块查找表。解码器通过使用码字解码查找表、多个子块查找表和组合查找表来恢复与码字对应的数据突发。
附图说明
从以下结合附图的详细描述中,本发明构思的实施例将被更清楚地理解,在附图中:
图1是根据实施例的发送器和接收器的示意性框图;
图2是由图1中的PAM-4编码器使用的7:8比特编码的示图;
图3是用于解释图1中的PAM-4编码器的查找表的示图;
图4和图5A至图5C是使用组合查找表和子块查找表的码字编码的示图;
图6是图1中的PAM-4编码器的操作方法的流程图;
图7是图1中的PAM-4解码器的查找表的示图;
图8是图7中的码字解码查找表的示图;
图9是图1中的PAM-4解码器的操作方法的流程图;
图10是通过使用图2的7:8比特编码的32比特的数据突发的编码方法的示图;
图11是用于解释根据实施例的数据突发的编码方法的曲线图;
图12至图14是根据图11的编码方法的32比特的数据突发结构的示图;
图15是根据实施例的包括编码装置和解码装置的存储器系统的第一示例的框图;
图16是根据实施例的存储器装置的一部分的框图;以及
图17是根据实施例的包括编码装置和解码装置的存储器系统的第二示例的框图。
具体实施方式
图1是根据实施例的发送器110和接收器120的示意性框图。
参照图1,接收器120可经由信道线130与发送器110通信。信道线130可包括多条信号线,多条信号线将发送器110物理地或电气地连接到接收器120。发送器110、接收器120和信道线130可支持PAM-4信令,PAM-4信令将2比特流转换为具有4电平的单个多电平信号。
发送器110可包括PAM-4编码器112,用于将待发送至接收器120的数据突发转换成PAM-4符号。PAM-4编码器112可对数据突发执行编码并生成PAM-4符号。发送器110还可包括用于驱动信道线130的PAM-4符号的驱动器。发送器110可经由信道线130将PAM-4符号发送至接收器120。
PAM-4编码器112可包括表示数据突发与PAM-4符号之间的相关性的逻辑电路114。逻辑电路114可包括被配置为具有最小开销的查找表。查找表可实现为存储数据突发和PAM-4符号之间的相关性的寄存器(或存储元件)。PAM-4编码器112可使用查找表并将数据突发转换成PAM-4符号。
接收器120可接收PAM-4符号,并且可包括用于对接收的PAM-4符号进行解码的PAM-4解码器122。PAM-4解码器122可包括被配置为对PAM-4符号进行解码并且恢复2比特流的数据突发的逻辑电路124。逻辑电路124可包括被配置为对PAM-4符号进行解码并且恢复2比特流的数据突发的查找表。查找表可实现为存储PAM-4符号与数据突发之间的相关性的寄存器。PAM-4解码器122可使用查找表并将PAM-4符号恢复到数据突发。PAM-4解码器122的查找表的一部分可被配置为与PAM-4编码器112的查找表相同。
图2是由图1中的PAM-4编码器112使用的7:8比特编码的示图。
参照图2,示出了用户数据202和经编码的数据204之间的7:8比特编码200。用户数据202可被称为原始数据。对于用户数据202和经编码的数据204,每个DQ[i]行可表示串行数据线。
在用户数据202中,16比特的数据突发可布置在每条串行数据线或每个DQ[i]行上,并且列可包括16比特的数据突发中的顺序的2比特的位置。例如,每个数据突发的第二比特和第三比特可由被标记为列的d[2:3]表示。每个16比特的数据突发可由两个半个数据突发表示,每半个数据突发包括8比特。例如,在串行数据线DQ[0]上,16比特的数据突发可被划分成第一半数据突发(或d0[0]:d0[7:1])和第二半数据突发(或d0[8]:d0[15:9])。每半个数据突发还可被划分成一对1比特:7比特。例如,在串行数据线DQ[0]上,第一半数据突发或d0[0]:d0[7:1]可被划分成1比特值的d0[0]和7比特值的d0[7:1]。
在经编码的数据204中,DQ[i]行可表示串行数据线,数据总线反相(DBI)行可表示DBI信号线,并且它们的列可包括表示符号s[i]的比特串。例如,s[0]可表示每条串行数据线上的第一2比特的PAM-4符号,并且s[1]可表示第二2比特的PAM-4符号。
7:8比特编码200可将在任何1条串行数据线上的任何比特位置处的一对1比特的数据值编码为DBI信号线上的PAM-4符号。例如,串行数据线DQ[0]上的数据d0[0]和d0[8]可被编码为DBI信号线上的2比特的PAM-4符号,而串行数据线DQ[1]上的数据d1[0]和数据d1[8]可被编码为DBI信号线上的2比特的PAM-4符号。
根据实施例,在7:8比特编码200中,DBI信号线上的2比特的PAM-4符号可将其它串行数据线上的一对1比特的数据值编码为DBI信号线上的PAM-4符号。例如,串行数据线DQ[0]的数据d0[0]和串行数据线DQ[1]的数据d1[0]可被编码为DBI信号线上的2比特的PAM-4符号。类似地,串行数据线DQ[2]的数据d2[0]和串行数据线DQ[3]的数据d3[0]可被编码为DBI信号线上的2比特的PAM-4符号。
在7:8比特编码200中,第一半数据突发和第二半数据突发中的每一个中的未被用作的DBI信号线的PAM-4符号的剩余7比特可被编码为与其对应的串行数据线上的4个PAM-4符号。该4个PAM-4符号可具有8比特,并且可被称为码字。例如,用户数据d0[7:1]可被编码为串行数据线DQ[0]上的码字c0[7:0]。用于用户数据的每7比特的码字可被表示为PAM-4符号中的4个PAM-4符号。用户数据d0[7:1]可被编码为码字c0[7:0],码字c0[7:0]包括符号s[0]、s[1]、s[2]和s[3]。
在7:8比特编码200中,串行数据线DQ[i]中的每一条上的用于第一半数据突发中的7比特的码字ci[7:0]和串行数据线DQ[i]中的每一条上的用于第二半数据突发中的7比特的码字ci[15:8]之间的空间可被称为块边界(BB)。
7:8比特编码200可通过使用查找表将7比特的数据值映射到与其对应的码字。如图3所示,查找表可包括组合查找表(LUT)310和包括多个子块LUT 321至324的LUT集320。组合LUT 310可根据多个子块LUT 321至324选择性地互连编码结果。
另一方面,在7:8比特编码200中,根据PAM-4符号s[0]、s[1]、s[2]和s[3]的8比特编码,可存在256个模式,并且可从256个模式中选择128个模式用于用户数据的7比特编码。可将选择的128个模式提供至7比特的用户数据的码字。查找表中的与未被选择的128个模式相关的寄存器可不被使用,并且可用作查找表的开销。
在以下描述的实施例中,为了减少查找表的开销,多个子块LUT 321至324被布置为彼此相邻(即,互连)以构成1个LUT集320。子块LUT 321至324中的每一个可包括多个子块LUT A1至A5、B1至B4以及~B1,这些子块根据码字映射的数量被分类。组合LUT 310可由LUT映射构成,LUT映射根据7比特的用户数据值的类型选择性地组合子块LUT A1至A5、B1至B4以及~B1。LUT可被构造为支持MTA,并且将参照图1描述PAM-4符号与符号比特之间的映射。表1是用于描述的目的非限制性示例。
[表1]
Figure BDA0003497728010000061
参照表1,2比特的PAM-4符号可经由信道线(图1中的130)被发送至表示为0、1、2或3的4个电压电平。作为示例,可将电平3的PAM-4符号设置为最高电压电平,并且可将电平0的PAM-4符号设置为最低电压电平。
图3是图1中的PAM-4编码器112的查找表的示图,并且图4和图5A至图5C是使用图3中的组合LUT 310和子块LUT A1至A5、B1至B4以及~B1的码字编码的示图。图3至图5C描述了由7:8比特编码器和/或解码器使用的LUT,然而这些实施例是出于描述目的的非限制性示例。根据实施例,可通过使用图3到图5C中的LUT来实现29:32比特编码器和/或解码器。
参照图3,PAM-4编码器112的逻辑电路114可包括组合LUT 310以及在LUT集320内部互连的第一子块LUT 321、第二子块LUT 322、第三子块LUT 323和第四子块LUT 324。第一子块LUT 321可包括包含最大数量的码字映射(例如,8个码字映射)的子块LUT B1和子块LUT~B1。子块LUT~B1可被配置为提供相对于子块LUT B1反转的码字映射。子块LUT~B1可被配置为支持要组合的子块LUT中的码字的最后1个符号和第一个符号之间的MTA。第二子块LUT 322可包括例如各自包含4个码字映射的子块LUT A1和子块LUT B2。第三子块LUT323可包括例如各自包含两个码字映射的子块LUT A2、子块LUT A3、子块LUT A5、子块LUTB3和子块LUT B4。第四子块LUT 324可包括例如包含1个码字映射的子块LUT A4。参照图5A至图5C详细描述了子块LUT A1至A5、B1至B4以及~B1。
参照图3和图4,组合LUT 310可设置子块LUT A1至A5、B1至B4以及~B1,这些子块根据用户数据b[6:0]的类型被组合,以提供与7比特的用户数据b[6:0]对应的码字映射。用户数据b[6:0]可对应于参照图2描述的半个数据突发的用户数据d0[7:1]。
作为示例,当7比特的用户数据b[6:0]的b5:b6比特值是00时,子块LUT A1和子块LUT B1可被设置为组合。子块LUT A1可提供与b0:b1比特值对应的码字映射。子块LUT A1可包括对应于2比特的4个码字映射,并且可被包括在第二子块LUT 322中。子块LUT B1可提供与b2:b3:b4比特值对应的码字映射。子块LUT B1可包括对应于3比特的8个码字映射,并且可被包括在第一子块LUT 321中。因此,可提供由与7比特的用户数据b[6:0]的b5:b6比特值(或00)对应的组合符号编码A1×B1构成的32(4×8=32)个码字。
作为示例,当7比特的用户数据b[6:0]的b4:b5:b6比特值是001时,子块LUT A1和子块LUT B2可被设置为组合。子块LUT A1可提供与b0:b1比特值对应的码字映射。子块LUTB2可提供与b2:b3比特值对应的码字映射。子块LUT B2可包括对应于2比特的4个码字映射,并且可被包括在第二子块LUT 322中。因此,可提供由与7比特的用户数据b[6:0]的b4:b5:b6比特值(或001)对应的组合符号编码A1×B2构成的16(4×4=16)个码字。
当7比特的用户数据b[6:0]的b4:b5:b6比特值是101时,子块LUT A2和子块LUT B1可被设置为组合。子块LUT A2可提供与b0比特值对应的码字映射。子块LUT A2可包括与1比特对应的两个码字映射,并且可被包括在第三子块LUT 323中。子块LUT B1可提供与b1:b2:b3比特值对应的码字映射。因此,可提供由与7比特的用户数据b[6:0]的b4:b5:b6比特值(或101)对应的组合符号编码A2×B1构成的16(2×8=16)个码字。
当7比特的用户数据b[6:0]的b4:b5:b6比特值是010时,子块LUT A3和子块LUT B1可被设置为组合。子块LUT A3可提供与b0比特值对应的码字映射。子块LUT A3可包括与1比特对应的两个码字映射,并且可被包括在第三子块LUT 323中。子块LUT B1可提供与b1:b2:b3比特值对应的码字映射。因此,可提供由与7比特的用户数据b[6:0]的b4:b5:b6比特值(或010)对应的组合符号编码A3×B1构成的16(2×8=16)个码字。
当7比特的用户数据b[6:0]的b4:b5:b6比特值是110时,子块LUT A5和子块LUT~B1可被设置为组合。子块LUT A5可提供与b0比特值对应的码字映射。子块LUT A5可包括与1比特对应的两个码字映射,并且可被包括在第三子块LUT 323中。子块LUT~B1可提供与b1:b2:b3比特值对应的码字映射。子块LUT~B1可包括与3比特对应的8个码字映射,并且可被包括在第一子块LUT 321中。因此,可提供由与7比特的用户数据b[6:0]的b4:b5:b6比特值(或110)对应的组合符号编码A5×~B1构成的16(2×8=16)个码字。
作为示例,当7比特的用户数据b[6:0]的b3:b4:b5:b6比特值是0011时,子块LUTA1和子块LUT B3可被设置为组合。子块LUT A1可提供与b0:b1比特值对应的码字映射。子块LUT B3可提供与b2比特值对应的码字映射。子块LUT B3可包括与1比特对应的两个码字映射,并且可被包括在第三子块LUT 323中。因此,可提供由与7比特的用户数据b[6:0]的b3:b4:b5:b6比特值(或0011)对应的组合符号编码A1×B3构成的8(4×2=8)个码字。
作为示例,当7比特的用户数据b[6:0]的b3:b4:b5:b6比特值是1011时,子块LUTA2和子块LUT B2可被设置为组合。子块LUT A2可提供与b0比特值对应的码字映射。子块LUTB2可提供与b1:b2比特值对应的码字映射。因此,可提供由与7比特的用户数据b[6:0]的b3:b4:b5:b6比特值(或1011)对应的组合符号编码A2×B2构成的8(2×4=8)个码字。
作为示例,当7比特的用户数据b[6:0]的b3:b4:b5:b6比特值是0111时,子块LUTA4和子块LUT B1可被设置为组合。子块LUT A4可包括1个码字映射,并且可被包括在第四子块LUT 324中。子块LUT B1可提供与b0:b1:b2比特值对应的码字映射。因此,可提供由与7比特的用户数据b[6:0]的b3:b4:b5:b6比特值(或0111)对应的组合符号编码A4×B1构成的8(1×8=8)个码字。
作为示例,当7比特的用户数据b[6:0]的b2:b3:b4:b5:b6比特值是01111时,子块LUT A2和子块LUT B3可被设置为组合。子块LUT A2可提供与b0比特值对应的码字映射。子块LUT B3可提供与b1比特值对应的码字映射。因此,可提供由与7比特的用户数据b[6:0]的b2:b3:b4:b5:b6比特值(或01111)对应的组合符号编码A2×B3构成的4(2×2=4)个码字。
当7比特的用户数据b[6:0]的b2:b3:b4:b5:b6比特值是11111时,子块LUT A3和子块LUT B4可被设置为组合。子块LUT A3可提供与b0比特值对应的码字映射。子块LUT B4可提供与b1比特值对应的码字映射。子块LUT B4可包括与1比特对应的两个码字映射,并且可被包括在第三子块LUT 323中。因此,可提供由与7比特的用户数据b[6:0]的b2:b3:b4:b5:b6比特值(或11111)对应的组合符号编码A3×B4构成的4(2×2=4)个码字。
参照图5A,子块LUT A1和子块LUT A2中的每一个可选择性地与子块LUT B1、子块LUT B2和子块LUT B3组合。可执行码字编码,使得当2比特值为00时,子块LUT A1被转换为符号电平01,当2比特值为01时,子块LUT A1被转换为符号电平11,当2比特值为10时,子块LUT A1被转换为符号电平02,并且当2比特值为11时,子块LUT A1被转换为符号电平21。可执行码字编码,使得当1比特值为0时,子块LUT A2被转换为符号电平12,并且当1比特值为1时,子块LUT A2被转换为符号电平22。子块查找表A1和A2可被配置为第一个符号电平0、1或2与最后1个符号电平1或2的组合。
可执行码字编码,使得当3比特值为000时,子块LUT B1被转换为符号电平00,当3比特值为001时,子块LUT B1被转换为符号电平01,当3比特值为010时,子块LUT B1被转换为符号电平10,当3比特值为011时,子块LUT B1被转换为符号电平11,当3比特值为100时,子块LUT B1被转换为符号电平02,当3比特值为101时,子块LUT B1被转换为符号电平20,当3比特值为110时,子块LUT B1被转换为符号电平21,并且当3比特值为111时,子块LUT B1被转换为符号电平12。可执行码字编码,使得当2比特值为00时,子块LUT B2被转换为符号电平22,当2比特值为01时,子块LUT B2被转换为符号电平31,当2比特值为10时,子块LUT B2被转换为符号电平13,并且当2比特值为11时,子块LUT B2被转换为符号电平23。可执行码字编码,使得当1比特值是0时,子块LUT B3被转换为符号电平32,并且当1比特值是1时,子块LUT B3被转换为符号电平33。子块LUT B1至LUT B3可被配置为第一个符号电平0、1、2或3与最后1个符号电平0、1、2或3的组合。
在图5A中,可支持MTA,使得在子块LUT A1和子块LUT A2以及子块LUT B1、子块LUTB2和子块LUT B3的每个码字中的符号之间,从电平0到电平3或者从电平3到电平0不发生最大转换(MT)事件。此外,可支持MTA,使得MT事件不发生在子块LUT A1和子块LUT A2的码字的最后1个符号与子块LUT B1、子块LUT B2和子块LUT B3的码字的第一个符号之间。
参照图5B,子块LUT A3和子块LUT A4中的每一个可选择性地与子块LUT B1和子块LUT B4组合。可执行码字编码,使得当1比特值为0时,子块LUT A3被转换为符号电平00,并且当1比特值为1时,子块LUT A3被转换为符号电平10。子块LUT A4可提供1个符号电平20。子块LUT A3和子块LUT A4可被配置为第一个符号电平0、1或2与最后1个符号电平0的组合。
子块LUT B1的配置可与参照图5A描述的相同。可执行码字编码,使得当1比特值为0时,子块LUT B4被转换为符号电平22,并且当1比特值为1时,子块LUT B4被转换为符号电平13。子块LUT B1和子块LUT B4可被配置为第一个符号电平0、1或2与最后1个符号电平0、1、2或3的组合。
在图5B中,子块LUT A3和子块LUT A4以及子块LUT B1和子块LUT B4可支持每个码字中的符号之间的MTA。此外,可支持MTA,使得MT事件不发生在子块LUT A3和子块LUT A4的码字的最后1个符号与子块LUT B1和子块LUT B4的码字的第一个符号之间。
参照图5C,子块LUT A5可选择性地与子块LUT~B1组合。可执行码字编码,使得当1比特值为0时,子块LUT A5被转换为符号电平13,并且当1比特值为1时,子块LUT A5被转换为符号电平23。子块LUT A5可被配置为第一个符号电平1或2与最后1个符号电平3的组合。
子块LUT~B1可提供其中参照图5A描述的子块LUT B1的符号电平被反转的码字。可执行码字编码,使得当3比特值为000时,子块LUT~B1被转换为符号电平33,当3比特值为001时,子块LUT~B1被转换为符号电平32,当3比特值为010时,子块LUT~B1被转换为符号电平23,当3比特值为011时,子块LUT~B1被转换为符号电平22,当3比特值为100时,子块LUT~B1被转换为符号电平31,当3比特值为101时,子块LUT~B1被转换为符号电平13,当3比特值为110时,子块LUT~B1被转换为符号电平12,并且当3比特值为111时,子块LUT~B1被转换为符号电平21。子块LUT~B1可被配置为第一个符号电平1、2或3与最后1个符号电平1、2或3的组合,并且其中可不存在符号电平0。原因在于,因为子块LUT A5的最后1个符号电平为3,所以可通过从子块LUT~B1的第一个符号电平中去除符号电平0来支持MTA。
参照图3至图5C,7比特的用户数据可被编码为码字。例如,当7比特的用户数据(或b0:b1:b2:b3:b4:b5:b6比特值)是0010000时,根据b5:b6比特值00,可从组合LUT 310选择组合符号编码A1×B1。根据b0:b1比特值00,可选择子块LUT A1的符号电平01,并且根据b2:b3:b4比特值100,可选择子块LUT B1的符号电平02。因此,7比特的用户数据0010000可被转换为组合符号的码字0102。
例如,如果假设7比特的用户数据的b0:b1:b2:b3:b4:b5:b6比特值是0101011。根据b3:b4:b5:b6比特值1011,可从组合LUT 310选择组合符号编码A2×B2。根据b0比特值0,可选择子块LUT A2的符号电平12,并且根据b1:b2比特值10,可选择子块LUT B2的符号电平13。因此,7比特的用户数据0101011可被转换为组合符号的码字1213。
例如,当7比特的用户数据(或b0:b1:b2:b3:b4:b5:b6比特值)是1101010时,根据b4:b5:b6比特值010,可从组合LUT 310选择组合符号编码A3×B1。根据b0比特值1,可选择子块LUT A3的符号电平10,并且根据b1:b2:b3比特值101,可选择子块LUT B1的符号电平20。因此,7比特的用户数据1101010可被转换为组合符号的码字1020。
例如,当7比特的用户数据(或b0:b1:b2:b3:b4:b5:b6比特值)是0000110时,根据b4:b5:b6比特值110,可从组合LUT 310选择组合符号编码A5×~B1。根据b0比特值0,可选择子块LUT A5的符号电平13,并且根据b1:b2:b3比特值000,可选择子块LUT~B1的符号电平33。因此,7比特的用户数据0000110可被转换为组合符号的码字1333。
图6是图1中的PAM-4编码器的操作方法600的流程图。
参照图6以及图1至图5C,PAM-4编码器112可接收要被发送至串行数据线DQ[i]的用户数据16比特的数据突发(S601)。PAM-4编码器112可将16比特的数据突发划分成第一半数据突发(或d0[0]:d0[7:1])和第二半数据突发(或d0[8]:d0[15:9])(S602),并且将每半个数据突发的1比特(例如,d0[0]和d0[8])发送至DBI信号线(S603)。PAM-4编码器112可将比特对d0[0]和d0[8]组合成PAM-4符号(S604),并将PAM-4符号发送至DBI信号线(S605)。
PAM-4编码器112可执行7:8比特编码,7:8比特编码对未用于每半个数据突发的DBI信号线的PAM-4符号的其余7比特进行转换(S606)。可通过使用组合LUT 310以及在LUT集320中互连的第一子块LUT 321至第四子块LUT 324来执行7:8比特编码。可由子块LUT A1至A5、B1至B4、以及~B1生成与7比特的数据对应的码字,这些子块LUT根据由组合LUT 310提供的7比特的数据的类型被组合。PAM-4编码器112可将码字发送至信道线130(S607)。
图7是图1中的PAM-4解码器122的查找表的示图,并且图8是图7中的码字解码LUT710的示图。
参照图1和图7,PAM-4解码器122的逻辑电路124可包括组合LUT 310、LUT集320和码字解码LUT 710。可以以与以上参照图3描述的组合LUT 310和LUT集320相同的方式来配置PAM-4解码器122的组合LUT 310和LUT集320。PAM-4解码器122可经由信道线130接收由PAM-4编码器112编码的码字,并且通过使用LUT来执行与该码字对应的8:7比特解码。码字解码LUT 710可与组合LUT 310和子块LUT 321至子块LUT 324组合,并且恢复与码字对应的数据突发。
参照图8,码字解码LUT 710可被配置为提供指定与码字对应的LUT和与指定的LUT对应的用户数据比特值的LUT映射。可根据码字的第一个符号电平0、1、2和3与第二个符号电平0、1、2和3的组合来指定子块LUT A1至子块LUT A5中的一个。例如,码字00可被指定给子块LUT A3,并且与子块LUT A3对应的用户数据比特值可被设置为0。码字12可被指定给子块LUT A2,并且与子块LUT A2对应的用户数据比特值可被设置为0。
码字解码LUT 710可提供表示与子块LUT A1至子块LUT A5组合的子块LUT~B1以及子块LUT B1至子块LUT B4的LUT映射801至LUT映射803。
LUT映射801可表示分别与子块LUT A1和子块LUT A2组合的子块LUT B1至子块LUTB3,并且可表示与和子块LUT A1或子块LUT A2组合的子块LUT B1至子块LUT B3中的每一个对应的用户数据比特值。
例如,可参照LUT映射801将码字0102解码为7比特的用户数据比特。因为已经参照先前码字01指定子块LUT A1,所以可将与子块LUT A1对应的用户数据比特值设置为00。可参照LUT映射801将当前码字02指定给与子块LUT A1组合的子块LUT B1,并且可将与子块LUT B1对应的用户数据比特值设置为100。可将码字0102转换为其中用户数据比特值00与用户数据比特值100组合的00100。可参照组合LUT(图4中的310)将组合的子块LUT A1×B1转换为用户数据比特值00。因此,可将码字0102恢复为其中将用户数据比特值00100和00组合的7比特的用户数据比特值0010000。
例如,在码字1213的情况下,当子块LUT A2被指定给先前码字12时,可将与子块LUT A2对应的用户数据比特值设置为0。可参照LUT映射801将当前码字13指定给与子块LUTA2组合的子块LUT B2,并且可将与子块LUT B2对应的用户数据比特值设置为10。在将用户数据比特值0和10组合之后,可将码字1213转换为010。可参照组合LUT(图4中的310)将组合的子块LUT A2×B2转换为用户数据比特值1011。因此,可将码字1213恢复为其中将用户数据比特值010和1011组合的7比特的用户数据比特值0101011。
LUT映射802可表示分别与子块LUT A3和子块LUT A4组合的子块LUT B1和子块LUTB4,并且可表示与和子块LUT A3或子块LUT A4组合的子块LUT B1和子块LUT B4中的每一个对应的用户数据比特值。
例如,可参照LUT映射802将码字1020解码为7比特的用户数据比特。因为已经参照先前码字10指定子块LUT A3,所以可将与子块LUT A3对应的用户数据比特值设置为1。可参照LUT映射802将当前码字20指定给与子块LUT A3组合的子块LUT B1,并且可将与子块LUTB1对应的用户数据比特值设置为101。可将码字1020转换为用户数据比特值1101。可参照组合LUT(图4中的310)将组合的子块LUT A3×B1转换为用户数据比特值010。因此,可将码字1020恢复为其中将用户数据比特值1101和010组合的7比特的用户数据比特值1101010。
LUT映射803可表示与子块LUT A5组合的子块LUT~B1。
例如,可参照LUT映射803将码字1333解码为7比特的用户数据比特。当子块LUT A5已经参照先前码字13被指定时,可将与子块LUT A5对应的用户数据比特值设置为0。可参照LUT映射803将当前码字33指定给与子块LUT A5组合的子块LUT~B1,并且可将与子块LUT~B1对应的用户数据比特值设置为000。可将码字1333转换为用户数据比特值0000。可参照组合LUT(图4中的310)将组合的子块LUT A5×~B1转换为用户数据比特值110。因此,可将码字1333恢复为其中将用户数据比特值0000和110组合的7比特的用户数据比特值0000110。
图9是图1中的PAM-4解码器122的操作方法900的流程图。
参照图9以及图1至图8,PAM-4解码器122可经由串行数据线DQ[i]接收码字(S901)。PAM-4解码器122可执行8:7比特解码,使得码字被转换为7比特的用户数据(S902)。可通过使用码字解码LUT 710、组合LUT 310、以及在LUT集320中互连的第一子块LUT 321至第四子块LUT 324来执行8:7比特解码。可通过8:7比特解码来生成与码字对应的7比特的用户数据。
PAM-4解码器122可经由DBI信号线接收PAM-4符号的1比特的用户数据(S903),可通过将接收的1比特的用户数据与解码的用户数据组合来恢复第一半数据突发,并且可恢复用于串行数据线DQ[i]的第二半数据突发(S904)。PAM-4解码器122可通过将第一半数据突发与第二半数据突发组合来恢复完整的数据突发(S905)。
图10是通过使用图2的7:8比特编码200的32比特的数据突发的编码方法的示图。
参照图2和图10,32比特的数据突发可布置在每条串行数据线DQ[i]上,并且32比特的数据突发中的每一个可表示4个8比特的四分之一数据突发。每个四分之一数据突发还可被划分为一对1比特:7比特,并且可通过执行参照图2描述的7:8比特编码200来支持MTA。每个四分之一数据突发的1比特值可被编码到DBI信号线上的PAM-4符号,并且当4个四分之一数据突发中的每一个的1比特在8条串行数据线DQ[i]中的每一条上被发送至DBI信号线时,总共32比特可被发送至DBI信号线。
为了也在DBI信号线上支持MTA,32比特中的仅28比特可用于7:8比特编码200。未用于DBI信号线上的7:8比特编码200的四比特可经由离散信号线(例如,错误检测码(EDC)信号线)被编码为符号。因此,图10的32比特的数据突发的编码方法可导致出现需要额外信号线的开销。
图11是用于解释根据实施例的用于数据突发的编码方法的曲线图。
参照图1和图11,PAM-4编码器112可对要被发送至数据线的m比特的数据突发执行(m-p):m(m是自然数且p小于m)比特编码。PAM-4编码器112可将m比特的p比特值发送至DBI信号线,并且对于作为DBI信号线上的p比特的总和的q比特,可执行q:(q+k)(其中,k≥1)比特编码并生成DBI信号线的码字。PAM-4编码器112可对每个数据突发的其余(m-p)比特执行(m-p):m比特编码,并且生成用于数据线的码字。
PAM-4编码器112可基于与数据突发的m比特对应的码字总数、在符号之间没有MT事件的码字中的具有在最高符号电平处的最后一个符号的码字的数量、具有在中间电平处的最后符号的码字的数量、具有在最低符号电平处的最后符号的码字的数量、以及具有既不在最高符号电平处也不在最低符号电平处的第一个符号的码字的数量,来确定p比特。因此,(m-p):m比特编码以及q:(q+k)比特编码可被实现为MTA编码,使得不发生符号之间的MT事件。
PAM-4编码器112可被设计为在PAM-4符号编码期间针对32比特的数据突发具有3比特的最小开销。当基于LUT直接设计29:32比特编码器和/或解码器时,可能需要若干千兆字节(GB)容量的表。为了减少表的大小,参照图3至图5C、图7和图8描述的实施例可应用于29:32比特编码器和/或解码器。因此,可减少要被包括在29:32比特编码器和/或解码器中的表的大小。例如,当通过使用下面的公式1至公式7执行PAM-4符号编码时,PAM-4编码器112可根据码字长度(或PAM-4符号的数量)n来计算开销比特的数量。在32比特的数据突发的情况下,码字长度(或PAM-4符号的数量)n可以是16。
PAM-4编码器112可定义变量hn、mn和ln,以计算对于码字长度n没有MT事件的模式。hn可以是在没有MT事件的情况下具有电平3的最后1个符号的符号n的码字的数量,mn可以是在没有MT事件的情况下具有电平1或电平2的最后1个符号的符号n的码字的数量,并且ln可以是在没有MT事件的情况下具有电平0的最后1个符号的符号n的码字的数量。可通过使用公式1来获得表示变量hn、mn和ln之间的关系的递归关系。
[公式1]
hn+1=hn+mn
mn+1=2mn+2hn+2lm
ln+1=ln+mn
在这种情况下,h1=1,m1=2,和l1=1,其中,n表示当前符号,并且(n+1)表示后续符号。
tn是用于码字长度n的码字总数,其可通过使用公式1来计算,并在公式2和3中示出。
[公式2]
Figure BDA0003497728010000171
在这种情况下,n表示当前符号,并且(n-1)表示先前符号。
[公式3]
tn=hn+mn+ln
作为根据公式2和公式3的码字总数的tn可对应于在块边界(图2中的BB)上不考虑MTA的情况,即,对要分配给第一符号的符号电平没有约束。在块边界BB上,也可有必要支持MTA以防止在先前码字的最后1个符号(n-1)和当前码字的第一个符号n之间的MT事件。
[公式4]
Figure BDA0003497728010000181
[公式5]
Figure BDA0003497728010000182
可通过基于公式3的tn和公式5的t′n使用公式6和公式7来计算开销比特的数量x。
[公式6]
x=2n-[log tn]
[公式7]
x=2n-[log t′n]
通过使用公式6和公式7获得的、参照码字长度n具有整数值的开销比特的数量x可在图11中表示为曲线1100。如曲线1100所示,码字长度(或PAM-4符号的数量)n为16可对应于开销比特的数量3(1103)。
在图11中的曲线1100上,根据图2的7∶8比特编码200的码字长度(或PAM-4符号的数量)n为4可对应于开销比特的数量1(1101),并且开销比特的数量1可对应于被发送至DBI信号线的每个半个数据突发的1比特。此外,当将7∶8比特编码200应用于参照图10所述的32比特的数据突发时,可理解,开销比特的数量是4(1102)。相反,当通过使用公式1到公式7对32比特的数据突发执行PAM-4符号编码时,开销比特的数量可被减少到3(1103)。因此,当32比特的数据突发的3比特从8条串行数据线DQ[i]中的每一条被发送至DBI信号线时,总共24比特可被发送至DBI信号线。
图12至图14是根据图11的编码方法的32比特的数据突发结构的示图。
参照图1和图12,当PAM-4编码器112执行参照图11描述的编码方法并将32比特的数据突发的3比特从8条串行数据线DQ[i]中的每一条发送至DBI信号线时,总共24比特可被发送至DBI信号线。PAM-4编码器112可将串行数据线DQ[i]中的每一条的3比特中的第一比特值1201发送至DBI信号线。之后,串行数据线DQ[i]中的每一条的3比特中的第二比特值1202可被发送至DBI信号线,并且随后,第三比特值1203可被发送至DBI信号线。PAM-4编码器112可将DBI信号线上的24比特划分成8个3比特的组,并且对每个3比特的组执行3:4比特编码。将参照图14描述3:4比特编码。
参照图13,当PAM-4编码器112通过执行参照图11描述的编码方法将32比特的数据突发的3比特从8条串行数据线DQ[i]中的每一条发送到DBI信号线时,总共24比特可被发送到DBI信号线。PAM-4编码器112可将串行数据线DQ[i]中的每一条的3比特值1300至1307发送到DBI信号线。PAM-4编码器112可对DBI信号线上的3比特值1300到1307执行3:4比特编码。
参照图14,3:4比特编码1400可将DBI信号线上的3比特值000转换为具有符号比特0000和符号电平00的码字。3:4比特编码1400可执行码字编码,使得DBI信号线上的3比特值001被转换为符号比特0001和符号电平01,DBI信号线上的3比特值010被转换为符号比特0100和符号电平10,DBI信号线上的3比特值011被转换为符号比特0101和符号电平11,DBI信号线上的3比特值100被转换为符号比特0011和符号电平02,DBI信号线上的3比特值101被转换为符号比特1100和符号电平20,DBI信号线上的3比特值110被转换为符号比特1101和符号电平21,DBI信号线上的3比特值111被转换为符号比特0111和符号电平12。在3:4比特编码1400中,具有最高电压电平的电平3的PAM-4符号的可被不包括在码字中。因此,3:4比特编码1400可支持DBI信号线上的MTA。
参照图12和图13描述的32比特的数据突发结构可不需要诸如EDC信号线的附加信号线,该附加信号线是在图10的7:8比特编码200中支持DBI信号线上的MTA所需要的。此外,EDC信号线可被配置为用于串行数据线DQ[i]上的数据DQ的错误检测。PAM-4编码器112可通过生成用于数据DQ的校验和或循环冗余校验(CRC)并将特定CRC比特发送到EDC信号线来提供性能改进。因此,PAM-4编码器112可通过执行图11的编码方法将串行数据线DQ[i]中的每一条的32比特的数据突发中的3比特发送到DBI信号线,并且通过对DBI信号线执行3:4比特编码1400来支持DBI信号线上的MTA,来满足其性能改进。
图15是根据实施例的包括编码装置和解码装置的存储器系统1500的第一示例的框图。
参照图15,存储器系统1500可包括存储器控制器1510和存储器装置1520。存储器系统1500可以是集成电路、电子装置或系统、智能电话、平板个人计算机(PC)、计算机、服务器、工作站、便携式通信终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、诸如其它已知计算机的计算装置、虚拟机或其虚拟计算装置等。可替换地,存储器系统1500可包括包含在诸如图形卡的计算系统中的一些组件。
存储器控制器1510可经由信道或存储器总线1530被连接以与存储器装置1520进行通信。为简单起见,在附图中,时钟CLK、命令/地址CA和数据DQ被示出为经由存储器控制器1510与存储器装置1520之间的1条信号线提供,但实际上可经由多条信号线或总线提供。
CLK信号可经由存储器总线1530的CLK信号线从存储器控制器1510被发送到存储器装置1520。CA信号可经由存储器总线1530的CA总线从存储器控制器1510被发送到存储器装置1520。芯片选择(CS)信号可经由存储器总线1530的CS信号线从存储器控制器1510被发送到存储器装置1520。被激活为逻辑高的CS信号可指示经由CA总线发送的CA信号为命令。数据DQ可经由存储器总线1530的DQ总线从存储器控制器1510被发送到存储器装置1520或从存储器装置1520被发送到存储器控制器1510,并且DQ总线可包括双向信号线。
存储器控制器1510可包括向存储器装置1520发送数据DQ的数据发送器1512,并且数据发送器1512可包括被配置为将要被发送至存储器装置1520的写入数据突发转换成PAM-4符号的PAM-4编码器112。PAM-4编码器112可包括图1中的逻辑电路114、组合LUT 310以及第一子块LUT 321至第四子块LUT 324,这些子块LUT在LUT集320内部互连,如参照图3至图5C所描述的。PAM-4编码器112可被配置为基于参照图6描述的编码的操作方法600、参照图11至图14描述的数据突发结构、以及DBI MTA码字,将写入数据突发编码为PAM-4符号。存储器控制器1510可经由DQ总线将被编码的PAM-4符号作为数据DQ发送到存储器装置1520。
存储器装置1520可根据存储器控制器1510的控制写入或读取数据DQ。存储器装置1520可包括存储器单元阵列1522及数据输入缓冲器1524。
存储器单元阵列1522可包括多条字线和多条位线,以及在字线与位线交叉的点处形成的多个存储器单元。存储器单元阵列1522的存储器单元可包括易失性存储器单元(例如,动态随机存取存储器(RAM)(DRAM)单元、静态RAM(SRAM)单元等)、非易失性存储器单元(例如,闪速存储器单元、电阻式RAM(RRAM)单元、相变RAM(PRAM)单元、磁性RAM(MRAM)单元等)或任何已知的不同类型的存储器单元。
存储器装置1520可被配置为接收并解码经由DQ总线发送到数据输入缓冲器1524的PAM-4符号。数据输入缓冲器1524可包括被配置为将PAM-4符号恢复为写入数据突发的PAM-4解码器122。PAM-4解码器122可包括图1中的逻辑电路124、参照图7和图8描述的组合LUT 310、LUT集320、以及码字解码LUT 710。PAM-4解码器122可被配置为基于参照图9描述的解码的操作方法900将PAM-4符号解码为写入数据突发。数据输入缓冲器1524可提供要被写入到存储器单元阵列1522中的已解码的写入数据突发。
图16是根据实施例的存储器装置1520的一部分的框图。
参照图16,存储器装置1520可包括存储器单元阵列1522、行解码器1601、字线(WL)驱动器1602、列解码器1603、输入/输出(I/O)门电路1604、MRS 1605、控制逻辑电路1606、地址缓冲器1607、数据输入缓冲器1524、和数据输出缓冲器1526。
存储器单元阵列1522可包括以按行和列布置的矩阵形式提供的多个存储器单元。存储器单元阵列1522可包括连接到存储器单元的多条字线WL和多条位线BL。多条字线WL可连接到存储器单元的行,并且多条位线BL可连接到存储器单元的列。
行解码器1601可选择连接到存储器单元阵列1522的多条字线WL中的任何1条。行解码器1601可对从地址缓冲器1607接收的行地址ROW_ADDR进行解码,并且选择与行地址ROW_ADDR对应的任何1条字线WL,并且然后,可连接到激活所选择的字线WL的字线驱动器1602。列解码器1603可选择多条位线BL中的某些位线BL。列解码器1603可对从地址缓冲器1607接收的列地址COL_ADDR进行解码,并且产生列选择信号,并且然后,可将由列选择信号选择的位线BL连接到输入/输出门电路1604。输入/输出门电路1604可包括存储由列选择信号选择的位线BL的读取数据的读取数据锁存器,以及用于将写入数据写入到存储器单元阵列1522中的写入驱动器。存储在输入/输出门电路1604的读取数据锁存器中的读取数据可经由数据输出缓冲器1526被提供到DQ总线。写入数据可经由连接到DQ总线的数据输入缓冲器1524并且经由输入/输出门电路1604的写入驱动器被施加到存储器单元阵列1522。
控制逻辑电路1606可接收CLK信号和命令CMD,并产生控制存储器装置1520的操作时序和/或存储器操作的控制信号CTRLS。控制逻辑电路1606可通过使用控制信号CTRLS从存储器单元阵列1522读取数据并将数据写入到存储器单元阵列1522中。
为了设置存储器装置1520的操作条件,MRS 1605可存储由控制逻辑电路1606使用以用于构成存储器装置1520的操作的信息。MRS 1605可包括用于设置存储器装置1520以及存储控制参数的参数代码的寄存器的操作条件的各种操作。存储器装置1520可经由CA总线接收参数代码。控制逻辑电路1606可向存储器装置1520的电路提供控制信号CTRLS,使得控制逻辑电路1606按照由MRS 1605存储的操作和控制参数所配置的那样进行操作。
图17是根据实施例的包括编码装置和解码装置的存储器系统1700的第二示例的框图。
参照图17,存储器系统1700与图15的存储器系统1500的不同之处可在于,存储器控制器1710还包括数据接收器1714,数据接收器1714包括PAM-4解码器122,并且存储器装置1720还包括数据输出缓冲器1526,数据输出缓冲器1526包括PAM-4编码器112。
当将从存储器单元阵列1522输出的读取数据突发发送到存储器控制器1710时,存储器装置1720可被配置为将读取数据突发编码为PAM-4符号并且经由数据输出缓冲器1526发送经编码的PAM-4符号。数据输出缓冲器1526可包括被配置为将读取数据转换为PAM-4符号的PAM-4编码器112。
存储器控制器1710可被配置为接收并解码经由DQ总线发送至数据接收器1714的PAM-4符号。数据接收器1714可包括PAM-4解码器122,PAM-4解码器122被配置为将PAM-4符号恢复为读取数据突发。
尽管已经参照本发明构思的实施例具体示出和描述了本发明构思,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可在其中进行形式和细节上的各种改变。

Claims (20)

1.一种装置,包括:
发送器,其用于数据总线,所述发送器包括编码器,所述编码器被配置为将要被发送至所述数据总线的数据突发转换为由符号构成的码字,
其中,所述编码器包括表示所述数据突发和所述符号之间的相关性的逻辑电路,
其中,所述逻辑电路包括根据码字映射的数量被分类的多个子块查找表,其中,所述码字映射表示所述数据突发中的一些比特值与所述符号之间的相关性;以及
组合查找表,其基于所述数据突发中的其余比特值根据所述多个子块查找表选择性地互连编码结果,
其中,所述编码器被配置为通过使用所述组合查找表和所述多个子块查找表,将与所述数据突发对应的码字提供给所述数据总线。
2.如权利要求1所述的装置,其中,所述编码器被配置为通过将来自8比特的所述数据突发中的每一个的1比特值发送至数据总线反相信号线来将一对1比特值编码为所述数据总线反相信号线的符号,对所述数据突发中的每一个的其余7比特执行7:8比特编码,以及根据所述7:8比特编码生成由具有至少4个电平的4个符号构成的码字。
3.如权利要求2所述的装置,其中,其中存储有所述码字映射的寄存器互连的所述多个子块查找表构成1个查找表集。
4.如权利要求2所述的装置,其中,所述多个子块查找表包括表示与所述数据突发中的每一个的所述其余7比特中的一些比特值对应的符号的码字映射,
其中,所述多个子块查找表包括:
第一子块查找表,其提供与所述一些比特值中的3比特值对应的8个码字映射;
第二子块查找表,其提供与所述一些比特值中的2比特值对应的4个码字映射;
第三子块查找表,其提供与所述一些比特值中的1比特值对应的两个码字映射;以及
第四子块查找表,其提供具有1个符号电平的1个码字映射。
5.如权利要求4所述的装置,其中,所述多个子块查找表是通过最大转换避免编码来配置的,使得在所述码字映射中的符号之间,最大转换事件不发生在所述至少4个电平中的从具有最高电压电平的电平到具有最低电压电平的电平、或者从具有所述最低电压电平的电平到具有所述最高电压电平的电平。
6.如权利要求4所述的装置,其中,所述组合查找表被配置为通过基于所述数据突发中的每一个的所述其余比特值中的2比特值组合所述第一子块查找表和所述第二子块查找表来提供所述码字。
7.如权利要求4所述的装置,其中,所述组合查找表被配置为通过基于所述数据突发中的每一个的所述其余比特值中的3比特值组合所述第二子块查找表或组合所述第一子块查找表与所述第三子块查找表来提供所述码字。
8.如权利要求4所述的装置,其中,所述组合查找表被配置为通过基于所述数据突发中的每一个的所述其余比特值中的4比特值组合所述第一子块查找表和所述第四子块查找表或组合所述第二子块查找表和所述第三子块查找表来提供所述码字。
9.如权利要求4所述的装置,其中,所述组合查找表被配置为通过基于所述数据突发中的每一个的所述其余比特值中的5比特值组合所述第三子块查找表来提供所述码字。
10.如权利要求1所述的装置,其中,所述装置包括存储器控制器,所述存储器控制器被配置为将要被发送到连接至数据线的存储器装置的写入数据编码为所述码字。
11.如权利要求1所述的装置,其中,所述装置包括存储器装置,所述存储器装置被配置为将从连接到所述数据线的存储器控制器接收的所述码字解码为读取数据。
12.一种发送数据的方法,所述方法包括:
接收要被发送至数据线的m比特的数据突发,其中,m是自然数;
将所述m比特的数据突发中的p比特的值发送至数据总线反相信号线,其中,p是自然数并且m>p;
通过对q比特执行q:(q+k)比特编码来生成所述数据总线反相信号线的码字,其中,所述q比特是所述数据总线反相信号线上的所述p比特的总和,其中,q是自然数并且k是等于或大于1的自然数;以及
通过对所述数据突发中的每一个的其余(m-p)比特执行(m-p):m比特编码来生成所述数据线的码字。
13.如权利要求12所述的方法,其中,所述(m-p):m比特编码以及所述q:(q+k)比特编码使用具有至少4个符号电平的符号并且通过最大转换避免编码来实现,使得在所述符号之间,最大转换事件不发生在所述至少4个符号电平中的从具有最高电压电平的符号电平到具有最低电压电平的符号电平、或者从具有所述最低电压电平的符号电平到具有所述最高电压电平的符号电平。
14.如权利要求13所述的方法,还包括确定所述p比特,
其中,基于与所述m比特对应的码字的总数、在所述符号之间没有最大转换事件的码字中的具有在最高电压电平处的最后符号的码字的数量、具有在具有最高电压电平的符号电平与具有最低电压电平的符号电平之间的中间电平处的最后符号的码字的数量、具有在最低符号电平处的最后符号的码字的数量、以及具有既不在最高电压电平处也不在最低电压电平处的第一符号的码字的数量,来确定所述p比特。
15.如权利要求12所述的方法,其中,所述(m-p):m比特编码是29:32比特编码,并且所述q:(q+k)比特编码是3:4比特编码。
16.一种包括用于数据总线的接收器的装置,所述接收器包括解码器,所述解码器被配置为将由通过所述数据总线接收的符号构成的码字转换为数据突发,
其中,所述解码器包括表示所述符号和所述数据突发之间的相关性的逻辑电路,
其中,所述逻辑电路包括:
码字解码查找表,其被配置为提供查找表映射,所述查找表映射指定与所述码字中的每一个的所述符号对应的多个子块查找表;
所述多个子块查找表根据码字映射的数量被分类,其中,所述码字映射表示所述符号与所述数据突发中的一些比特值之间的相关性;以及
组合查找表,其基于由所述查找表映射指定的子块查找表的组合,将所述多个子块查找表选择性地互连,
其中,所述解码器通过使用所述码字解码查找表、所述多个子块查找表和所述组合查找表来恢复与所述码字对应的所述数据突发。
17.如权利要求16所述的装置,其中,所述查找表映射被配置为使得所述码字解码查找表根据所述码字的第一符号电平与第二符号电平的组合来指定所述多个子块查找表中的一个。
18.如权利要求16所述的装置,其中,其中存储有所述码字映射的寄存器互连的所述多个子块查找表被配置为1个查找表集。
19.如权利要求16所述的装置,其中,所述多个子块查找表包括表示与所述码字的所述符号对应的所述数据突发中的每一个的一些比特值的码字映射,
第一子块查找表,其提供与所述一些比特值中的3比特值对应的8个码字映射;
第二子块查找表,其提供与所述一些比特值中的2比特值对应的4个码字映射;
第三子块查找表,其提供与所述一些比特值中的1比特值对应的两个码字映射;以及
第四子块查找表,其提供具有1个符号电平的1个码字映射。
20.如权利要求19所述的装置,其中,所述多个子块查找表是通过最大转换避免编码来配置的,使得在所述码字映射中的符号之间,最大转换事件不发生在从具有最高电压电平的符号电平到具有最低电压电平的符号电平、或者从具有所述最低电压电平的符号电平到具有所述最高电压电平的符号电平。
CN202210119251.6A 2021-03-10 2022-02-08 用于编码和解码的装置和方法 Pending CN115080475A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0031486 2021-03-10
KR20210031486 2021-03-10
KR1020210070262A KR20220127113A (ko) 2021-03-10 2021-05-31 최소 오버헤드를 갖는 최대 천이 방지 코딩을 구현하는 인코딩 및 디코딩 장치 및 방법
KR10-2021-0070262 2021-05-31

Publications (1)

Publication Number Publication Date
CN115080475A true CN115080475A (zh) 2022-09-20

Family

ID=80953505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210119251.6A Pending CN115080475A (zh) 2021-03-10 2022-02-08 用于编码和解码的装置和方法

Country Status (3)

Country Link
US (1) US11757567B2 (zh)
EP (1) EP4057515B1 (zh)
CN (1) CN115080475A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210149543A (ko) * 2020-06-02 2021-12-09 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR20220140234A (ko) * 2021-04-09 2022-10-18 삼성전자주식회사 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치
KR20230000456A (ko) * 2021-06-24 2023-01-02 에스케이하이닉스 주식회사 전송 장치, 이를 이용하는 송수신 시스템 및 송수신 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870037A (en) 1994-07-08 1999-02-09 Sony Corporation Method and apparatus, demodulating method and signal demodulating apparatus
US7081838B2 (en) 2004-12-29 2006-07-25 Enigma Semiconductor, Inc. 16b/10s coding apparatus and method
US8552891B2 (en) * 2006-05-27 2013-10-08 Samsung Electronics Co., Ltd. Method and apparatus for parallel data interfacing using combined coding and recording medium therefor
WO2009108562A2 (en) * 2008-02-25 2009-09-03 Rambus Inc. Code-assisted error-detection technique
US9768989B2 (en) 2013-05-07 2017-09-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for soft symbol generation in a communication receiver
US9252802B2 (en) 2014-02-07 2016-02-02 Qualcomm Incorporated Encoding for partitioned data bus
US10673535B2 (en) 2016-04-14 2020-06-02 Hewlett Packard Enterprise Development Lp Optical receiver with three data slicers and one edge slicer
US9922686B2 (en) 2016-05-19 2018-03-20 Micron Technology, Inc. Apparatuses and methods for performing intra-module databus inversion operations
US10491238B2 (en) 2018-01-24 2019-11-26 Nvidia Corp. Maximum transition avoidance (MTA) encoding
US10547387B2 (en) 2018-03-30 2020-01-28 Mellanox Technologies Denmark ApS. Transition based feedforward equalization method and apparatus implemented with lookup table circuits
US10404505B1 (en) 2018-05-10 2019-09-03 Nvidia Corp. Bus-invert coding with restricted weight range for multi-level signaling
GB201811537D0 (en) 2018-07-13 2018-08-29 Univ Oxford Innovation Ltd Turnable blue emitting lead halide perovskites
KR102263598B1 (ko) 2018-08-16 2021-06-10 주식회사 딥엑스 파이프라인 구조를 가지는 인공신경망용 연산 가속 장치
US10686528B2 (en) * 2018-11-07 2020-06-16 Mellanox Technologies Denmark ApS. Methods and apparatus for tuning lookup table circuits in a transmitter of optical and electrical communication systems
US20200336212A1 (en) 2019-04-22 2020-10-22 Zte Corporation Reducing pattern effects for pulse amplitude modulation signals in semiconductor optical amplifiers
US20230043152A1 (en) * 2021-07-30 2023-02-09 Nvidia Corp. Memory interface with reduced energy transmit mode

Also Published As

Publication number Publication date
US11757567B2 (en) 2023-09-12
EP4057515A1 (en) 2022-09-14
EP4057515B1 (en) 2024-04-24
US20220294554A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
EP4057515B1 (en) Devices for encoding
US8223042B2 (en) Encoding data with minimum hamming weight variation
EP3193259B1 (en) Encoding data using combined data mask and data bus inversion
KR101837515B1 (ko) 개략적 시그널링 코드들을 이용한 잡음 탄력적, 핀-효율적 및 저전력 통신을 위한 방법들 및 시스템들
US6661355B2 (en) Methods and apparatus for constant-weight encoding & decoding
US8552891B2 (en) Method and apparatus for parallel data interfacing using combined coding and recording medium therefor
US11824563B2 (en) Encoding and decoding apparatuses and methods for implementing multi-mode coding
JP3590209B2 (ja) 変調符号化方法
CN106576087A (zh) 带内嵌时钟的正交差分向量信令码
TW200818719A (en) Low power balance code using data bus inversion
US20110249513A1 (en) Transmitting/receiving methods and systems with simultaneous switching noise reducing preambles
US10657094B2 (en) Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses
JPH0514420A (ja) シリアル信号伝送装置
US20140023161A1 (en) Crosstalk reduction coding schemes
KR20110101012A (ko) 컴바인드 코딩을 이용한 병렬데이터 인터페이스 방법, 기록매체 및 그 장치
US11822492B2 (en) Signal encoding method and a semiconductor device to generate an optimal transition code in a multi-level signaling system
KR20220127113A (ko) 최소 오버헤드를 갖는 최대 천이 방지 코딩을 구현하는 인코딩 및 디코딩 장치 및 방법
KR20220127129A (ko) 멀티 모드 코딩을 구현하는 인코딩 및 디코딩 장치 및 방법
KR100290545B1 (ko) 메모리어레이,메모리소자및정보처리방법
CN118609617A (zh) 提供编码数据的发送电路、包括该发送电路的电子设备、以及操作该电子设备的方法
CN118351898A (zh) 传输电路、存储器芯片及存储系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination