KR20210149543A - 메모리 장치 및 이를 포함하는 메모리 시스템 - Google Patents

메모리 장치 및 이를 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR20210149543A
KR20210149543A KR1020200066716A KR20200066716A KR20210149543A KR 20210149543 A KR20210149543 A KR 20210149543A KR 1020200066716 A KR1020200066716 A KR 1020200066716A KR 20200066716 A KR20200066716 A KR 20200066716A KR 20210149543 A KR20210149543 A KR 20210149543A
Authority
KR
South Korea
Prior art keywords
dbi
data
bit
mode
signal
Prior art date
Application number
KR1020200066716A
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 KR1020200066716A priority Critical patent/KR20210149543A/ko
Priority to DE102020133572.5A priority patent/DE102020133572A1/de
Priority to US17/156,813 priority patent/US11218343B2/en
Priority to CN202110430292.2A priority patent/CN113764006A/zh
Priority to TW110115257A priority patent/TWI760199B/zh
Publication of KR20210149543A publication Critical patent/KR20210149543A/ko
Priority to US17/563,406 priority patent/US11627021B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0264Arrangements for coupling to transmission lines
    • H04L25/0272Arrangements for coupling to multiple lines, e.g. for differential transmission
    • 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
    • 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/1048Data bus control circuits, e.g. precharging, presetting, equalising
    • 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/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Dc Digital Transmission (AREA)

Abstract

메모리 장치 및 이를 메모리 시스템이 개시된다. 본 개시에 따른 메모리 장치는, 멀티 비트 데이터에 따라 복수의 DBI(Data Bus Inversion) 모드들에 각각 대응하는 복수의 멀티 비트 DBI 신호들 중 제1 멀티 비트 DBI 신호를 선택하는 DBI 모드 선택기, 제1 멀티 비트 DBI 신호에 따라 멀티 비트 데이터를 DBI 인코딩함으로써 인코딩된 멀티 비트 데이터를 생성하는 멀티 모드 DBI 인코더, 및 인코딩된 멀티 비트 데이터에 대응하는 데이터 심볼을 데이터 채널로 송신하고 제1 멀티 비트 DBI 신호에 대응하는 DBI 심볼을 DBI 채널로 송신하는 송수신기를 포함한다.

Description

메모리 장치 및 이를 포함하는 메모리 시스템{Memory device and memory system including the same}
본 개시의 기술적 사상은 메모리 장치에 관한 것이며, 더욱 상세하게는, 메모리 장치 및 상기 메모리 장치를 포함하는 메모리 시스템에 관한 것이다.
메모리 시스템은 송신 장치와 수신 장치를 포함하고, 송신 장치와 수신 장치는 복수의 데이터 채널들을 통해 데이터를 송수신할 수 있다. 데이터 송수신 소비 전력을 감소시키기 위하여, 예를 들어, 데이터 버스 반전(Data Bus Inversion, 이하 "DBI"라고 함)과 같은 데이터 인코딩 방법이 이용될 수 있다. 구체적으로, 송신 장치는 DBI 인코딩 방법을 이용하여 데이터의 적어도 일부 비트를 선택적으로 반전시킴으로써 송신 데이터를 생성하고, 데이터의 적어도 일부 비트가 반전되었음을 나타내는 DBI 신호를 송신 데이터와 함께 송신함으로써, 전체 데이터 송신 소비 전력을 감소시킬 수 있다.
본 개시의 기술적 사상은, 멀티 비트 데이터를 송신하는 경우 소비되는 송신 소비 전력을 감소할 수 있는 메모리 장치 및 이를 포함하는 메모리 시스템을 제공한다.
본 개시의 기술적 사상에 따른 메모리 장치는, 멀티 비트 데이터에 따라, 복수의 DBI(Data Bus Inversion) 모드들에 각각 대응하는 복수의 멀티 비트 DBI 신호들 중 제1 멀티 비트 DBI 신호를 선택하도록 구성된 DBI 모드 선택기, 상기 제1 멀티 비트 DBI 신호에 따라 상기 멀티 비트 데이터를 DBI 인코딩함으로써, 인코딩된 멀티 비트 데이터를 생성하는 멀티 모드 DBI 인코더, 및 상기 인코딩된 멀티 비트 데이터에 대응하는 데이터 심볼을 데이터 채널로 송신하고, 상기 제1 멀티 비트 DBI 신호에 대응하는 DBI 심볼을 DBI 채널로 송신하도록 구성된 송수신기를 포함한다.
또한, 본 개시의 기술적 사상에 따른 메모리 장치는, 데이터 채널 및 DBI 채널을 통해 데이터 심볼 및 DBI 심볼을 각각 수신하고, 수신한 상기 데이터 심볼로부터 인코딩된 멀티 비트 데이터를 생성하며, 수신한 상기 DBI 심볼로부터 멀티 비트 DBI 신호를 생성하도록 구성된 송수신기, 및 상기 멀티 비트 DBI 신호에, 상기 인코딩된 멀티 비트 데이터를 DBI 디코딩함으로써, 멀티 비트 데이터를 생성하도록 구성된 멀티 모드 DBI 디코더를 포함한다.
또한, 본 개시의 기술적 사상에 따른 메모리 시스템은, 멀티 비트 DBI 신호에 따라 복수의 멀티 비트 데이터를 DBI 인코딩하고, 인코딩된 복수의 멀티 비트 데이터에 대응하는 복수의 데이터 심볼들 및 상기 멀티 비트 DBI 신호에 대응하는 DBI 심볼을 복수의 데이터 채널들 및 DBI 채널을 통해 각각 송신하도록 구성된 송신 장치, 및 상기 복수의 데이터 채널들 및 상기 DBI 채널을 통해 상기 복수의 데이터 심볼들 및 상기 DBI 심볼을 각각 수신하고, 상기 멀티 비트 DBI 신호에 따라 상기 복수의 데이터 심볼들로부터 상기 복수의 멀티 비트 데이터를 DBI 디코딩하는 수신 장치를 포함한다.
또한, 본 개시의 기술적 사상에 따른 컴퓨팅 시스템은, 프로세서, 및 복수의 데이터 채널들 및 적어도 하나의 DBI 채널을 통해 상기 프로세서와 통신하는 메모리를 포함하고, 상기 복수의 데이터 채널들 각각을 통해, 멀티 비트 데이트에 대응하는 데이터 심볼이 송수신되며, 상기 DBI 채널을 통해, 복수의 DBI 모드들 중 하나를 나타내는 멀티 비트 DBI 신호에 대응하는 DBI 심볼이 송수신되고, 상기 멀티 비트 데이터는 상기 멀티 비트 DBI 신호에 따라 DBI 인코딩된다.
또한, 본 개시의 기술적 사상에 따른 메모리 장치는, 2 비트 데이터에 따라, 네 개의 DBI 모드들 중 하나에 대응하는 2 비트 DBI 신호를 선택하도록 구성된 DBI 모드 선택기, 선택된 상기 2 비트 DBI 신호에 따라 상기 2 비트 데이터를 DBI 인코딩함으로써, 인코딩된 2 비트 데이터를 생성하는 DBI 인코더, 및 상기 인코딩된 2 비트 데이터에 대응하는 데이터 심볼을 데이터 채널로 송신하고, 상기 2 비트 DBI 신호에 대응하는 DBI 심볼을 DBI 채널로 송신하도록 구성된 송수신기를 포함한다.
또한, 본 개시의 기술적 사상에 따른 메모리 시스템은, 2 비트 DBI 신호에 따라 복수의 2 비트 데이터를 DBI 인코딩하고, 인코딩된 복수의 2 비트 데이터에 대응하는 복수의 데이터 심볼들 및 상기 2 비트 DBI 신호에 대응하는 DBI 심볼을 복수의 데이터 채널들 및 DBI 채널을 통해 각각 송신하도록 구성된 송신 장치, 및 상기 복수의 데이터 채널들 및 상기 DBI 채널을 통해 상기 복수의 데이터 심볼들 및 상기 DBI 심볼을 각각 수신하고, 상기 2 비트 DBI 신호에 따라 상기 복수의 데이터 심볼들로부터 상기 복수의 2 비트 데이터를 DBI 디코딩하는 수신 장치를 포함한다.
본 개시의 기술적 사상에 따르면, 메모리 장치는 복수의 DBI 모드들에 각각 대응하는 멀티 비트 DBI 신호를 이용하여 멀티 비트 데이터를 송수신할 수 있고, 이에 따라, 멀티 비트 데이터의 송수신 소비 전력을 감소시킬 수 있다. 또한, 메모리 장치는 PAM 방식을 이용하여, 멀티 비트 데이터에 대응하는 복수의 전압 레벨들 중 하나를 갖는 심볼을 데이터 채널을 통해 송수신할 수 있다. 이에 따라, 메모리 장치는 정해진 심볼 주기에 복수의 데이터 비트들을 송수신할 수 있으므로, 데이터 입출력 속도를 향상시킬 수 있다.
도 1은 본 개시의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 2는 본 개시의 일 실시예에 따른 PAM-4 방식에서 데이터 심볼 별 전압 레벨을 예시적으로 나타내는 그래프이다.
도 3은 본 개시의 일 실시예에 따른 PAM-4 방식에서 데이터 심볼 별 코스트를 예시적으로 나타낸다.
도 4는 본 개시의 일 실시예에 따른 복수의 DBI 모드들을 예시적으로 나타내는 표이다.
도 5는 본 개시의 일 실시예에 따른 제1 멀티 모드 DBI 인코더를 예시적으로 나타내는 회로도이다.
도 6은 도 5에 예시된 제1 멀티 모드 DBI 인코더의 동작을 예시적으로 나타내는 표이다.
도 7a는 본 개시의 비교예에 따라, DBI 인코딩을 적용하지 않은 PAM-4 데이터 송신의 일 예를 나타내고, 도 7b는 도 7a의 예에 따른 송신 코스트를 예시적으로 나타낸다.
도 8a는 본 개시의 일 실시예에 따라, 2 비트 DBI 인코딩을 적용한 PAM-4 데이터 통신의 일 예를 나타내고, 도 8b는 도 8a의 예에 따른 송신 코스트를 예시적으로 나타낸다.
도 9는 본 개시의 일 실시예에 따른 DBI 모드 선택기를 예시적으로 나타내는 블록도이다.
도 10은 도 9에 예시된 DBI 모드 선택기의 동작을 예시적으로 나타내는 표이다.
도 11은 본 개시의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 12는 본 개시의 일 실시예에 따른 복수의 DBI 모드들을 예시적으로 나타내는 표이다.
도 13은 본 개시의 일 실시예에 따라, 제1 채널 그룹핑 방식에 따른 메모리 시스템을 나타내는 블록도이다.
도 14는 본 개시의 일 실시예에 따라, 제2 채널 그룹핑 방식에 따른 메모리 시스템을 나타내는 블록도이다.
도 15는 본 개시의 일 실시예에 따른 메모리 장치를 나타내는 블록도이다.
도 16은 본 개시의 일 실시예에 따른 데이터 처리 장치를 나타내는 블록도이다.
도 17은 본 개시의 일 실시예에 따른 데이터 송신 방법을 나타내는 흐름도이다.
도 18은 본 개시의 일 실시예에 따른 데이터 수신 방법을 나타내는 흐름도이다.
도 19는 본 개시의 일 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른 메모리 시스템(10)을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(10)은 송신 장치(100) 및 수신 장치(200)를 포함할 수 있다. 송신 장치(100)는 멀티 모드 DBI 인코더(110), DBI 모드 선택기(120), 데이터 송신기(130), 및 DBI 송신기(140)를 포함할 수 있다. 수신 장치(200)는 데이터 수신기(210), DBI 수신기(220), 및 멀티 모드 DBI 디코더(230)를 포함할 수 있다. 송신 장치(100)와 수신 장치(200)는 복수의 데이터 채널들(DQ) 및 적어도 하나의 DBI 라인 또는 DBI 채널(DBI_L)을 통해 서로 통신할 수 있다.
일 실시예에서, 멀티 모드 DBI 인코더(110)의 개수 및 데이터 송신기(130)의 개수는 복수의 데이터 채널들(DQ)의 개수에 대응할 수 있다. 예를 들어, 복수의 데이터 채널들(DQ)이 8개의 데이터 채널들을 포함하는 경우, 송신 장치(100)는 8개의 멀티 모드 DBI 인코더들(110) 및 8개의 데이터 송신기들(130)을 포함할 수 있다. 일 실시예에서, DBI 모드 선택기(120)의 개수 및 DBI 송신기(140)의 개수는 적어도 하나의 DBI 채널(DBI_L)의 개수에 대응할 수 있다. 예를 들어, 적어도 하나의 DBI 채널(DBI_L)이 1개의 DBI 채널을 포함하는 경우, 송신 장치(100)는 1개의 DBI 모드 선택기(120) 및 1개의 DBI 송신기(140)를 포함할 수 있다.
일 실시예에서, 데이터 수신기(210)의 개수 및 멀티 모드 DBI 디코더(230)의 개수는 복수의 데이터 채널들(DQ)의 개수에 대응할 수 있다. 예를 들어, 복수의 데이터 채널들(DQ)이 8개의 데이터 채널들을 포함하는 경우, 수신 장치(200)는 8개의 데이터 수신기들(210) 및 8개의 멀티 모드 DBI 디코더들(230)을 포함할 수 있다. 일 실시예에서, DBI 수신기(220)의 개수는 적어도 하나의 DBI 채널(DBI_L)의 개수에 대응할 수 있다. 예를 들어, 적어도 하나의 DBI 채널(DBI_L)이 1개의 DBI 채널을 포함하는 경우, 수신 장치(200)는 1개의 DBI 수신기(220)를 포함할 수 있다.
일 실시예에서, 송신 장치(100)는 데이터 처리 장치일 수 있고, 수신 장치(200)는 메모리 장치일 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일 실시예에서, 송신 장치(100)는 메모리 장치이고, 수신 장치(200)는 데이터 처리 장치일 수 있다. 또한, 일 실시예에서, 송신 장치(100)와 수신 장치(200)는 모두 메모리 장치일 수 있다. 본 명세서에서, "메모리 장치"는 복수의 메모리 셀들을 포함하는 임의의 장치를 모두 포함할 수 있다. 예를 들어, 복수의 메모리 셀들은 DRAM(Dynamic Random Access Memory) 셀들일 수 있다.
일 실시예에서, 송신 장치(100)와 수신 장치(200)는 PAM(Pulse Amplitude Modulation) 방식으로 데이터를 송수신할 수 있다. 구체적으로, 송신 장치(100)는 PAM 방식을 이용하여, 멀티 비트 데이터로부터 서로 다른 전압 레벨들 중 하나를 갖는 심볼을 생성함으로써, 멀티 비트 데이터에 포함된 다수의 비트들을 하나의 심볼 주기에 동시에 송신할 수 있고, 이에 따라, 메모리 시스템(10)의 데이터의 전송 속도를 향상시킬 수 있다. 예를 들어, 송신 장치(100)와 수신 장치(200)는 PAM-4 방식으로 데이터를 송수신할 수 있다. PAM-4 방식에 따른 데이터 송수신 방법에 대해서는 도 2 및 도 3을 참조하여 후술하기로 한다.
멀티 모드 DBI 인코더(110)는 멀티 비트 데이터를 수신할 수 있다. 또한, 멀티 모드 DBI 인코더(110)는 DBI 모드 선택기(120)로부터 멀티 비트 DBI 신호(DBI_MD)를 수신하고, 수신한 멀티 비트 DBI 신호(DBI_MD)에 따라 멀티 비트 데이터(DATA)를 DBI 인코딩함으로써, 인코딩된 멀티 비트 데이터(E_DATA)를 생성할 수 있다. 멀티 비트 데이터(DATA)는 N 비트 데이터일 수 있고, N은 2 이상의 정수일 수 있다. 일 실시예에서, 멀티 비트 데이터(DATA)는 2 비트 데이터("00", "01", "10", 또는 "11")일 수 있다. 멀티 모드 DBI 인코더(110)의 구체적인 동작에 대해서는 도 5 내지 도 7b를 참조하여 후술하기로 한다.
DBI 모드 선택기(120)는 멀티 비트 데이터(DATA)에 따라, 복수의 DBI 모드들에 각각 대응하는 복수의 멀티 비트 DBI 신호들 중 하나의 멀티 비트 DBI 신호(DBI_MD)를 선택할 수 있다. 일 실시예에서, 멀티 비트 데이터(DATA)가 2 비트 데이터이면, 멀티 비트 DBI 신호(DBI_MD)는 2 비트 신호일 수 있다. 일 실시예에서, 멀티 비트 데이터(DATA)가 3 비트 데이터이면, 멀티 비트 DBI 신호(DBI_MD)는 3 비트 신호일 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 멀티 비트 데이터(DATA)가 3 비트 데이터이고, 멀티 비트 DBI 신호(DBI_MD)는 2 비트 신호일 수도 있다. DBI 모드 선택기(120)의 구체적인 동작에 대해서는 도 4를 참조하여 후술하기로 한다.
데이터 송신기(130)는 인코딩된 멀티 비트 데이터(E_DATA)로부터 데이터 심볼(D_SB)을 생성하고, 생성된 데이터 심볼(D_SB)을 데이터 채널(DQ)을 통해 수신 장치(200)로 송신할 수 있다. 예를 들어, 데이터 송신기(130)는 PAM-4 방식을 이용하여, 인코딩된 멀티 비트 데이터(E_DATA)로부터 제1 내지 제4 전압 레벨들(예를 들어, 도 2의 V0 내지 V3) 중 하나를 갖는 데이터 심볼(D_SB)을 생성할 수 있다. DBI 송신기(140)는 멀티 비트 DBI 신호(DBI_MD)로부터 DBI 심볼(DBI_SB)을 생성하고, 생성된 DBI 심볼(DBI_SB)을 DBI 채널(DBI_L)을 통해 수신 장치(200)로 송신할 수 있다. 예를 들어, DBI 송신기(140)는 PAM-4 방식을 이용하여, 멀티 비트 DBI 신호(DBI_MD)로부터 제1 내지 제4 전압 레벨들 중 하나를 갖는 DBI 심볼(DBI_SB)을 생성할 수 있다.
데이터 수신기(210)는 데이터 채널(DQ)을 통해 송신 장치(100)로부터 데이터 심볼(D_SB)을 수신하고, 수신된 데이터 심볼(D_SB)로부터 인코딩된 멀티 비트 데이터(E_DATA)를 생성할 수 있다. 예를 들어, 데이터 수신기(210)는 PAM-4 방식을 이용하여, 제1 내지 제4 전압 레벨들 중 하나를 갖는 데이터 심볼(D_SB)로부터 인코딩된 멀티 비트 데이터(E_DATA)를 생성할 수 있다. DBI 수신기(220)는 DBI 채널(DBI_L)을 통해 송신 장치(100)로부터 DBI 심볼(DBI_SB)을 수신하고, 수신된 DBI 심볼(DBI_SB)로부터 멀티 비트 DBI 신호(DBI_MD)를 생성할 수 있다. 예를 들어, DBI 수신기(220)는 PAM-4 방식을 이용하여, 제1 내지 제4 전압 레벨들 중 하나를 갖는 DBI 심볼(DBI_SB)로부터 멀티 비트 DBI 신호(DBI_MD)를 생성할 수 있다.
도 2는 본 개시의 일 실시예에 따른 PAM-4 방식에서 데이터 심볼 별 전압 레벨을 예시적으로 나타내는 그래프이다.
도 1 및 도 2를 함께 참조하면, 가로축은 시간을 나타내고, 세로축은 전압을 나타낸다. 예를 들어, 멀티 비트 데이터(DATA)는 2 비트 데이터이고, 데이터 송신기(130)는 각 심볼 주기 당 2 비트 데이터를 송신할 수 있다. 예를 들어, 제1 심볼 주기(SP0)에서, 데이터 '00'에 해당하는 제1 전압 레벨(V0)을 갖는 심볼이 생성될 수 있고, 제2 심볼 주기(SP1)에서, 데이터 '01'에 해당하는 제2 전압 레벨(V1)을 갖는 심볼이 생성될 수 있고, 제3 심볼 주기(SP2)에서, 데이터 '10'에 해당하는 제3 전압 레벨(V2)을 갖는 심볼이 생성될 수 있고, 제4 심볼 주기(SP3)에서, 데이터 '11'에 해당하는 제4 전압 레벨(V3)을 갖는 심볼이 생성될 수 있다. 제1 내지 제4 심볼 주기들(SP0 내지 SP3) 각각에서 생성되는 심볼은 데이터에 따라 다양하게 변경될 수 있다.
도 3은 본 개시의 일 실시예에 따른 PAM-4 방식에서 데이터 심볼 별 코스트를 예시적으로 나타낸다.
도 1 내지 도 3을 함께 참조하면, 예를 들어, PAM-4 방식에서, 2 비트 데이터 '00', '01', '10', '11'은 심볼 0, 1, 2, 3에 각각 대응할 수 있다. 도 3에서는, 심볼 별 송신 드라이버(TX)의 등가 회로도 및 송신 드라이버(TX)의 등가 저항에 따른 DC 소비 전류가 예시되어 있다. 각 심볼을 송신할 때 송신 드라이버(TX)의 소비 전류, 즉, 송신 소비 전류로부터 "송신 코스트(cost)" 또는 "코스트"를 정의할 수 있다. 예를 들어, 송신 드라이버(TX)는 데이터 송신기(130)에 포함될 수 있다.
예를 들어, 데이터 '00'에 해당하는 심볼 0을 송신하는 경우, 송신 드라이버(TX)의 DC 소비 전류는 0VDD일 수 있다. 예를 들어, 데이터 '01'에 해당하는 심볼 1을 송신하는 경우, 송신 드라이버(TX)의 DC 소비 전류는 5/18VDD일 수 있다. 예를 들어, 데이터 '10'에 해당하는 심볼 2를 송신하는 경우, 송신 드라이버(TX)의 DC 소비 전류는 8/18VDD일 수 있다. 예를 들어, 데이터 '11'에 해당하는 심볼 3을 송신하는 경우, 송신 드라이버(TX)의 DC 소비 전류는 9/18VDD일 수 있다. 이에 따라, 데이터 '00', '01', '10', '11'에 각각 대응하는 코스트들은 0, 5, 8, 9로 정의될 수 있다.
이와 같이, 서로 다른 데이터에 대응하는 서로 다른 심볼들의 코스트들은 서로 상이하며, 특히, 심볼 0의 코스트가 가장 낮고, 심볼 3의 코스트가 가장 높다. 따라서, 전체적인 송신 코스트를 감소시키기 위해서는, 송신되는 심볼들 중 심볼 1, 심볼 2, 및 심볼 3의 개수를 줄이고, 심볼 1의 개수를 늘리는 것이 필요하다. 이를 위해, 본 실시예에서는, 복수의 DBI 모드들에 각각 대응하는 멀티 비트 DBI 신호(DBI_MD)에 따라 멀티 비트 데이터(DATA)에 대해 DBI 인코딩을 수행할 수 있다.
도 4는 본 개시의 일 실시예에 따른 복수의 DBI 모드들을 예시적으로 나타내는 표이다.
도 4를 참조하면, 복수의 DBI 모드들은 제1 내지 제4 DBI 모드들(MD0 내지 MD3)을 포함할 수 있고, 제1 내지 제4 DBI 모드들(MD0 내지 MD3)은 제1 내지 제4 멀티 비트 DBI 신호들(DBI_MD[1:0])에 각각 대응할 수 있다. 제1 내지 제4 멀티 비트 DBI 신호들(DBI_MD[1:0])은 각각 2 비트 신호일 수 있고, 제1 내지 제4 멀티 비트 DBI 신호들(DBI_MD[1:0])은 DBI 심볼(DBI_SB) 0, 1, 2, 3에 각각 대응할 수 있다.
예를 들어, 제1 DBI 모드(MD0)는 멀티 비트 데이터의 모든 비트들을 반전시키지 않는 DBI 인코딩 방식을 나타내고, 제1 멀티 비트 DBI 신호(DBI_MD<0>)는 "00"으로 표시될 수 있다. 예를 들어, 제2 DBI 모드(MD1)는 멀티 비트 데이터의 최하위 비트(Least Significant Bit, LSB)만 반전시키는 DBI 인코딩 방식을 나타내고, 제2 멀티 비트 DBI 신호(DBI_MD<1>)는 "01"로 표시될 수 있다. 예를 들어, 제3 DBI 모드(MD2)는 멀티 비트 데이터의 최상위 비트(Most Significant Bit, MSB)만 반전시키는 DBI 인코딩 방식을 나타내고, 제3 멀티 비트 DBI 신호(DBI_MD<2>)는 "10"으로 표시될 수 있다. 예를 들어, 제4 DBI 모드(MD3)는 멀티 비트 데이터의 모든 데이터를 반전시키는 DBI 인코딩 방식을 나타내고, 제4 멀티 비트 DBI 신호(DBI_MD<3>)는 "11"로 표시될 수 있다.
도 5는 본 개시의 일 실시예에 따른 제1 멀티 모드 DBI 인코더(110a)를 예시적으로 나타내는 회로도이다. 도 6은 도 5에 예시된 제1 멀티 모드 DBI 인코더(110a)의 동작을 예시적으로 나타내는 표이다.
도 4 내지 도 6을 함께 참조하면, 예를 들어, 제1 멀티 모드 DBI 인코더(110a)은 도 1의 멀티 모드 DBI 인코더(110)의 일 예에 대응할 수 있다. 예를 들어, 제1 멀티 모드 DBI 인코더(110a)는 제1 멀티 비트 데이터(DATA0) 및 멀티 비트 DBI 신호(DBI_MD)를 수신하고, 수신한 멀티 비트 DBI 신호(DBI_MD)에 따라 제1 멀티 비트 데이터(DATA0)를 DBI 인코딩함으로써, 인코딩된 제1 멀티 비트 데이터(E_DATA0)를 생성할 수 있다. 도 4에 예시된 바와 같이, 멀티 비트 DBI 신호(DBI_MD)는 제1 내지 제4 DBI 모드들(MD0 내지 MD3) 각각에 대응하는 제1 내지 제4 멀티 비트 DBI 신호들, 즉, 00, 01, 10, 및 11 중 하나일 수 있다.
일 실시예에서, 제1 멀티 모드 DBI 인코더(110a)는 제1 XOR 게이트(111) 및 제2 XOR 게이트(112)를 포함할 수 있다. 제1 XOR 게이트(111)는 제1 멀티 비트 데이터(DATA0)의 하위 비트 신호(LSB), 즉, DATA[0] 및 멀티 비트 DBI 신호(DBI_MD)의 하위 비트 신호, 즉, DBI_MD[0]에 대해 XOR 연산을 수행함으로써, 인코딩된 제1 멀티 비트 데이터(E_DATA0)의 하위 비트 신호, 즉, E_DATA0[0]을 출력할 수 있다. 제2 XOR 게이트(112)는 제1 멀티 비트 데이터(DATA0)의 상위 비트 신호(MSB), 즉, DATA[1] 및 멀티 비트 DBI 신호(DBI_MD)의 상위 비트 신호, 즉, DBI_MD[1]에 대해 XOR 연산을 수행함으로써, 인코딩된 제1 멀티 비트 데이터(E_DATA0)의 상위 비트 신호, 즉, E_DATA0[1]을 출력할 수 있다.
예를 들어, 제1 멀티 비트 데이터(DATA0)가 00이고, 멀티 비트 DBI 신호(DBI_MD)가 00이면, 제1 및 제2 XOR 게이트들(111, 112)은 각각 0을 출력할 것이다. 예를 들어, 제1 멀티 비트 데이터(DATA0)가 01이고, 멀티 비트 DBI 신호(DBI_MD)가 01이면, 제1 및 제2 XOR 게이트들(111, 112)은 각각 0을 출력할 것이다. 예를 들어, 제1 멀티 비트 데이터(DATA0)가 10이고, 멀티 비트 DBI 신호(DBI_MD)가 10이면, 제1 및 제2 XOR 게이트들(111, 112)은 각각 0을 출력할 것이다. 예를 들어, 제1 멀티 비트 데이터(DATA0)가 11이고, 멀티 비트 DBI 신호(DBI_MD)가 11이면, 제1 및 제2 XOR 게이트들(111, 112)은 각각 0을 출력할 것이다.
도 7a는 본 개시의 비교예에 따라, DBI 인코딩을 적용하지 않은 PAM-4 데이터 송신의 일 예를 나타내고, 도 7b는 도 7a의 예에 따른 송신 코스트를 예시적으로 나타낸다.
도 3, 도 7a 및 도 7b를 함께 참조하면, 제1 및 제2 송신 드라이버들(TX0, TX1)은 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)로부터 제1 및 제2 데이터 심볼들(D_SB0, D_SB1)을 출력할 수 있다. DBI 인코딩이 적용되지 않는 경우, 데이터 심볼(D_SB)에 대한 전체 송신 코스트는, 제1 데이터 심볼(D_SB0)에 대한 송신 코스트와 제2 데이터 심볼(D_SB1)에 대한 송신 코스트의 합에 대응할 수 있다.
예를 들어, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "00"이면 제1 및 제2 데이터 심볼들(D_SB0, D_SB1)에 대한 송신 코스트는 0이다. 또한, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "01"이면 제1 및 제2 데이터 심볼들(D_SB0, D_SB1) 각각에 대한 송신 코스트가 5이므로, 데이터 심볼(D_SB)에 대한 전체 송신 코스트는 10이다. 또한, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "10"이면 제1 및 제2 데이터 심볼들(D_SB0, D_SB1) 각각에 대한 송신 코스트가 8이므로, 데이터 심볼(D_SB)에 대한 전체 송신 코스트는 16이다. 또한, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "11"이면, 제1 및 제2 데이터 심볼들(D_SB0, D_SB1) 각각에 대한 송신 코스트가 9이므로, 데이터 심볼(D_SB)에 대한 전체 송신 코스트는 18이다.
도 8a는 본 개시의 일 실시예에 따라, 2 비트 DBI 인코딩을 적용한 PAM-4 데이터 통신의 일 예를 나타내고, 도 8b는 도 8a의 예에 따른 송신 코스트를 예시적으로 나타낸다.
도 3, 도 8a 및 도 8b를 함께 참조하면, 예를 들어, 멀티 비트 DBI 신호(DBI_MD)는 2 비트 신호이고, 멀티 비트 DBI 신호(DBI_MD)는 제1 내지 제4 DBI 모드들 중 하나에 대응할 수 있다. 제1 및 제2 멀티 모드 DBI 인코더들(110a, 110b)은 도 1의 멀티 모드 DBI 인코더(110)에 포함될 수 있고, DBI 모드 선택기(120)는 도 1의 DBI 모드 선택기(120)에 대응할 수 있으며, 제1 및 제2 데이터 송신기들(130a, 130b)은 도 1의 데이터 송신기(130)에 포함될 수 있다.
제1 멀티 모드 DBI 인코더(110a)는 멀티 비트 DBI 신호(DBI_MD)에 따라 제1 멀티 비트 데이터(DATA0)를 DBI 인코딩함으로써, 인코딩된 제1 멀티 비트 데이터(E_DATA0)를 생성할 수 있다. 제2 멀티 모드 DBI 인코더(110b)는 멀티 비트 DBI 신호(DBI_MD)에 따라 제2 멀티 비트 데이터(DATA1)를 DBI 인코딩함으로써, 인코딩된 제2 멀티 비트 데이터(E_DATA1)를 생성할 수 있다.
제1 데이터 송신기(130a)는 인코딩된 제1 멀티 비트 데이터(E_DATA0)에 대응하는 제1 데이터 심볼(D_SB0)을 제1 데이터 채널(예를 들어, 도 13의 DQ0)에 송신할 수 있고, 제2 데이터 송신기(130b)는 인코딩된 제2 멀티 비트 데이터(E_DATA1)에 대응하는 제2 데이터 심볼(D_SB1)을 제2 데이터 채널(예를 들어, 도 13의 DQ1)에 송신할 수 있다. DBI 송신기(140)는 멀티 비트 DBI 신호(DBI_MD)에 대응하는 DBI 심볼(DBI_SB)을 DBI 채널(예를 들어, 도 1의 DBI_L)에 송신할 수 있다.
이와 같이, 2 비트 DBI 인코딩이 적용하여 데이터를 송신하는 경우, 제1 및 제2 데이터 채널들을 통해 제1 및 제2 데이터 심볼들(D_SB0, D_SB1)을 송신하고, 동시에 DBI 채널을 통해 DBI 심볼(DBI_SB)을 송신할 수 있다. 따라서, 전체 송신 코스트는 제1 데이터 심볼(D_SB0)에 대한 송신 코스트, 제2 데이터 심볼(D_SB1)에 대한 송신 코스트와, DBI 심볼(DBI_SB)에 대한 송신 코스트의 합에 대응할 수 있다.
예를 들어, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "00"이면 제1 DBI 모드가 선택될 수 있다. 이에 따라, 제1 및 제2 멀티 모드 DBI 인코더들(110a, 110b)은 제1 DBI 모드로 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)를 각각 DBI 인코딩함으로써, 인코딩된 제1 및 제2 멀티 비트 데이터(E_DATA0, E_DATA1)를 각각 "00", "00"으로 출력할 수 있다. 제1 및 제2 데이터 송신기들(130a, 130b)은 인코딩된 제1 및 제2 멀티 비트 데이터(E_DATA0, E_DATA1)에 각각 대응하는 제1 및 제2 데이터 심볼들(D_SB0, D_SB1)을 각각 0으로 출력할 수 있다. 이때, 데이터 심볼(D_SB) 00의 송신 코스트는 0이고, DBI 심볼(DBI_SB) 0의 송신 코스트는 0이므로, 전체 송신 코스트는 0이다.
예를 들어, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "01"이면 제2 DBI 모드가 선택될 수 있다. 이에 따라, 제1 및 제2 멀티 모드 DBI 인코더들(110a, 110b)은 제2 DBI 모드로 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)을 각각 DBI 인코딩함으로써, 인코딩된 제1 및 제2 멀티 비트 데이터(E_DATA0, E_DATA1)를 각각 "00", "00"으로 출력할 수 있다. 제1 및 제2 데이터 송신기들(130a, 130b)은 인코딩된 제1 및 제2 멀티 비트 데이터(E_DATA0, E_DATA1)에 각각 대응하는 제1 및 제2 데이터 심볼들(D_SB0, D_SB1)을 각각 0으로 출력할 수 있다. 이때, 데이터 심볼(D_SB) 00의 송신 코스트는 0이고, DBI 심볼(DBI_SB) 1의 송신 코스트는 5이므로, 전체 송신 코스트는 5이다. 이와 같이, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "01"인 경우, 도 7b에 예시된 DBI 인코딩을 적용하지 않는 경우와 비교하면, 전체 송신 코스트를 10에서 5로 감소시킬 수 있다.
예를 들어, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "10"이면 제3 DBI 모드가 선택될 수 있다. 이에 따라, 제1 및 제2 멀티 모드 DBI 인코더들(110a, 110b)은 제3 DBI 모드로 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)을 각각 DBI 인코딩함으로써, 인코딩된 제1 및 제2 멀티 비트 데이터(E_DATA0, E_DATA1)를 각각 "00", "00"으로 출력할 수 있다. 제1 및 제2 데이터 송신기들(130a, 130b)은 인코딩된 제1 및 제2 멀티 비트 데이터(E_DATA0, E_DATA1)에 각각 대응하는 제1 및 제2 데이터 심볼들(D_SB0, D_SB1)을 각각 0으로 출력할 수 있다. 이때, 데이터 심볼(D_SB) 00의 송신 코스트는 0이고, DBI 심볼(DBI_SB) 2의 송신 코스트는 8이므로, 전체 송신 코스트는 8이다. 이와 같이, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "10"인 경우, 도 7b에 예시된 DBI 인코딩을 적용하지 않는 경우와 비교하면, 전체 송신 코스트를 16에서 8로 감소시킬 수 있다.
예를 들어, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "11"이면 제4 DBI 모드가 선택될 수 있다. 이에 따라, 제1 및 제2 멀티 모드 DBI 인코더들(110a, 110b)은 제4 DBI 모드로 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)을 각각 DBI 인코딩함으로써, 인코딩된 제1 및 제2 멀티 비트 데이터(E_DATA0, E_DATA1)를 각각 "00", "00"으로 출력할 수 있다. 제1 및 제2 데이터 송신기들(130a, 130b)은 인코딩된 제1 및 제2 멀티 비트 데이터(E_DATA0, E_DATA1)에 각각 대응하는 제1 및 제2 데이터 심볼들(D_SB0, D_SB1)을 각각 0으로 출력할 수 있다. 이때, 데이터 심볼(D_SB) 00의 송신 코스트는 0이고, DBI 심볼(DBI_SB) 3의 송신 코스트는 9이므로, 전체 송신 코스트는 9이다. 이와 같이, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "11"인 경우, 도 7b에 예시된 DBI 인코딩을 적용하지 않는 경우와 비교하면, 전체 송신 코스트를 18에서 9로 감소시킬 수 있다.
본 개시의 실시예에 따라, 멀티 비트 DBI 신호(DBI_MD)를 이용하여 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)에 대해 각각 DBI 인코딩을 수행함으로써, DBI 인코딩을 적용하지 않는 경우와 비교하여, 전체 송신 코스트를 크게 감소시킬 수 있다. 한편, 1 비트 DBI 신호를 이용하여 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)에 대해 DBI 인코딩을 수행할 경우, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "11"인 경우에만 전체 송신 코스트가 감소할 것이고, 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)가 모두 "01" 또는 "10"인 경우에는 DBI 인코딩을 적용하지 않은 경우와 전체 송신 코스트가 동일할 것이다. 그러나, 본 실시예에 따르면, 2 비트 DBI 신호를 이용하여 제1 및 제2 멀티 비트 데이터(DATA0, DATA1)에 대해 각각 DBI 인코딩을 수행함으로써, 전체 송신 코스트를 전반적으로 크게 감소시킬 수 있다.
도 9는 본 개시의 일 실시예에 따른 DBI 모드 선택기(120)를 예시적으로 나타내는 블록도이다.
도 9를 참조하면, DBI 모드 선택기(120)는 데이터 심볼 카운터(121) 및 DBI 모드 맵퍼(122)를 포함할 수 있다. 데이터 심볼 카운터(121)는 복수의 멀티 비트 데이터, 예를 들어, 제1 내지 제8 멀티 비트 데이터(DATA0 내지 DATA7)를 수신하고, 제1 내지 제8 멀티 비트 데이터(DATA0 내지 DATA7)에서 복수의 데이터 패턴들 각각의 개수들을 카운팅할 수 있고, 제1 내지 제4 카운트 신호들(CNT0 내지 CNT3)을 생성할 수 있다. 예를 들어, 복수의 데이터 패턴들은 "00", "01", "10" 및 "11"을 포함할 수 있다.
DBI 모드 맵퍼(122)는 제1 내지 제4 카운트 신호들(CNT0 내지 CNT3)을 기초로, 제1 내지 제4 DBI 모드들(DBI_MD0 내지 DBI_MD3) 각각에 대하여 데이터 심볼들의 송신 카운트와 DBI 심볼의 송신 카운트의 합에 대응하는 전체 송신 코스트를 계산할 수 있다. 이어서, DBI 모드 맵퍼(122)는 제1 내지 제4 DBI 모드들(DBI_MD0 내지 DBI_MD3) 각각에 대한 전체 송신 코스트들 중 최소 송신 코스트에 해당하는 DBI 모드를 선택할 수 있고, 선택된 DBI 모드에 대응하는 멀티 비트 DBI 신호(DBI_MD)를 출력할 수 있다.
도 10은 도 9에 예시된 DBI 모드 선택기(120)의 동작을 예시적으로 나타내는 표이다. 이하에서는, 도 9 및 도 10을 함께 참조하여, DBI 모드 선택기(120)의 동작에 대해 자세하게 설명하기로 한다.
먼저, 제1 케이스(CASE0)에 대한 데이터 심볼 카운터(121) 및 DBI 모드 맵퍼(122)의 동작에 대해 설명하기로 한다. 제1 케이스(CASE0)에서, 제1 내지 제8 멀티 비트 데이터(DATA0 내지 DATA7)은 모두 "11"일 수 있다. 이때, 데이터 심볼 카운터(121)는 제1 내지 제8 멀티 비트 데이터(DATA0 내지 DATA7)에서 데이터 패턴 "00"의 개수에 대응하는 0을 제1 카운트 신호(CNT0)로 출력하고, 데이터 패턴 "01"의 개수에 대응하는 0을 제2 카운트 신호(CNT1)로 출력하고, 데이터 패턴 "10"의 개수에 대응하는 0을 제3 카운트 신호(CNT2)로 출력하고, 데이터 패턴 "11"의 개수에 대응하는 8을 제4 카운트 신호(CNT3)로 출력할 수 있다.
제1 DBI 모드(DBI_MD0)의 경우, 제1 멀티 비트 DBI 신호 00에 대응하는 DBI 심볼(DBI_SB)의 송신 카운트는 0이다. 데이터 패턴 "11"을 제1 DBI 모드(DBI_MD0)로 DBI 인코딩하면 데이터 패턴 "11"이 생성되고, 데이터 패턴 "11"에 대응하는 데이터 심볼들(예를 들어, 도 13의 D_SB0 내지 D_SB7)의 송신 코스트는 72(=9*8)이다. 따라서, 제1 DBI 모드(DBI_MD0)에 대한 전체 송신 코스트는 72(=0+72)이다.
제2 DBI 모드(DBI_MD1)에서, 제2 멀티 비트 DBI 신호 01에 대응하는 DBI 심볼(DBI_SB)의 송신 카운트는 5이다. 데이터 패턴 "11"을 제2 DBI 모드(DBI_MD1)로 DBI 인코딩하면 데이터 패턴 "10"이 생성되고, 데이터 패턴 "10"에 대응하는 데이터 심볼들(예를 들어, 도 13의 D_SB0 내지 D_SB7)의 송신 코스트는 64(=8*8)이다. 따라서, 제2 DBI 모드(DBI_MD1)에 대한 전체 송신 코스트는 69(=5+64)이다.
제3 DBI 모드(DBI_MD2)에서, 제3 멀티 비트 DBI 신호 10에 대응하는 DBI 심볼(DBI_SB)의 송신 카운트는 8이다. 데이터 패턴 "11"을 제3 DBI 모드(DBI_MD2)로 DBI 인코딩하면 데이터 패턴 "01"이 생성되고, 데이터 패턴 "01"에 대응하는 데이터 심볼들(예를 들어, 도 13의 D_SB0 내지 D_SB7)의 송신 코스트는 40이다. 따라서, 제3 DBI 모드(DBI_MD2)에 대한 전체 송신 코스트는 48(=8+40)이다.
제4 DBI 모드(DBI_MD3)에서, 제4 멀티 비트 DBI 신호 11에 대응하는 DBI 심볼(DBI_SB)의 송신 카운트는 9이다. 데이터 패턴 "11"을 제4 DBI 모드(DBI_MD3)로 DBI 인코딩하면 데이터 패턴 "00"이 생성되고, 데이터 패턴 "00"에 대응하는 데이터 심볼들(예를 들어, 도 13의 D_SB0 내지 D_SB7)의 송신 코스트는 0이다. 따라서, 제4 DBI 모드(DBI_MD3)에 대한 전체 송신 코스트는 9(=9+0)이다.
이와 같이, DBI 모드 맵퍼(122)는 제1 내지 제4 DBI 모드들(DBI_MD0 내지 DBI_MD3) 각각에 대한 전체 송신 코스트들을 72, 69, 48, 9로 각각 계산하고, 계산된 전체 송신 코스트들 중 최소 송신 코스트 9에 해당하는 제4 DBI 모드(DBI_MD3)을 선택할 수 있다. 이때, 제4 DBI 모드(DBI_MD3)에 대응하는 DBI 심볼(DBI_SB)은 3이다.
다음으로, 제2 케이스(CASE1)에 대한 데이터 심볼 카운터(121) 및 DBI 모드 맵퍼(122)의 동작에 대해 설명하기로 한다. 제2 케이스(CASE1)에서, 제1 내지 제8 멀티 비트 데이터(DATA0 내지 DATA7)은 모두 "10"일 수 있다. 이때, 데이터 심볼 카운터(121)는 제1 내지 제8 멀티 비트 데이터(DATA0 내지 DATA7)에서 데이터 패턴 "00"의 개수에 대응하는 0을 제1 카운트 신호(CNT0)로 출력하고, 데이터 패턴 "01"의 개수에 대응하는 0을 제2 카운트 신호(CNT1)로 출력하고, 데이터 패턴 "10"의 개수에 대응하는 8을 제3 카운트 신호(CNT2)로 출력하고, 데이터 패턴 "11"의 개수에 대응하는 8을 제4 카운트 신호(CNT3)로 출력할 수 있다.
제1 DBI 모드(DBI_MD0)에서, 제1 멀티 비트 DBI 신호 00에 대응하는 DBI 심볼(DBI_SB)의 송신 카운트는 0이다. 데이터 패턴 "10"을 제1 DBI 모드(DBI_MD0)로 DBI 인코딩하면 데이터 패턴 "10"이 생성되고, 데이터 패턴 "10"에 대응하는 데이터 심볼들(예를 들어, 도 13의 D_SB0 내지 D_SB7)의 송신 코스트는 64(=8*8)이다. 따라서, 제1 DBI 모드(DBI_MD0)에 대한 전체 송신 코스트는 64(=0+64)이다.
제2 DBI 모드(DBI_MD1)에서, 제2 멀티 비트 DBI 신호 01에 대응하는 DBI 심볼(DBI_SB)의 송신 카운트는 5이다. 데이터 패턴 "10"을 제2 DBI 모드(DBI_MD1)로 DBI 인코딩하면 데이터 패턴 "11"이 생성되고, 데이터 패턴 "11"에 대응하는 데이터 심볼들(예를 들어, 도 13의 D_SB0 내지 D_SB7)의 송신 코스트는 72(=9*8)이다. 따라서, 제2 DBI 모드(DBI_MD1)에 대한 전체 송신 코스트는 77(=5+72)이다.
제3 DBI 모드(DBI_MD2)에서, 제3 멀티 비트 DBI 신호 10에 대응하는 DBI 심볼(DBI_SB)의 송신 카운트는 8이다. 데이터 패턴 "10"을 제3 DBI 모드(DBI_MD2)로 DBI 인코딩하면 데이터 패턴 "00"이 생성되고, 데이터 패턴 "00"에 대응하는 데이터 심볼들(예를 들어, 도 13의 D_SB0 내지 D_SB7)의 송신 코스트는 0이다. 따라서, 제3 DBI 모드(DBI_MD2)에 대한 전체 송신 코스트는 8(=8+0)이다.
제4 DBI 모드(DBI_MD3)에서, 제4 멀티 비트 DBI 신호 11에 대응하는 DBI 심볼(DBI_SB)의 송신 카운트는 9이다. 데이터 패턴 "10"을 제4 DBI 모드(DBI_MD3)로 DBI 인코딩하면 데이터 패턴 "01"이 생성되고, 데이터 패턴 "01"에 대응하는 데이터 심볼들(예를 들어, 도 13의 D_SB0 내지 D_SB7)의 송신 코스트는 40(=5*8)이다. 따라서, 제4 DBI 모드(DBI_MD3)에 대한 전체 송신 코스트는 49(=9+40)이다.
이와 같이, DBI 모드 맵퍼(122)는 제1 내지 제4 DBI 모드들(DBI_MD0 내지 DBI_MD3) 각각에 대한 전체 송신 코스트들을 64, 77, 8, 49로 각각 계산하고, 계산된 전체 송신 코스트들 중 최소 송신 코스트 8에 해당하는 제3 DBI 모드(DBI_MD2)을 선택할 수 있다. 이때, 제3 DBI 모드(DBI_MD2)에 대응하는 DBI 심볼(DBI_SB)은 2이다.
도 11은 본 개시의 일 실시예에 따른 메모리 시스템(10A)을 나타내는 블록도이다.
도 11을 참조하면, 메모리 시스템(10A)은 송신 장치(100A) 및 수신 장치(200A)를 포함할 수 있고, 송신 장치(100A)와 수신 장치(200A)는 복수의 데이터 채널들(DQ) 및 적어도 하나의 DBI 라인 또는 DBI 채널(DBI_L)을 통해 서로 통신할 수 있다. 메모리 시스템(10A)은 도 1에 예시된 메모리 시스템(10)의 변형 예에 대응하며, 도 1 내지 도 10을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다.
송신 장치(100A)는 복수의 멀티 모드 DBI 인코더들(110A) 및 DBI 모드 선택기(120A)를 포함할 수 있다. 일 실시예에서, 멀티 비트 데이터는 3 비트 데이터(DATA[2:0])("000", "001", "010", "011", "100", "101", "110", 및 "111")일 수 있고, 멀티 비트 DBI 신호(DBI_MD[2:0])는 3 비트 신호일 수 있다. 이에 따라, 송신 장치(100A)는 복수의 PAM-8 데이터 송신기들(130A) 및 PAM-8 DBI 송신기(140A)를 더 포함할 수 있다.
도 12는 본 개시의 일 실시예에 따른 복수의 DBI 모드들을 예시적으로 나타내는 표이다.
도 11 및 도 12를 함께 참조하면, DBI 모드 선택기(120A)는 복수의 3 비트 데이터(DATA[2:0])에 따라, 복수의 DBI 모드들에 각각 대응하는 복수의 3 비트 DBI 신호들 중 하나의 3 비트 DBI 신호(DBI_MD[2:0])를 선택할 수 있다. 예를 들어, 복수의 DBI 모드들은 제1 내지 제8 DBI 모드들(MD0 내지 MD7)을 포함할 수 있다.
예를 들어, 제1 DBI 모드(MD0)는 3 비트 데이터(DATA[2:0])의 모든 비트들을 반전시키지 않는 DBI 인코딩 방식을 나타내고, "000"으로 표시될 수 있다. 예를 들어, 제2 DBI 모드(MD1)는 3 비트 데이터(DATA[2:0])의 최하위 비트(LSB)만 반전시키는 DBI 인코딩 방식을 나타내고, "001"로 표시될 수 있다. 예를 들어, 제3 DBI 모드(MD2)는 3 비트 데이터(DATA[2:0])의 중간 비트(Central Significant Bit, CSB)만 반전시키는 DBI 인코딩 방식을 나타내고, "010"으로 표시될 수 있다. 예를 들어, 제4 DBI 모드(MD4)는 3 비트 데이터(DATA[2:0])의 중간 비트 및 최하위 비트만 반전시키는 DBI 인코딩 방식을 나타내고, "011"으로 표시될 수 있다.
예를 들어, 제5 DBI 모드(MD4)는 3 비트 데이터(DATA[2:0])의 최상위 비트만 반전시키는 DBI 인코딩 방식을 나타내고, "100"으로 표시될 수 있다. 예를 들어, 제6 DBI 모드(MD5)는 3 비트 데이터(DATA[2:0])의 최상위 비트와 최하위 비트만 반전시키는 DBI 인코딩 방식을 나타내고, "101"로 표시될 수 있다. 예를 들어, 제7 DBI 모드(MD6)는 3 비트 데이터(DATA[2:0])의 최상위 비트와 중간 비트만 반전시키는 DBI 인코딩 방식을 나타내고, "110"으로 표시될 수 있다. 예를 들어, 제8 DBI 모드(MD7)는 3 비트 데이터(DATA[2:0])의 모든 비트들을 반전시키는 DBI 인코딩 방식을 나타내고, "111"으로 표시될 수 있다.
다시 도 11을 참조하면, 복수의 멀티 모드 DBI 인코더들(110A)은 복수의 3 비트 데이터(DATA[2:0])를 각각 수신할 수 있다. 또한, 복수의 멀티 모드 DBI 인코더들(110A)은 DBI 모드 선택기(120A)로부터 3 비트 DBI 신호(DBI_MD[2:0])를 수신하고, 수신한 멀티 비트 DBI 신호(DBI_MD[2:0])에 따라 복수의 3 비트 데이터(DATA[2:0])를 각각 DBI 인코딩함으로써, 복수의 인코딩된 3 비트 데이터(E_DATA[2:0])를 생성할 수 있다.
복수의 PAM-8 데이터 송신기들(130A)은 PAM-8 방식을 이용하여, 복수의 인코딩된 3 비트 데이터(E_DATA[2:0])로부터 복수의 데이터 심볼들(D_SB)을 각각 생성하고, 생성된 복수의 데이터 심볼들(D_SB)을 복수의 데이터 채널들(DQ)을 통해 수신 장치(200A)로 송신할 수 있다. 이때, 복수의 데이터 심볼들(D_SB) 각각은 대응하는 인코딩된 3 비트 데이터(E_DATA[2:0])에 따라, 제1 내지 제8 전압 레벨들 중 하나를 가질 수 있다. PAM-8 DBI 송신기(140A)는 PAM-8 방식을 이용하여, 3 비트 DBI 신호(DBI_MD[2:0])로부터 제1 내지 제8 전압 레벨들 중 하나를 갖는 DBI 심볼(DBI_MD)을 생성하고, 생성된 DBI 심볼(DBI_MD)을 DBI 채널(DBI_L)을 통해 수신 장치(200A)로 송신할 수 있다.
수신 장치(200A)는 복수의 PAM-8 데이터 수신기들(210A), PAM-8 DBI 수신기(220A), 및 복수의 멀티 모드 DBI 디코더들(230A)을 포함할 수 있다. 복수의 PAM-8 데이터 수신기들(210)은 복수의 데이터 채널들(DQ)을 통해 송신 장치(100A)로부터 복수의 데이터 심볼들(D_SB)을 각각 수신하고, PAM-8 방식을 이용하여, 수신된 복수의 데이터 심볼들(D_SB)로부터 복수의 인코딩된 3 비트 데이터(E_DATA[2:0])를 각각 생성할 수 있다. PAM-8 DBI 수신기(220)는 DBI 채널(DBI_L)을 통해 송신 장치(100A)로부터 DBI 심볼(DBI_SB)을 수신하고, PAM-8 방식을 이용하여, 수신된 DBI 심볼(DBI_SB)로부터 3 비트 DBI 신호(DBI_MD[2:0])를 생성할 수 있다.
도 13은 본 개시의 일 실시예에 따라, 제1 채널 그룹핑 방식에 따른 메모리 시스템(20)을 나타내는 블록도이다.
도 13을 참조하면, 메모리 시스템(20)은 송신 장치(300) 및 수신 장치(400)를 포함할 수 있다. 송신 장치(300)는 멀티 모드 DBI 인코더(310)를 포함할 수 있다. 예를 들어, 멀티 모드 DBI 인코더(310)는 도 1의 복수의 멀티 모드 DBI 인코더들(110) 및 복수의 데이터 송신기들(130)을 포함할 수 있다. 도시되지는 않았으나, 송신 장치(300)는 DBI 채널(DBI_L)에 대응하는 하나의 DBI 모드 선택기를 더 포함할 수 있다. 수신 장치(400)는 멀티 모드 DBI 디코더(410)를 포함할 수 있다. 예를 들어, 멀티 모드 DBI 디코더(410)는 도 1의 복수의 데이터 수신기들(210) 및 복수의 멀티 모드 DBI 디코더들(230)을 포함할 수 있다.
제1 채널 그룹핑 방식에 따르면, 예를 들어, 8개의 데이터 채널들에 대해 하나의 DBI 채널(DBI_L)을 할당할 수 있다. 예를 들어, 송신 장치(300) 및 수신 장치(400)는 8개의 데이터 채널들(DQ0 내지 DQ7) 및 1개의 DBI 채널(DBI_L)을 통해 통신할 수 있다. 멀티 모드 DBI 인코더(310)는 제1 내지 제8 멀티 비트 데이터(DATA0 내지 DATA7)로부터 제1 내지 제8 데이터 심볼들(D_SB0 내지 D_SB7)을 생성하고, 생성된 제1 내지 제8 데이터 심볼들(D_SB0 내지 D_SB7)을 8개의 데이터 채널들(DQ0 내지 DQ7)을 통해 수신 장치(400)에 송신할 수 있다. 송신 장치(300)는 제1 내지 제8 데이터 심볼들(D_SB0 내지 D_SB7)에 대응하는 DBI 심볼(DBI_SB)을 생성하고, 생성된 DBI 심볼(DBI_SB)을 하나의 DBI 채널(DBI_L)을 통해 수신 장치(400)에 송신할 수 있다.
멀티 모드 DBI 디코더(410)는 8개의 데이터 채널들(DQ0 내지 DQ7)을 통해 송신 장치(300)로부터 제1 내지 제8 데이터 심볼들(D_SB0 내지 D_SB7)을 수신하고, 하나의 DBI 채널(DBI_SB)을 통해 송신 장치(300)로부터 DBI 심볼(DBI_SB)을 수신할 수 있다. 멀티 모드 DBI 디코더(410)는 수신한 DBI 심볼(DBI_SB)을 이용하여, 제1 내지 제8 데이터 심볼들(D_SB0 내지 D_SB7)로부터 제1 내지 제8 멀티 비트 데이터(DATA0 내지 DATA7)를 생성할 수 있다.
도 14는 본 개시의 일 실시예에 따라, 제2 채널 그룹핑 방식에 따른 메모리 시스템(30)을 나타내는 블록도이다.
도 14를 참조하면, 메모리 시스템(30)은 송신 장치(500) 및 수신 장치(600)를 포함할 수 있다. 송신 장치(500)는 멀티 모드 DBI 인코더(510)를 포함할 수 있다. 예를 들어, 멀티 모드 DBI 인코더(510)는 도 1의 복수의 멀티 모드 DBI 인코더들(110) 및 복수의 데이터 송신기들(130)을 포함할 수 있다. 도시되지는 않았으나, 송신 장치(500)는 제1 DBI 채널(DBI0_L)에 대응하는 제1 DBI 모드 선택기 및 제2 DBI 채널(DBI1_L)에 대응하는 제2 DBI 모드 선택기를 더 포함할 수 있다. 수신 장치(600)는 멀티 모드 DBI 디코더(610)를 포함할 수 있다. 예를 들어, 멀티 모드 DBI 디코더(610)는 도 1의 복수의 데이터 수신기들(210) 및 복수의 멀티 모드 DBI 디코더들(230)을 포함할 수 있다.
제2 채널 그룹핑 방식에 따르면, 예를 들어, 4개의 데이터 채널들에 대해 하나의 DBI 채널을 할당할 수 있다. 예를 들어, 송신 장치(500) 및 수신 장치(600)는 8개의 데이터 채널들(DQ0 내지 DQ7) 및 2개의 DBI 채널들(DBI0_L, DBI1_L)을 통해 통신할 수 있다. 멀티 모드 DBI 인코더(510)는 제1 내지 제4 멀티 비트 데이터(DATA0 내지 DATA3)로부터 제1 내지 제4 데이터 심볼들(D_SB0 내지 D_SB3)을 생성하고, 생성된 제1 내지 제4 데이터 심볼들(D_SB0 내지 D_SB3)을 제1 내지 제4 데이터 채널들(DQ0 내지 DQ3)을 통해 수신 장치(600)에 송신할 수 있다. 제1 DBI 모드 선택기는 제1 내지 제4 멀티 비트 데이터(DATA0 내지 DATA3)로부터 제1 멀티 비트 DBI 신호를 생성할 수 있다. 송신 장치(500)는 제1 멀티 비트 DBI 신호로부터 제1 DBI 심볼(DBI0_SB)을 생성하고, 생성된 제1 DBI 심볼(DBI0_SB)을 제1 DBI 채널(DBI0_L)을 통해 수신 장치(600)에 송신할 수 있다.
멀티 모드 DBI 디코더(610)는 제1 내지 제4 데이터 채널들(DQ0 내지 DQ3)을 통해 송신 장치(500)로부터 제1 내지 제4 데이터 심볼들(D_SB0 내지 D_SB3)을 수신하고, 제1 DBI 채널(DBI0_1)을 통해 송신 장치(500)로부터 제1 DBI 심볼(DBI0_SB)을 수신할 수 있다. 멀티 모드 DBI 디코더(610)는 수신한 제1 DBI 심볼(DBI0_SB)을 이용하여, 제1 내지 제4 데이터 심볼들(D_SB0 내지 D_SB3)로부터 제1 내지 제4 멀티 비트 데이터(DATA0 내지 DATA3)를 생성할 수 있다.
멀티 모드 DBI 인코더(510)는 제5 내지 제8 멀티 비트 데이터(DATA4 내지 DATA7)로부터 제5 내지 제8 데이터 심볼들(D_SB4 내지 D_SB7)을 생성하고, 생성된 제5 내지 제8 데이터 심볼들(D_SB4 내지 D_SB7)을 제5 내지 제8 데이터 채널들(DQ4 내지 DQ7)을 통해 수신 장치(600)에 송신할 수 있다. 제2 DBI 모드 선택기는 제5 내지 제8 멀티 비트 데이터(DATA4 내지 DATA7)로부터 제2 멀티 비트 DBI 신호를 생성할 수 있다. 송신 장치(500)는 제2 멀티 비트 DBI 신호로부터 제2 DBI 심볼(DBI1_SB)을 생성하고, 생성된 제2 DBI 심볼(DBI1_SB)을 제2 DBI 채널(DBI1_L)을 통해 수신 장치(600)에 송신할 수 있다.
멀티 모드 DBI 디코더(610)는 제5 내지 제8 데이터 채널들(DQ4 내지 DQ7)을 통해 송신 장치(500)로부터 제5 내지 제8 데이터 심볼들(D_SB4 내지 D_SB7)을 수신하고, 제2 DBI 채널(DBI1_L)을 통해 송신 장치(500)로부터 제2 DBI 심볼(DBI1_SB)을 수신할 수 있다. 멀티 모드 DBI 디코더(610)는 수신한 제2 DBI 심볼(DBI1_SB)을 이용하여, 제5 내지 제8 데이터 심볼들(D_SB4 내지 D_SB7)로부터 제5 내지 제8 멀티 비트 데이터(DATA4 내지 DATA7)를 생성할 수 있다.
도 15는 본 개시의 일 실시예에 따른 메모리 장치(700)를 나타내는 블록도이다.
도 15를 참조하면, 메모리 장치(700)는 멀티 모드 DBI 인코더(710), DBI 모드 선택기(720), 송수신기(730), 메모리 셀 어레이(740) 및 멀티 모드 DBI 디코더(750)를 포함할 수 있다. 메모리 장치(700)는 도 1의 송신 장치(100) 또는 수신 장치(200), 도 11의 송신 장치(100A) 또는 수신 장치(200A), 도 13의 송신 장치(300) 또는 수신 장치(400), 또는 도 14의 송신 장치(500) 또는 수신 장치(600)에 대응할 수 있고, 도 1 내지 도 14를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다.
메모리 셀 어레이(740)는 복수의 메모리 셀들을 포함할 수 있다. 본 명세서에서, "메모리 장치"는 복수의 메모리 셀들을 포함하는 임의의 장치를 모두 포함할 수 있다. 예를 들어, 복수의 메모리 셀들은 DRAM(Dynamic Random Access Memory) 셀들일 수 있다. 일 예로서, 메모리 장치는 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR(Low Power Double Data Rate) SDRAM, GDDR(Graphics Double Data Rate) SDRAM, RDRAM(Rambus Dynamic Random Access Memory) 등과 같은 동적 랜덤 억세스 메모리(Dynamic Random Access Memory, DRAM)를 포함할 수 있다. 그러나, 본 개시의 실시예들은 이에 국한될 필요가 없으며, 일 예로서 메모리 장치는 플래시(flash) 메모리, MRAM(Magnetic RAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM) 및 ReRAM(Resistive RAM) 등의 비휘발성 메모리를 포함하여도 무방하다.
멀티 모드 DBI 인코더(710) 및 DBI 모드 선택기(720)는 메모리 셀 어레이(740)에 저장된 멀티 비트 데이터(DATA)를 수신할 수 있다. 멀티 모드 선택기(720)는 멀티 비트 데이터(DATA)에 따라 복수의 DBI 모드들에 각각 대응하는 복수의 멀티 비트 DBI 신호들 중 하나를 선택하고, 선택한 멀티 비트 DBI 신호(DBI_MD)를 멀티 모드 DBI 인코더(710)에 제공할 수 있다. 멀티 모드 DBI 인코더(710)는 멀티 비트 DBI 신호(DBI_MD)에 따라 멀티 비트 데이터(DATA)를 DBI 인코딩함으로써, 인코딩된 멀티 비트 데이터(E_DATA)를 생성할 수 있다. 예를 들어, 멀티 모드 DBI 인코더(710)는 도 1의 멀티 모드 DBI 인코더(110)를 포함할 수 있고, DBI 모드 선택기(720)는 도 1의 DBI 모드 선택기(120)를 포함할 수 있다.
송수신기(730)는 PAM 방식을 이용하여, 인코딩된 멀티 비트 데이터(E_DATA)로부터 복수의 전압 레벨들 중 하나를 갖는 데이터 심볼(D_SB)을 생성하고, 생성된 데이터 심볼(D_SB)을 데이터 채널(DQ)을 통해 송신할 수 있다. 또한, 송수신기(730)는 PAM 방식을 이용하여, 멀티 비트 DBI 신호(DBI_MD)로부터 복수의 전압 레벨들 중 하나를 갖는 DBI 심볼(DBI_SB)을 생성하고, 생성된 DBI 심볼(DBI_SB)을 DBI 채널(DBI_L)을 통해 송신할 수 있다. 예를 들어, 송수신기(730)는 도 1의 데이터 송신기(130) 및 DBI 송신기(140)를 포함할 수 있다.
또한, 송수신기(730)는 데이터 채널(DQ)을 통해 데이터 심볼(D_SB)을 수신하고, 수신한 데이터 심볼(D_SB)로부터 인코딩된 멀티 비트 입력 데이터(E_DATAi)를 생성할 수 있다. 또한, 송수신기(730)는 DBI 채널(DBI_L)을 통해 DBI 심볼(DBI_SB)을 수신하고, 수신한 DBI 심볼(DBI_SB)로부터 멀티 비트 입력 DBI 신호(DBI_MDi)를 생성할 수 있다. 예를 들어, 송수신기(730)는 도 1의 데이터 수신기(210) 및 DBI 수신기(220)를 포함할 수 있다.
멀티 모드 DBI 디코더(750)는 멀티 비트 입력 DBI 신호(DBI_MDi)에 따라, 복수의 DBI 모드들 중 선택된 DBI 모드로, 인코딩된 멀티 비트 입력 데이터(E_DATAi)를 DBI 디코딩함으로써, 멀티 비트 입력 데이터(DATAi)를 생성할 수 있다. 생성된 멀티 비트 입력 데이터(DATA_i)는 메모리 셀 어레이(740)에 저장될 수 있다. 예를 들어, 멀티 모드 DBI 디코더(750)는 도 1의 멀티 모드 DBI 디코더(230)를 포함할 수 있다.
도 16은 본 개시의 일 실시예에 따른 데이터 처리 장치(800)를 나타내는 블록도이다.
도 16을 참조하면, 데이터 처리 장치(800)는 멀티 모드 DBI 인코더(810), DBI 모드 선택기(820), 송수신기(830), 프로세싱 코어(840) 및 멀티 모드 DBI 디코더(850)를 포함할 수 있다. 데이터 처리 장치(800)는 도 1의 송신 장치(100) 또는 수신 장치(200), 도 11의 송신 장치(100A) 또는 수신 장치(200A), 도 13의 송신 장치(300) 또는 수신 장치(400), 또는 도 14의 송신 장치(500) 또는 수신 장치(600)에 대응할 수 있고, 도 1 내지 도 14를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다.
프로세싱 코어(840)는 단일 코어 프로세서 또는 다중 코어 프로세서를 포함할 수 있다. 예를 들어, 프로세싱 코어(840)는 범용 프로세서, CPU(Central Processing Unit), GPU(Graphic Processing Unit), DSP(Digital Signal Processor), MCU(Microcontroller), 마이크로프로세서(Microprocessor), 네트워크 프로세서, 임베디드 프로세서, FPGA(field programmable gate array), ASIP(application-specific instruction set processor), ASIC(application-specific integrated circuit processor) 등을 포함할 수 있다. 예를 들어, 프로세싱 코어(840)는 공통 프로세서 패키지, 다중 코어 프로세서 패키지, SoC(system-on-chip) 패키지, SiP(system-in-package) 패키지, SOP(system-on-package) 패키지 등으로 패키징될 수 있다.
멀티 모드 DBI 인코더(810) 및 DBI 모드 선택기(820)는 프로세싱 코어(840)와 내부 데이터 버스를 통해 전기적으로 연결될 수 있고, 프로세싱 코어(840)의 제어에 의해 멀티 비트 데이터(DATA)를 수신할 수 있다. 예를 들어, 프로세싱 코어(840)는 멀티 비트 데이터(DATA)를 내부 버퍼 메모리로부터 멀티 모드 DBI 인코더(810) 및 DBI 모드 선택기(820)로 전달할 수 있다. DBI 모드 선택기(820)는 멀티 비트 데이터(DATA)에 따라 복수의 DBI 모드들에 각각 대응하는 복수의 멀티 비트 DBI 신호들 중 하나를 선택하고, 선택한 멀티 비트 DBI 신호(DBI_MD)를 멀티 모드 DBI 인코더(810)에 제공할 수 있다. 멀티 모드 DBI 인코더(810)는 멀티 비트 DBI 신호(DBI_MD)에 따라 멀티 비트 데이터(DATA)를 DBI 인코딩함으로써, 인코딩된 멀티 비트 데이터(E_DATA)를 생성할 수 있다. 예를 들어, 멀티 모드 DBI 인코더(810)는 도 1의 멀티 모드 DBI 인코더(110)를 포함할 수 있고, DBI 모드 선택기(820)는 도 1의 DBI 모드 선택기(120)를 포함할 수 있다.
송수신기(830)는 PAM 방식을 이용하여, 인코딩된 멀티 비트 데이터(E_DATA)로부터 복수의 전압 레벨들 중 하나를 갖는 데이터 심볼(D_SB)을 생성하고, 생성된 데이터 심볼(D_SB)을 데이터 채널(DQ)을 통해 송신할 수 있다. 또한, 송수신기(830)는 PAM 방식을 이용하여, 멀티 비트 DBI 신호(DBI_MD)로부터 복수의 전압 레벨들 중 하나를 갖는 DBI 심볼(DBI_SB)을 생성하고, 생성된 DBI 심볼(DBI_SB)을 DBI 채널(DBI_L)을 통해 송신할 수 있다. 예를 들어, 송수신기(830)는 도 1의 데이터 송신기(130) 및 DBI 송신기(140)를 포함할 수 있다.
또한, 송수신기(830)는 데이터 채널(DQ)을 통해 데이터 심볼(D_SB)을 수신하고, 수신한 데이터 심볼(D_SB)로부터 인코딩된 멀티 비트 입력 데이터(E_DATAi)를 생성할 수 있다. 또한, 송수신기(830)는 DBI 채널(DBI_L)을 통해 DBI 심볼(DBI_SB)을 수신하고, 수신한 DBI 심볼(DBI_SB)로부터 멀티 비트 입력 DBI 신호(DBI_MDi)를 생성할 수 있다. 예를 들어, 송수신기(830)는 도 1의 데이터 수신기(210) 및 DBI 수신기(220)를 포함할 수 있다.
멀티 모드 DBI 디코더(850)는 멀티 비트 입력 DBI 신호(DBI_MDi)에 따라, 인코딩된 멀티 비트 입력 데이터(E_DATAi)를 DBI 디코딩함으로써, 멀티 비트 입력 데이터(DATAi)를 생성할 수 있다. 멀티 모드 DBI 디코더(850)는 내부 데이터 버스를 통해 프로세싱 코어(840)와 전기적으로 연결될 수 있다. 멀티 모드 DBI 디코더(850)는 멀티 비트 입력 데이터(DATA_i)는 내부 버퍼 메모리에 전달할 수 있고, 프로세싱 코어(840)는 내부 버퍼 메모리에 액세스함으로써 멀티 비트 입력 데이터(DATA_i)를 독출할 수 있다. 예를 들어, 멀티 모드 DBI 디코더(850)는 도 1의 멀티 모드 DBI 디코더(230)를 포함할 수 있다.
도 17은 본 개시의 일 실시예에 따른 데이터 송신 방법을 나타내는 흐름도이다.
도 17을 참조하면, 본 실시예에 따른 데이터 송신 방법은 데이터 채널과 같은 메모리 인터페이스를 통해 데이터를 송신하는 방법으로서, 예를 들어, 도 1의 송신 장치(100)에서 수행될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 본 실시예에 따른 데이터 송신 방법은 도 11의 송신 장치(100A), 도 13의 송신 장치(300), 도 14의 송신 장치(500), 도 15의 메모리 장치(700) 또는 도 16의 데이터 처리 장치(800)에서 수행될 수도 있다. 도 1 내지 도 16을 참조하여 상술된 내용은 본 실시예에 적용될 수 있다.
단계 S110에서, 송신 장치(100)는 멀티 비트 데이터에 따라, 복수의 DBI 모드들 각각에 대응하는 복수의 멀티 비트 DBI 신호들 중 제1 멀티 비트 DBI 신호를 선택한다. 예를 들어, 멀티 비트 데이터는 2 비트 데이터 또는 3 비트 데이터일 수 있으나, 본 발명은 이에 한정되지 않는다. 예를 들어, 제1 멀티 비트 DBI 신호는 2 비트 신호 또는 3 비트 신호일 수 있으나, 본 발명은 이에 한정되지 않는다.
단계 S120에서, 송신 장치(100)는 제1 멀티 비트 DBI 신호에 따라, 복수의 DBI 모드들 중 선택된 DBI 모드로 멀티 비트 데이터를 DBI 인코딩함으로써, 인코딩된 멀티 비트 데이터를 생성한다. 예를 들어, 송신 장치(100)는 제1 멀티 비트 DBI 신호에 따라, 멀티 비트 데이터에 포함된 복수의 비트들을 선택적으로 반전시킴으로써, 인코딩된 멀티 비트 데이터를 생성할 수 있다.
단계 S130에서, 송신 장치(100)는 데이터 심볼 및 DBI 심볼을 데이터 채널 및 DBI 채널로 각각 송신한다. 예를 들어, 송신 장치(100)는 PAM 방식을 이용하여, 인코딩된 멀티 비트 데이터로부터 복수의 전압 레벨들 중 하나를 갖는 데이터 심볼을 생성하고, 생성된 데이터 심볼을 데이터 채널을 통해 송신할 수 있다. 예를 들어, 송신 장치(100)는 PAM 방식을 이용하여, 멀티 비트 DBI 신호로부터 복수의 전압 레벨들 중 하나를 갖는 DBI 심볼을 생성하고, 생성된 DBI 심볼을 DBI 채널을 통해 송신할 수 있다.
도 18은 본 개시의 일 실시예에 따른 데이터 수신 방법을 나타내는 흐름도이다.
도 18을 참조하면, 본 실시예에 따른 데이터 수신 방법은 데이터 채널과 같은 메모리 인터페이스를 통해 데이터를 수신하는 방법으로서, 예를 들어, 도 1의 수신 장치(200)에서 수행될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 본 실시예에 따른 데이터 수신 방법은 도 11의 수신 장치(200A), 도 13의 수신 장치(400), 도 14의 수신 장치(600), 도 15의 메모리 장치(700) 또는 도 16의 데이터 처리 장치(800)에서 수행될 수도 있다. 도 1 내지 도 16을 참조하여 상술된 내용은 본 실시예에 적용될 수 있다.
단계 S210에서, 수신 장치(200)는 데이터 채널 및 DBI 채널을 통해 데이터 심볼 및 DBI 심볼을 각각 수신한다. 예를 들어, 수신 장치(200)는 복수의 데이터 채널들을 통해 복수의 데이터 심볼들을 병렬적으로 수신할 수 있다. 예를 들어, 수신 장치(200)는 적어도 하나의 DBI 채널을 통해 적어도 하나의 DBI 심볼을 수신할 수 있다.
단계 S220에서, 수신 장치(200)는 데이터 심볼 및 DBI 심볼로부터, 인코딩된 멀티 비트 데이터 및 멀티 비트 DBI 신호를 각각 생성한다. 구체적으로, 수신 장치(200)는 PAM 방식을 이용하여, 데이터 심볼의 전압 레벨에 따라, 인코딩된 멀티 비트 데이터를 생성할 수 있다. 또한, 수신 장치(200)는 PAM 방식을 이용하여, DBI 심볼의 전압 레벨에 따라, 멀티 비트 DBI 신호를 생성할 수 있다.
단계 S230에서, 수신 장치(200)는 멀티 비트 DBI 신호에 따라, 복수의 DBI 모드들 중 선택된 DBI 모드로, 인코딩된 멀티 비트 데이터를 DBI 디코딩함으로써, 멀티 비트 데이터를 생성한다. 예를 들어, 수신 장치(200)는 멀티 비트 DBI 신호에 따라, 인코딩된 멀티 비트 데이터에 포함된 복수의 비트들을 선택적으로 반전시킴으로써, 멀티 비트 데이터를 생성할 수 있다.
도 19는 본 개시의 일 실시예에 따른 컴퓨팅 시스템(1000)을 나타내는 블록도이다.
도 19를 참조하면, 컴퓨팅 시스템(1000)은 하나의 전자 장치로 구현되거나, 또는 두 개 이상의 전자 장치들 상에 분산되어 구현될 수 있다. 예를 들어, 컴퓨팅 시스템(1000)은 데스크톱(desktop) 컴퓨터, 랩톱(laptop) 컴퓨터, 태블릿(tablet) 컴퓨터, 스마트폰, 자율주행 자동차, 디지털 카메라, 웨어러블(wearable) 기기, 헬스케어 기기, 서버 시스템, 데이터 센터, 드론, 휴대용 게임 콘솔(handheld game console), IoT(Internet of Things) 기기 등과 같은 다양한 전자 장치들 중 적어도 하나로 구현될 수 있다.
컴퓨팅 시스템(1000)은 호스트(1100), 가속기 서브시스템(1200), 및 인터커넥트(1300)를 포함할 수 있다. 호스트(1100)는 가속기 서브시스템(1200)의 전반적인 동작을 제어하고, 가속기 서브시스템(1200)은 호스트(1100)의 제어에 따라 동작할 수 있다. 호스트(1100)와 가속기 서브시스템(1200)은 인터커넥트(1300)를 통해 연결될 수 있다. 인터커넥트(1300)를 통해 호스트(1100) 및 가속기 서브시스템(1200) 사이에 각종 신호들 및 데이터가 송수신될 수 있다.
호스트(1100)는 호스트 프로세서(1110), 호스트 메모리 컨트롤러(1120), 호스트 메모리(1130), 및 인터페이스(1140)를 포함할 수 있다. 호스트 프로세서(1110)는 컴퓨팅 시스템(1000)의 전반적인 동작을 제어할 수 있다. 호스트 프로세서(1110)는 호스트 메모리 컨트롤러(1120)를 통해 호스트 메모리(1130)를 제어할 수 있다. 예를 들어, 호스트 프로세서(1110)는 호스트 메모리(1130)로부터 데이터를 독출하거나 호스트 메모리(1130)에 데이터를 기입할 수 있다. 호스트 프로세서(1110)는 인터커넥트(1300)를 통해 연결된 가속기 서브시스템(1200)을 제어할 수 있다. 예를 들어, 호스트 프로세서(1110)는 가속기 서브시스템(1200)으로 명령을 전송하여 가속기 서브시스템(1200)에 작업을 할당할 수 있다.
호스트 프로세서(1110)는 컴퓨팅 시스템(1000)의 다양한 동작들과 연관된 일반적인 연산들을 수행하는 범용 프로세서 또는 메인 프로세서일 수 있다. 예를 들어, 호스트 프로세서(1110)는 CPU(Central Processing Unit) 또는 AP(Application Processor)일 수 있다.
호스트 메모리(1130)는 컴퓨팅 시스템(1000)의 메인 메모리일 수 있다. 호스트 메모리(1130)는 호스트 프로세서(1110)에서 처리된 데이터를 저장하거나, 또는 가속기 서브시스템(1200)으로부터 수신된 데이터를 저장할 수 있다. 예를 들어, 호스트 메모리(1130)는 DRAM으로 구현될 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 호스트 메모리(1130)는 SRAM 등의 휘발성 메모리 및 플래시 메모리, PRAM, RRAM, MRAM 등의 불휘발성 메모리 중 적어도 하나를 포함할 수 있다.
일 실시예에서, 호스트 프로세서(1110)와 호스트 메모리(1130)는 복수의 데이터 채널들 및 적어도 하나의 DBI 채널을 통해 통신할 수 있다. 복수의 데이터 채널들 각각을 통해 멀티 비트 데이트에 대응하는 데이터 심볼이 송수신될 수 있다. 또한, DBI 채널을 통해, 복수의 DBI 모드들 중 하나를 나타내는 멀티 비트 DBI 신호에 대응하는 DBI 심볼이 송수신될 수 있다. 이때, 멀티 비트 데이터는 멀티 비트 DBI 신호에 따라 DBI 인코딩될 수 있다. 호스트 프로세서(1110) 및 호스트 메모리(1130)는 도 1 내지 도 18에 예시된 실시예들을 참조하여 구현될 수 있다.
인터페이스(1140)는 호스트(1100)가 가속기 서브시스템(1200)과 통신을 수행하도록 구성될 수 있다. 호스트 프로세서(1110)는 인터페이스(1140)를 통해 제어 신호 및 데이터를 가속기 서브시스템(1200)으로 전송하고, 가속기 서브시스템(1200)으로부터 신호 및 데이터를 수신할 수 있다. 예시적인 실시예에서, 호스트 프로세서(1110), 호스트 메모리 컨트롤러(1120), 및 인터페이스(1140)는 하나의 칩으로 구현될 수 있다.
가속기 서브시스템(1200)은 호스트(1100)의 제어에 따라 특정 기능을 수행할 수 있다. 예를 들어, 가속기 서브시스템(1200)은 호스트(1100)의 제어에 따라 특정 응용에 특화된 연산들을 수행할 수 있다. 가속기 서브시스템(1200)은 호스트(1100)에 물리적 또는 전기적으로 연결되거나, 유선 또는 무선으로 연결될 수 있는 모듈, 카드, 패키지, 칩, 장치와 같은 다양한 형태들 중 하나로 구현될 수 있다. 예를 들어, 가속기 서브시스템(1200)은 그래픽 카드 또는 가속기 카드로서 구현될 수 있다. 예를 들어, 가속기 서브시스템(1200)은 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit) 기반으로 구현될 수 있다.
예시적인 실시예에서, 가속기 서브시스템(1200)은 다양한 패키징 기법들 중 하나를 기반으로 구현될 수 있다. 예를 들어, 가속기 서브시스템(1200)은 Ball Grid Arrays(BGAs), MCP(Multi Chip Package), SOP(System on Package), SIP(System in Package), POP(Package on Package), Chip scale packages(CSPs), wafer level package(WLP), 또는 panel level package(PLP)와 같은 패키징 기법으로 구현될 수 있다. 일 예시로서, 가속기 서브시스템(1200)의 일부 또는 전체 구성 요소들은 카파-투-카파 본딩(copper-to-copper boding)을 통해 연결될 수 있다. 일 예시로서, 가속기 서브시스템(1200)의 일부 또는 전체 구성 요소들은 실리콘 인터포저(Silicon interposer), 오가닉(organic) 인터포저, 글래스(glass) 인터포저, 또는 능동형(active) 인터포저와 같은 인터포저를 통해 연결될 수 있다. 일 예시로서, 가속기 서브시스템(1200)의 일부 또는 전체 구성 요소들이 적층되는 경우, 구성 요소들은 실리콘 관통 전극(TSV; Through Silicon Via)을 기반으로 적층될 수 있다. 일 예시로서, 가속기 서브시스템(1200)의 일부 또는 전체 구성 요소들은 고속 연결 통로(예를 들어, 실리콘 브릿지(bridge))를 통해 연결될 수 있다.
가속기 서브시스템(1200)은 전용 프로세서(1210), 로컬 메모리 컨트롤러(1220), 로컬 메모리(1230), 및 호스트 인터페이스(1240)를 포함할 수 있다. 전용 프로세서(1210)는 호스트 프로세서(1110)의 제어에 따라 동작할 수 있다. 예를 들어, 전용 프로세서(1210)는 호스트 프로세서(1110)의 명령에 응답하여 로컬 메모리 컨트롤러(1220)를 통해 로컬 메모리(1230)로부터 데이터를 독출할 수 있다. 전용 프로세서(1210)는 독출된 데이터를 기반으로 연산을 수행하여 데이터를 처리할 수 있다. 전용 프로세서(1210)는 처리된 데이터를 호스트 프로세서(1110)로 전달하거나, 또는 로컬 메모리(1230)에 기입할 수 있다.
전용 프로세서(1210)는 로컬 메모리(1230)에 저장된 값을 기반으로 특정 응용에 특화된 연산들을 수행할 수 있다. 예를 들어, 전용 프로세서(1210)는 인공지능, 스트리밍 분석, 비디오 트랜스코딩, 데이터 인덱싱, 데이터 인코딩/디코딩, 데이터 암호화 등과 같은 응용들에 특화된 연산들을 수행할 수 있다. 이에 따라, 전용 프로세서(1210)는 이미지 데이터, 음성 데이터, 모션 데이터, 생체 데이터, 키 값 등 다양한 유형들의 데이터를 처리할 수 있다. 예를 들어, 전용 프로세서(1210)는 GPU(Graphic Processing Unit), NPU(Neural Processing Unit), TPU(Tensor Processing Unit), VPU(Vision Processing Unit), ISP(Image Signal Processor) 및 DSP(Digital Signal Processor) 중 적어도 하나를 포함할 수 있다.
전용 프로세서(1210)는 하나의 프로세서 코어를 포함하거나, 듀얼 코어, 쿼드 코어, 헥사 코어 등 복수의 프로세서 코어들을 포함할 수 있다. 예시적인 실시 예에서, 전용 프로세서(1210)는 병렬성에 특화된 연산을 위해 호스트 프로세서(1110)보다 많은 수의 코어들을 포함할 수 있다. 예를 들어, 전용 프로세서(1210)는 1000개 이상의 코어들을 포함할 수 있다. 이 경우, 각각의 코어는 서로 의존성이 적거나 없는 데이터를 병렬 처리할 수 있다.
예시적인 실시 예에서, 전용 프로세서(1210)는 이미지 데이터 연산에 특화된 프로세서일 수 있다. 이 경우, 전용 프로세서(1210)는 로컬 메모리 컨트롤러(1220)를 통해 로컬 메모리(1230)에 저장된 이미지 데이터를 독출하여 연산을 수행할 수 있다. 전용 프로세서(1210)는 연산 결과를 호스트 프로세서(1110)로 전달하거나, 또는 로컬 메모리(1230)에 저장할 수 있다. 호스트 프로세서(1110)는 전달된 연산 결과를 호스트 메모리(1130) 또는 별도의 메모리에 할당된 프레임 버퍼에 저장할 수 있다. 프레임 버퍼에 저장된 데이터는 별도의 디스플레이 장치로 전달될 수 있다.
예시적인 실시 예에서, 전용 프로세서(1210)는 신경망 기반의 훈련 연산 및 추론 연산에 특화된 프로세서일 수 있다. 전용 프로세서(1210)는 로컬 메모리(1230)로부터 신경망 파라미터들(예를 들어, 신경망 모델 파라미터, 가중치, 바이어스 등)을 독출하여 훈련 연산 또는 추론 연산을 수행할 수 있다. 신경망 파라미터들은 호스트 프로세서(1110)로부터 제공되거나, 전용 프로세서(1210)에 의해 처리된 값이거나, 또는 미리 저장된 값일 수 있다. 예를 들어, 호스트 프로세서(1110)는 전용 프로세서(1210)로 추론 연산을 위한 가중치 파라미터들을 제공할 수 있다. 이 경우, 가중치 파라미터들은 호스트 프로세서(1110)의 훈련 연산을 통해 업데이트된 파라미터들일 수 있다. 전용 프로세서(1210)는 로컬 메모리(1230)의 신경망 파라미터들을 기반으로 행렬곱 연산, 누적 연산 등을 통해 훈련 또는 추론을 수행할 수 있다. 전용 프로세서(1210)는 연산 결과를 호스트 프로세서(1110)로 전달하거나, 또는 로컬 메모리(1230)에 저장할 수 있다.
로컬 메모리 컨트롤러(1220)는 로컬 메모리(1230)의 전반적인 동작을 제어할 수 있다. 예시적인 실시 예에서, 로컬 메모리 컨트롤러(1220)는 로컬 메모리(1230)에 저장될 데이터를 처리하고, 처리된 데이터를 로컬 메모리(1230)에 기입할 수 있다. 또는, 로컬 메모리 컨트롤러(1220)는 로컬 메모리(1230)로부터 독출된 데이터를 처리할 수 있다. 예를 들어, 로컬 메모리 컨트롤러(1220)는 ECC(Error Correction Code) 인코딩 및 ECC 디코딩을 수행하거나, 또는 데이터 암호화 및 데이터 복호화를 수행할 수 있다.
로컬 메모리(1230)는 전용 프로세서(1210)에 의해 전용으로 사용될 수 있다. 로컬 메모리(1230)는 DRAM으로 구현될 수 있으나, 본 발명이 이에 한정되는 것은 아니다. 예를 들어, 로컬 메모리(1230)는 SRAM 등의 휘발성 메모리 및 플래시 메모리, PRAM, RRAM, MRAM 등의 불휘발성 메모리 중 적어도 하나를 포함할 수 있다. 예를 들어, 로컬 메모리(1230)는 전용 프로세서(1210)와 함께 하나의 기판 상에 실장되거나, 또는 별도의 커넥터를 기반으로 전용 프로세서(1210)와 연결되도록 다이, 칩, 패키지, 모듈, 카드, 장치와 같은 다양한 형태들로 구현될 수 있다.
예시적인 실시 예에서, 로컬 메모리(1230)는 32개 이상의 데이터 핀들을 포함하는 구조를 가질 수 있다. 예를 들어, 로컬 메모리(1230)는 광대역폭을 제공하기 위해 1024개 이상의 데이터 핀들을 포함할 수 있다. 예를 들어, 로컬 메모리(1230)의 칩당 버스폭은 호스트 메모리(1130)의 칩당 버스폭보다 클 수 있다.
예시적인 실시 예에서, 로컬 메모리(1230)는 GDDR(Graphics Double Data Rate), HBM(High Bandwidth Memory), HMC(Hybrid Memory Cube), 또는 Wide I/O 인터페이스를 기반으로 동작할 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 로컬 메모리(1230)는 다양한 표준 인터페이스들을 기반으로 동작할 수 있다.
예시적인 실시 예에서, 로컬 메모리(1230)는 일부 연산들을 수행할 수 있는 로직 회로를 포함할 수 있다. 로직 회로는 로컬 메모리(1230)로부터 독출된 데이터 또는 로컬 메모리(1230)에 기입될 데이터에 대하여 선형 연산, 비교 연산, 압축 연산, 데이터 변환 연산, 산술 연산 등을 수행할 수 있다. 이에 따라, 로직 회로에 의해 처리된 데이터의 크기가 감소될 수 있다. 데이터 크기가 감소되는 경우, 로컬 메모리(1230)와 로컬 메모리 컨트롤러(1220) 사이에 대역폭의 효율성이 향상될 수 있다.
일 실시예에서, 전용 프로세서(1210)와 로컬 메모리(1230)는 복수의 데이터 채널들 및 적어도 하나의 DBI 채널을 통해 통신할 수 있다. 복수의 데이터 채널들 각각을 통해 멀티 비트 데이트에 대응하는 데이터 심볼이 송수신될 수 있다. 또한, DBI 채널을 통해, 복수의 DBI 모드들 중 하나를 나타내는 멀티 비트 DBI 신호에 대응하는 DBI 심볼이 송수신될 수 있다. 이때, 멀티 비트 데이터는 멀티 비트 DBI 신호에 따라 DBI 인코딩될 수 있다. 전용 프로세서(1210) 및 로컬 메모리(1230)는 도 1 내지 도 18에 예시된 실시예들을 참조하여 구현될 수 있다.
호스트 인터페이스(1240)는 가속기 서브시스템(1200)이 호스트(1100)와 통신을 수행하도록 구성될 수 있다. 가속기 서브시스템(1200)은 호스트 인터페이스(1240)를 통해 신호 및 데이터를 호스트(1100)로 송신하고, 호스트(1100)로부터 제어신호 및 데이터를 수신할 수 있다. 예시적인 실시 예에서, 전용 프로세서(1210), 로컬 메모리 컨트롤러(1220), 및 호스트 인터페이스(1240)는 하나의 칩으로 구현될 수 있다.
인터커넥트(1300)는 호스트(1100)와 가속기 서브시스템(1200) 사이에 데이터 전송 경로를 제공하고, 데이터 버스 또는 데이터 링크로서 역할을 수행할 수 있다. 데이터 전송 경로는 유선 또는 무선으로 형성될 수 있다. 인터페이스(1140) 및 호스트 인터페이스(1240)는 인터커넥트(1300)를 통해 미리 정해진 규약을 기반으로 통신할 수 있다. 예를 들어, 인터페이스들(1140, 1240)은 ATA(Advanced Technology Attachment), SATA(Serial ATA), e-SATA(external SATA), SCSI(Small Computer Small Interface), SAS(Serial Attached SCSI), PCI(Peripheral Component Interconnection), PCIe(PCI express), NVMe(NVM express), AXI(Advanced eXtensible Interface), AMBA(ARM Microcontroller Bus Architecture), IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multi-media card), eMMC(embedded multi-media card), UFS(Universal Flash Storage), CF(compact flash), Gen-Z 등과 같은 다양한 표준들 중 하나에 기반하여 통신할 수 있다. 또는 인터페이스들(1140, 1240)은 openCAPI(Coherent Accelerator Processor Interface), CCIX(Cache Coherent Interconnect for Accelerators), CXL(Compute Express Link), NVLINK 등과 같은 장치들 사이의 통신 링크를 기반으로 통신할 수 있다. 또는 인터페이스들(1140, 1240)은 LTE, 5G, LTE-M, NB-IoT, LPWAN, 블루투스, NFC(Near Field Communication), 지그비(Zigbee), 지웨이브(Z-Wave), 무선랜(WLAN) 등과 같은 무선 통신 기술을 기반으로 통신할 수 있다.
예시적인 실시 예에서, 가속기 서브시스템(1200)은 이미지 데이터, 음성 데이터, 모션 데이터, 생체 데이터, 주변 환경 정보 등을 감지할 수 있는 센서를 더 포함할 수 있다. 예시적인 실시 예에서, 센서가 가속기 서브시스템(1200)에 포함되는 경우, 센서는 상술한 패키징 기법을 기반으로 다른 구성 요소들(예를 들어, 전용 프로세서(1210) 및 로컬 메모리(1230))과 연결될 수 있다. 가속기 서브시스템(1200)은 특정 연산들을 기반으로 센서를 통해 감지된 데이터를 처리할 수 있다.
도 19에는 전용 프로세서(1210)가 하나의 로컬 메모리 컨트롤러(1220)를 통해 하나의 로컬 메모리(1230)를 이용하는 것으로 도시되어 있으나, 본 발명이 이에 한정되는 것은 아니다. 일 예로서, 전용 프로세서(1210)는 하나의 로컬 메모리 컨트롤러(1220)를 통해 복수의 로컬 메모리들을 이용할 수 있다. 다른 예로서, 전용 프로세서(1210)는 복수의 로컬 메모리 컨트롤러들을 통해 각각에 대응하는 로컬 메모리를 이용할 수 있다.
도 1 내지 도 19를 참조하여 상술된 실시예들은 GDDR6(graphics double data rate type six synchronous dynamic random-access memory) 또는 GDDR7(graphics double data rate type seven synchronous dynamic random-access memory)에 적용될 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 멀티 비트 데이터에 따라, 복수의 DBI(Data Bus Inversion) 모드들에 각각 대응하는 복수의 멀티 비트 DBI 신호들 중 제1 멀티 비트 DBI 신호를 선택하도록 구성된 DBI 모드 선택기;
    상기 제1 멀티 비트 DBI 신호에 따라 상기 멀티 비트 데이터를 DBI 인코딩함으로써, 인코딩된 멀티 비트 데이터를 생성하는 멀티 모드 DBI 인코더; 및
    상기 인코딩된 멀티 비트 데이터에 대응하는 데이터 심볼을 데이터 채널로 송신하고, 상기 제1 멀티 비트 DBI 신호에 대응하는 DBI 심볼을 DBI 채널로 송신하도록 구성된 송수신기를 포함하는 메모리 장치.
  2. 제1항에 있어서,
    상기 멀티 비트 데이터는 2 비트 데이터이고,
    상기 복수의 멀티 비트 DBI 신호들 각각은 2 비트 신호인 것을 특징으로 하는 메모리 장치.
  3. 제2항에 있어서, 상기 복수의 DBI 모드들은,
    상기 2 비트 데이터의 모든 비트들을 반전시키지 않는 제1 DBI 모드,
    상기 2 비트 데이터의 최하위 비트(Least Significant Bit, LSB)만 반전시키는 제2 DBI 모드,
    상기 2 비트 데이터의 최상위 비트(Most Significant Bit, MSB)만 반전시키는 제3 DBI 모드, 및
    상기 2 비트 데이터의 상기 모든 비트들을 반전시키는 제4 DBI 모드를 포함하는 것을 특징으로 하는 메모리 장치.
  4. 제2항에 있어서, 상기 송수신기는,
    PAM(Pulse Amplitude Modulation)-4 방식을 이용하여 상기 2 비트 데이터로부터 제1 내지 제4 전압 레벨들 중 하나의 전압 레벨을 갖는 상기 데이터 심볼을 생성하는 데이터 송수신기; 및
    상기 PAM-4 방식을 이용하여 상기 제1 멀티 비트 DBI 신호로부터 상기 제1 내지 제4 전압 레벨들 중 하나의 전압 레벨을 갖는 상기 DBI 심볼을 생성하는 DBI 송수신기를 포함하는 것을 특징으로 하는 메모리 장치.
  5. 제1항에 있어서,
    상기 멀티 비트 데이터는 3 비트 데이터이고,
    상기 복수의 멀티 비트 DBI 신호들 각각은 3 비트 신호이며,
    상기 송수신기는,
    PAM-8 방식을 이용하여 상기 3 비트 데이터로부터 제1 내지 제8 전압 레벨들 중 하나의 전압 레벨을 갖는 상기 데이터 심볼을 생성하는 데이터 송수신기; 및
    상기 PAM-8 방식을 이용하여 상기 제1 멀티 비트 DBI 신호로부터 상기 제1 내지 제8 전압 레벨들 중 하나의 전압 레벨을 갖는 상기 DBI 심볼을 생성하는 DBI 송수신기를 포함하는 것을 특징으로 하는 메모리 장치.
  6. 제1항에 있어서, 상기 DBI 모드 선택기는,
    상기 데이터 심볼에 대한 송신 소비 전류가 최소가 되도록 상기 제1 멀티 비트 DBI 신호를 선택하는 것을 특징으로 하는 메모리 장치.
  7. 제1항에 있어서,
    상기 데이터 채널은 복수의 데이터 채널들을 포함하고,
    상기 멀티 모드 DBI 인코더는,
    상기 제1 멀티 비트 DBI 신호에 따라 복수의 멀티 비트 데이터를 각각 DBI 인코딩함으로써, 복수의 인코딩된 멀티 비트 데이터를 각각 생성하는 복수의 멀티 모드 DBI 인코더들을 포함하고,
    상기 송수신기는,
    상기 복수의 인코딩된 멀티 비트 데이터에 각각 대응하는 복수의 데이터 심볼들을 상기 복수의 데이터 채널들로 각각 송신하도록 구성된 복수의 데이터 송수신기들을 포함하는 것을 특징으로 하는 메모리 장치.
  8. 제7항에 있어서,
    상기 DBI 모드 선택기는,
    상기 복수의 멀티 비트 데이터에서 복수의 데이터 패턴들 각각의 개수들을 카운팅하고,
    카운팅된 상기 개수들을 기초로 상기 복수의 데이터 심볼들에 대한 송신 소비 전류가 최소가 되도록 상기 제1 멀티 비트 DBI 신호를 선택하는 것을 특징으로 하는 메모리 장치.
  9. 제7항에 있어서,
    상기 DBI 모드 선택기는,
    상기 복수의 멀티 비트 데이터 중 제1 멀티 비트 데이터의 데이터 패턴에 따라, 상기 복수의 멀티 비트 DBI 신호들 중 상기 제1 멀티 비트 DBI 신호를 선택하도록 구성된 제1 DBI 모드 선택기; 및
    상기 복수의 멀티 비트 데이터 중 제2 멀티 비트 데이터의 데이터 패턴에 따라, 상기 복수의 멀티 비트 DBI 신호들 중 제2 멀티 비트 DBI 신호를 선택하도록 구성된 제2 DBI 모드 선택기를 포함하고,
    상기 복수의 멀티 모드 DBI 인코더들은,
    상기 제1 멀티 비트 DBI 신호에 따라 상기 제1 멀티 비트 데이터를 DBI 인코딩함으로써, 인코딩된 제1 멀티 비트 데이터를 생성하는 제1 멀티 모드 DBI 인코더; 및
    상기 제2 멀티 비트 DBI 신호에 따라 상기 제2 멀티 비트 데이터를 DBI 인코딩함으로써, 인코딩된 제2 멀티 비트 데이터를 생성하는 제2 멀티 모드 DBI 인코더를 포함하는 것을 특징으로 하는 메모리 장치.
  10. 제9항에 있어서, 상기 송수신기는,
    상기 제1 멀티 비트 DBI 신호에 대응하는 제1 DBI 심볼을 제1 DBI 채널로 송신하도록 구성된 제1 DBI 송수신기; 및
    상기 제2 멀티 비트 DBI 신호에 대응하는 제2 DBI 심볼을 제2 DBI 채널로 송신하도록 구성된 제2 DBI 송수기를 더 포함하는 것을 특징으로 하는 메모리 장치.
  11. 제1항에 있어서,
    상기 멀티 비트 데이터를 저장하는 메모리 셀 어레이를 더 포함하고,
    상기 메모리 셀 어레이는, 복수의 DRAM 셀들을 포함하는 것을 특징으로 하는 메모리 장치.
  12. 데이터 채널 및 DBI 채널을 통해 데이터 심볼 및 DBI 심볼을 각각 수신하고, 수신한 상기 데이터 심볼로부터 인코딩된 멀티 비트 데이터를 생성하며, 수신한 상기 DBI 심볼로부터 멀티 비트 DBI 신호를 생성하도록 구성된 송수신기; 및
    상기 멀티 비트 DBI 신호에, 상기 인코딩된 멀티 비트 데이터를 DBI 디코딩함으로써, 멀티 비트 데이터를 생성하도록 구성된 멀티 모드 DBI 디코더를 포함하는 메모리 장치.
  13. 제12항에 있어서,
    상기 멀티 비트 데이터는 2 비트 데이터이고,
    상기 멀티 비트 DBI 신호는 2 비트 신호인 것을 특징으로 하는 메모리 장치.
  14. 제13항에 있어서,
    상기 멀티 비트 DBI 신호는 복수의 DBI 모드들 중 하나를 나타내고,
    상기 복수의 DBI 모드들은,
    상기 2 비트 데이터의 모든 비트들을 반전시키지 않는 제1 DBI 모드,
    상기 2 비트 데이터의 최하위 비트만 반전시키는 제2 DBI 모드,
    상기 2 비트 데이터의 최상위 비트만 반전시키는 제3 DBI 모드, 및
    상기 2 비트 데이터의 상기 모든 비트들을 반전시키는 제4 DBI 모드를 포함하는 것을 특징으로 하는 메모리 장치.
  15. 제12항에 있어서, 상기 송수신기는,
    PAM-4 방식을 이용하여, 제1 내지 제4 전압 레벨들 중 하나의 전압 레벨을 갖는 상기 데이터 심볼로부터 상기 인코딩된 멀티 비트 데이터를 생성하는 데이터 송수신기; 및
    상기 PAM-4 방식을 이용하여, 상기 제1 내지 제4 전압 레벨들 중 하나의 전압 레벨을 갖는 상기 DBI 심볼로부터 상기 멀티 비트 DBI 신호를 생성하는 DBI 송수신기를 포함하는 것을 특징으로 하는 메모리 장치.
  16. 제12항에 있어서,
    상기 데이터 채널은 복수의 데이터 채널들을 포함하고,
    상기 송수신기는,
    상기 복수의 데이터 채널들을 통해 복수의 데이터 심볼들을 각각 수신하고, 수신한 상기 복수의 데이터 심볼들로부터 복수의 인코딩된 멀티 비트 데이터를 각각 생성하는 복수의 데이터 송수신기들을 포함하며,
    상기 멀티 모드 DBI 디코더는,
    상기 멀티 비트 DBI 신호에 따라, 상기 복수의 인코딩된 멀티 비트 데이터를 각각 DBI 디코딩함으로써, 복수의 멀티 비트 데이터를 각각 생성하는 복수의 멀티 모드 DBI 디코더들을 포함하는 것을 특징으로 하는 메모리 장치.
  17. 제12항에 있어서,
    상기 데이터 채널은 복수의 데이터 채널들을 포함하고,
    상기 DBI 채널은 제1 DBI 채널 및 제2 DBI 채널을 포함하며,
    상기 송수신기는,
    상기 복수의 데이터 채널들을 통해 제1 및 제2 데이터 심볼들을 포함하는 복수의 데이터 심볼들을 각각 수신하고, 수신한 상기 제1 및 제2 데이터 심볼들로부터 인코딩된 제1 및 제2 멀티 비트 데이터를 각각 생성하는 복수의 데이터 송수신기들;
    상기 제1 DBI 채널을 통해 제1 DBI 심볼을 수신하고, 수신한 상기 제1 DBI 심볼로부터 제1 멀티 비트 DBI 신호를 생성하는 제1 DBI 송수신기; 및
    상기 제2 DBI 채널을 통해 제2 DBI 심볼을 수신하고, 수신한 상기 제2 DBI 심볼로부터 제2 멀티 비트 DBI 신호를 생성하는 제2 DBI 송수신기를 포함하고,
    상기 멀티 모드 DBI 디코더는,
    상기 제1 멀티 비트 DBI 신호에 따라, 상기 인코딩된 제1 멀티 비트 데이터를 DBI 디코딩함으로써, 제1 멀티 비트 데이터를 생성하는 제1 멀티 모드 DBI 디코더; 및
    상기 제2 멀티 비트 DBI 신호에 따라, 상기 인코딩된 제2 멀티 비트 데이터를 DBI 디코딩함으로써, 제2 멀티 비트 데이터를 생성하는 제2 멀티 모드 DBI 디코더를 포함하는 것을 특징으로 하는 메모리 장치.
  18. 멀티 비트 DBI 신호에 따라 복수의 멀티 비트 데이터를 DBI 인코딩하고, 인코딩된 복수의 멀티 비트 데이터에 대응하는 복수의 데이터 심볼들 및 상기 멀티 비트 DBI 신호에 대응하는 DBI 심볼을 복수의 데이터 채널들 및 DBI 채널을 통해 각각 송신하도록 구성된 송신 장치; 및
    상기 복수의 데이터 채널들 및 상기 DBI 채널을 통해 상기 복수의 데이터 심볼들 및 상기 DBI 심볼을 각각 수신하고, 상기 멀티 비트 DBI 신호에 따라 상기 복수의 데이터 심볼들로부터 상기 복수의 멀티 비트 데이터를 DBI 디코딩하는 수신 장치를 포함하는 메모리 시스템.
  19. 2 비트 데이터에 따라, 네 개의 DBI 모드들 중 하나에 대응하는 2 비트 DBI 신호를 선택하도록 구성된 DBI 모드 선택기;
    선택된 상기 2 비트 DBI 신호에 따라 상기 2 비트 데이터를 DBI 인코딩함으로써, 인코딩된 2 비트 데이터를 생성하는 DBI 인코더; 및
    상기 인코딩된 2 비트 데이터에 대응하는 데이터 심볼을 데이터 채널로 송신하고, 상기 2 비트 DBI 신호에 대응하는 DBI 심볼을 DBI 채널로 송신하도록 구성된 송수신기를 포함하는 메모리 장치.
  20. 제19항에 있어서,
    상기 네 개의 DBI 모드들은,
    상기 2 비트 데이터의 모든 비트들을 반전시키지 않는 제1 DBI 모드,
    상기 2 비트 데이터의 최하위 비트만 반전시키는 제2 DBI 모드,
    상기 2 비트 데이터의 최상위 비트만 반전시키는 제3 DBI 모드, 및
    상기 2 비트 데이터의 상기 모든 비트들을 반전시키는 제4 DBI 모드를 포함하는 것을 특징으로 하는 메모리 장치.
KR1020200066716A 2020-06-02 2020-06-02 메모리 장치 및 이를 포함하는 메모리 시스템 KR20210149543A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020200066716A KR20210149543A (ko) 2020-06-02 2020-06-02 메모리 장치 및 이를 포함하는 메모리 시스템
DE102020133572.5A DE102020133572A1 (de) 2020-06-02 2020-12-15 Speichervorrichtung und Speichersystem mit demselben
US17/156,813 US11218343B2 (en) 2020-06-02 2021-01-25 Memory device and memory system including the same
CN202110430292.2A CN113764006A (zh) 2020-06-02 2021-04-21 存储器装置和包括该存储器装置的存储器***
TW110115257A TWI760199B (zh) 2020-06-02 2021-04-28 記憶體裝置以及包括其的記憶體系統
US17/563,406 US11627021B2 (en) 2020-06-02 2021-12-28 Data processing device and memory system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200066716A KR20210149543A (ko) 2020-06-02 2020-06-02 메모리 장치 및 이를 포함하는 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20210149543A true KR20210149543A (ko) 2021-12-09

Family

ID=78509288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200066716A KR20210149543A (ko) 2020-06-02 2020-06-02 메모리 장치 및 이를 포함하는 메모리 시스템

Country Status (5)

Country Link
US (2) US11218343B2 (ko)
KR (1) KR20210149543A (ko)
CN (1) CN113764006A (ko)
DE (1) DE102020133572A1 (ko)
TW (1) TWI760199B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024106888A1 (ko) * 2022-11-14 2024-05-23 한양대학교 산학협력단 Pam 3 신호를이용한 데이터 반전 회로

Families Citing this family (5)

* 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 삼성전자주식회사 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치
US11656958B2 (en) * 2021-04-29 2023-05-23 Mellanox Technologies, Ltd. Redundancy data bus inversion sharing
US11494126B1 (en) * 2021-05-07 2022-11-08 Western Digital Technologies, Inc. Toggle mode (TM) coding with circuit bounded array memory
US11394589B1 (en) 2021-05-17 2022-07-19 Micron Technology, Inc. Techniques for communicating multi-level signals

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100423898B1 (ko) * 2001-06-16 2004-03-22 삼성전자주식회사 크로스오버 성능이 개선된 유니버셜 시리얼 버스 저속트랜시버
KR100643498B1 (ko) * 2005-11-21 2006-11-10 삼성전자주식회사 반도체 메모리에서의 데이터 버스 반전 회로 및 데이터버스 반전 방법
KR100877680B1 (ko) * 2006-04-04 2009-01-09 삼성전자주식회사 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치
US7936289B2 (en) * 2006-04-04 2011-05-03 Samsung Electronics Co., Ltd. Method, device, and system for data communication with preamble for reduced switching noise
KR100782327B1 (ko) * 2006-05-27 2007-12-06 삼성전자주식회사 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치
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
KR100799684B1 (ko) * 2006-09-14 2008-02-01 삼성전자주식회사 통신 시스템 및 통신 시스템 제어방법
WO2009134568A2 (en) * 2008-04-02 2009-11-05 Rambus Inc. Encoding data with minimum hamming weight variation
KR101688050B1 (ko) * 2009-12-22 2016-12-21 삼성전자 주식회사 반도체 장치 및 반도체 장치의 리드 또는 라이트 동작 수행 방법
US8581755B2 (en) * 2010-01-20 2013-11-12 Rambus Inc. Multiple word data bus inversion
US8879654B2 (en) * 2010-03-10 2014-11-04 Micron Technology, Inc. Communication interface with configurable encoding based on channel termination
US8495437B2 (en) * 2011-09-06 2013-07-23 Samsung Electronics Co., Ltd. Semiconductor memory device
US8942309B1 (en) * 2012-05-04 2015-01-27 Rambus Inc. Signal output improvement using data inversion and/or swapping
KR101964261B1 (ko) * 2012-05-17 2019-04-01 삼성전자주식회사 자기 메모리 장치
US8854236B2 (en) * 2012-05-18 2014-10-07 Micron Technology, Inc. Methods and apparatuses for low-power multi-level encoded signals
KR20140032787A (ko) * 2012-09-07 2014-03-17 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 제어 방법
US9529749B2 (en) * 2013-03-15 2016-12-27 Qualcomm Incorporated Data bus inversion (DBI) encoding based on the speed of operation
WO2014193574A1 (en) * 2013-05-13 2014-12-04 Rambus Inc. Buffer circuit with data bit inversion
KR102123524B1 (ko) * 2013-09-09 2020-06-16 에스케이하이닉스 주식회사 반도체 장치
US9172567B2 (en) * 2013-11-25 2015-10-27 Qualcomm Incorporated Methods and apparatus to reduce signaling power
US9621303B2 (en) * 2014-01-29 2017-04-11 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for valid encoding
US9252802B2 (en) * 2014-02-07 2016-02-02 Qualcomm Incorporated Encoding for partitioned data bus
TWI748266B (zh) * 2014-05-23 2021-12-01 南韓商三星電子股份有限公司 搜索方法、電子裝置及非暫時性電腦可讀記錄媒體
US9252997B1 (en) * 2014-07-10 2016-02-02 Qualcomm Incorporated Data link power reduction technique using bipolar pulse amplitude modulation
KR101785066B1 (ko) * 2014-07-31 2017-10-12 삼성전자주식회사 플렉서블 디바이스의 인터페이싱 방법 및 플렉서블 디바이스
US9614698B2 (en) * 2014-08-27 2017-04-04 Samsung Display Co., Ltd. Transmitter switching equalization for high speed links
KR102358548B1 (ko) * 2014-10-15 2022-02-04 삼성전자주식회사 디바이스를 이용한 화면 처리 방법 및 장치
KR20160076889A (ko) * 2014-12-23 2016-07-01 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
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
US9959935B2 (en) * 2016-04-12 2018-05-01 Samsung Electronics Co., Ltd. Input-output circuit for supporting multiple-input shift register (MISR) function and memory device including the same
US9922686B2 (en) * 2016-05-19 2018-03-20 Micron Technology, Inc. Apparatuses and methods for performing intra-module databus inversion operations
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
KR102479212B1 (ko) * 2016-08-17 2022-12-20 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US10846258B2 (en) * 2016-09-30 2020-11-24 Intel Corporation Voltage modulated control lane
KR20180057028A (ko) * 2016-11-21 2018-05-30 에스케이하이닉스 주식회사 데이터 반전 회로
KR20180063475A (ko) * 2016-12-02 2018-06-12 삼성전자주식회사 반도체 장치의 오류 검출 코드 생성 회로, 이를 포함하는 메모리 컨트롤러 및 반도체 메모리 장치
KR102441578B1 (ko) * 2017-10-27 2022-09-07 삼성전자주식회사 다중 데이터 버스 반전 동작을 수행하는 방법 및 메모리 장치
US10491238B2 (en) * 2018-01-24 2019-11-26 Nvidia Corp. Maximum transition avoidance (MTA) encoding
US10832632B2 (en) * 2018-03-14 2020-11-10 Samsung Display Co., Ltd. Low power architecture for mobile displays
US10491435B2 (en) * 2018-03-29 2019-11-26 Nvidia Corp. Unrelaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses
US10657094B2 (en) * 2018-03-29 2020-05-19 Nvidia Corp. Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses
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
US11036578B2 (en) * 2018-04-12 2021-06-15 Samsung Electronics Co., Ltd. Semiconductor memory devices and memory systems including the same
KR20190124914A (ko) * 2018-04-27 2019-11-06 삼성전자주식회사 다이나믹 랜덤 억세스 메모리 장치 및 이 장치를 구비하는 메모리 시스템
US10664432B2 (en) * 2018-05-23 2020-05-26 Micron Technology, Inc. Semiconductor layered device with data bus inversion
US10623200B2 (en) * 2018-07-20 2020-04-14 Nvidia Corp. Bus-invert coding with restricted hamming distance for multi-byte interfaces
KR102629405B1 (ko) * 2018-11-09 2024-01-25 삼성전자주식회사 반도체 메모리 장치, 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR20210076606A (ko) * 2019-12-16 2021-06-24 삼성전자주식회사 SoC, 메모리 장치, 전자 장치 및 전자 장치의 데이터 저장 방법
KR20210081534A (ko) * 2019-12-24 2021-07-02 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
KR20210149543A (ko) * 2020-06-02 2021-12-09 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR20220031791A (ko) * 2020-09-03 2022-03-14 삼성전자주식회사 메모리 장치와 그 동작 방법, 및 메모리 시스템
KR20220034561A (ko) * 2020-09-11 2022-03-18 삼성전자주식회사 멀티 레벨 신호 생성을 위한 송신기 및 이를 포함하는 메모리 시스템
US11652567B2 (en) * 2020-12-01 2023-05-16 Micron Technology, Inc. Replacement scheme for a pulse amplitude modulated bus
EP4057516B1 (en) * 2021-03-10 2024-03-27 Samsung Electronics Co., Ltd. Encoding apparatuses for implementing multi-mode coding
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024106888A1 (ko) * 2022-11-14 2024-05-23 한양대학교 산학협력단 Pam 3 신호를이용한 데이터 반전 회로

Also Published As

Publication number Publication date
US20210377080A1 (en) 2021-12-02
TWI760199B (zh) 2022-04-01
DE102020133572A1 (de) 2021-12-02
US11627021B2 (en) 2023-04-11
TW202147131A (zh) 2021-12-16
CN113764006A (zh) 2021-12-07
US11218343B2 (en) 2022-01-04
US20220123967A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
US11218343B2 (en) Memory device and memory system including the same
CN109074851B (zh) 利用额外***位的内部错误校验和校正(ecc)
EP3754563A1 (en) Technologies for performing in-memory training data augmentation for artificial intelligence
CN106648954A (zh) 包括片上错误校正码电路的存储器件和***
KR102242281B1 (ko) 이진을 삼진으로 매핑하기 위한 그리고 그 역을 위한 장치 및 방법
US12002543B2 (en) Memory device for supporting new command input scheme and method of operating the same
EP3855441A1 (en) Memory device transmitting and receiving data at high speed and low power
US11869626B2 (en) Internal and external data transfer for stacked memory dies
JP2021068416A (ja) 信頼性、利用可能性、およびスケーラビリティ(ras)の向上のためのメモリワードライン分離
US10860518B2 (en) Integrated circuit system
TWI759938B (zh) 高速且低功率傳輸及接收資料之記憶體裝置
US20230171007A1 (en) Translation device, test system including the same, and memory system including the translation device
KR20210098728A (ko) 적층형 메모리 장치 및 상기 적층형 메모리 장치의 동작 방법
CN114141285A (zh) 存储器件、存储器件的操作方法和存储***
CN111796964A (zh) 用于提供多级纠错的技术
US20140331006A1 (en) Semiconductor memory devices
US20240071448A1 (en) Configurable data protection circuitry for memory devices
US20230393789A1 (en) Data protection for stacks of memory dice
US20240004799A1 (en) Memory controller architecture
WO2023034356A1 (en) Configurable data protection circuitry for memory devices