KR20220140234A - 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치 - Google Patents
멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치 Download PDFInfo
- 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
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 title claims description 21
- 230000007704 transition Effects 0.000 title claims description 20
- 230000011664 signaling Effects 0.000 title 1
- 238000003672 processing method Methods 0.000 claims abstract description 29
- 230000000873 masking effect Effects 0.000 claims abstract description 9
- 230000005540 biological transmission Effects 0.000 claims description 55
- 238000004891 communication Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 31
- 238000013500 data storage Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 101000831175 Homo sapiens Mitochondrial import inner membrane translocase subunit TIM16 Proteins 0.000 description 1
- 102100024285 Mitochondrial import inner membrane translocase subunit TIM16 Human genes 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/14—Conversion to or from non-weighted codes
- H03M7/16—Conversion to or from unit-distance codes, e.g. Gray code, reflected binary code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1009—Data masking during input/output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting 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/4906—Transmitting 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/4915—Transmitting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting 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/4917—Transmitting 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)
- Dc Digital Transmission (AREA)
- Semiconductor Integrated Circuits (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Abstract
반도체 장치의 신호 처리 방법이 제공된다. 신호 처리 방법은 제1 디지털 신호의 제1 디지털 코드를 수신하는 단계, 상기 제1 디지털 코드의 제한(constraint) 벡터를 생성하는 단계, 상기 제한 벡터에 기초한 송신 마스크로 상기 제1 디지털 코드를 마스킹하는 단계, 및 상기 마스킹된 제1 디지털 코드 및 상기 마스크에 대한 DBI 비트를 출력하는 단계를 포함한다.
Description
본 발명은 멀티 레벨로 데이터 신호를 송수신하는 환경에서 최적 전이 코드(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의 반도체 장치를 포함하는 메모리 시스템을 나타낸 도면이다.
도 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>
몇몇 실시예에 따라 송신 장치(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 : 마스크북 선택부
21 : 프로세싱 유닛 23 : 송신 회로
100 : 인코더 110 : XOR 연산부
120 : 레지스터 130 : 제한 벡터 연산부
140 : 마스크 선택부 150 : 마스크북 선택부
30 : 수신 장치 31 : 데이터 저장 유닛
33 : 수신 회로
200 : 디코더 210 : XOR 연산부
220 : 레지스터 230 : 제한 벡터 연산부
240 : 마스크 선택부 250 : 마스크북 선택부
Claims (20)
- 송신 반도체 장치의 신호 처리 방법에 있어서,
제1 디지털 신호의 제1 디지털 코드를 수신하는 단계;
상기 제1 디지털 코드의 제한(constraint) 벡터를 생성하는 단계;
상기 제한 벡터에 기초한 송신 마스크로 상기 제1 디지털 코드를 마스킹하는 단계;
상기 마스킹된 제1 디지털 코드 및 상기 송신 마스크에 대한 DBI 비트를 출력하는 단계를 포함하는, 신호 처리 방법. - 제1항에 있어서, 상기 제1 디지털 코드는 4레벨 이상의 펄스 진폭 변조의 그레이 코딩에 기초하는 것인, 신호 처리 방법.
- 제1항에 있어서, 상기 제한 벡터는
상기 제1 디지털 코드와 상기 제1 디지털 코드 이전의 제2 디지털 코드를 비교하여, 상기 제1 디지털 코드 내 최대 변이 코드의 발생 가능 위치를 나타내는, 신호 처리 방법. - 제1항에 있어서, 상기 송신 마스크는
상기 제1 디지털 코드의 비트 수에 상응하는 복수의 송신 마스크를 포함하는, 신호 처리 방법. - 제4항에 있어서, 상기 제1 디지털 코드를 마스킹하는 상기 송신 마스크는
상기 복수의 송신 마스크 중 상기 제한 벡터 및 상기 제1 디지털 코드에 상응하여 계산된 비트 카운트의 합이 최대인 송신 마스크인, 신호 처리 방법. - 제5항에 있어서, 상기 비트 카운트는 상기 제1 디지털 코드 내 최대 변이 코드의 발생 가능 위치의 개수인, 신호 처리 방법.
- 제4항에 있어서, 상기 DBI 비트는 상기 복수의 송신 마스크 각각에 상응하는 디지털 코드인, 신호 처리 방법.
- 제1항에 있어서, 상기 송신 마스크는
복수의 송신 마스크 북을 포함하고, 각 송신 마스크 북은 상기 제1 디지털 코드의 비트 수에 상응하는 복수의 송신 마스크를 포함하는, 신호 처리 방법. - 제1항에 있어서, 상기 송신 반도체 장치와 통신하는 수신 반도체 장치는
상기 마스킹된 제1 디지털 코드 및 상기 DBI 비트를 수신하는 단계;
상기 DBI 비트에 상응하는 수신 마스크를 선택하는 단계; 및
상기 선택된 수신 마스크로 상기 마스킹된 제1 디지털 코드를 언-마스킹하는 단계를 포함하는, 신호 처리 방법. - 제9항에 있어서, 상기 수신 마스크를 선택하는 단계는
상기 제1 디지털 코드 이전의 제2 디지털 코드로부터 생성된 제한 벡터 및 상기 DBI 비트에 기초하여, 복수의 수신 마스크 중 선택되는 것인, 신호 처리 방법. - 제1 디지털 코드를 출력하는 프로세싱 유닛;
제한 벡터에 기초한 송신 마스크로 상기 제1 디지털 코드를 마스킹하는 인코더;
상기 마스킹된 제1 디지털 코드 및 상기 송신 마스크에 대한 DBI 비트를 전송하는 전송회로를 포함하고,
상기 제한 벡터는 상기 제1 디지털 코드 이전의 제2 디지털 코드에 기초한 것인, 반도체 장치. - 제11항에 있어서, 상기 제한 벡터는
상기 제1 디지털 코드의 적어도 하나의 최하위비트와 상기 제2 디지털 코드를 비교하여, 상기 제1 디지털 코드 내 최대 변이 코드의 발생 가능 위치를 나타내는, 반도체 장치. - 제11항에 있어서, 상기 인코더는
상기 제2 디지털 코드를 저장하는 레지스터;
상기 제2 디지털 코드에 기초하여 상기 제한 벡터를 생성하는 제한벡터 계산부;
복수의 송신 마스크를 저장하여, 상기 제한 벡터에 상응하는 상기 송신 마스크를 출력하는 마스크 선택부; 및
상기 출력된 송신 마스크로 상기 제1 디지털 코드를 마스킹하는 연산부를 포함하는, 반도체 장치. - 제13항에 있어서, 상기 DBI 비트는
상기 복수의 송신 마스크 각각에 상응하는 복수의 코드값을 갖는, 반도체 장치. - 제13항에 있어서,
복수의 송신 마스크 북을 저장하여, 상기 제한 벡터에 상응하는 어느 하나의 송신 마스크 북을 활성화하는 마스크북 선택부를 포함하는, 반도체 장치. - 제15항에 있어서, 상기 복수의 상기 마스크 북은 상기 복수의 송신 마스크를 포함하고,
상기 마스크북 선택부는 상기 제한 벡터에 상응하여 활성화된 상기 송신 마스크 북에서 어느 하나의 송신 마스크를 출력하는, 반도체 장치. - 제13항에 있어서, 상기 마스크 선택부는
상기 복수의 송신 마스크 중 상기 제한 벡터 및 상기 제1 디지털 코드에 상응하여 계산된 비트 카운트의 합이 최대인 송신 마스크를 출력하는, 반도체 장치. - 제1 디지털 코드 및 DBI 비트를 수신하는 수신회로; 및
상기 DBI 비트에 기초한 수신 마스크로 상기 제1 디지털 코드를 언-마스킹하는 디코더를 포함하고,
상기 수신 마스크는 상기 제1 디지털 코드 이전의 제2 디지털 코드에 기초하여 생성된 제한 벡터에 상응하는 것인, 반도체 장치. - 제18항에 있어서, 상기 디코더는
상기 제2 디지털 코드를 저장하는 레지스터;
상기 제2 디지털 코드에 기초하여 상기 제한 벡터를 생성하는 제한벡터 계산부;
복수의 수신 마스크를 저장하여, 상기 DBI 비트에 상응하는 상기 수신 마스크를 출력하는 마스크 선택부; 및
상기 출력된 수신 마스크로 상기 제1 디지털 코드를 언마스킹하는 연산부를 포함하는, 반도체 장치. - 제19항에 있어서,
복수의 수신 마스크 북을 저장하여, 상기 제한 벡터에 상응하는 어느 하나의 수신 마스크 북을 활성화하는 수신 마스크북 선택부를 포함하고,
상기 마스크 선택부는 상기 활성화된 수신 마스크 북에서 상기 DBI 비트에 상응하는 상기 수신 마스크를 출력하는, 반도체 장치.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230000456A (ko) * | 2021-06-24 | 2023-01-02 | 에스케이하이닉스 주식회사 | 전송 장치, 이를 이용하는 송수신 시스템 및 송수신 방법 |
Family Cites Families (39)
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 |
CA2302466A1 (en) * | 1997-07-31 | 1999-02-11 | 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 |
EP2894571B1 (en) * | 2009-07-13 | 2017-03-08 | 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 |
US11966348B2 (en) | 2019-01-28 | 2024-04-23 | Nvidia Corp. | Reducing coupling and power noise on PAM-4 I/O interface |
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 |
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 |
-
2021
- 2021-04-09 KR KR1020210046464A patent/KR20220140234A/ko active Search and Examination
- 2021-12-15 US US17/551,781 patent/US11822492B2/en active Active
-
2022
- 2022-04-06 CN CN202210357787.1A patent/CN115208410A/zh active Pending
- 2022-04-08 TW TW111113343A patent/TW202301346A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US11822492B2 (en) | 2023-11-21 |
CN115208410A (zh) | 2022-10-18 |
TW202301346A (zh) | 2023-01-01 |
US20220327067A1 (en) | 2022-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5502744A (en) | Data coding system | |
JP5726312B2 (ja) | 不完全な誤り特性を持つチャネルおよびメモリのための誤り検出および訂正符号 | |
US8223042B2 (en) | Encoding data with minimum hamming weight variation | |
US10491435B2 (en) | Unrelaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses | |
JPS6081925A (ja) | 誤り訂正装置 | |
CN110321314B (zh) | 用于降低pam-4数据总线上的耦合噪声和功率噪声的放宽的433编码 | |
US8964879B2 (en) | Crosstalk reduction coding schemes | |
KR20090114972A (ko) | 멀티 비트 레벨 데이터의 부호화 및 복호화 방법 | |
US11757567B2 (en) | Devices and methods for encoding and decoding to implement a maximum transition avoidance coding with minimum overhead | |
TWI814271B (zh) | 編碼及解碼設備 | |
KR20220140234A (ko) | 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치 | |
US9734010B2 (en) | Data encoding in solid-state storage apparatus | |
KR20160121224A (ko) | 고속 통신을 위한 전송장치, 이를 포함하는 인터페이스 회로 및 시스템 | |
JP2022173081A (ja) | 符号器および復号器 | |
KR20180108373A (ko) | 극부호를 위한 시퀀스 생성 방법 및 그 저장 매체와 그를 이용한 데이터 송신 방법 및 장치 | |
KR20220127113A (ko) | 최소 오버헤드를 갖는 최대 천이 방지 코딩을 구현하는 인코딩 및 디코딩 장치 및 방법 | |
US7676725B1 (en) | Method of code generation that minimizes error propagation | |
JP5106757B2 (ja) | 電圧レベルコーディングシステム及び方法 | |
CN110321312B (zh) | 降低pam-4 i/o接口上的耦合噪声和功率噪声 | |
US11100031B2 (en) | Memory system, semiconductor integrated circuit, and method therefor | |
KR20230000456A (ko) | 전송 장치, 이를 이용하는 송수신 시스템 및 송수신 방법 | |
CN117639787A (zh) | 一种编解码方法、装置及数据传输方法 | |
KR20180108370A (ko) | 극부호를 위한 시퀀스 생성 방법 및 그 저장 매체와 그를 이용한 데이터 송신 방법 및 장치 | |
JP2016192735A (ja) | 送信装置及び受信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |