KR20220140234A - 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치 - Google Patents

멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치 Download PDF

Info

Publication number
KR20220140234A
KR20220140234A KR1020210046464A KR20210046464A KR20220140234A KR 20220140234 A KR20220140234 A KR 20220140234A KR 1020210046464 A KR1020210046464 A KR 1020210046464A KR 20210046464 A KR20210046464 A KR 20210046464A KR 20220140234 A KR20220140234 A KR 20220140234A
Authority
KR
South Korea
Prior art keywords
mask
digital code
transmission
vector
masks
Prior art date
Application number
KR1020210046464A
Other languages
English (en)
Inventor
설창규
우병석
이수철
Original Assignee
삼성전자주식회사
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 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020210046464A priority Critical patent/KR20220140234A/ko
Priority to US17/551,781 priority patent/US11822492B2/en
Priority to CN202210357787.1A priority patent/CN115208410A/zh
Priority to TW111113343A priority patent/TW202301346A/zh
Publication of KR20220140234A publication Critical patent/KR20220140234A/ko

Links

Images

Classifications

    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/16Conversion to or from unit-distance codes, e.g. Gray code, reflected binary code
    • 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
    • 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/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1009Data masking during input/output
    • 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
    • H04L1/0047Decoding adapted to other signal detection operation
    • 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/4915Transmitting 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 pattern inversion or substitution
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Dc Digital Transmission (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)

Abstract

반도체 장치의 신호 처리 방법이 제공된다. 신호 처리 방법은 제1 디지털 신호의 제1 디지털 코드를 수신하는 단계, 상기 제1 디지털 코드의 제한(constraint) 벡터를 생성하는 단계, 상기 제한 벡터에 기초한 송신 마스크로 상기 제1 디지털 코드를 마스킹하는 단계, 및 상기 마스킹된 제1 디지털 코드 및 상기 마스크에 대한 DBI 비트를 출력하는 단계를 포함한다.

Description

멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치{Signal Encoding Method and Semiconductor Device to Generate Optimal Transition code in a Multi-level Signaling System}
본 발명은 멀티 레벨로 데이터 신호를 송수신하는 환경에서 최적 전이 코드(optimal transition code)를 생성하기 위한 신호 처리 방법 및 장치에 관한 것이다.
호스트와 메모리 장치 간 데이터 송수신 기술에서, 공급 전압 레벨과 접지 전압 레벨만을 포함한, 펄스 진폭 변조 2 레벨 기술은 신호 레벨 간 간격이 크므로 노이즈 또는 크로스토크에는 강할 수 있으나, 한번에 전송할 수 있는 데이터의 양이 적다. 그래서 이종 장치간 통신 대역폭을 증가시키기 위해 멀티 레벨 신호 전송 기술이 사용된다.
본 발명이 해결하고자 하는 기술적 과제는 멀티 레벨 신호 시스템에서 최대 변이(Maxium Transition)가 발생하지 않는 신호 처리 신호처리 (Signal Processing) 방법 및 반도체 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 레이턴시가 최소화되면서도, 아이 마진이 확보된 신호 처리 방법 및 반도체 장치을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 반도체 장치의 신호 처리 방법은 제1 디지털 신호의 제1 디지털 코드를 수신하는 단계, 상기 제1 디지털 코드의 제한(constraint) 벡터를 생성하는 단계, 상기 제한 벡터에 기초한 송신 마스크로 상기 제1 디지털 코드를 마스킹하는 단계, 및 상기 마스킹된 제1 디지털 코드 및 상기 마스크에 대한 DBI 비트를 출력하는 단계를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 반도체 장치는 제1 디지털 코드를 출력하는 프로세싱 유닛, 제한 벡터에 기초한 송신 마스크로 상기 제1 디지털 코드를 마스킹하는 인코더, 상기 마스킹된 제1 디지털 코드 및 상기 송신 마스크에 대한 DBI 비트를 전송하는 전송회로를 포함하고, 상기 제한 벡터는 상기 제1 디지털 코드 이전의 제2 디지털 코드에 기초할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 반도체 장치는 제1 디지털 코드 및 DBI 비트를 수신하는 수신회로 및 상기 DBI 비트에 기초한 수신 마스크로 상기 제1 디지털 코드를 언-마스킹하는 디코더를 포함하고, 상기 수신 마스크는 상기 제1 디지털 코드 이전의 제2 디지털 코드에 기초하여 생성된 제한 벡터에 상응하는 것일 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 몇몇 실시예에 따른 신호 처리 방법으로 동작하는 반도체 장치를 나타낸 것이다.
도 2는 데이터 버스를 통해 송수신되는 신호를 나타낸 신호도이다.
도 3은 몇몇 실시예에 따른 신호 처리 방법을 설명하기 위한 개념도이다.
도 4는 몇몇 실시예에 따른 신호 처리 방법을 설명하기 위한 개념도이다.
도 5는 도 1에 도시된 인코더의 일 실시예를 구체적으로 나타낸 도면이다.
도 6은 몇몇 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다.
도 7은 몇몇 실시예에 따른 마스크북(Mask book)을 나타낸 도면이다.
도 8은 몇몇 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다.
도 9는 도 1에 도시된 디코더의 일 실시예를 구체적으로 나타낸 도면이다.
도 10은 도 1에 도시된 인코더의 다른 실시예를 구체적으로 나타낸 도면이다.
도 11은 도 1에 도시된 디코더의 다른 실시예를 구체적으로 나타낸 도면이다.
도 12a 및 도 12b는 몇몇 실시예에 따른 실시예에 적용되는 복수의 마스크북을 예시적으로 나타낸 것이다.
도 13은 몇몇 실시예에 따른 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다.
도 14은 몇몇 실시예에 따른 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다.
도 15는 몇몇 실시예에 따른 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다.
도 16는 몇몇 실시예에 따른 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다.
도 17은 몇몇 실시예에 따른 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다.
도 18은 도 1의 반도체 장치를 포함하는 메모리 시스템을 나타낸 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 기술적 사상에 따른 실시예들에 대해 설명한다.
도 1은 몇몇 실시예에 따른 신호 처리 방법으로 동작하는 반도체 장치를 나타낸 것이다. 도 2는 데이터 버스를 통해 송수신되는 신호를 나타낸 신호도이다.
반도체 장치(10)는 송신 장치(20)와 수신 장치(30)를 포함한다. 송신 장치(20)는 송신하는 데이터에 대해 수신 장치(30)와 대칭되는 데이터 인코딩을 수행하고, 수신 장치(30)는 수신되는 데이터에 대해 송신 장치(20)와 대칭되는 데이터 디코딩을 수행할 수 있다. 반도체 장치(10)는 멀티 레벨 신호 시스템으로 디지털 신호를 인코딩 또는 디코딩하여 데이터를 통신할 수 있다. 몇몇 실시예에 따라 반도체 장치(10)는 디지털 신호를 펄스 진폭 변조 방식으로 인코딩 또는 디코딩 할 수 있다. 몇몇 실시예에 따라 반도체 장치(10)는 복수의 진폭 레벨을 그레이 코딩(Gray Coding) 방식의 바이너리 코드에 매핑하여 인코딩 또는 디코딩할 수 있다. 펄스 진폭 변조 방식(Pulse Amplitude Modulation)은 디지털 코드의 비트수에 따라 4레벨(PAM 4, 2bit 코드), 8레벨(PAM 8, 3bit 코드), 16레벨(PAM16, 4bit 코드) 등일 수 있다. 일 예로 송신 장치(20)와 수신 장치(30)가 송수신하는 신호는 펄스 진폭 변조의 그레이 코딩 방식으로 인코딩된 신호일 수 있다. 도 2에 도시된 예는 표 1에 따른 PAM 4 방식의 송수신 신호를 나타낸 것이다.
<표 1>
Figure pat00001
몇몇 실시예에 따라 송신 장치(20) 및 수신 장치(30)는 유선 네트워크로 연결된 제1 장치(미도시) 및 제2 장치(미도시)에 각각 포함될 수 있다. 예를 들어 제1 장치는 제1 반도체 장치(10)를 포함하고, 제2 장치는 제2 반도체 장치(10')를 포함할 수 있다. 제1 반도체 장치(10)는 제1 송신 장치(20) 및 제1 수신 장치(30)를 포함하고, 제2 반도체 장치(10')는 제2 송신 장치(20') 및 제2 수신 장치(30')를 포함할 수 있다.
예를 들어 제1 장치가 제1 데이터를 제2 장치로 전송하는 경우, 제1 반도체 장치(10)의 제1 송신 장치(20)는 제1 데이터를 제2 반도체 장치(10')의 제2 수신 장치(30')로 전송한다. 반대로, 제2 장치가 제2 데이터를 제1 장치로 전송하는 경우, 제2 반도체 장치(10')의 제2 송신 장치(20')는 제2 데이터를 제1 반도체 장치(10)의 제1 수신 장치(30)로 전송한다.
송신 장치(20)는 프로세싱 유닛(21), 인코더(100) 및 전송회로(23)를 포함할 수 있다.
프로세싱 유닛(21)는 메인 데이터인 송신 데이터를 생성한다. 송신 데이터는 n비트의 디지털 신호일 수 있다. 인코더(100)는 n비트의 송신 데이터를 복수의 멀티 레벨 신호에 매핑하여 m비트의 디지털 코드로 변환하는, 인코딩을 수행할 수 있다. 송신 회로(23)는 m비트의 디지털 코드에 매핑된 진폭 레벨을 갖는 아날로그 신호를 수신 회로(33)로 출력할 수 있다. 예를 들어 디지털 코드가 10이면, 600mV의 진폭 레벨을 갖는 아날로그 신호를 출력할 수 있다. 다양한 실시예에 따라 n과 m은 동일한 자연수일 수도 있고 서로 다른 자연수일 수도 있다.
예를 들어, 도 2와 같이 4 레벨 이상의 펄스 진폭 변조 방식을 사용할 경우, 변이(transition) 폭이 큰 신호, 예를 들어 최대 전압 레벨(3)에서 최소 전압 레벨(0)로 변이하거나, 반대로 최소 전압 레벨(0)에서 최대 전압 레벨(3)로 변이하는 신호의 경우, 신호 전송을 위한 전력이 증가되고, 인접 데이터 버스에 크로스토크(cross talk)를 발생시킬 수 있다. 또한 전압 레벨 변이 기울기에 의한 인해 아이 마진(Eye Margin)이 부족해질 수 있다. 따라서, 최대 변이(Maximum Transition)가 발생할 확률을 감소시키면서도, 최소한의 레이턴시를 갖는 신호 처리 기술이 필요하다.
인코더(100)는 몇몇 실시예에 따라 제한 벡터에 기초한 송신 마스크(Mask)로 로우(Raw) 디지털 신호를 송신용 디지털 코드로 마스킹 할 수 있다. 제한 벡터는 예를 들면, 현재 전송할 디지털 코드(이하 '현재 디지털 코드')와 이전에 전송한 디지털 코드(이하 '이전 디지털 코드')를 비교하여, 현재 디지털 코드에서 최대 변이(Maximum Transition)가 발생할 확률이 높은 위치(이하 최대 변이 코드의 발생 위치)를 나타내는 신호일 수 있다.
몇몇 실시예에 따라 인코더(100)는 복수의 송신 마스크를 포함한다. 송신 마스크는 디지털 코드의 비트 수에 상응하는 복수 개일 수 있다. 예를 들어 PAM4에서 디지털 코드는 2비트인 경우, 송신 마스크는 4개일 수 있다. 예를 들어 PAM8에서 디지털 코드는 3비트인 경우, 송신 마스크는 8개일 수 있다.
몇몇 실시예에 따라 인코더(100)는 복수의 마스크 북(Mask book)을 포함할 수 있다. 복수의 송신 마스크는 하나의 마스크 북(Mask book)으로 그룹핑되어 저장될 수도 있다. 즉, 하나의 마스크 북(Mask book)은 기설정된 패턴의 복수의 송신 마스크를 포함할 수 있다.
예를 들어 인코더(100)는 제1 마스크 북, 제2 마스크 북을 포함하는 경우, 제1 마스크 북에 포함되는 복수의 송신 마스크 패턴과 제2 마스크 북에 포함되는 복수의 송신 마스크 패턴은 서로 다를 수 있다.
몇몇 실시예에 따라 인코더(100)는 현재 디지털 코드에 복수의 송신 마스크 각각을 마스킹하여 생성된 제한 벡터에서, 비트 카운트를 최소로 갖는 어느 하나의 송신 마스크를 선택할 수 있다. 비트 카운트는 현재 디지털 코드 내 최대 변이 코드의 발생 위치의 개수 일 수 있다.
또한 몇몇 실시예에 따라, 인코더(100)는 복수의 마스크 북에서 최대 변이 코드의 개수를 최소화하는 어느 하나의 마스크 북을 선택할 수 있고, 선택된 마스크 북에서 최대 변이 코드의 개수를 최소화하는 어느 하나의 송신 마스크를 선택할 수 있다.
인코더(100)는 현재 디지털 코드를 선택된 송신 마스크로 마스킹하여 송신 회로(23)로 출력한다. 한편, 인코더(100)는 마스킹에 이용한 마스크에 대한 마스크 정보를 DBI(Data Bus Inversion) 비트로 매핑하여 송신 회로(23)로 출력한다. 송신 회로(23)는 메인 데이터에 대한 마스킹된 디지털 코드(예를 들어 m비트), 마스크 정보에 대한 DBI 비트를 수신 장치(30)로 전송할 수 있다.
수신 장치(30)는 마스킹된 디지털 코드 및 DBI 비트를 수신한다.
수신 장치(30)는 DBI 비트에 상응하는 수신 마스크를 선택할 수 있다. 수신 장치(30)는 송신 장치(20)의 송신 마스크와 동일한 복수의 수신 마스크를 포함할 수 있다. 수신 장치(30)는 이전 디지털 코드를 기초로 제한 벡터를 복원하고, 복수의 수신 마스크 중 상기 DBI 비트 및 상기 제한 벡터에 상응하는 어느 하나의 수신 마스크를 선택할 수 있다. 수신 장치(30)는 선택된 수신 마스크에 기초하여 마스킹된 디지털 코드를 언마스킹할 수 있다.
수신 장치(30)는 수신 회로(33), 디코더(200) 및 데이터 저장 유닛(31)을 포함한다. 수신 회로(33)는 m비트의 디지털 코드에 매핑된 진폭 레벨을 갖는 아날로그 신호를 송신 회로(23)로부터 수신할 수 있다. 디코더(200)는 m비트의 디지털 코드를 언마스킹하여 n비트의 디지털 코드로 변환하는, 디코딩을 수행할 수 있다. 데이터 저장 유닛(31)은 디코딩된 디지털 코드를 저장할 수 있다. 다양한 실시예에 따라 n과 m은 동일한 자연수일 수도 있고 서로 다른 자연수일 수도 있다.
도 3신호 처리 및 4는 몇몇 실시예에 따른 신호 처리 방법을 설명하기 위한 개념도이다 (같은 내용의 문장을 반복 작성해야하는 특별한 이유가 있으신가요?).
도 3 및 도 4를 참고하면, 송신 장치(20)는 데이터를 버스트 형태로 수신 장치(30)로 전송한다. 버스트 형태의 출력은, 예를 들어 메인 데이터는 8핀의 데이터 버스, DQ[7:0]를 통해, DBI 버스의 DBI비트와 함께 병렬적으로 출력될 수 있다. 예를 들어 도 3의 T1 시점에 도 4의 제1 버스트(D11, D21, D31 내지 D81) 및 DBI비트(D91)가 출력되고, 도 3의 T2 시점에 도 4의 제2 버스트(D12, D22, D32 내지 D82) 및 DBI(D92)비트가 출력될 수 있다.
설명의 편의를 위해 PAM 4 그레이 코딩(Gray coding)의 경우, 하나의 핀에 출력되는 데이터는 4레벨 진폭에 매핑되는 2비트 데이터 신호인 경우를 가정하여 설명한다.
송신 장치(20)는 DQ[7:0] 내지 DBI핀을 통해 T1 시점 내지 T8 시점까지 연속적으로 데이터 버스트를 전송한다. 구체적으로, T1 디지털 코드와 T2 디지털 코드를 기준으로 설명하면, 송신 장치(20)는 T1 시점 T1 디지털 코드(①)를 DQ[7:0] 내지 DBI핀을 통해 동시에 출력하고, T1 디지털 코드를 저장한다(②). 송신 장치(20)는 T2시점에서 전송할 디지털 코드와 저장된 T1 디지털 코드를 비교하여 최대 변이 발생 위치를 확인하고, 최대 변이 발생을 최소로 하는 마스크로 전송할 디지털 코드를 마스킹하여 T2 디지털 코드로 출력한다. 이때 송신에 사용된 마스크를 수신 장치(30)에서 확인할 수 있도록 DBI 핀을 통해 마스크 정보를 전송한다. 이에 따라, 수신 장치(30)에서 현재 디지털 코드 디코딩할 때, 바로 이전 디지털 코드(상기 예시에서 T1 디지털 코드)만 확인하면 되므로, 디코딩 레이턴시는 단위 UI(unit interval)(도 2를 참고하면, 1 UI)만이 소요될 수 있다.
도 5는 도 1에 도시된 인코더의 일 실시예를 구체적으로 나타낸 도면이다. 도 6은 몇몇 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다. 도 7은 몇몇 실시예에 따른 마스크북(Mask book)을 나타낸 도면이다. 도 8은 몇몇 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다. 도 9는 도 1에 도시된 디코더의 일 실시예를 구체적으로 나타낸 도면이다.
도 5를 참조하면, 인코더(100)는 연산부(110), 레지스터(120), 제한 벡터 연산부(130) 및 마스크 선택부(140)를 포함할 수 있다.
연산부(110)는 프로세싱 유닛(21)으로부터 출력된 현재 디지털 코드 R_DQ(Binary User Data에 해당합니다만 결국 이진 디지털 값이니 디지털 코드라고도 볼 수 있습니다만 디지털 코드로 불러도 용어상 문제가 없는지 확인 부탁드립니다.)를 선택된 송신 마스크(M)로 마스킹하여 마스킹된 현재 디지털 코드 E_DQ로 출력한다. 연산부(110)는 예를 들어, 현재 디지털 코드 R_DQ와 송신 마스크(M)을 XOR 연산하는 것일 수 있고, 마스킹된 현재 디지털 코드 E_DQ는 XOR 연산 결과값일 수 있다.
레지스터(120)는 마스킹된 디지털 코드 E_DQ를 저장한다. 레지스터(120)는 현재 디지털 코드(예를 들어 Tk 시점)를 마스킹하기 위해 이용되는 이전 디지털 코드(예를 들어 Tk-1시점)를 저장한다. 예를 들어 도 3의 예시에서, T2 디지털 코드를 생성하기 위해 T1 디지털 코드를 저장한다.
제한 벡터 연산부(130)는 레지스터(120)에 저장된 이전 디지털 코드에 기초하여 제한 벡터를 생성한다. 제한 벡터는 예를 들면, 현재 전송할 디지털 코드(이하 '현재 디지털 코드')와 이전에 전송한 디지털 코드(이하 '이전 디지털 코드')를 비교하여, 현재 디지털 코드에서 최대 변이(Maximum Transition)가 발생할 확률이 높은 위치(이하 최대 변이 코드의 발생 위치)를 나타내는 신호일 수 있다.
도 6을 참조하면, PAM 4 방식에서, 하나의 핀에 전송가능한 신호는 도 2에 도시된 바와 같이 10, 11, 01, 00일 수 있다. 이 경우 최대 변이는 주어진 하나의 핀에서 10에서 00이 되거나 00에서 10으로 되면 발생할 수 있다.
도 6에 도시된 사항은 각각의 핀에서 출력되는 순서, 즉 LSB 및 MSB 순서로 나타낸 것이다. 도시된 예로 설명하면, DQ1의 핀에서 출력은 LSB 0, MSB 1의 순서로 출력되나 실제 데이터는 "10"으로 보아야 한다. 이하 설명은 출력된 순서로 설명한다.
제한 벡터 연산부(130)는 이전 디지털 코드(Previously Encoded Data)와 현재 디지털 코드(Current Data)를 비교하여 생성될 수 있다. 도시된 예에서 LSB, MSB를 보면, 각 데이터 핀, DQ0은 00에서 01이 되고, DQ1은 01에서 01으로 변이하므로 최대변이에 해당하지 않고, 이경우 제한 벡터(CV)는 0으로 계산될 수 있다.
그러나 DQ2는 이전 디지털 코드 10에서 다음 디지털 코드의 LSB가 0으로 들어오면, MSB에 따라 다음 디지털 코드는 00이 될 수도 있고, 10이 될 수도 있으므로, 제한 벡터(CV)를 1로 설정할 수 있다. DQ3는 이전 디지털 코드 00에서 다음 디지털 코드의 LSB가 1이 들어오면, MSB에 따라 10이 될 수도 있고, 11이 될 수도 있으므로, 제한 벡터를 1로 설정할 수 있다.
즉, 연속되는 UI의 동일 데이터 핀으로 입력되는 이전 디지털 코드(Previously data)에서 다음 디지털 코드(Current data)의 LSB까지 수신하면 MSB가 어떤값이 들어오느냐에 따라 최대 변이가 발생할 수도 있고, 발생하지 않을 수 있다. (도 6의 예시에서 DQ2 및 DQ3의 00→1X, 10→0X 인 경우)
따라서, 제한 벡터 연산부(130)는 이전 디지털 코드 및 다음 디지털 코드의 LSB에 기초하여 제한 벡터(CV)를 설정할 수 있다. 제한 벡터는 다음 디지털 코드의 LSB를 기초로 계산했을 때 최대 변이가 발생할 가능성이 있는 경우 1로, 발생할 가능성이 없는 경우 0으로 설정될 수 있다.
예를 들어 제한 벡터는 PAM4 방식 그레이 코딩에서 다음 수학식 (1)과 같이 계산될 수 있다.
CV = (LSBp ^ LSB0) & (~MSBp) ..........(1)
(CV는 제한 벡터, LSBp는 이전 디지털 코드의 최하위비트, MSBp는 이전 디지털 코드의 최상위비트, LSB0는 현재 디지털 코드의 최하위 비트, '^'는 XOR 연산, '&'는 AND 연산, '~'는 NOT 연산을 의미한다)
마스크 선택부(140)는 복수의 마스크를 저장하고, 제한 벡터에 기초하여 어느 하나의 마스크를 선택하여 연산부(110)로 출력할 수 있다. 복수의 마스크는 디지털 코드의 비트 수에 따른 마스크 패턴을 가진 시퀀스일 수 있다.
도 6 및 도 7을 참조하면, 몇몇 실시예에 따라 데이터 버스트가 DQ[0:3]인 경우, 마스크 선택부(140)는 기설정된 4개의 마스크(M0~M3)를 포함한다고 가정하자. 마스크 M0는 0000, 마스크 M1는 0101, 마스크 M2는 1010, 마스크 M3는 1111의 시퀀스를 가질 수 있다.
마스크 선택부(140)는 마스크 정보를 DBI 핀을 통해 송신 회로로 출력할 수있다. 마스크 정보로서 전송되는 DBI 비트 정보는 복수의 마스크 각각을 나타내는 코드값일 수 있다. DBI 비트 정보는 다양한 실시예에 따라 마스크의 개수에 상응하여, 각 마스크를 표시하는 비트 수가 달라질 수 있다.
일 예로 4개의 마스크인 경우, 2개의 비트로 표시할 수 있다. 도시된 예에서 DBI 비트는 마스크 M0는 00, 마스크 M1는 01, 마스크 M2는 10, 마스크 M3는 11로 표시할 수 있다. 또는 다른 예로 8개의 마스크인 경우 3개의 비트로 표시할 수도 있다. 또는 다른 예로 8개의 마스크인 경우, 3개의 비트로 표시할 수도 있다.
마스크 선택부(140)는 복수의 송신 마스크 중 제한 벡터(CV) 및 현재 디지털 코드 DQ[0:3]에 상응하여 계산된 비트 카운트(MT Count)의 합이 최소인 마스크를 선택할 수 있다. 즉, 비트 카운트(MT Count)의 합이 최소라는 것은 최대 변이가 소거되는 개수가 최대라는 의미로서, 마스크 선택부(140)는 최대 변이가 가장 많이 소거될 수 있는 최적의 송신 마스크를 선택할 수 있다.
도 6, 도 7 및 도 8을 참고하면, 마스크 선택부(140)는 현재 디지털 코드 DQ[0:3]를 마스킹하고 제한 벡터를 적용한 비트 카운트를 계산한다. 즉, 비트 카운트(MT Count)는 수학식 (2)에 따라 계산될 수 있다.
MT Count = bit1count((MSB0^M)&CV) ............(2)
(MT Count는 비트 카운트, MSB0는 현재 디지털 코드의 최상위 비트, M은 마스크, CV는 제한벡터, '^'는 XOR 연산, '&'는 AND 연산, '~'는 NOT 연산이고, bit1count ( )는 () 안의 인자(element)로 입력된 바이너리 벡터에서 1의 개수를 계산하여 출력하는 함수이다)
마스크 선택부(140)는 동일 UI의 각 데이터 핀(DQ)의 비트 카운트를 계산하여 합산한 값(MT count)은, 마스크 M0는 0, 마스크 M1은 1, 마스크 M2는 1, 마스크 M3는 2로 계산하고, 최대 값을 갖는 마스크 M3를 선택하여 연산부(110)로 전송하고, DBI 핀으로 코드값 11을 출력할 수 있다.
또한 연산부(110)는 현재 디지털 코드의 MSB0를 수학식 (2)와 같이 변환하여 마스킹된 값으로 출력한다. 즉, 도 6의 DQ2 00, DQ3 01을 마스킹하여 도 8과 같이 DQ2 10, DQ3 11로 변환하여 출력한다. 이에 따라 DQ2는 이전 디지털 코드 01에서 현재 디지털 코드 10이 출력되고, DQ3는 이전 디지털 코드 00에서 11이 출력되므로, DQ[0:4] 전체적으로 최대 변이가 일어나지 않을 수 있다.
도 9를 참고하면, 디코더(200)는 연산부(210), 레지스터(220), 제한 벡터 연산부(230), 마스크 선택부(240)를 포함할 수 있다.
연산부(210)는 수신 회로(33)로부터 마스킹된 디지털 코드 E_DQ를 선택된 수신 마스크(M)로 언마스킹하여 언마스킹된 현재 디지털 코드 D_DQ로 출력한다.
레지스터(220)는 언마스킹된 디지털 코드 D_DQ를 저장한다. 레지스터(220)는 현재 디지털 코드를 언마스킹하기 위해 이전 디지털 코드를 저장한다. 예를 들어 도 3의 예시에서, T2 디지털 코드를 디코딩하기 위해 디코딩된 T1 디지털 코드를 저장한다.
제한 벡터 연산부(230)는 레지스터(220)에 저장된 이전 디지털 코드에 기초하여 제한 벡터(CV)를 생성한다. 제한 벡터는 인코더(100)와 동일한 방식으로 계산되어 복원될 수 있다.
마스크 선택부(240)는 복수의 수신 마스크를 저장하고, 제한 벡터에 기초하여 어느 하나의 수신 마스크를 선택하여 연산부(210로 출력할 수 있다. 복수의 수신 마스크는 송신 장치(20)의 복수의 송신 마스크와 동일한 마스크 패턴을 가진 시퀀스일 수 있다. 마스크 선택부(140)는 DBI 핀을 통해 수신된 DBI 비트를 기초로 복수의 수신 마스크 중 어느 하나의 수신 마스크를 선택하여 연산부(210)로 출력할 수 있다.
도 10은 도 1에 도시된 인코더의 다른 실시예를 구체적으로 나타낸 도면이다. 도 11은 도 1에 도시된 디코더의 다른 실시예를 구체적으로 나타낸 도면이다.
도 10 및 도 11을 참고하면, 인코더(100)는 송신 마스크 북 선택부(150)를 더 포함할 수 있다. 또한 이에 대응되도록 디코더(200)도 수신 마스크 북 선택부(250)를 더 포함할 수 있다.
송신 마스크 북 선택부(150)는 복수의 송신 마스크 북을 포함할 수 있다. 수신 마스크 북 선택부(250)는 복수의 수신 마스크 북을 포함할 수 있다. 복수의 송신 마스크 북과 복수의 수신 마스크는 DBI 비트에 각각 상응되는 복수의 마스크를 대칭되게 포함할 수 있다.
반도체 장치는 복수의 마스크를 포함한 마스크 북을 복수 개 포함함으로써 최대 변이 발생 확률을 최소로 줄이는 마스크 시퀀스를 더 많이 확보할 수 있다.
마스크 북에 대한 동작은 이하 도 12 내지 도 17에서 설명한다.
도 12a 및 도 12b는 몇몇 실시예에 따른 실시예에 적용되는 복수의 마스크북을 예시적으로 나타낸 것이다. 도 13은 몇몇 실시예에 따른 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다. 도 14은 몇몇 실시예에 따른 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다. 도 15는 몇몇 실시예에 따른 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다. 도 16는 몇몇 실시예에 따른 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다. 도 17은 몇몇 실시예에 따른 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다 .
도 12a 및 도 12b를 참조하면, 송신 마스크 북 선택부(150) 및 수신 마스크 북 선택부(250)가 2개의 마스크 북(Mask Book 1, Mask Book2)을 포함한다고 가정하자.
몇몇 실시예에 따라 먼저 마스크 북 선택부(150, 250)는 제한 벡터(CV)를 기준으로 마스크 북을 선택할 수 있다. 마스크 선택부(140, 240)는 마스크 북 선택부(150, 250)에서 선택된 마스크 북(MB) 내에서 제한 벡터(CV)에 상응하는 어느 하나의 마스크(M)를 선택할 수 있다.
마스크 북 선택부(150,250)는 복수의 마스크 북이 있는 경우 제한 벡터(CV)가 1이 나타나는 패턴에 따라 어느 하나의 마스크 북을 선택할 수 있다. 도시된 도 12a의 마스크 북(Mask Book1)은 도 12b의 마스크 북(Mask Book2)과 다른 패턴의 시퀀스를 가진다. 예를 들면, 마스크 M1 및 M2의 마스크 패턴이 다를 수 있다. 마스크 북(Mask Book1)의 마스크 M1 은 현재 디지털 코드의 홀수 번째 핀(DQ1, DQ3)의 MSB를 변환하는 것이고 마스크 M2는 현재 디지털 코드의 짝수 번째 핀(DQ0, DQ2)의 MSB를 변환하는 것이다. 마스크 북(Mask Book2)의 마스크 M1 은 현재 디지털 코드의 상위 핀(DQ2, DQ3)의 MSB를 변환하는 것이고 마스크 M2는 현재 디지털 코드의 하위 핀(DQ0, DQ1)의 MSB를 변환하는 것이다.
구체적으로 마스크 북 선택부(150,250)는 제한 벡터 1의 위치(전체 데이터 핀에서 CV가 1인 위치)에 따라 마스크북을 선택할 수 있다. 예를 들어, 계산된 제한 벡터가 1인 위치가 핀마다 하나씩 번갈아가며(즉, 홀수번째 핀 또는 짝수번째 핀) 나타나는 패턴이면 도 12a의 마스크북(Mask Book1)을 선택할 수 있다. 예를 들어 계산된 제한 벡터가 1인 위치가 다른 패턴이면 도 12b의 마스크북(Mask Book2)을 선택할 수 있다. 이후 마스크 선택부(140,150)은 마스크 북 선택부(150, 250)에서 선택된 마스크북에서 제한벡터에 기초하여 복수의 마스크 중 어느 하나의 마스크를 선택할 수 있다.
예를 들면, 도 13과 같이 이전 디지털 코드와 현재 디지털 코드가 송신된다고 가정하자. 이 경우, 데이터 핀 DQ2 및 DQ3는 10→0X, 00→1X, 인 경우에 해당하여 제한 벡터(CV)는 수학식(1)에 기초하면, 1로 계산될 수 있다.
도 14 및 도 15와 같이 마스크 북(Mask Book1)을 사용하는 경우, 현재 디지털 코드의 MSB0는 마스크 M1를 사용할 경우, DQ2는 10에서 01으로 이어서 전송되고, DQ3는 00에서 11로 이어서 전송되므로, 최대 변이 발생 위치를 모두 제거할 수 있다. (MT Count = 0)
그러나 도 16 및 도 17과 같이, 마스크 북(Mask Book 2)를 사용하는 경우, 현재 디지털 코드의 MSB0는 어느 마스크를 사용하더라도(예를 들어 마스크 M1), DQ2는 10에서 00으로 이어서 전송되고, DQ3는 00에서 11로 이어서 전송되므로, DQ2는 최대 변이가 발생하여, 최대 변이 발생 위치를 모두 소거하지 못한다(MT Count =1).
마스크 선택부(140, 240)는 선택된 마스크 북에서 비트 카운트의 합이 최대가 되는 마스크를 선택한다
도 18은 도 1의 반도체 장치를 포함하는 메모리 시스템을 나타낸 도면이다.
반도체 장치(10)는 메모리 시스템(1000)에 포함될 수 있다. 구체적으로 메모리 시스템(1000)은 메모리 컨트롤러(1100) 및 복수의 메모리 장치(1200)를 포함할 수 있다.
메모리 컨트롤러(1100)는 메모리 시스템(1000)의 동작을 전반적으로 제어하며, 호스트(미도시)와 메모리 장치들(1210) 사이의 전반적인 데이터 교환을 제어한다. 예컨데 메모리 컨트롤러(1100)는 호스트의 요청에 따라 메모리 장치들(1210)을 제어하여 데이터를 기입하거나 독출할 수 있다. 예컨데 메모리 컨트롤러(1100)는 메모리 장치들(1210)을 제어하기 위한 동작 커맨드들을 인가하여 메모리 장치들(1210)의 동작을 제어한다.
다양한 실시예에 따라 메모리 장치들(1210) 각각은 저항성 메모리 셀들을 구비하는 PRAM(Phase change Random Access Memory), RRAM(Resistive Random Access Memory), MRAM(Magnetic Random Access Memory) 및 FRAM(Ferroelectric Random Access Memory) 중 하나일 일 수 있다. 다른 실시예에서, 메모리 장치들(1210) 각각은 동적 메모리 셀들을 구비하는 DRAM(dynamic random access) 일 수 있다.
메모리 컨트롤러(1100)는 복수의 메모리 장치들(1200) 각각과 CA 버스, CA CLK 버스를 통해 클락에 맞추어 커맨드 및 어드레스를 전송할 수 있다. 메모리 컨트롤러(1100)는 복수의 메모리 장치들(1200) 각각과 DQ CLK 버스, DQ 버스를 통해 데이터 클락에 맞추어 데이터 버스트 및 DBI 비트를 전송할 수 있다.
메모리 컨트롤러(1100)는 제1 장치로서 송신 장치(20) 및 수신 장치(30)를 모두 포함한 반도체 장치(10)를 포함할 수 있다. 복수의 메모리 장치(1200) 각각은 제2 장치로서 송신 장치(20) 및 수신 장치(30)를 모두 포함한 반도체 장치(10)를 포함할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
10 : 반도체 장치 20 : 송신 장치
21 : 프로세싱 유닛 23 : 송신 회로
100 : 인코더 110 : XOR 연산부
120 : 레지스터 130 : 제한 벡터 연산부
140 : 마스크 선택부 150 : 마스크북 선택부
30 : 수신 장치 31 : 데이터 저장 유닛
33 : 수신 회로
200 : 디코더 210 : XOR 연산부
220 : 레지스터 230 : 제한 벡터 연산부
240 : 마스크 선택부 250 : 마스크북 선택부

Claims (20)

  1. 송신 반도체 장치의 신호 처리 방법에 있어서,
    제1 디지털 신호의 제1 디지털 코드를 수신하는 단계;
    상기 제1 디지털 코드의 제한(constraint) 벡터를 생성하는 단계;
    상기 제한 벡터에 기초한 송신 마스크로 상기 제1 디지털 코드를 마스킹하는 단계;
    상기 마스킹된 제1 디지털 코드 및 상기 송신 마스크에 대한 DBI 비트를 출력하는 단계를 포함하는, 신호 처리 방법.
  2. 제1항에 있어서, 상기 제1 디지털 코드는 4레벨 이상의 펄스 진폭 변조의 그레이 코딩에 기초하는 것인, 신호 처리 방법.
  3. 제1항에 있어서, 상기 제한 벡터는
    상기 제1 디지털 코드와 상기 제1 디지털 코드 이전의 제2 디지털 코드를 비교하여, 상기 제1 디지털 코드 내 최대 변이 코드의 발생 가능 위치를 나타내는, 신호 처리 방법.
  4. 제1항에 있어서, 상기 송신 마스크는
    상기 제1 디지털 코드의 비트 수에 상응하는 복수의 송신 마스크를 포함하는, 신호 처리 방법.
  5. 제4항에 있어서, 상기 제1 디지털 코드를 마스킹하는 상기 송신 마스크는
    상기 복수의 송신 마스크 중 상기 제한 벡터 및 상기 제1 디지털 코드에 상응하여 계산된 비트 카운트의 합이 최대인 송신 마스크인, 신호 처리 방법.
  6. 제5항에 있어서, 상기 비트 카운트는 상기 제1 디지털 코드 내 최대 변이 코드의 발생 가능 위치의 개수인, 신호 처리 방법.
  7. 제4항에 있어서, 상기 DBI 비트는 상기 복수의 송신 마스크 각각에 상응하는 디지털 코드인, 신호 처리 방법.
  8. 제1항에 있어서, 상기 송신 마스크는
    복수의 송신 마스크 북을 포함하고, 각 송신 마스크 북은 상기 제1 디지털 코드의 비트 수에 상응하는 복수의 송신 마스크를 포함하는, 신호 처리 방법.
  9. 제1항에 있어서, 상기 송신 반도체 장치와 통신하는 수신 반도체 장치는
    상기 마스킹된 제1 디지털 코드 및 상기 DBI 비트를 수신하는 단계;
    상기 DBI 비트에 상응하는 수신 마스크를 선택하는 단계; 및
    상기 선택된 수신 마스크로 상기 마스킹된 제1 디지털 코드를 언-마스킹하는 단계를 포함하는, 신호 처리 방법.
  10. 제9항에 있어서, 상기 수신 마스크를 선택하는 단계는
    상기 제1 디지털 코드 이전의 제2 디지털 코드로부터 생성된 제한 벡터 및 상기 DBI 비트에 기초하여, 복수의 수신 마스크 중 선택되는 것인, 신호 처리 방법.
  11. 제1 디지털 코드를 출력하는 프로세싱 유닛;
    제한 벡터에 기초한 송신 마스크로 상기 제1 디지털 코드를 마스킹하는 인코더;
    상기 마스킹된 제1 디지털 코드 및 상기 송신 마스크에 대한 DBI 비트를 전송하는 전송회로를 포함하고,
    상기 제한 벡터는 상기 제1 디지털 코드 이전의 제2 디지털 코드에 기초한 것인, 반도체 장치.
  12. 제11항에 있어서, 상기 제한 벡터는
    상기 제1 디지털 코드의 적어도 하나의 최하위비트와 상기 제2 디지털 코드를 비교하여, 상기 제1 디지털 코드 내 최대 변이 코드의 발생 가능 위치를 나타내는, 반도체 장치.
  13. 제11항에 있어서, 상기 인코더는
    상기 제2 디지털 코드를 저장하는 레지스터;
    상기 제2 디지털 코드에 기초하여 상기 제한 벡터를 생성하는 제한벡터 계산부;
    복수의 송신 마스크를 저장하여, 상기 제한 벡터에 상응하는 상기 송신 마스크를 출력하는 마스크 선택부; 및
    상기 출력된 송신 마스크로 상기 제1 디지털 코드를 마스킹하는 연산부를 포함하는, 반도체 장치.
  14. 제13항에 있어서, 상기 DBI 비트는
    상기 복수의 송신 마스크 각각에 상응하는 복수의 코드값을 갖는, 반도체 장치.
  15. 제13항에 있어서,
    복수의 송신 마스크 북을 저장하여, 상기 제한 벡터에 상응하는 어느 하나의 송신 마스크 북을 활성화하는 마스크북 선택부를 포함하는, 반도체 장치.
  16. 제15항에 있어서, 상기 복수의 상기 마스크 북은 상기 복수의 송신 마스크를 포함하고,
    상기 마스크북 선택부는 상기 제한 벡터에 상응하여 활성화된 상기 송신 마스크 북에서 어느 하나의 송신 마스크를 출력하는, 반도체 장치.
  17. 제13항에 있어서, 상기 마스크 선택부는
    상기 복수의 송신 마스크 중 상기 제한 벡터 및 상기 제1 디지털 코드에 상응하여 계산된 비트 카운트의 합이 최대인 송신 마스크를 출력하는, 반도체 장치.
  18. 제1 디지털 코드 및 DBI 비트를 수신하는 수신회로; 및
    상기 DBI 비트에 기초한 수신 마스크로 상기 제1 디지털 코드를 언-마스킹하는 디코더를 포함하고,
    상기 수신 마스크는 상기 제1 디지털 코드 이전의 제2 디지털 코드에 기초하여 생성된 제한 벡터에 상응하는 것인, 반도체 장치.
  19. 제18항에 있어서, 상기 디코더는
    상기 제2 디지털 코드를 저장하는 레지스터;
    상기 제2 디지털 코드에 기초하여 상기 제한 벡터를 생성하는 제한벡터 계산부;
    복수의 수신 마스크를 저장하여, 상기 DBI 비트에 상응하는 상기 수신 마스크를 출력하는 마스크 선택부; 및
    상기 출력된 수신 마스크로 상기 제1 디지털 코드를 언마스킹하는 연산부를 포함하는, 반도체 장치.
  20. 제19항에 있어서,
    복수의 수신 마스크 북을 저장하여, 상기 제한 벡터에 상응하는 어느 하나의 수신 마스크 북을 활성화하는 수신 마스크북 선택부를 포함하고,
    상기 마스크 선택부는 상기 활성화된 수신 마스크 북에서 상기 DBI 비트에 상응하는 상기 수신 마스크를 출력하는, 반도체 장치.
KR1020210046464A 2021-04-09 2021-04-09 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치 KR20220140234A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210046464A KR20220140234A (ko) 2021-04-09 2021-04-09 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치
US17/551,781 US11822492B2 (en) 2021-04-09 2021-12-15 Signal encoding method and a semiconductor device to generate an optimal transition code in a multi-level signaling system
CN202210357787.1A CN115208410A (zh) 2021-04-09 2022-04-06 半导体装置及其信号处理方法
TW111113343A TW202301346A (zh) 2021-04-09 2022-04-08 半導體裝置以及半導體裝置的信號處理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210046464A KR20220140234A (ko) 2021-04-09 2021-04-09 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치

Publications (1)

Publication Number Publication Date
KR20220140234A true KR20220140234A (ko) 2022-10-18

Family

ID=83510740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210046464A KR20220140234A (ko) 2021-04-09 2021-04-09 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치

Country Status (4)

Country Link
US (1) US11822492B2 (ko)
KR (1) KR20220140234A (ko)
CN (1) CN115208410A (ko)
TW (1) TW202301346A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230000456A (ko) * 2021-06-24 2023-01-02 에스케이하이닉스 주식회사 전송 장치, 이를 이용하는 송수신 시스템 및 송수신 방법

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3753113A (en) * 1970-06-20 1973-08-14 Nippon Electric Co Multilevel code signal transmission system
US5280500A (en) * 1991-10-10 1994-01-18 Crescendo Communications, Inc. Method and apparatus for multilevel encoding for a local area network
US6137829A (en) * 1997-03-05 2000-10-24 Paradyne Corporation System and method for transmitting special marker symbols
EP1021884A2 (en) * 1997-07-31 2000-07-26 Stanford Syncom Inc. Means and method for a synchronous network communications system
US7233164B2 (en) * 2003-12-17 2007-06-19 Rambus Inc. Offset cancellation in a multi-level signaling system
GB0411053D0 (en) * 2004-05-18 2004-06-23 Ricardo Uk Ltd Data processing
US7081838B2 (en) * 2004-12-29 2006-07-25 Enigma Semiconductor, Inc. 16b/10s coding apparatus and method
US7844888B2 (en) * 2006-09-29 2010-11-30 Qimonda Ag Electronic device, method for operating an electronic device, memory circuit and method of operating a memory circuit
WO2009108562A2 (en) * 2008-02-25 2009-09-03 Rambus Inc. Code-assisted error-detection technique
US8026740B2 (en) 2008-03-21 2011-09-27 Micron Technology, Inc. Multi-level signaling for low power, short channel applications
US9116828B2 (en) * 2008-06-11 2015-08-25 Micron Technology, Inc. Data bus inversion usable in a memory system
WO2011008394A2 (en) * 2009-07-13 2011-01-20 Rambus Inc. Encoding data using combined data mask and data bus inversion
US8706958B2 (en) 2011-09-01 2014-04-22 Thomas Hein Data mask encoding in data bit inversion scheme
US8854236B2 (en) * 2012-05-18 2014-10-07 Micron Technology, Inc. Methods and apparatuses for low-power multi-level encoded signals
KR20140008745A (ko) * 2012-07-11 2014-01-22 삼성전자주식회사 자기 메모리 장치
US9405721B2 (en) * 2014-06-06 2016-08-02 Micron Technology, Inc. Apparatuses and methods for performing a databus inversion operation
US9252997B1 (en) * 2014-07-10 2016-02-02 Qualcomm Incorporated Data link power reduction technique using bipolar pulse amplitude modulation
US20160352419A1 (en) * 2015-05-27 2016-12-01 John P. Fonseka Constrained interleaving for 5G wireless and optical transport networks
US10365833B2 (en) 2016-01-22 2019-07-30 Micron Technology, Inc. Apparatuses and methods for encoding and decoding of signal lines for multi-level communication architectures
US10692555B2 (en) * 2016-06-29 2020-06-23 Samsung Electronics Co., Ltd. Semiconductor memory devices enabling read strobe mode and related methods of operating semiconductor memory devices
US10277441B2 (en) * 2017-08-07 2019-04-30 Micron Technology, Inc. Uniformity between levels of a multi-level signal
US10491238B2 (en) 2018-01-24 2019-11-26 Nvidia Corp. Maximum transition avoidance (MTA) encoding
US11159153B2 (en) * 2018-03-29 2021-10-26 Nvidia Corp. Data bus inversion (DBI) on pulse amplitude modulation (PAM) and reducing coupling and power noise on PAM-4 I/O
US11966348B2 (en) 2019-01-28 2024-04-23 Nvidia Corp. Reducing coupling and power noise on PAM-4 I/O interface
US10404505B1 (en) * 2018-05-10 2019-09-03 Nvidia Corp. Bus-invert coding with restricted weight range for multi-level signaling
US10832768B2 (en) * 2018-07-03 2020-11-10 Micron Technology, Inc. Data storage based on data polarity
US10623200B2 (en) * 2018-07-20 2020-04-14 Nvidia Corp. Bus-invert coding with restricted hamming distance for multi-byte interfaces
US11216333B2 (en) * 2018-10-16 2022-01-04 Micron Technology, Inc. Methods and devices for error correction
US11249837B2 (en) * 2019-03-01 2022-02-15 Intel Corporation Flit-based parallel-forward error correction and parity
US10860417B1 (en) * 2019-08-02 2020-12-08 Micron Technology, Inc. Multiple memory die techniques
US11392299B2 (en) * 2019-12-20 2022-07-19 Micron Technology, Inc. Multi-purpose signaling for a memory system
KR20210081534A (ko) * 2019-12-24 2021-07-02 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
KR20210149543A (ko) * 2020-06-02 2021-12-09 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR20220023896A (ko) * 2020-08-21 2022-03-03 삼성전자주식회사 메모리 장치, 그것을 제어하는 제어기, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR20220031791A (ko) * 2020-09-03 2022-03-14 삼성전자주식회사 메모리 장치와 그 동작 방법, 및 메모리 시스템
KR20220036386A (ko) * 2020-09-14 2022-03-23 삼성전자주식회사 메모리 장치, 그것의 신호 레벨 캘리브레이션 방법, 및 그것을 갖는 메모리저장 시스템
KR20220083883A (ko) * 2020-12-11 2022-06-21 삼성전자주식회사 메모리 장치, 그것의 데이터 출력 방법 및 그것을 갖는 메모리 시스템
KR20220086904A (ko) * 2020-12-17 2022-06-24 삼성전자주식회사 데이터 전송 방법 및 데이터 전송 장치
US11757567B2 (en) * 2021-03-10 2023-09-12 Samsung Electronics Co., Ltd. Devices and methods for encoding and decoding to implement a maximum transition avoidance coding with minimum overhead

Also Published As

Publication number Publication date
TW202301346A (zh) 2023-01-01
US20220327067A1 (en) 2022-10-13
US11822492B2 (en) 2023-11-21
CN115208410A (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
US5502744A (en) Data coding system
US10491435B2 (en) Unrelaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses
US8223042B2 (en) Encoding data with minimum hamming weight variation
JPS6081925A (ja) 誤り訂正装置
JP2014502071A (ja) 不完全な誤り特性を持つチャネルおよびメモリのための誤り検出および訂正符号
KR101466695B1 (ko) 멀티 비트 레벨 데이터의 부호화 및 복호화 방법
TWI814271B (zh) 編碼及解碼設備
US8964879B2 (en) Crosstalk reduction coding schemes
US10657094B2 (en) Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses
US11757567B2 (en) Devices and methods for encoding and decoding to implement a maximum transition avoidance coding with minimum overhead
KR20220140234A (ko) 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치
GB2522960A (en) Data encoding in solid-state storage apparatus
KR20160121224A (ko) 고속 통신을 위한 전송장치, 이를 포함하는 인터페이스 회로 및 시스템
JP2022173081A (ja) 符号器および復号器
US11100031B2 (en) Memory system, semiconductor integrated circuit, and method therefor
KR20180108373A (ko) 극부호를 위한 시퀀스 생성 방법 및 그 저장 매체와 그를 이용한 데이터 송신 방법 및 장치
KR20220127113A (ko) 최소 오버헤드를 갖는 최대 천이 방지 코딩을 구현하는 인코딩 및 디코딩 장치 및 방법
US7676725B1 (en) Method of code generation that minimizes error propagation
JP5106757B2 (ja) 電圧レベルコーディングシステム及び方法
CN110321312B (zh) 降低pam-4 i/o接口上的耦合噪声和功率噪声
US20240305510A1 (en) Transmitting circuit providing encoded data, electronic device including the same, and method of operating the electronic device including the same
KR20230000456A (ko) 전송 장치, 이를 이용하는 송수신 시스템 및 송수신 방법
US20030046629A1 (en) High code rate block coding/decoding method and apparatus
JPH02170726A (ja) ビタビ復号回路
KR20180108370A (ko) 극부호를 위한 시퀀스 생성 방법 및 그 저장 매체와 그를 이용한 데이터 송신 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination