KR102441578B1 - 다중 데이터 버스 반전 동작을 수행하는 방법 및 메모리 장치 - Google Patents

다중 데이터 버스 반전 동작을 수행하는 방법 및 메모리 장치 Download PDF

Info

Publication number
KR102441578B1
KR102441578B1 KR1020170141318A KR20170141318A KR102441578B1 KR 102441578 B1 KR102441578 B1 KR 102441578B1 KR 1020170141318 A KR1020170141318 A KR 1020170141318A KR 20170141318 A KR20170141318 A KR 20170141318A KR 102441578 B1 KR102441578 B1 KR 102441578B1
Authority
KR
South Korea
Prior art keywords
dbi
data
bits
inversion
binary
Prior art date
Application number
KR1020170141318A
Other languages
English (en)
Other versions
KR20190047434A (ko
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 KR1020170141318A priority Critical patent/KR102441578B1/ko
Priority to US15/969,797 priority patent/US10747695B2/en
Priority to CN201810980488.7A priority patent/CN109726154B/zh
Publication of KR20190047434A publication Critical patent/KR20190047434A/ko
Application granted granted Critical
Publication of KR102441578B1 publication Critical patent/KR102441578B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4915Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using pattern inversion or substitution
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Dram (AREA)
  • Logic Circuits (AREA)
  • Memory System (AREA)

Abstract

다중 데이터 버스 반전(DBI) 동작을 수행하는 방법 및 메모리 장치가 개시된다. 다중 DBI 동작은, M*N 데이터 비트 구조의 M*N 개 데이터 비트들을 그룹핑한 제1 데이터 반전 그룹에 대한 데이터 반전 여부를 수행하는 제1 DBI 동작, M*N 개 데이터 비트들 중 M 개 비트들을 조합하고 조합된 M개 비트들을 그룹핑한 제2 데이터 반전 그룹들에 대한 데이터 반전 여부를 수행하는 제2 DBI 동작, 그리고 M*N 개 데이터 비트들 중 N 비트들을 조합하고 조합된 N 비트들을 그룹핑한 제3 데이터 반전 그룹들에 대한 데이터 반전 여부를 수행하는 제3 DBI 동작을 포함한다.

Description

다중 데이터 버스 반전 동작을 수행하는 방법 및 메모리 장치 {Multiple data bus inversion(DBI) methods and memory device}
본 발명은 반도체 메모리 장치에 관한 것으로서, 더욱 상세하게는 다중 데이터 버스 반전(DBI) 동작을 수행하는 방법 및 메모리 장치에 관한 것이다.
집적 회로 장치들 사이의 데이터 전송은, 데이터 버스의 병렬 채널들에 구동되는 데이터 신호들, 일명 데이터 비트들의 형태로 이루어진다. 데이터 비트들은 데이터의 상태나 데이터 천이의 주파수에 따라 크로스 토크(cross talk), 동시 스위칭 노이즈(Simultaneous Switching Noise: SSN), 상호 심볼 간섭(Inter-Symbol Interference: ISI), 및/또는 전력 소모에 민감할 수 있다. 이러한 부작용들(adverse effects)을 줄이기 위하여, 데이터 버스 반전(Data Bus Inversion: DBI)과 같은 데이터 인코딩 방법이 이용될 수 있다. DBI는 데이터 버스로 전송되는 데이터 비트들 사이의 관계를 먼저 평가하고(assess), 전송에 앞서 데이터 비트들을 일부 또는 전부 반전시키는 것이 이로운지 여부를 판단한다(decide). 만약 데이터 비트들이 반전되면, 데이터 비트들이 반전되었음을 나타내는 DBI 비트라는 추가 신호가 셋팅될 수 있다.
고성능 및 저전력이 요구되는 그래픽, 서버, 슈퍼 컴퓨터, 네트워크 등의 다양한 시스템들을 지원하기 위하여, 멀티 채널 인터페이스 방식의 와이드 입출력을 제공하는 하이-밴드위스 메모리(High-Bandwidth Memory: HBM)가 제공된다. HBM은 복수개의 데이터 비트들로 구성되는 채널에서 바이트 단위로 DBI를 수행할 수 있다. 통상적으로, 데이터 전송 시 천이되는 데이터 비트들의 수가 전체 데이터 비트들 수의 반을 초과하는 경우 DBI를 수행하게 되는데, DBI가 적용되면 전력 소모 감소, 신호 충실도(Signal Integrity: SI) 개선, 발열 감소 등의 효과를 기대할 수 있다. 이러한 효과를 극대화하기 위하여, HBM과 같은 멀티플-비트 와이드에 대하여 데이터 천이 개수를 최소화할 수 있는 새로운 DBI가 요구된다.
본 발명의 목적은 멀티플-비트 와이드에 대하여 다중 DBI를 수행하는 방법 및 메모리 장치를 제공하는 데 있다.
본 발명의 실시예들에 따른 다중 DBI를 수행하는 메모리 장치는, M*N (M, N 은 자연수) 데이터 비트들로 구성되는 멀티플-비트 와이드를 전송하는 채널, 그리고 M*N 개의 데이터 비트들의 제1 값에 기초하여, M*N 개의 데이터 비트들을 그룹핑한 제1 데이터 반전 그룹에 대하여 제1 데이터 버스 반전(DBI) 동작을 선택적으로 수행하고, M*N 개의 데이터 비트들 중 M 개 비트들을 그룹핑한 제2 데이터 반전 그룹들에 대하여 제2 DBI 동작을 선택적으로 수행하는 반전 로직부를 포함한다.
본 발명의 실시예들에 따른 M*N (M, N 은 자연수) 데이터 비트 구조로 구성되는 멀티플-비트 와이드에 대하여 M*N 개의 데이터 비트들의 제1 값에 기초하여 다중 DBI를 수행하는 방법은, M*N 데이터 비트 구조의 M*N 개의 데이터 비트들을 그룹핑하여 제1 데이터 반전 그룹을 구성하는 동작, M*N 데이터 비트 구조에서 제1 방향으로 M 비트씩 그룹핑하여 제2 데이터 반전 그룹들을 구성하는 동작, 제1 데이터 버스 반전(DBI) 신호에 기초하여 제1 데이터 반전 그룹에 대한 데이터 반전 여부를 수행하는 동작, 그리고 제2 DBI 신호들에 기초하여 제2 DBI 신호들 각각에 대응하는 제2 데이터 반전 그룹들에 대한 데이터 반전 여부를 수행하는 동작을 포함한다.
본 발명의 실시예들에 따른 M*N (M, N 은 자연수) 데이터 비트 구조로 구성되는 멀티플-비트 와이드에 대하여 M*N 개의 데이터 비트들의 제1 값에 기초하여 다중 DBI를 수행하는 방법은, M*N 데이터 비트 구조의 M*N 개의 데이터 비트들을 그룹핑하여 제1 데이터 반전 그룹을 구성하는 동작, M*N 데이터 비트 구조에서 M*N 개의 데이터 비트들 중 M 개 비트들을 조합하고 조합된 M개 비트들을 그룹핑하여 제2 데이터 반전 그룹들을 구성하는 동작, 제1 데이터 버스 반전(DBI) 신호에 기초하여 제1 데이터 반전 그룹에 대한 데이터 반전 여부를 수행하는 동작, 그리고 제2 DBI 신호들에 기초하여 제2 DBI 신호들 각각에 대응하는 제2 데이터 반전 그룹들에 대한 데이터 반전 여부를 수행하는 동작을 포함한다.
본 발명의 실시예들에 따른 메모리 장치는, 멀티플-비트 와이드에 대하여 다중 DBI를 수행하여 데이터 천이 개수를 최소화함으로써, 전력 소모, 크로스 토크, SSN, 및/또는 ISI 현상을 줄일 수 있다.
본 발명의 상세한 설명에서 사용되는 도면을 보다 충분히 이해하기 위하여, 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시예들에 따른 메모리 장치를 설명하는 블락 다이어그램이다.
도 2는 통상적인 DBI 동작을 설명하는 도면이다.
도 3은 본 발명의 실시예에 따른 멀티플-비트 와이드에 대한 다중 DBI 동작을 설명하는 도면이다.
도 4a 및 도 4b는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 5a 및 도 5b는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 6a 및 도 6b는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 7a 및 도 7b는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 8은 도 4a 내지 도 7b에서 수행된 다중 DBI 방법을 설명하는 플로우챠트이다.
도 9a 내지 도 9c는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 10a 내지 도 10c는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 11은 도 9a 내지 도 10c에서 수행된 다중 DBI 방법을 설명하는 플로우챠트이다.
도 12a 및 도 12b는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 13a 및 도 13b는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 14a 및 도 14b는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 15a 및 도 15b는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 16은 도 13a 내지 도 15b에서 수행된 다중 DBI 방법을 설명하는 플로우챠트이다.
도 17a 및 도 17b는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 18a 및 도 18b는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 19a 및 도 19b는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 20a 및 도 20b는 본 발명의 실시예에 따른 다중 DBI 방법을 설명하는 도면들이다.
도 21a 및 도 21b는 본 발명의 다중 DBI 방법을 적용할 수 있는 데이터 비트 구조를 설명하는 도면들이다.
도 22는 본 발명의 다중 DBI 방법을 적용할 수 있는 데이터 비트 구조를 설명하는 도면이다.
도 23a 및 도 23b는 본 발명의 실시예들에 따른 다중 DBI의 효과를 보여주는 도면들이다.
도 1은 본 발명의 실시예들에 따른 메모리 장치를 설명하는 블락 다이어그램이다.
도 1을 참조하면, 메모리 장치(100)는 스택된 다수개의 메모리 레이어들(110, 120, 130, 140)을 포함한다. 메모리 장치(100)는 HBM 일 수 있다. 메모리 레이어들(110, 120, 130, 140)은 채널들이라 불리는 다수개의 독립된 인터페이스들을 구성할 수 있다. 메모리 레이어(110, 120, 130, 140) 각각은, 2 채널들(111-112, 121-122, 131-132, 141-142)로 구성될 수 있다. 본 실시예에서, 메모리 장치(100)는 4개의 메모리 레이어들(110, 120, 130, 140)이 스택되어 8개 채널들로 구성되는 예를 제공한다. 실시예에 따라, 메모리 장치(100)에는 2개 내지 8개 메모리 레이어들이 스택될 수 있다.
각각의 채널(111, 112, 121, 122, 131, 132, 141, 142)은, 채널별로 독립적으로 동작하는 메모리 셀 어레이(143), 메모리 셀 어레이(143)를 각 채널별로 독립적으로 제어하기 위한 입출력 제어부(144), 그리고 메모리 셀 어레이(143)를 위한 채널을 제공하는 채널 패드부(145)를 포함할 수 있다.
메모리 셀 어레이(143)는 복수의 워드라인들과 비트라인들에 연결된 메모리 셀들을 포함하고, 메모리 셀들은 복수의 메모리 뱅크들 및/또는 메모리 블락들로 그룹화될 수 있다. 메모리 셀 어레이(143)의 영역 내에는 메모리 셀들을 억세스하기 위한 로우 디코더, 칼럼 디코더, 센스앰프 등이 배치될 수 있다. 입출력 제어부(144)는 RAS 제어 로직, CAS 제어 로직 등을 포함할 수 있다. 채널 패드부(145)는 복수의 행들과 복수의 열들로 이루어진 매트릭스 형태로 배열된 패드들을 포함할 수 있다. 채널 패드부(145)의 패드들 각각은 신호 라우팅을 위한 배선을 통하여 전극(148)과 관통 실리콘 비아(TSV, 160)에 연결될 수 있다.
메모리 장치(100)는 스택된 메모리 레이어들(110, 120, 130, 140)의 하단부에 메모리 버퍼(150)를 더 포함할 수 있다. 메모리 버퍼(150)는 외부의 메모리 콘트롤러로부터 커맨드, 어드레스, 클럭 및 데이터를 수신하는 입력 버퍼(또는 수신부)를 포함하고, 수신된 커맨드, 어드레스, 클럭 및 데이터를 버퍼링하여 채널들(111, 112, 121, 122, 131, 132, 141, 142)로 제공할 수 있다. 메모리 버퍼(150)는 전극들(148)과 관통 실리콘 비아들(160)을 통하여 채널들(111, 112, 121, 122, 131, 132, 141, 142)에 대해 신호 분배 기능 및 데이터 입출력 기능을 제공할 수 있다. 메모리 버퍼(150)는 메모리 장치(100)의 외면에 형성된 도전 수단들, 예컨대 범프들 또는 솔더볼들을 통해 메모리 컨트롤러와 통신할 수 있다.
메모리 레이어(110, 120, 130, 140) 각각은 2 채널들(111, 112, 121, 122, 131, 132, 141, 142)을 포함하는데, 싱글 채널은 2개의 의사 채널들(Pseudo Channel)로 구성될 수 있다. 각 채널(111, 112, 121, 122, 131, 132, 141, 142)의 채널 패드부(145)의 영역에 포함되는 데이터 입출력(DQ) 패드들의 수가 예를 들어, 128개라고 가정하자. 각 채널(111, 112, 121, 122, 131, 132, 141, 142)의 채널 패드부(145)의 128개 DQ 패드들은 2개 그룹의 의사 채널들(146, 147)로 나뉘어지고, 의사 채널(146, 147) 각각의 DQ 패드들의 수는 64개가 될 수 있다.
통상적인 DBI는 현재 데이터와 이전 데이터를 비교하여, 현재 데이터의 전체 비트의 절반을 초과하는 비트들이 이전 데이터의 비트들로부터 천이된 경우, 현재 데이터를 반전시킬 수 있다. 의사 채널(146, 147)의 64개 DQ 패드들의 데이터 비트들에 대하여 8개 데이터 비트당 (또는 바이트당) 1개 DBI 비트가 이용될 수 있다. 의사 채널(146, 147)의 64개 데이터 비트들에 대하여 통상적인 DBI를 수행하면, 최대 32개의 데이터 비트들이 클럭 신호의 1/2 사이클 마다 천이될 수 있다. 이 경우, 메모리 장치(100)는 전력 소모가 커지고, 신호 충실도가 나빠지고, 발열되는 문제점들이 발생된다. 이러한 문제점들을 해결하기 위하여, HBM과 같은 멀티플-비트 와이드에 대하여 데이터 천이 개수를 최소화할 수 있는 새로운 DBI로서, 다중 DBI가 요구된다.
메모리 버퍼(150)는 다중 DBI를 수행하는 반전 로직부(170)를 포함할 수 있다. 반전 로직부(170)는 각 채널(111, 112, 121, 122, 131, 132, 141, 142)을 통하여 전송되는 M*N (M=8m, N=8n, m, n은 자연수)개의 데이터 비트들로 구성되는 멀티플-비트 와이드에 대하여 다중 DBI를 수행할 수 있다. 실시예에 따라, 반전 로직부(170)는 메모리 버퍼(150)에 있지 않고 각각의 채널(111, 112, 121, 122, 131, 132, 141, 142)에 포함될 수 있다.
반전 로직부(170)에서 수행되는 다중 DBI는, DBI AC 모드 및/또는 DBI DC 모드에 적용될 수 있다. DBI AC 모드는 현재 입력되는 데이터의 비트와 이전 데이터의 비트를 비교하여, 현재 데이터의 전체 비트의 절반을 초과하는 비트들이 이전 데이터의 비트들로부터 천이된 경우, 현재 데이터의 반전을 수행하도록 동작하는 것을 말한다. DBI DC 모드는 현재 입력되는 데이터에 대하여 각 데이터 비트들의 바이너리 1의 비트 수 및 바이너리 0의 비트 수를 평가하고, 이에 대한 결과로서 우세 비트 수에 따라 현재 데이터의 반전 또는 비반전을 수행하도록 동작하는 것을 말한다.
반전 로직부(170)는 M*N개의 데이터 비트들로 구성되는 멀티플-비트 와이드에 대하여 제1 DBI 동작, 제2 DBI 동작, 그리고 제3 DBI 동작을 포함하는 다중 DBI 동작을 수행할 수 있다.
반전 로직부(170)는M*N 개의 데이터 비트들을 그룹핑한 제1 데이터 반전 그룹에 대하여 제1 DBI 동작을 선택적으로 수행하고, M*N 개의 데이터 비트들 중 M 개 비트들을 그룹핑한 제2 데이터 반전 그룹들에 대하여 제2 DBI 동작을 선택적으로 수행하고, M*N 개의 데이터 비트들 중 N 개 비트들을 그룹핑한 제3 데이터 반전 그룹들에 대하여 제3 DBI 동작을 선택적으로 수행할 수 있다.
반전 로직부(170)는 제1 값 또는 바이너리 1에 기초하여 제1 DBI 동작, 제2 DBI 동작, 그리고 제3 DBI 동작을 선택적으로 수행할 수 있다. 실시예에서, 제1 값 또는 바이너리 1은 DBI AC 모드의 데이터 천이 상태를 나타낼 수 있다. 다른 실시예에서, 제1 값은 DBI DC 모드에서 채널의 터미네이션 유형에 따라 바이너리 1비트를 나타내거나 바이너리 0비트를 나타낼 수 있다. 제1 값은 채널이 풀-다운 터미네이션인 경우 바이너리 1 비트를 나타내고, 채널이 풀-업 터미네이션인 경우 바이너리 0비트를 나타낼 수 있다.
제1 DBI 동작에서, 반전 로직부(170)는 제1 DBI 신호를 이용하여, M*N 개의 데이터 비트들 중 제1 값의 바이너리 개수가 M*N/2개를 초과할 때 제1 데이터 반전 그룹의 데이터 비트들을 반전할 수 있다.
제2 DBI 동작에서, 반전 로직부(170)는 제2 데이터 반전 그룹들 각각에 대응되는 제2 DBI 신호들을 이용하여, M 개 비트들 중 제1 값의 바이너리 개수가 M/2개를 초과하는 제2 데이터 반전 그룹에 해당되는 제2 데이터 반전 그룹들의 데이터 비트들을 반전할 수 있다..
제3 DBI 동작에서, 반전 로직부(170)는 제3 데이터 반전 그룹들 각각에 대응되는 제3 DBI 신호들을 이용하여, N 개 비트들 중 제1 값의 바이너리 개수가 N/2개를 초과하는 제3 데이터 반전 그룹에 해당되는 제3 데이터 반전 그룹들의 데이터 비트들을 반전할 수 있다. 반전 로직부(170)는 제3 데이터 반전 그룹들 각각의 N개 비트들이 제1 값의 바이너리로 채워지도록, 제2 데이터 반전 그룹들의 데이터 비트들을 반전시키는 강제 제2 DBI 동작을 수행할 수 있다.
반전 로직부(170)는 제1 DBI 동작, 제2 DBI 동작, 그리고 제3 DBI 동작이 수행되는 순서를 변경하고, 변경된 순서에 따라 다중 DBI 동작을 수행하였을 때 최종적인 데이터 천이 개수가 최소가 되는 순서를 결정하는 판단부(171)를 포함할 수 있다.
판단부(171)에서 다중 DBI에 따라 제1 DBI 동작, 제2 DBI 동작, 그리고 제3 DBI 동작이 수행되는 순서를 결정하는 동작 방법들은, ROM 디바이스들과 같은 기록 불가능 저장 매체 상에 영구적으로 저장된 프로그램 코드들이거나, 플로피 디스크, 자기 테이프, CD들, RAM 디바이스들 및/또는 다른 자기 및 광학 매체와 같은 비일시적인 기록 가능 저장 매체 상에 변경 가능한 프로그램 코드이거나, 또는 인터넷 또는 전화 모뎀 라인들과 같은 전자 네트워크에서와 같이 통신 매체를 통해 컴퓨터로 전달된 프로그램 코드들과 같은 형태로 인식될 수 있다.
실시예에 따라, 판단부(171)에서 다중 DBI에 따라 제1 DBI 동작, 제2 DBI 동작, 그리고 제3 DBI 동작이 수행되는 순서를 결정하는 동작 방법들은, 소프트웨어 실행 가능 객체에서 또는 명령어들에 응답하는 프로세서에 의한 실행을 위해 인코딩된 명령어들의 세트로서 구현된 컴퓨터 프로그램 제품으로 제공될 수 있다.
실시예에 따라, 판단부(171)에서 다중 DBI에 따라 제1 DBI 동작, 제2 DBI 동작, 그리고 제3 DBI 동작이 수행되는 순서를 결정하는 동작 방법들은, 주문형 집적 회로들(ASICs), 필드 프로그래머블 게이트 어레이들(FPGAs), 상태 머신들, 제어기들, 또는 다른 하드웨어 컴포넌트들 또는 디바이스들과 같은 하드웨어 컴포넌트들, 또는 하드웨어, 소프트웨어 및 펌웨어 컴포넌트들의 조합을 사용하여 전제적으로 또는 부분적으로 구현될 수 있다.
도 2는 통상적인 DBI 동작을 설명하는 도면이다.
도 2를 참조하면, 도 1에서 설명된 의사 채널(146, 147)의 64개 데이터 패드들(DQ0~DQ63)의 데이터 비트들에 대하여 바이트 단위로 DBI할 수 있다. 예시적으로, DQ0~DQ63 데이터 비트들이 8행들 및 8열들의 데이터 비트 구조로 구성될 수 있다. 제1 열에 DQ0~DQ7 데이터 비트들이 포함되고, 제2 열에 DQ8~DQ15 데이터 비트들이 포함되고, 제3 열에 DQ16~DQ23 데이터 비트들이 포함되고, 제4 열에 DQ24~DQ31 데이터 비트들이 포함되고, 제5 열에 DQ32~DQ39 데이터 비트들이 포함되고, 제6 열에 DQ40~DQ47 데이터 비트들이 포함되고, 제7 열에 DQ48~DQ55 데이터 비트들이 포함되고, 제8 열에 DQ56~DQ63 데이터 비트들이 포함될 수 있다.
통상적인 DBI는 DBI DC 모드를 수행하는 예로서, 열 단위의 바이트 데이터들에 대하여 해당 열의 데이터 반전 여부를 나타내는 DBI 신호들(DBI0~DBI7)을 추가할 수 있다. DBI0 신호는 제1 열의 DQ0~DQ7 데이터 비트들에서 예컨대, 바이너리 1의 개수가 4를 초과하는 경우, 로직 하이로 셋팅되고, 로직 하이의 DBI0 신호에 응답하여 DQ0~DQ7 데이터 비트들이 반전될 수 있다. 제1 열의 DQ0~DQ7 데이터 비트들에서 바이너리 1의 개수가 4이하이면, DBI0 신호는 로직 로우이고 DQ0~DQ7 데이터 비트들은 반전되지 않는다. 이와 같은 방법으로, DBI1 내지 DBI7 신호 각각은 해당 열의 바이트 데이터들의 반전 여부를 결정할 수 있다. 이하에서, 통상적인 DBI는 본원 발명의 다중 DBI와 비교 설명될 것이다.
도 3은 본 발명의 실시예에 따른 멀티플-비트 와이드에 대한 다중 DBI 동작을 설명하는 도면이다.
도 3을 참조하면, 다중 DBI는 64개의 DQ0~DQ63 데이터 비트들로 구성되는 멀티플-비트 와이드에 대하여, 제1 DBI, 제2 DBI, 그리고 제3 DBI를 수행할 수 있다. DQ0~DQ63 데이터 비트들은, 도 2와 같이, 8행들 및 8열들의 데이터 비트 구조로 구성될 수 있다.
8*8 데이터 비트 구조에서, DQ0~DQ63 데이터 비트들 모두의 데이터 반전 여부를 나타내는 제1 DBI 신호(DBI_ALL)가 포함될 수 있다.
8*8 데이터 비트 구조를 열 방향으로 보면, 제1 열에 DQ0~DQ7 데이터 비트들이, 제2 열에 DQ8~DQ15 데이터 비트들이, 제3 열에 DQ16~DQ23 데이터 비트들이, 제4 열에 DQ24~DQ31 데이터 비트들이, 제5 열에 DQ32~DQ39 데이터 비트들이, 제6 열에 DQ40~DQ47 데이터 비트들, 제7 열에 DQ48~DQ55 데이터 비트들이, 그리고 제8 열에 DQ56~DQ63 데이터 비트들이 포함될 수 있다. 그리고, 제1 열 내지 제8 열의 바이트 데이터에 대하여, 해당 열의 데이터 반전 여부를 나타내는 제2 DBI 신호들(DBI_V0~DBI_V7)이 포함될 수 있다.
8*8 데이터 비트 구조를 행 방향으로 보면, 제1행에 DQ0, DQ8, DQ16, DQ24, DQ32, DQ40, DQ48, DQ56 데이터 비트들이 포함되고, 제2행에 DQ1, DQ9, DQ17, DQ25, DQ33, DQ41, DQ49, DQ57 데이터 비트들이 포함되고, 제3행에 DQ2, DQ10, DQ18, DQ26, DQ34, DQ42, DQ50, DQ58 데이터 비트들이 포함되고, 제4 행에 DQ3, DQ11, DQ19, DQ27, DQ35, DQ43, DQ51, DQ59 데이터 비트들이 포함되고, 제5 행에 DQ4, DQ12, DQ20, DQ28, DQ36, DQ44, DQ52, DQ60 데이터 비트들이 포함되고, 제6 행에 DQ5, DQ13, DQ21, DQ29, DQ37, DQ45, DQ53, DQ61 데이터 비트들이 포함되고, 제7 행에 DQ6, DQ14, DQ22, DQ30, DQ38, DQ46, DQ54, DQ62 데이터 비트들이 포함되고, 제8 행에 DQ7, DQ15, DQ23, DQ31, DQ39, DQ47, DQ55, DQ63 데이터 비트들이 포함될 수 있다. 그리고, 제1 행 내지 제8 행의 바이트 데이터에 대하여, 해당 행의 데이터 반전 여부를 나타내는 제3 DBI 신호들(DBI_H0~DBI_H7)이 포함될 수 있다.
제1 DBI는, 8*8 데이터 비트 구조에서 제1 DBI 신호(DBI_ALL)에 응답하여 DQ0~DQ63 데이터 비트들에 대하여 데이터 반전 여부를 수행할 수 있다. 제1 DBI는 DQ0~DQ63 데이터 비트들에서 예컨대, 바이너리 1의 개수가 총 비트 수의 반인 32를 초과하는 경우, DQ0~DQ63 데이터 비트들을 반전시킬 수 있다. 제1 DBI 신호(DBI_ALL)의 로직 하이에 응답하여 DQ0~DQ63 데이터 비트들 모두가 반전되고, 제1 DBI 신호(DBI_ALL)의 로직 로우에 응답하여 DQ0~DQ63 데이터 비트들 모두는 반전되지 않는다.
제2 DBI는, 8*8 데이터 비트 구조에서 제2 DBI 신호(DBI_V0~DBI_V7) 각각에 응답하여 해당 열의 8 데이터 비트들의 데이터 반전 여부를 수행할 수 있다. 제2 DBI는 해당 열의 8 데이트 비트들에서 예컨대, 바이너리 1의 개수가 총 비트 수의 반인 4를 초과하는 경우, 해당 열의 데이터 비트들을 반전시킬 수 있다. DBI_V0 신호의 로직 하이에 응답하여 제1 열의 DQ0~DQ7 데이터 비트들이 반전되고, DBI_V0 신호의 로직 로우에 응답하여 제1 열의 DQ0~DQ7 데이터 비트들이 반전되지 않는다. DBI_V1 신호의 로직 하이에 응답하여 제2 열의 DQ8~DQ15 데이터 비트들이 반전되고, DBI_V1 신호의 로직 로우에 응답하여 제2 열의 DQ8~DQ15 데이터 비트들이 반전되지 않는다. 이와 같은 방법으로, DBI_V2 신호에 의해 제3 열의 DQ16~DQ23 데이터 비트들의 데이터 반전 여부가 결정되고, DBI_V3 신호에 의해 제4 열의 DQ24~DQ31 데이터 비트들의 데이터 반전 여부가 결정되고, DBI_V4 신호에 의해 제5 열의 DQ32~DQ39 데이터 비트들의 데이터 반전 여부가 결정되고, DBI_V5 신호에 의해 제6 열의 DQ40~DQ47 데이터 비트들의 데이터 반전 여부가 결정되고, DBI_V6 신호에 의해 제7 열의 DQ48~DQ55데이터 비트들의 데이터 반전 여부가 결정되고, 그리고 DBI_V7 신호에 의해 제8 열의 DQ56~DQ63 데이터 비트들의 데이터 반전 여부가 결정될 수 있다.
제3 DBI는, 8*8 데이터 비트 구조에서 제3 DBI 신호(DBI_H0~DBI_H7) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. 제3 DBI는 해당 행의 8 데이트 비트들에서 예컨대, 바이너리 1의 개수가 총 비트 수의 반인 4를 초과하는 경우, 해당 행의 데이터 비트들을 반전시킬 수 있다. DBI_H0 신호의 로직 하이에 응답하여 제1행의 DQ0, DQ8, DQ16, DQ24, DQ32, DQ40, DQ48, DQ56 데이터 비트들이 반전되고, DBI_H0 신호의 로직 로우에 응답하여 제1행의 DQ0, DQ8, DQ16, DQ24, DQ32, DQ40, DQ48, DQ56 데이터 비트들이 반전되지 않는다. DBI_H1 신호의 로직 하이에 응답하여 제2행의 DQ1, DQ9, DQ17, DQ25, DQ33, DQ41, DQ49, DQ57 데이터 비트들이 반전되고, DBI_H1 신호의 로직 로우에 응답하여 제2행의 DQ1, DQ9, DQ17, DQ25, DQ33, DQ41, DQ49, DQ57 데이터 비트들이 반전되지 않는다. 이와 같은 방법으로, DBI_H2 신호에 의해 제3행의 DQ2, DQ10, DQ18, DQ26, DQ34, DQ42, DQ50, DQ58 데이터 비트들의 데이터 반전 여부가 결정되고, DBI_H3 신호에 의해 제4 행의 DQ3, DQ11, DQ19, DQ27, DQ35, DQ43, DQ51, DQ59 데이터 비트들의 데이터 반전 여부가 결정되고, DBI_H4 신호에 의해 제5 행의 DQ4, DQ12, DQ20, DQ28, DQ36, DQ44, DQ52, DQ60 데이터 비트들의 데이터 반전 여부가 결정되고, DBI_H5 신호에 의해 제6 행의 DQ5, DQ13, DQ21, DQ29, DQ37, DQ45, DQ53, DQ61 데이터 비트들의 데이터 반전 여부가 결정되고, DBI_H6 신호에 의해 제7 행의 DQ6, DQ14, DQ22, DQ30, DQ38, DQ46, DQ54, DQ62 데이터 비트들의 데이터 반전 여부가 결정되고, 그리고 DBIH_7 신호에 의해 제8 행의 DQ7, DQ15, DQ23, DQ31, DQ39, DQ47, DQ55, DQ63 데이터 비트들의 데이터 반전 여부가 결정될 수 있다.
도 4a 및 도 4b는 도 3의 다중 DBI를 이용하여 데이터 천이 개수를 최소화하는 예들을 보여주는 도면이다. 도 4a 및 도 4b는 DQ[63:0] 데이터 값이 0xFFFF FFFF FFFF FFFF로 구성되는 경우에 대하여 설명된다. 도 4a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 4b는 도 4a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다. 설명의 편의를 위하여, 도 4a 및 도 4b에서 8*8 데이터 비트 구조 내 바이너리 1은 데이터 천이 상태를 나타내고, 바이너리 0은 데이터 천이가 일어나지 않은 상태를 나타낸다고 정의하자.
도 4a를 참조하면, DQ[63:0] 데이터 값이 0xFFFF FFFF FFFF FFFF로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들은 바이너리 1로 채워진다. 도 2의 통상적인 DBI를 수행하여, DBI0 내지 DBI7 신호의 로직 하이(이하, 데이터 천이 상태의 바이너리 1과 같이 통칭될 수 있다)에 응답하여 DQ0~DQ63 데이터 비트들은 바이너리 0으로 반전될 수 있다. 이에 따라, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는 DBI0 내지 DBI7 신호들의 합, 총 8개로 나타난다.
도 4b를 참조하면, DQ[63:0] 데이터 값이 0xFFFF FFFF FFFF FFFF로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들은 바이너리 1로 채워진다. 도 3의 다중 DBI 중에서 제1 DBI를 수행하여 제1 DBI 신호(DBI_ALL)의 로직 하이에 응답하여 DQ0~DQ63 데이터 비트들 모두가 바이너리 0으로 반전될 수 있다. 이 후, 제2 DBI 및 제3 DBI에서 반전 동작은 수행되지 않는다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는 제1 DBI 신호(DBI_ALL), 총 1개로 나타난다.
도 4a 및 도 4b에서 보듯이, 다중 DBI의 제1 DBI는 통상적인 DBI에 의한 8개 데이터 천이 개수를 1개로 줄이는 효과를 보여준다. 다중 DBI에 의해 데이터 천이 개수를 줄임으로써, 전력 소모를 줄일 수 있다. 또한, 데이터 버스 또는 채널 상의 크로스 토크, SSN, ISI 현상도 줄일 수 있다.
도 5a 및 도 5b는 도 3의 다중 DBI를 이용하여 데이터 천이를 최소화하는 예들을 보여주는 도면이다. 도 5a 및 도 5b는 DQ[63:0] 데이터 값이 0x5555 5555 5555 5555로 구성되는 경우에 대하여 설명된다. 도 5a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 5b는 도 5a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다.
도 5a를 참조하면, DQ[63:0] 데이터 값이 0x5555 5555 5555 5555로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들은 순차적으로 1-0-1-0-1-0-1-0 바이트 단위로 채워지고, 바이너리 1의 개수는 32개이다. 도 2의 통상적인 DBI를 수행하면, 바이트 데이터 내 바이너리 1의 개수가 4를 초과하지 않기 때문에, DBI0 내지 DBI7 신호의 로직 로우에 응답하여 DQ0~DQ63 데이터 비트들은 반전되지 않고 오리지널 상태 그대로이다. 이에 따라, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 32개로 나타난다.
도 5b를 참조하면, DQ[63:0] 데이터 값이 0x5555 5555 5555 5555로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 32개이다. 도 3의 다중 DBI 중에서 제1 DBI 및 제2 DBI의 반전 동작은 수행되지 않는다. 제1 DBI 신호(DBI_ALL) 및 제2 DBI 신호(DBI_V0~DBI_V7)의 로직 로우에 응답하여 DQ0~DQ63 데이터 비트들은 반전되지 않고 오리지널 상태 그대로이다. 이 후, 제3 DBI를 수행하여, 제3 DBI 신호(DBI_H0~DBI_H7) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. 제1, 제3, 제5, 그리고 제7 행들의 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI_H0, DBI_H2, DBI_H4, 그리고 DBI_H6 신호의 로직 하이에 응답하여 제1, 제3, 제5, 그리고 제7 행들의 바이너리 1 데이터가 바이너리 0으로 반전될 수 있다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는 제2 DBI 신호들(DBI_H0, DBI_H2, DBI_H4, DBI_H6), 총 4개로 나타난다.
도 5a 및 도 5b에서 보듯이, 다중 DBI의 제3 DBI는 통상적인 DBI에 의한 32개 데이터 천이 개수를 4개로 줄이는 효과를 보여준다. 다중 DBI에 의해 데이터 천이 개수를 줄임으로써, 전력 소모, 크로스 토크, SSN, ISI 현상을 줄일 수 있다.
도 6a 및 도 6b는 도 3의 다중 DBI를 이용하여 데이터 천이를 최소화하는 예들을 보여주는 도면이다. 도 6a 및 도 6b는 DQ[63:0] 데이터 값이 0x1F1F 1F1F 1F1F 1F1F로 구성되는 경우에 대하여 설명된다. 도 6a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 6b는 도 6a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다.
도 6a를 참조하면, DQ[63:0] 데이터 값이 0x1F1F 1F1F 1F1F 1F1F 로 구성되는 경우, 8*8 데이터 비트 구조에서 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 40개이다. 도 2의 통상적인 DBI를 수행하면, 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI0 내지 DBI6 신호의 로직 하이에 응답하여 DQ0~DQ55 데이터 비트들은 반전될 수 있다. 이에 따라, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 32개로 나타난다.
도 6b를 참조하면, DQ[63:0] 데이터 값이 0x1F1F 1F1F 1F1F 1F1F 로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 40개이다. 도 3의 다중 DBI 중에서 제1 DBI를 수행하여 제1 DBI 신호(DBI_ALL)의 로직 하이에 응답하여 DQ0~DQ63 데이터 비트들 모두가 반전될 수 있다. 이 후, 제2 DBI에서 반전 동작은 수행되지 않고, 제2 DBI 신호(DBI_V0~DBI_V7)의 로직 로우에 응답하여 DQ0~DQ63 데이터 비트들은 비반전 상태이다. 이 후, 제3 DBI를 수행하여, 제3 DBI 신호(DBI_H0~DBI_H7) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. 제6, 제7, 그리고 제8 행들의 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI_H5, DBI_H6, 그리고 DBI_H7 신호의 로직 하이에 응답하여 제6, 제7, 그리고 제8 행들의 바이너리 1 데이터가 바이너리 0으로 반전될 수 있다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는 제1 DBI 신호(DBI_ALL)와 제3 DBI 신호들(DBI_H5, DBI_H6, DBI_H7), 총 4개로 나타난다.
도 6a 및 도 6b에서 보듯이, 다중 DBI의 제3 DBI는 통상적인 DBI에 의한 32개 데이터 천이 개수를 4개로 줄이는 효과를 보여준다. 다중 DBI에 의해 데이터 천이 개수를 줄임으로써, 전력 소모, 크로스 토크, SSN, ISI 현상을 줄일 수 있다.
도 7a 및 도 7b는 도 3의 다중 DBI를 이용하여 데이터 천이를 최소화하는 예들을 보여주는 도면이다. 도 7a 및 도 7b는 DQ[63:0] 데이터 값이 0x0000 00FF FFFF FFFF로 구성되는 경우에 대하여 설명된다. 도 7a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 7b는 도 7a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다.
도 7a를 참조하면, DQ[63:0] 데이터 값이 0x0000 00FF FFFF FFFF 로 구성되는 경우, 8*8 데이터 비트 구조에서 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 40개이다. 도 2의 통상적인 DBI를 수행하면, 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI0 내지 DBI4 신호의 로직 하이에 응답하여 DQ0~DQ39 데이터 비트들 모두 바이너리 0으로 반전될 수 있다. 이에 따라, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, DBI 신호들(DBI0 내지 DBI4), 총 5개로 나타난다.
도 7b를 참조하면, DQ[63:0] 데이터 값이 0x0000 00FF FFFF FFFF 로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 40개이다. 도 3의 다중 DBI 중에서 제1 DBI를 수행하여 제1 DBI 신호(DBI_ALL)의 로직 하이에 응답하여 DQ0~DQ63 데이터 비트들 모두가 반전될 수 있다. 이 후, 제2 DBI 를 수행하여, 제2 DBI 신호(DBI_H0~DBI_H7) 각각에 응답하여 해당 열의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. 제6, 제7, 그리고 제8 열들의 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI_V5, DBI_V6, 그리고 DBI_V7 신호의 로직 하이에 응답하여 제6, 제7, 그리고 제8 열들의 바이너리 1 데이터가 바이너리 0으로 반전될 수 있다. 이 후, 제3 DBI에서 반전 동작은 수행되지 않고, 제3 DBI 신호(DBI_H0~DBI_H7)의 로직 로우에 응답하여 DQ0~DQ63 데이터 비트들은 비반전 상태이다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는 제1 DBI 신호(DBI_ALL)와 제2 DBI 신호들(DBI_V5, DBI_V6, DBI_V7), 총 4개로 나타난다.
도 7a 및 도 7b에서 보듯이, 다중 DBI의 제3 DBI는 통상적인 DBI에 의한 5개 데이터 천이 개수를 4개로 줄이는 효과를 보여준다. 다중 DBI에 의해 데이터 천이 개수를 줄임으로써, 전력 소모, 크로스 토크, SSN, ISI 현상을 줄일 수 있다.
도 8은 도 4a 내지 도 7b에서 수행된 다중 DBI 방법을 설명하는 플로우챠트이다. 도 4a 내지 도 7b에서 설명된 8*8 데이터 비트 구조는, M*N (M=8m, N=8n. m, n은 자연수) 데이터 비트 구조의 멀티플-비트 와이드에 기초하여 예시적으로 제공된 것이다. 도 8은 M*N 데이터 비트 구조에 적용되는 다중 DBI를 설명한다.
도 8을 참조하면, S810 단계는, M*N 데이터 비트 구조에 포함된 모든 데이터 비트들에 대하여 데이터 반전 여부를 결정하는 제1 DBI를 수행할 수 있다. 제1 DBI에서, M*N 데이터 비트 구조에 포함된 데이터 비트들에서 예컨대, 바이너리 1의 개수가 M*N 비트 수의 반인 M*N/2개를 초과하는 경우, M*N 데이터 비트 구조에 포함된 모든 데이터 비트들을 반전시킬 수 있다. 바이너리 1의 개수가 M*N/2개를 초과하지 않으면, 제1 DBI에서 반전 동작은 수행되지 않는다.
S820 단계는, M*N 데이터 비트 구조에서 열 방향으로 M 비트씩 그룹핑되는 제1 내지 제N 열의 데이터 비트들에 대하여 해당 열의 M 데이터 비트들의 데이터 반전 여부를 결정하는 제2 DBI를 수행할 수 있다. 제2 DBI는 해당 열의 데이트 비트들에서 예컨대, 바이너리 1의 개수가 M 비트 수의 반인 M/2개를 초과하는 경우, 해당 열의 데이터 비트들을 반전시킬 수 있다. 바이너리 1의 개수가 M/2개를 초과하지 않으면, 제2 DBI에서 반전 동작은 수행되지 않는다.
S830 단계에서, M*N 데이터 비트 구조에서 행 방향으로 N 비트씩 그룹핑되는 제1 내지 제M 행의 데이터 비트들에 대하여 해당 행의 N 데이터 비트들의 데이터 반전 여부를 결정하는 제3 DBI를 수행할 수 있다. 제3 DBI는 해당 행의 데이트 비트들에서 예컨대, 바이너리 1의 개수가 N 비트 수의 반인 N/2개를 초과하는 경우, 해당 행의 데이터 비트들을 반전시킬 수 있다. 바이너리 1의 개수가 N/2개를 초과하지 않으면, 제3 DBI에서 반전 동작은 수행되지 않는다.
M*N 데이터 비트 구조의 멀티플-비트 와이드에 대하여 S810 내지 S830 단계들이 순차적으로 수행됨에 따라, 다중 DBI의 제1 DBI, 제2 DBI, 그리고 제3 DBI를 통하여 데이터 천이 개수를 최소화할 수 있다. 이에 따라, 다중 DBI를 수행하는 메모리 장치는 전력 소모, 크로스 토크, SSN, ISI 현상을 줄이는데 유익할 수 있다.
도 9a 내지 도 9c는 도 3의 다중 DBI를 이용하여 데이터 천이 개수를 최소화하는 예들을 보여주는 도면이다. 도 9a 내지 도 9c는 DQ[63:0] 데이터 값이 0x071F 1F1F 1F1F 1F1F로 구성되는 경우에 대하여 설명된다. 도 9a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 9b및 도 9c는 도 9a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다. 도 9b 및 도 9c는 다중 DIBI 의 제2 DBI와 제3 DBI의 동작 순서 변경에 따라 최소 데이터 천이 개수가 달라질 수 있는 예를 설명한다.
도 9a를 참조하면, DQ[63:0] 데이터 값이 0x071F 1F1F 1F1F 1F1F 로 구성되는 경우, 8*8 데이터 비트 구조에서 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 38개이다. 도 2의 통상적인 DBI를 수행하면, 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI0 내지 DBI6 신호의 로직 하이에 응답하여 제1 열 내지 제7 열의 데이터 비트들이 반전될 수 있다. 이에 따라, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 31개로 나타난다.
도 9b를 참조하면, DQ[63:0] 데이터 값이 0x071F 1F1F 1F1F 1F1F 로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 38개이다. 도 3의 다중 DBI 중에서 제1 DBI를 수행하여 제1 DBI 신호(DBI_ALL)의 로직 하이에 응답하여 DQ0~DQ63 데이터 비트들 모두가 반전될 수 있다. 이 후, 제2 DBI 를 수행하여, 제2 DBI 신호(DBI_V0~DBI_V7) 각각에 응답하여 해당 열의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. 제8 열의 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI_V7 신호의 로직 하이에 응답하여 제8 열의 데이터 비트들이 반전될 수 있다. 이 후, 제3 DBI를 수행하여, 제3 DBI 신호(DBI_H0~DBI_H7) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. 제6, 제7, 그리고 제8 행들의 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI_H5, DBI_H6, 그리고 DBI_H7 신호의 로직 하이에 응답하여 제6, 제7, 그리고 제8 행들의 데이터 비트들이 반전될 수 있다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 11개로 나타난다.
도 9c를 참조하면, DQ[63:0] 데이터 값이 0x071F 1F1F 1F1F 1F1F 로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 38개이다. 도 3의 다중 DBI 중에서 제1 DBI를 수행하여 제1 DBI 신호(DBI_ALL)의 로직 하이에 응답하여 DQ0~DQ63 데이터 비트들 모두가 반전될 수 있다. 이 후, 제3 DBI를 수행하여, 제3 DBI 신호(DBI_H0~DBI_H7) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. 제6, 제7, 그리고 제8 행들의 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI_H5, DBI_H6, 그리고 DBI_H7 신호의 로직 하이에 응답하여 제6, 제7, 그리고 제8 행들의 데이터 비트들이 반전될 수 있다. 이 후, 제2 DBI에서 반전 동작은 수행되지 않고, 제2 DBI 신호(DBI_V0~DBI_V7)의 로직 로우에 응답하여 DQ0~DQ63 데이터 비트들은 비반전 상태이다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 6개로 나타난다.
도 9a 내지 도 9c에서 보듯이, 다중 DBI는 통상적인 DBI에 의한 31개 데이터 천이 개수를 11개 또는 6개로 줄이는 효과를 보여준다. 그리고, 다중 DBI에서 제3 DBI가 제2 DBI보다 먼저 수행되면, 제2 DBI 후에 제3 DBI가 수행되는 것에 비해 데이터 천이 개수는 11개에서 6개로 더 줄어드는 효과를 얻을 수 있다. 다중 DBI에서 수행되는 제2 DBI와 제3 DBI의 동작 순서 변경함에 따라 데이터 천이 개수를 더욱 줄임으로써, 전력 소모, 크로스 토크, SSN, ISI 현상을 줄일 수 있다.
도 10a 내지 도 10c는 도 3의 다중 DBI를 이용하여 데이터 천이 개수를 최소화하는 예들을 보여주는 도면이다. 도 10a 내지 도 10c는 DQ[63:0] 데이터 값이 0x0000 007F FFFF FFFF로 구성되는 경우에 대하여 설명된다. 도 10a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 10b및 도 10c는 도 10a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다. 도 10b 및 도 10c는 다중 DIBI 의 제2 DBI와 제3 DBI의 동작 순서 변경에 따라 최소 데이터 천이 개수가 달라질 수 있는 예를 설명한다.
도 10a를 참조하면, DQ[63:0] 데이터 값이 0x0000 007F FFFF FFFF 로 구성되는 경우, 8*8 데이터 비트 구조에서 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 38개이다. 도 2의 통상적인 DBI를 수행하면, 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI0 내지 DBI4 신호의 로직 하이에 응답하여 제1 열 내지 제5 열의 데이터 비트들이 반전될 수 있다. 이에 따라, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 7개로 나타난다.
도 10b를 참조하면, DQ[63:0] 데이터 값이 0x0000 007F FFFF FFFF 로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 38개이다. 도 3의 다중 DBI 중에서 제1 DBI를 수행하여 제1 DBI 신호(DBI_ALL)의 로직 하이에 응답하여 DQ0~DQ63 데이터 비트들 모두가 반전될 수 있다. 이 후, 제2 DBI 를 수행하여, 제2 DBI 신호(DBI_V0~DBI_V7) 각각에 응답하여 해당 열의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. 제6, 제 7, 그리고 제8 열들의 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI_V5, DBI_V6, DBI_V7 신호의 로직 하이에 응답하여 제6, 제 7, 그리고 제8 열들의 데이터 비트들이 반전될 수 있다. 이 후, 제3 DBI는 수행되지 않고, 제3 DBI 신호(DBI_H0~DBI_H7)의 로직 로우에 응답하여 DQ0~DQ63 데이터 비트들은 비반전 상태이다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 6개로 나타난다.
도 10c를 참조하면, DQ[63:0] 데이터 값이 0x0000 007F FFFF FFFF 로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 38개이다. 도 3의 다중 DBI 중에서 제1 DBI를 수행하여 제1 DBI 신호(DBI_ALL)의 로직 하이에 응답하여 DQ0~DQ63 데이터 비트들 모두가 반전될 수 있다. 이 후, 제3 DBI를 수행하여, 제3 DBI 신호(DBI_H0~DBI_H7) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. 제8 행의 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI_H7 신호의 로직 하이에 응답하여 제8 행의 데이터 비트들이 반전될 수 있다. 이 후, 제2 DBI 를 수행하여, 제2 DBI 신호(DBI_V0~DBI_V7) 각각에 응답하여 해당 열의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. 제6, 제 7, 그리고 제8 열들의 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI_V5, DBI_V6, DBI_V7 신호의 로직 하이에 응답하여 제6, 제 7, 그리고 제8 열들의 데이터 비트들이 반전될 수 있다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 11개로 나타난다.
도 10a 내지 도 10c에서 보듯이, 다중 DBI는 통상적인 DBI에 의한 7개 데이터 천이 개수를 6개 또는 11개로 줄이는 효과를 보여준다. 그리고, 다중 DBI에서 제2 DBI가 제3 DBI보다 먼저 수행되면, 제3 DBI 후에 제2 DBI가 수행되는 것에 비해 데이터 천이 개수는 11개에서 6개로 더 줄어드는 효과를 얻을 수 있다. 다중 DBI에서 수행되는 제2 DBI와 제3 DBI의 동작 순서에 따라 데이터 천이 개수를 더욱 줄임으로써, 전력 소모, 크로스 토크, SSN, ISI 현상을 줄일 수 있다.
도 11은 도 9a 내지 도 10c에서 수행된 다중 DBI 방법을 설명하는 플로우챠트이다. 도 9a 내지 도 10c에서 설명된 8*8 데이터 비트 구조는, M*N (M=8m, N=8n. m, n은 자연수) 데이터 비트 구조의 멀티플-비트 와이드에 기초하여 예시적으로 제공된 것이다. 도 11은 M*N 데이터 비트 구조에 적용되는 다중 DBI 방법을 설명한다.
도 11을 참조하면, S1110 단계는, M*N 데이터 비트 구조에 포함된 모든 데이터 비트들에 대하여 데이터 반전 여부를 결정하는 제1 DBI를 수행한다. 제1 DBI에서, M*N 데이터 비트 구조에 포함된 데이터 비트들에서 예컨대, 바이너리 1의 개수가 M*N 비트 수의 반인 M*N/2개를 초과하는 경우, M*N 데이터 비트 구조에 포함된 모든 데이터 비트들을 반전시킬 수 있다. 바이너리 1의 개수가 M*N/2개를 초과하지 않으면, 제1 DBI에서 반전 동작은 수행되지 않는다.
S1120 단계는, 제1 DBI의 후속으로 제2 DBI를 수행할지 아니면 제3 DBI를 수행할지를 결정할 수 있다. S1120 단계는 반전 로직부(170, 도 1) 내 판단부(171, 도 1)에 의해 수행될 수 있다.
예시적으로, 판단부(171)는 도 9b 에서 설명된 제1 DBI 후속으로 제2 DBI 및 제3 DBI를 순차적으로 수행하였을 때의 최소 데이터 천이 개수와 도 9c에서 설명된 제1 DBI 후속으로 제3 DBI 및 제2 DBI를 순차적으로 수행하였을 때의 최소 데이터 천이 개수를 미리 계산할 수 있다. 판단부(171)는 계산 동작을 통하여 도 9b의 경우는 최소 데이터 천이 개수가 11개이고, 도 9c의 경우는 최소 데이터 천이 개수가 6개임을 계산하고, 가장 적은 데이터 천이 개수 6개를 얻을 수 있는 도 9c와 같이, 제1 DBI 후속으로 제3 DBI 를 먼저 수행하고 나서 제2 DBI를 수행하도록 결정할 수 있다.
판단부(171)는 도 10b 에서 설명된 제1 DBI 후속으로 제2 DBI 및 제3 DBI를 순차적으로 수행하였을 때의 최소 데이터 천이 개수와 도 10c에서 설명된 제1 DBI 후속으로 제3 DBI 및 제2 DBI를 순차적으로 수행하였을 때의 최소 데이터 천이 개수를 미리 계산할 수 있다. 판단부(171)는 계산 동작을 통하여 도 10b의 경우는 최소 데이터 천이 개수가 6개이고, 도 10c의 경우는 최소 데이터 천이 개수가 11개임을 계산하고, 가장 적은 데이터 천이 개수 6개를 얻을 수 있는 도 10b와 같이, 제1 DBI 후속으로 제2 DBI 를 먼저 수행하고 나서 제3 DBI를 수행하도록 결정할 수 있다.
S1120 단계의 판단 결과, 제1 DBI의 후속으로 제2 DBI가 결정되면 S1130 단계로 이동하고, 제3 DBI가 결정되면, S1150 단계로 이동한다.
S1130 단계는 S1110 단계의 후속으로 수행되고, M*N 데이터 비트 구조에서 열 방향으로 M 비트씩 그룹핑되는 제1 내지 제N 열의 데이터 비트들에 대하여 해당 열의 M 데이터 비트들의 데이터 반전 여부를 결정하는 제2 DBI를 수행할 수 있다. 제2 DBI는 해당 열의 데이트 비트들에서 예컨대, 바이너리 1의 개수가 M 비트 수의 반인 M/2개를 초과하는 경우, 해당 열의 데이터 비트들을 반전시킬 수 있다. 바이너리 1의 개수가 M/2개를 초과하지 않으면, 제2 DBI에서 반전 동작은 수행되지 않는다.
S1140 단계는 S1130 단계의 후속으로 수행되고, M*N 데이터 비트 구조에서 행 방향으로 N 비트씩 그룹핑되는 제1 내지 제M 행의 데이터 비트들에 대하여 해당 행의 N 데이터 비트들의 데이터 반전 여부를 결정하는 제3 DBI를 수행할 수 있다. 제3 DBI는 해당 행의 데이트 비트들에서 예컨대, 바이너리 1의 개수가 N 비트 수의 반인 N/2개를 초과하는 경우, 해당 행의 데이터 비트들을 반전시킬 수 있다. 바이너리 1의 개수가 N/2개를 초과하지 않으면, 제3 DBI에서 반전 동작은 수행되지 않는다.
S1150 단계는 S1110 단계의 후속으로 수행되고, M*N 데이터 비트 구조에서 행 방향으로 N 비트씩 그룹핑되는 제1 내지 제M 행의 데이터 비트들에 대하여 해당 행의 N 데이터 비트들의 데이터 반전 여부를 결정하는 제3 DBI를 수행할 수 있다. 제3 DBI는 해당 행의 데이트 비트들에서 예컨대, 바이너리 1의 개수가 N 비트 수의 반인 N/2개를 초과하는 경우, 해당 행의 데이터 비트들을 반전시킬 수 있다. 바이너리 1의 개수가 N/2개를 초과하지 않으면, 제3 DBI에서 반전 동작은 수행되지 않는다.
S1160 단계는 S1150 단계의 후속으로 수행되고, M*N 데이터 비트 구조에서 열 방향으로 M 비트씩 그룹핑되는 제1 내지 제N 열의 데이터 비트들에 대하여 해당 열의 M 데이터 비트들의 데이터 반전 여부를 결정하는 제2 DBI를 수행할 수 있다. 제2 DBI는 해당 열의 데이트 비트들에서 예컨대, 바이너리 1의 개수가 M 비트 수의 반인 M/2개를 초과하는 경우, 해당 열의 데이터 비트들을 반전시킬 수 있다. 바이너리 1의 개수가 M/2개를 초과하지 않으면, 제2 DBI에서 반전 동작은 수행되지 않는다.
도 11의 방법을 이용하여, M*N 데이터 비트 구조의 멀티플-비트 와이드에 대하여 다중 DBI의 제1 DBI를 수행한 후 제2 DBI와 제3 DBI의 동작 순서를 선택적으로 변경함에 따라, 데이터 천이 개수를 더욱 최소화할 수 있다. 이에 따라, 다중 DBI를 수행하는 메모리 장치는 전력 소모, 크로스 토크, SSN, ISI 현상을 줄이는데 유익할 수 있다.
도 12a 및 도 12b는 도 3의 다중 DBI를 이용하여 데이터 천이 개수를 최소화하는 예들을 보여주는 도면이다. 도 12a 및 도 12b는 DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AA로 구성되는 경우에 대하여 설명된다. 도 12a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 12b는 도 12a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다.
도 12a를 참조하면, DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AA 로 구성되는 경우, 8*8 데이터 비트 구조에서 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 32개이다. 도 2의 통상적인 DBI에서, 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하지 않기 때문에, DBI0 내지 DBI7 신호의 로직 로우에 응답하여 제1 열 내지 제7 열의 데이터 비트들은 비반전 상태이다. 이에 따라, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 32개로 나타난다.
도 12b를 참조하면, DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AA 로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 32개이다. 도 3의 다중 DBI 중에서 제1 DBI, 제2 DBI, 그리고 제3 DBI의 반전 동작이 수행되지 않는다. 제1 DBI 신호(DBI_ALL), 제2 DBI 신호(DBI_V0~DBI_V7), 그리고 제3 DBI 신호((DBI_H0~DBI_H7)의 로직 로우에 응답하여 DQ0~DQ63 데이터 비트들은 반전되지 않고 오리지널 상태 그대로이다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 32개로 나타난다.
도 12a 및 도 12b에서, 다중 DBI는 통상적인 DBI에 의한 데이터 천이 개수 32개와 동일하게 32개를 보여준다. 다중 DBI에서 데이터 천이 개수를 줄이기 위하여, 바이트 데이터 내 바이너리 1의 개수가 4 를 초과해야 하는 반전 조건을 무시하고 강제적으로 제2 DBI를 수행하는 방법이 제안될 수 있다. 강제 제2 DBI(Forced Second DBI)를 이용하는 다중 DBI가 도 13a 내지 도 15b에서 설명된다.
도 13a 및 도 13b는 도 3의 다중 DBI를 이용하여 데이터 천이를 최소화하는 예들을 보여주는 도면이다. 도 13a 및 도 13b는 DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AA 로 구성되는 경우에 대하여 설명된다. 도 13a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 13b는 도 13a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다.
도 13a를 참조하면, 도 12a와 동일하게, DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AA 로 구성되는 경우, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 32개로 나타난다.
도 13b를 참조하면, DQ[63:0] 데이터 값이 0x5555 5555 5555 5555로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 32개이다. 도 3의 다중 DBI 중에서 제1 DBI의 반전 동작은 수행되지 않는다. 이 후, 강제 제2 DBI를 수행하여, 제2 DBI 신호(DBI_V0~DBI_V7) 각각에 응답하여 해당 열의 데이터 반전을 강제적으로 수행할 수 있다.
강제 제2 DBI는 해당 열의 강제 반전에 의해 제1 행 내지 제8행들의 바이트 데이터가 바이너리 1로 채워지도록 강제할 수 있다. 강제 제2 DBI는 제1, 제3, 제5, 그리고 제7 열의 바이너리 1의 개수가 4를 초과하지 않더라도 제2 DBI가 수행되도록 강제할 수 있다. 강제 제2 DBI는 바이너리 1의 개수가 4 이하인 경우에 제2 DBI를 수행하여, 제1 행 내지 제8행들의 바이트 데이터가 바이너리 1로 채워지도록 할 수 있다. 강제 제2 DBI는 DBI_V0, DBI_V2, DBI_V4, 그리고 DBI_V6 신호의 로직 하이에 응답하여 제1, 제3, 제5, 그리고 제7 열들의 데이터가 반전될 수 있다.
이 후, 제3 DBI를 수행하여, 제3 DBI 신호(DBI_H0~DBI_H7) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. DBI_H0, DBI_H2, DBI_H4, 그리고 DBI_H6 신호의 로직 하이에 응답하여 제1, 제3, 제5, 그리고 제7 행들의 바이너리 1 데이터가 바이너리 0으로 반전될 수 있다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는 제1 DBI 신호들(DBI_V0, DBI_V2, DBI_V4, DBI_V6)과 제2 DBI 신호들(DBI_H0, DBI_H2, DBI_H4, DBI_H6), 총 8개로 나타난다.
도 13a 및 도 13b에서 보듯이, 다중 DBI는 통상적인 DBI에 의한 32개 데이터 천이 개수를 8개로 줄이는 효과를 보여준다. 다중 DBI에서 수행되는 강제 제2 DBI에 의해 데이터 천이 개수를 줄임으로써, 전력 소모, 크로스 토크, SSN, ISI 현상을 줄일 수 있다.
도 14a 및 도 14b는 도 3의 다중 DBI를 이용하여 데이터 천이를 최소화하는 예들을 보여주는 도면이다. 도 14a 및 도 14b는 DQ[63:0] 데이터 값이 0xF0F0 F0F0 F0F0 F0F0 로 구성되는 경우에 대하여 설명된다. 도 14a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 14b는 도 14a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다.
도 14a를 참조하면, DQ[63:0] 데이터 값이 0xF0F0 F0F0 F0F0 F0F0 로 구성되는 경우, 8*8 데이터 비트 구조에서 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 32개이다. 도 2의 통상적인 DBI에서, 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하지 않기 때문에, DBI0 내지 DBI7 신호의 로직 로우에 응답하여 제1 열 내지 제7 열의 데이터 비트들은 비반전 상태이다. 이에 따라, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 32개로 나타난다.
도 14b를 참조하면, DQ[63:0] 데이터 값이 0xF0F0 F0F0 F0F0 F0F0 로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 32개이다. 도 3의 다중 DBI 중에서 제1 DBI의 반전 동작은 수행되지 않는다. 이 후, 강제 제2 DBI를 수행하여, 제2 DBI 신호(DBI_V0~DBI_V7) 각각에 응답하여 해당 열의 데이터 반전을 강제적으로 수행할 수 있다. DBI_V4, DBI_V5, DBI_V6, 그리고 DBI_V7 신호의 로직 하이에 응답하여 제5, 제6, 제7, 그리고 제8 열들의 데이터가 반전될 수 있다. 이 후, 제3 DBI를 수행하여, 제3 DBI 신호(DBI_H0~DBI_H7) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. DBI_H0, DBI_H1, DBI_H2, 그리고 DBI_H3 신호의 로직 하이에 응답하여 제1, 제2, 제3, 그리고 제4 행들의 바이너리 1 데이터가 바이너리 0으로 반전될 수 있다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는 제1 DBI 신호들(DBI_V4, DBI_V5, DBI_V6, DBI_V7)과 제2 DBI 신호들(DBI_H0, DBI_H1, DBI_H2, DBI_H3), 총 8개로 나타난다.
도 14a 및 도 14b에서 보듯이, 다중 DBI는 통상적인 DBI에 의한 32개 데이터 천이 개수를 8개로 줄이는 효과를 보여준다. 다중 DBI에서 수행되는 강제 제2 DBI에 의해 데이터 천이 개수를 줄임으로써, 전력 소모, 크로스 토크, SSN, ISI 현상을 줄일 수 있다.
도 15a 및 도 15b는 도 3의 다중 DBI를 이용하여 데이터 천이를 최소화하는 예들을 보여주는 도면이다. 도 15a 및 도 15b는 DQ[63:0] 데이터 값이 0xF0F0 F0F0 F0F0 F0F0 로 구성되는 경우에 대하여 설명된다. 도 15a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 15b는 도 15a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다.
도 15a를 참조하면, 도 14a 와 동일하게 DQ[63:0] 데이터 값이 0xF0F0 F0F0 F0F0 F0F0 로 구성되는 경우, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 32개로 나타난다.
도 15b를 참조하면, DQ[63:0] 데이터 값이 0xF0F0 F0F0 F0F0 F0F0 로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 32개이다. 도 3의 다중 DBI 중에서 제1 DBI의 반전 동작은 수행되지 않는다. 이 후, 강제 제3 DBI를 수행하여, 제3 DBI 신호(DBI_V0~DBI_V7) 각각에 응답하여 해당 행의 데이터 반전을 강제적으로 수행할 수 있다.
강제 제3 DBI는 해당 행의 강제 반전에 의해 제1 열 내지 제8열들의 바이트 데이터가 바이너리 1로 채워지도록 강제할 수 있다. 강제 제3 DBI는 제1 내지 제4 행들의 바이너리 1의 개수가 4를 초과하지 않더라도 제3 DBI가 수행되도록 강제할 수 있다. 강제 제3 DBI는 바이너리 1의 개수가 4 이하인 경우에 제3 DBI를 수행하여, 제1 열 내지 제8열들의 바이트 데이터가 바이너리 1로 채워지도록 할 수 있다. 강제 제3 DBI는 DBI_H0, DBI_H1, DBI_H2, 그리고 DBI_H3 신호의 로직 하이에 응답하여 제1, 제2, 제3, 그리고 제4 행들 데이터가 반전될 수 있다.
이 후, 제2 DBI를 수행하여, 제2 DBI 신호(DBI_V0~DBI_V7) 각각에 응답하여 해당 열의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. DBI_V4, DBI_V5, DBI_V6, 그리고 DBI_V7 신호의 로직 하이에 응답하여 제5, 제6, 제7, 그리고 제8 열들의 바이너리 1 데이터가 바이너리 0으로 반전될 수 있다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는 제3 DBI 신호들(DBI_H0, DBI_H1, DBI_H2, DBI_H3)과 제2 DBI 신호들(DBI_V4, DBI_V5, DBI_V6, DBI_V7), 총 8개로 나타난다.
도 15a 및 도 15b에서 보듯이, 다중 DBI는 통상적인 DBI에 의한 32개 데이터 천이 개수를 8개로 줄이는 효과를 보여준다. 다중 DBI에서 수행되는 강제 제2 DBI에 의해 데이터 천이 개수를 줄임으로써, 전력 소모, 크로스 토크, SSN, ISI 현상을 줄일 수 있다.
도 16은 도 13a 내지 도 15b에서 수행된 다중 DBI 방법을 설명하는 플로우챠트이다. 도 13a 내지 도 15b에서 설명된 8*8 데이터 비트 구조는, M*N (M=8m, N=8n. m, n은 자연수) 데이터 비트 구조의 멀티플-비트 와이드에 기초하여 예시적으로 제공된 것이다. 도 16은 M*N 데이터 비트 구조에 적용되는 다중 DBI 방법을 설명한다.
도 16을 참조하면, S1610 단계는, M*N 데이터 비트 구조에 포함된 모든 데이터 비트들에 대하여 데이터 반전 여부를 결정하는 제1 DBI를 수행할 수 있다. 제1 DBI에서, M*N 데이터 비트 구조에 포함된 데이터 비트들에서 예컨대, 바이너리 1의 개수가 M*N 비트 수의 반인 M*N/2개를 초과하는 경우, M*N 데이터 비트 구조에 포함된 모든 데이터 비트들을 반전시킬 수 있다. 바이너리 1의 개수가 M*N/2개를 초과하지 않으면, 제1 DBI에서 반전 동작은 수행되지 않는다.
S1620 단계는, 제1 DBI의 후속으로 강제 제2 DBI를 수행할지 아니면 강제 제3 DBI를 수행할지를 결정할 수 있다. S1120 단계는 반전 로직부(170, 도 1) 내 판단부(171, 도 1)에 의해 수행될 수 있다.
S1620 단계의 판단 결과, 제1 DBI의 후속으로 강제 제2 DBI가 결정되면 S1630 단계로 이동하고, 강제 제3 DBI가 결정되면, S1650 단계로 이동한다.
S1630 단계는 S1610 단계의 후속으로 수행되고, M*N 데이터 비트 구조에서 열 방향으로 M 비트씩 그룹핑되는 제1 내지 제N 열의 데이터 비트들에 대하여 해당 열의 M 데이터 비트들의 데이터 반전 여부를 결정하는 강제 제2 DBI를 수행할 수 있다. 강제 제2 DBI는 해당 열의 데이트 비트들에서 예컨대, 바이너리 1의 개수가 M 비트 수의 반인 M/2개 이하인 경우 제2 DBI를 수행하여, 제1 행 내지 제8행들의 바이트 데이터가 바이너리 1로 채워지도록 할 수 있다.
S1640 단계는 S1630 단계의 후속으로 수행되고, M*N 데이터 비트 구조에서 행 방향으로 N 비트씩 그룹핑되는 제1 내지 제M 행의 데이터 비트들에 대하여 해당 행의 N 데이터 비트들의 데이터 반전 여부를 결정하는 제3 DBI를 수행할 수 있다. 제3 DBI는 이전에 수행된 강제 제2 DBI에 의해 바이너리 1로 채워진 제1 행 내지 제8행들을 반전시킴으로써, 데이터 천이 개수를 크게 줄일 수 있다.
S1650 단계는 S1610 단계의 후속으로 수행되고, M*N 데이터 비트 구조에서 행 방향으로 N 비트씩 그룹핑되는 제1 내지 제M 행의 데이터 비트들에 대하여 해당 행의 N 데이터 비트들의 데이터 반전 여부를 결정하는 강제 제3 DBI를 수행할 수 있다. 강제 제3 DBI는 해당 행의 데이트 비트들에서 예컨대, 바이너리 1의 개수가 N 비트 수의 반인 N/2개 이하인 경우 제3 DBI를 수행하여, 제1 열 내지 제8열들의 바이트 데이터가 바이너리 1로 채워지도록 할 수 있다.
S1660 단계는 S1650 단계의 후속으로 수행되고, M*N 데이터 비트 구조에서 열 방향으로 M 비트씩 그룹핑되는 제1 내지 제N 열의 데이터 비트들에 대하여 해당 열의 M 데이터 비트들의 데이터 반전 여부를 결정하는 제2 DBI를 수행할 수 있다. 제2 DBI는 이전에 수행된 강제 제3 DBI에 의해 바이너리 1로 채워진 제1 열 내지 제8열들을 반전시킴으로써, 데이터 천이 개수를 크게 줄일 수 있다.
M*N 데이터 비트 구조의 멀티플-비트 와이드에 대하여 다중 DBI의 제1 DBI를 수행한 후 강제 제2 DBI와 강제 제3 DBI의 동작 순서를 선택적으로 변경함에 따라, 데이터 천이 개수를 더욱 최소화할 수 있다. 이에 따라, 다중 DBI를 수행하는 메모리 장치는 전력 소모, 크로스 토크, SSN, ISI 현상을 줄이는데 유익할 수 있다.
도 17a 및 도 17b는 도 3의 다중 DBI를 이용하여 데이터 천이 개수를 최소화하는 예들을 보여주는 도면이다. 도 17a 및 도 17b는 DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AB로 구성되는 경우에 대하여 설명된다. 도 17a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 17b는 도 17a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다.
도 17a를 참조하면, DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AB으로 구성되는 경우, 8*8 데이터 비트 구조에서 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 32개이다. 도 2의 통상적인 DBI에서, 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI7 신호의 로직 하이에 응답하여 제8 열의 데이터 비트들이 반전될 수 있다. 이에 따라, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 32개로 나타난다.
도 17b를 참조하면, DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AB로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 33개이다. 도 3의 다중 DBI 중에서 제1 DBI를 수행하여 제1 DBI 신호(DBI_ALL)의 로직 하이에 응답하여 DQ0~DQ63 데이터 비트들 모두가 반전될 수 있다. 이 때, 제1 DBI는 바이너리 1의 개수가 32 보다 큰 33 일 때 수행되도록 설정될 수 있다. 이 후, 제2 DBI, 그리고 제3 DBI의 반전 동작이 수행되지 않는다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 32개로 나타난다.
도 18a 및 도 18b는 도 3의 다중 DBI를 이용하여 데이터 천이 개수를 최소화하는 예들을 보여주는 도면이다. 도 18a 및 도 18b는 DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AB로 구성되는 경우에 대하여 설명된다. 도 18a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 18b는 도 18a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다.
도 18a를 참조하면, 도 17a와 동일하게, DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AB로 구성되는 경우, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 32개로 나타난다.
도 18b를 참조하면, DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AB로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 33개이다. 도 3의 다중 DBI 중에서 제1 DBI는 바이너리 1의 개수가 32 보다 큰 33 이상일 때 수행되도록 설정될 수 있다. 제1 DBI를 수행하여 제1 DBI 신호(DBI_ALL)의 로직 하이에 응답하여 DQ0~DQ63 데이터 비트들 모두가 반전될 수 있다. 이 후, 강제 제2 DBI를 수행하여, 제2 DBI 신호(DBI_V0~DBI_V7) 각각에 응답하여 해당 열의 데이터 반전을 강제적으로 수행할 수 있다. DBI_V0, DBI_V2, DBI_V4, 그리고 DBI_V6 신호의 로직 하이에 응답하여 제1, 제3, 제5, 그리고 제7 열들의 데이터가 반전될 수 있다. 이 후, 제3 DBI를 수행하여, 제3 DBI 신호(DBI_H0~DBI_H7) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. DBI_H1, DBI_H3, DBI_H5, 그리고 DBI_H7 신호의 로직 하이에 응답하여 제2, 제4, 제6, 그리고 제8 행들의 바이너리 1 데이터가 바이너리 0으로 반전될 수 있다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는 제1 DBI 신호들(DBI_V0, DBI_V2, DBI_V4, DBI_V6)과 제2 DBI 신호들(DBI_H1, DBI_H3, DBI_H5, DBI_H7)을 포함하여, 총10개로 나타난다.
도 19a 및 도 19b는 도 3의 다중 DBI를 이용하여 데이터 천이 개수를 최소화하는 예들을 보여주는 도면이다. 도 19a 및 도 19b는 DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AB로 구성되는 경우에 대하여 설명된다. 도 19a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 19b는 도 19a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다.
도 19a를 참조하면, DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AB로 구성되는 경우, 8*8 데이터 비트 구조에서 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 33개이다. 도 2의 통상적인 DBI에서, 바이트 데이터 내 바이너리 1의 개수가 4 를 초과하기 때문에, DBI7 신호의 로직 하이에 응답하여 제8 열의 데이터 비트들이 반전될 수 있다. 이에 따라, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 32개로 나타난다.
도 19b를 참조하면, DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AB로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 33개이다. 도 3의 다중 DBI 중에서 제1 DBI는 바이너리 1의 개수가 32 보다 큰 34 이상 일 때 수행되도록 설정될 수 있다. 제1 DBI의 반전 동작은 수행되지 않는다. 이 후, 제2 DBI를 수행하여, 제2 DBI 신호(DBI_V0~DBI_V7) 각각에 응답하여 해당 열의 데이터 반전을 수행할 수 있다. DBI_V7 신호의 로직 하이에 응답하여 제8 열의 데이터가 반전될 수 있다. 이 후, 제3 DBI를 수행하여, 제3 DBI 신호(DBI_H0~DBI_H7) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. DBI_H1, DBI_H3, 그리고 DBI_H5 신호의 로직 하이에 응답하여 제2, 제4, 그리고 제6 행들의 데이터가 반전될 수 있다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 29개로 나타난다.
도 20a 및 도 20b는 도 3의 다중 DBI를 이용하여 데이터 천이 개수를 최소화하는 예들을 보여주는 도면이다. 도 20a 및 도 20b는 DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AB로 구성되는 경우에 대하여 설명된다. 도 20a는 도 2의 통상적인 DBI를 수행한 결과를 보여주고, 도 20b는 도 18a의 비교 예로서 도 3의 다중 DBI를 수행한 결과를 보여준다.
도 20a를 참조하면, 도 19a와 동일하게, DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AB으로 구성되는 경우, 통상적인 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는, 총 32개로 나타난다.
도 20b를 참조하면, DQ[63:0] 데이터 값이 0x55AA 55AA 55AA 55AB로 구성되는 경우, 8*8 데이터 비트 구조의 DQ0~DQ63 데이터 비트들의 바이너리 1의 개수는 33개이다. 도 3의 다중 DBI 중에서 제1 DBI는 바이너리 1의 개수가 32 보다 큰 34 이상 일 때 수행되도록 설정되어, 제1 DBI의 반전 동작은 수행되지 않는다. 이 후, 강제 제2 DBI를 수행하여, 제2 DBI 신호(DBI_V0~DBI_V7) 각각에 응답하여 해당 열의 데이터 반전을 강제적으로 수행할 수 있다. DBI_V1, DBI_V3, DBI_V5, 그리고 DBI_V7 신호의 로직 하이에 응답하여 제2, 제4, 제6, 그리고 제8 열들의 데이터가 반전될 수 있다. 이 후, 제3 DBI를 수행하여, 제3 DBI 신호(DBI_H0~DBI_H7) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. DBI_H1, DBI_H3, DBI_H5, 그리고 DBI_H7 신호의 로직 하이에 응답하여 제2, 제4, 제6, 그리고 제8 행들의 바이너리 1 데이터가 바이너리 0으로 반전될 수 있다. 이에 따라, 다중 DBI를 수행한 결과로 얻어지는 바이너리 1의 개수는 제1 DBI 신호들(DBI_V1, DBI_V3, DBI_V5, DBI_V7)과 제2 DBI 신호들(DBI_H1, DBI_H3, DBI_H5, DBI_H7)을 포함하여, 총 9개로 나타난다.
도17a 내지 도 20b에서 보듯이, 다중 DBI는 통상적인 DBI에 의한 32개 데이터 천이 개수를 9개로 줄이는 효과를 보여준다. 다중 DBI에서 수행되는 제1 DBI의 수행 조건 변화와 강제 제2 DBI에 의해 데이터 천이 개수를 줄임으로써, 전력 소모, 크로스 토크, SSN, ISI 현상을 줄일 수 있다.
도 21a 및 도 21b는 본 발명의 다중 DBI를 적용할 수 있는 데이터 비트 구조를 설명하는 도면들이다. 도 21a 및 도 21b는 4*4 데이터 비트 구조와 다중 DBI에 이용되는 제1 내지 제3 DBI 신호들을 보여준다. 본원 발명의 개념의 이해를 위하여 도 21a및 도 21b에 표시된 X0~X3 라인들과 Y0~Y3 라인들은 4개 비트들의 조합으로 구성되는 데이터 비트들을 예시적으로 표시한다.
도 21a를 참조하면, 다중 DBI의 제1 DBI에서 이용되는, 4*4 데이터 비트 구조에 포함된 DQ0~DQ15 데이터 비트들 모두에 대하여 데이터 반전 여부를 결정하는 제1 DBI신호(DBI_ALL)가 포함될 수 있다.
4*4 데이터 비트 구조에서, 4개 비트들의 조합으로 구성되는 데이터 비트들에 대하여 데이터 반전 여부를 결정하는 제2 DBI 신호(DBI_V0~DBI_V3)가 포함될 수 있다. DBI_V0 신호는 X0 라인에 상관되는 DQ0, DQ5, DQ10, DQ15 데이터 비트들의 반전 여부를 나타내고, DBI_V1 신호는 X1 라인에 상관되는 DQ1, DQ6, DQ11, DQ12 데이터 비트들의 반전 여부를 나타내고, DBI_V2 신호는 X2 라인에 상관되는 DQ2, DQ7, DQ8, DQ13 데이터 비트들의 반전 여부를 나타내고, DBI_V3 신호는 X3 라인에 상관되는 DQ3, DQ4, DQ9, DQ14 데이터 비트들의 반전 여부를 나타낼 수 있다.
그리고, 제3 DBI는, 4*4 데이터 비트 구조에서 제3 DBI 신호(DBI_H0~DBI_H3) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. DBI_H0 신호는 제1 행의 DQ0, DQ4, DQ8, DQ12 데이터 비트들의 반전 여부를 나타내고, DBI_H1 신호는 제2 행의 DQ1, DQ5, DQ9, DQ13 데이터 비트들의 반전 여부를 나타내고, DBI_H2 신호는 제3 행의 DQ2, DQ6, DQ10, DQ14 데이터 비트들의 반전 여부를 나타내고, DBI_H3 신호는 제4 행의 DQ3, DQ7, DQ11, DQ15 데이터 비트들의 반전 여부를 나타낼 수 있다.
도 21b를 참조하면, 다중 DBI의 제1 DBI에서 이용되는, 4*4 데이터 비트 구조에 포함된 DQ0~DQ15 데이터 비트들 모두에 대하여 데이터 반전 여부를 결정하는 제1 DBI신호(DBI_ALL)가 포함될 수 있다.
4*4 데이터 비트 구조에서, 4개 비트들의 조합으로 구성되는 데이터 비트들에 대하여 데이터 반전 여부를 결정하는 제2 DBI 신호(DBI_V0~DBI_V3)가 포함될 수 있다. DBI_V0 신호는 Y0 라인에 상관되는 DQ3, DQ6, DQ9, DQ12 데이터 비트들의 반전 여부를 나타내고, DBI_V1 신호는 Y1 라인에 상관되는 DQ2, DQ5, DQ8, DQ15 데이터 비트들의 반전 여부를 나타내고, DBI_V2 신호는 Y2 라인에 상관되는 DQ1, DQ4, DQ11, DQ14 데이터 비트들의 반전 여부를 나타내고, DBI_V3 신호는 Y3 라인에 상관되는 DQ0, DQ7, DQ10, DQ13 데이터 비트들의 반전 여부를 나타낼 수 있다.
그리고, 제3 DBI는, 4*4 데이터 비트 구조에서 제3 DBI 신호(DBI_H0~DBI_H3) 각각에 응답하여 해당 행의 바이트 데이터의 데이터 반전 여부를 수행할 수 있다. DBI_H0 신호는 제1 행의 DQ0, DQ4, DQ8, DQ12 데이터 비트들의 반전 여부를 나타내고, DBI_H1 신호는 제2 행의 DQ1, DQ5, DQ9, DQ13 데이터 비트들의 반전 여부를 나타내고, DBI_H2 신호는 제3 행의 DQ2, DQ6, DQ10, DQ14 데이터 비트들의 반전 여부를 나타내고, DBI_H3 신호는 제4 행의 DQ3, DQ7, DQ11, DQ15 데이터 비트들의 반전 여부를 나타낼 수 있다.
도 21a 및 도 21b에서 설명된 4*4 데이터 비트 구조의 멀티플-비트 와이드에 대하여, 4개 비트들의 조합으로 구성되는 데이터 비트들에 대하여 다중 DBI의 제1 DBI, 제2 DBI, 그리고 제3 DBI를 수행하여 데이터 천이 개수를 최소화할 수 있다. 실시예에 따라, 4*4 데이터 비트 구조의 X0 내지 X3 라인들 또는 Y0 내지 Y3 라인들과는 다르게 4개 비트들을 조합하고, 조합된 4 개 비트들에 대한 제2 DBI 및/또는 제3 DBI를 포함하는 다중 DBI를 수행할 수 있다.
도 22는 본 발명의 다중 DBI를 작용할 수 있는 데이터 비트 구조를 설명하는 도면이다.
도 22를 참조하면, 다중 DBI의 제1 DBI에서 이용되는, 8*16 데이터 비트 구조에 포함된DQ0~DQ127 데이터 비트들 모두에 대하여 데이터 반전 여부를 결정하는 제1 DBI신호(DBI_ALL)가 포함될 수 있다.
8*16 데이터 비트 구조를 열 방향으로 보면, 제1 열에 DQ0~DQ7 데이터 비트들이, 제2 열에 DQ8~DQ15 데이터 비트들이, 제3 열에 DQ16~DQ23 데이터 비트들이, 제4 열에 DQ24~DQ31 데이터 비트들이, 제5 열에 DQ32~DQ39 데이터 비트들이, 제6 열에 DQ40~DQ47 데이터 비트들이, 제7 열에 DQ48~DQ55 데이터 비트들이, 제8 열에 DQ56~DQ63 데이터 비트들이, 제9 열에 DQ64~DQ71 데이터 비트들이, 제10 열에 DQ72~DQ79 데이터 비트들이, 제11 열에 DQ80~DQ87 데이터 비트들이, 제12 열에 DQ88~DQ95 데이터 비트들이, 제13 열에 DQ96~DQ103 데이터 비트들이, 제14 열에 DQ104~DQ111 데이터 비트들이, 제15 열에 DQ112~DQ119 데이터 비트들이, 제16 열에 DQ120~DQ127 데이터 비트들이 포함될 수 있다. 그리고, 제1 열 내지 제16 열의 바이트 데이터에 대하여, 해당 열의 데이터 반전 여부를 나타내는 제2 DBI 신호들(DBI_V0~DBI_V15)이 포함될 수 있다.
8*16 데이터 비트 구조에서, 16개 비트들의 조합으로 구성되는 데이터 비트들에 대하여 데이터 반전 여부를 결정하는 제3 DBI 신호들(DBI_H0~DBI_H7)이 포함될 수 있다. 본원 발명의 개념의 이해를 위하여 Z0, Z1 라인들은 128 개 DQ 데이터 비트들 중에서 16개 비트들의 조합으로 구성되는 데이터 비트들을 예시적으로 표시한다. DBI_H0 신호는 Z0 라인에 상관되는 DQ0, DQ9, DQ18, DQ27, DQ36, DQ45, DQ54, DQ63, DQ64, DQ73, DQ82, DQ91, DQ100, DQ109, DQ118, DQ127 데이터 비트들의 반전 여부를 나타낼 수 있다. DBI_H1 신호는 Z1 라인에 상관되는 DQ1, DQ10, DQ19, DQ28, DQ37, DQ46, DQ55, DQ56, DQ65, DQ74, DQ83, DQ92, DQ101, DQ110, DQ119, DQ120 데이터 비트들의 반전 여부를 나타낼 수 있다. 이와 같은 방법으로, DBI_H2 내지 DBI_H7 신호 각각은 16개 비트들의 조합으로 구성되는 데이터 비트들의 반전 여부를 나타낼 수 있다.
도 22에 설명된 8*16 데이터 비트 구조의 멀티플-비트 와이드에 대하여 16개 비트들의 조합으로 구성되는 데이터 비트들에 대하여 다중 DBI의 제1 DBI, 제2 DBI, 그리고 제3 DBI를 수행하여 데이터 천이 개수를 최소화할 수 있다. 실시예에 따라, 8*16 데이터 비트 구조의 Z0 및 Z1 라인들과는 다르게 16개 비트들을 조합하고, 조합된 16 개 비트들에 대한 제3 DBI를 포함하는 다중 DBI를 수행할 수 있다.
도 23a 및 도 23b는 본 발명의 실시예에 따른 다중 DBI의 효과를 보여주는 도면이다.
도 23a에 도시된 4*4 데이터 비트 구조에 포함된 데이터 비트들에 대하여 다중 DBI를 수행할 수 있다. 제1 DBI신호(DBI_ALL)에 기초하여 DQ0~DQ15 데이터 비트들 모두에 대하여 데이터 반전 여부를 수행하는 제1 DBI를 수행하고, 제2 DBI 신호들(DBI_V0~DBI_V3)에 기초하여 제1 열의 DQ0~DQ3 데이터 비트들, 제2 열의 DQ4~DQ7 데이터 비트들, 제3 열의 DQ8~DQ11 데이터 비트들, 그리고 제4 열들의 DQ12~DQ15 데이터 비트들에 대하여 데이터 반전 여부를 수행하는 제2 DBI를 수행하고, 제3 DBI 신호들(DBI_H0~DBI_H3)에 기초하여 제1 행의 DQ0, DQ4, DQ8, DQ12 데이터 비트들, 제2 행의 DQ1, DQ5, DQ9, DQ13 데이터 비트들, 제3 행의 DQ2, DQ6, DQ10, DQ14 데이터 비트들, 그리고 제4 행의 DQ3, DQ7, DQ11, DQ15 데이터 비트들에 대하여 데이터 반전 여부를 수행하는 제3 DBI를 수행할 수 있다.
도 23b를 참조하면, 도 23a의 4*4 데이터 비트 구조의 16개 데이터 비트들에 대하여 시뮬레이션한 실험적 결과로서, 오리지널 데이터의 데이터 천이 개수, 도 2의 통상적인 DBI에서의 데이터 천이 개수, 그리고 도 3의 다중 DBI에서의 데이터 천이 개수를 비교해볼 수 있다. 바이너리 1의 개수가 전체 16 비트의 절반인 8개를 초과하는 경우, 통상적인 DBI와 다중 DBI의 데이터 천이 회수가 낮게 나타난다. 그런데, 전체 16 비트의 절반인 8개일 때의 다중 DBI (M 지점)의 데이터 천이 회수는 전체 16 비트의 절반을 초과할 때의 그것과 비슷하게 낮게 나타나는데 반하여, 통상적인 DBI (C지점)의 데이터 천이 회수는 다중 DBI (M 지점) 보다 상대적으로 높게 나타나는 것을 볼 수 있다. 이러한 실험적 결과로, 다중 DBI는 통상적인 DBI 보다 데이터 천이 회수를 크게 줄이는 효과가 있음을 알 수 있다.
본 개시는 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (20)

  1. 다중 DBI를 수행하는 메모리 장치에 있어서,
    M*N (M, N은 자연수)개의 데이터 비트들로 구성되는 멀티플-비트 와이드를 전송하는 채널; 및
    상기 M*N 개의 데이터 비트들의 제1 값에 기초하여, 상기 M*N 개의 데이터 비트들을 그룹핑한 제1 데이터 반전 그룹에 대하여 제1 데이터 버스 반전(DBI) 동작을 선택적으로 수행하고, 상기 M*N 개의 데이터 비트들 중 M 개 비트들을 그룹핑한 제2 데이터 반전 그룹들에 대하여 제2 DBI 동작을 선택적으로 수행하는 반전 로직부를 포함하는 메모리 장치.
  2. 제1항에 있어서, 상기 반전 로직부는,
    상기 M*N 개의 데이터 비트들 중 N 개 비트들을 그룹핑한 제3 데이터 반전 그룹들에 대하여 제3 DBI 동작을 선택적으로 수행하는 것을 특징으로 하는 메모리 장치.
  3. 제1항에 있어서,
    상기 제1 값은 상기 M*N 개의 데이터 비트들 각각의 데이터 천이 상태, 바이너리 1 또는 바이너리 0인 것을 특징으로 하는 메모리 장치.
  4. 제2항에 있어서, 상기 반전 로직부는,
    상기 제1 DBI 동작 후에 수행될 상기 제2 DBI 동작과 상기 제3 DBI 동작의 순서를 결정하고, 상기 결정된 순서에 따라 상기 다중 DBI 를 수행하는 것을 특징으로 하는 메모리 장치.
  5. 제1항에 있어서, 상기 반전 로직부는,
    제1 DBI 신호를 이용하여, 상기 M*N 개의 데이터 비트들 중 제1 값의 바이너리 개수가 M*N/2개를 초과할 때 상기 제1 데이터 반전 그룹의 데이터 비트들을 반전시키는 것을 특징으로 하는 메모리 장치.
  6. 제1항에 있어서, 상기 반전 로직부는,
    제1 DBI 신호를 이용하여, 상기 M*N 개의 데이터 비트들 중 제1 값의 바이너리 개수가 M*N/2개 보다 큰 값을 초과할 때 상기 제1 데이터 반전 그룹의 데이터 비트들을 반전시키는 것을 특징으로 하는 메모리 장치.
  7. 제1항에 있어서, 상기 반전 로직부는,
    상기 제2 데이터 반전 그룹들 각각에 대응되는 제2 DBI 신호들을 이용하여, 상기 M 개 비트들 중 제1 값의 바이너리 개수가 M/2개를 초과하는 제2 데이터 반전 그룹에 해당되는 상기 제2 데이터 반전 그룹들의 데이터 비트들을 반전시키는 것을 특징으로 하는 메모리 장치.
  8. 제1항에 있어서, 상기 반전 로직부는,
    상기 제2 데이터 반전 그룹들 각각에 대응되는 제2 DBI 신호들을 이용하여, 상기 M 개 비트들 중 제1 값의 바이너리 개수가 M/2개 이하인 제2 데이터 반전 그룹에 해당되는 상기 제2 데이터 반전 그룹들의 데이터 비트들을 강제적으로 반전시키는 것을 특징으로 하는 메모리 장치.
  9. 제2항에 있어서, 상기 반전 로직부는,
    상기 제3 데이터 반전 그룹들 각각에 대응되는 제3 DBI 신호들을 이용하여, 상기 N 개 비트들 중 제1 값의 바이너리 개수가 N/2개를 초과하는 제3 데이터 반전 그룹에 해당되는 상기 제3 데이터 반전 그룹들의 데이터 비트들을 반전시키는 것을 특징으로 하는 메모리 장치.
  10. 제4항에 있어서, 상기 반전 로직부는,
    상기 제1 DBI 동작 후에 상기 제3 DBI 동작이 수행되는 경우, 상기 제3 데이터 반전 그룹들 각각에 대응되는 제3 DBI 신호들을 이용하여, 상기 N 개 비트들 중 제1 값의 바이너리 개수가 N/2개 이하인 제3 데이터 반전 그룹에 해당되는 상기 제3 데이터 반전 그룹들의 데이터 비트들을 강제적으로 반전시키는 것을 특징으로 하는 메모리 장치.
  11. M*N (M, N은 자연수) 데이터 비트 구조로 구성되는 멀티플-비트 와이드에 대하여 상기 M*N 개의 데이터 비트들의 제1 값에 기초하여 다중 DBI를 수행하는 방법에 있어서,
    상기 M*N 데이터 비트 구조의 M*N 개의 데이터 비트들을 그룹핑하여 제1 데이터 반전 그룹을 구성하는 동작;
    상기 M*N 데이터 비트 구조에서, 제1 방향으로 M 비트씩 그룹핑하여 제2 데이터 반전 그룹들을 구성하는 동작;
    제1 데이터 버스 반전(DBI) 신호에 응답하여 상기 제1 데이터 반전 그룹에 대한 데이터 반전 여부를 수행하는 동작; 및
    제2 DBI 신호들에 응답하여 상기 제2 DBI 신호들 각각에 대응하는 상기 제2 데이터 반전 그룹들에 대한 데이터 반전 여부를 수행하는 동작을 포함하는 방법.
  12. 제11항에 있어서, 상기 방법은,
    상기 M*N 데이터 비트 구조에서, 제2 방향으로 N 비트씩 그룹핑하여 제3 데이터 반전 그룹들을 구성하는 동작; 및
    제3 DBI 신호들에 응답하여 상기 제3 DBI 신호들 각각에 대응하는 상기 제3 데이터 반전 그룹들에 대한 데이터 반전 여부를 수행하는 동작을 더 포함하는 방법.
  13. 제11항에 있어서,
    상기 제1 값은 상기 M*N 개의 데이터 비트들 각각의 데이터 천이 상태, 바이너리 1 또는 바이너리 0인 것을 특징으로 하는 방법.
  14. 제12항에 있어서, 상기 방법은,
    상기 제1 데이터 반전 그룹에 대한 데이터 반전 여부를 수행하는 동작 이후에, 상기 제2 데이터 반전 그룹들에 대한 데이터 반전 여부를 수행하는 동작과 상기 제3 데이터 반전 그룹들에 대한 데이터 반전 여부를 수행하는 동작이 순차적으로 수행되는 것을 특징으로 하는 방법.
  15. 제12항에 있어서, 상기 방법은,
    상기 제1 데이터 반전 그룹에 대한 데이터 반전 여부를 수행하는 동작 이후에, 상기 제3 데이터 반전 그룹들에 대한 데이터 반전 여부를 수행하는 동작과 상기 제2 데이터 반전 그룹들에 대한 데이터 반전 여부를 수행하는 동작이 순차적으로 수행되는 것을 특징으로 하는 방법.
  16. 제11항에 있어서, 상기 제1 DBI 신호에 응답하여 상기 제1 데이터 반전 그룹에 대한 데이터 반전 여부를 수행하는 동작은,
    상기 M*N 개의 데이터 비트들 중 제1 값의 바이너리 개수가 M*N/2개를 초과할 때 상기 제1 데이터 반전 그룹의 데이터 비트들을 반전시키는 상기 제1 DBI 신호를 셋팅하는 동작을 포함하는 것을 특징으로 하는 방법.
  17. 제11항에 있어서, 상기 제1 DBI 신호에 응답하여 상기 제1 데이터 반전 그룹에 대한 데이터 반전 여부를 수행하는 동작은,
    상기 M*N 개의 데이터 비트들 중 제1 값의 바이너리 개수가 M*N/2개 보다 큰 값일 때 상기 제1 데이터 반전 그룹의 데이터 비트들을 반전시키는 상기 제1 DBI 신호를 셋팅하는 동작을 포함하는 것을 특징으로 하는 방법.
  18. 제11항에 있어서, 상기 제2 DBI 신호들에 응답하여 상기 제2 DBI 신호들 각각에 대응하는 상기 제2 데이터 반전 그룹들에 대한 데이터 반전 여부를 수행하는 동작은,
    상기 제2 데이터 반전 그룹들 중에서 M개 데이터 비트들 중 제1 값의 바이너리 개수가 M/2개를 초과하는 상기 제2 데이터 반전 그룹들의 데이터 비트들을 반전시키는 상기 제2 DBI 신호들을 셋팅하는 동작을 포함하는 것을 특징으로 하는 방법.
  19. 제12항에 있어서, 상기 제3 DBI 신호들에 응답하여 상기 제3 DBI 신호들 각각에 대응하는 상기 제3 데이터 반전 그룹들에 대한 데이터 반전 여부를 수행하는 동작은,
    상기 제3 데이터 반전 그룹들 중에서 N개 데이터 비트들 중 제1 값의 바이너리 개수가 N/2개를 초과하는 상기 제3 데이터 반전 그룹들의 데이터 비트들을 반전시키는 상기 제3 DBI 신호들을 셋팅하는 동작을 포함하는 것을 특징으로 하는 방법.
  20. 제12항에 있어서,
    상기 제1 방향은 상기 M*N 데이터 비트 구조의 열 방향이고, 상기 제2 방향은 상기 M*N 데이터 비트 구조의 행 방향인 것을 특징으로 하는 방법.
KR1020170141318A 2017-10-27 2017-10-27 다중 데이터 버스 반전 동작을 수행하는 방법 및 메모리 장치 KR102441578B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170141318A KR102441578B1 (ko) 2017-10-27 2017-10-27 다중 데이터 버스 반전 동작을 수행하는 방법 및 메모리 장치
US15/969,797 US10747695B2 (en) 2017-10-27 2018-05-03 Methods of performing multiple data bus inversion (DBI) and memory devices performing the methods
CN201810980488.7A CN109726154B (zh) 2017-10-27 2018-08-27 执行多个数据总线倒置的方法及执行该方法的存储器器件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170141318A KR102441578B1 (ko) 2017-10-27 2017-10-27 다중 데이터 버스 반전 동작을 수행하는 방법 및 메모리 장치

Publications (2)

Publication Number Publication Date
KR20190047434A KR20190047434A (ko) 2019-05-08
KR102441578B1 true KR102441578B1 (ko) 2022-09-07

Family

ID=66242984

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170141318A KR102441578B1 (ko) 2017-10-27 2017-10-27 다중 데이터 버스 반전 동작을 수행하는 방법 및 메모리 장치

Country Status (3)

Country Link
US (1) US10747695B2 (ko)
KR (1) KR102441578B1 (ko)
CN (1) CN109726154B (ko)

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 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR20220086904A (ko) 2020-12-17 2022-06-24 삼성전자주식회사 데이터 전송 방법 및 데이터 전송 장치
EP4057516B1 (en) 2021-03-10 2024-03-27 Samsung Electronics Co., Ltd. Encoding apparatuses for implementing multi-mode coding
US11720516B2 (en) 2021-08-15 2023-08-08 Apple Inc. Methods for data bus inversion
US11836107B2 (en) 2022-03-01 2023-12-05 Apple Inc. Power consumption control based on random bus inversion

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130061102A1 (en) * 2011-09-06 2013-03-07 Samsung Electronics Co., Ltd. Semiconductor memory device

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100877680B1 (ko) * 2006-04-04 2009-01-09 삼성전자주식회사 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치
JP4491000B2 (ja) * 2007-08-17 2010-06-30 株式会社東芝 メモリシステム
US7501963B1 (en) 2007-10-17 2009-03-10 Micron Technology, Inc. Balanced data bus inversion
US8606982B2 (en) 2008-03-10 2013-12-10 Qimonda Ag Derivative logical output
US8260992B2 (en) * 2010-04-12 2012-09-04 Advanced Micro Devices, Inc. Reducing simultaneous switching outputs using data bus inversion signaling
JP5972549B2 (ja) 2011-09-29 2016-08-17 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体装置
KR20130098681A (ko) * 2012-02-28 2013-09-05 삼성전자주식회사 반도체 메모리 장치
US9058436B1 (en) 2012-11-20 2015-06-16 Altera Corporation Method and system for reducing the effect of component aging
WO2014146027A2 (en) 2013-03-15 2014-09-18 Gsi Technology, Inc. Systems and methods involving data bus inversion memory circuitry, configuration and/or operation.
CN103680441B (zh) * 2013-12-06 2016-06-15 合肥京东方光电科技有限公司 一种液晶面板的驱动方法、驱动系统和显示装置
US9252802B2 (en) 2014-02-07 2016-02-02 Qualcomm Incorporated Encoding for partitioned data bus
US9405721B2 (en) 2014-06-06 2016-08-02 Micron Technology, Inc. Apparatuses and methods for performing a databus inversion operation
US9244875B1 (en) 2014-07-18 2016-01-26 Qualcomm Incorporated Systems and methods for transition-minimized data bus inversion
KR101653468B1 (ko) 2014-12-17 2016-09-01 한양대학교 산학협력단 데이터 반전 코딩 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130061102A1 (en) * 2011-09-06 2013-03-07 Samsung Electronics Co., Ltd. Semiconductor memory device

Also Published As

Publication number Publication date
US10747695B2 (en) 2020-08-18
KR20190047434A (ko) 2019-05-08
CN109726154A (zh) 2019-05-07
CN109726154B (zh) 2023-07-18
US20190129877A1 (en) 2019-05-02

Similar Documents

Publication Publication Date Title
KR102441578B1 (ko) 다중 데이터 버스 반전 동작을 수행하는 방법 및 메모리 장치
US7501963B1 (en) Balanced data bus inversion
JP4425585B2 (ja) 分割されたシステムデータバスに連結されるメモリモジュールを具備する半導体メモリシステム
US8046663B2 (en) Semiconductor memory device and method for driving the same
US8700818B2 (en) Packet based ID generation for serially interconnected devices
US8199035B2 (en) Method, device, and system for data communication with preamble for reduced switching noise
KR20210076606A (ko) SoC, 메모리 장치, 전자 장치 및 전자 장치의 데이터 저장 방법
TWI506757B (zh) 針對封裝上輸入/輸出架構之分散式靜電放電保護
US10915487B2 (en) Switching reduction bus using data bit inversion
US10714163B2 (en) Methods for mitigating transistor aging to improve timing margins for memory interface signals
KR102582152B1 (ko) Pam 3 신호를이용한 데이터 반전 회로
US9438210B1 (en) Semiconductor devices employing a data inversion scheme for improved input/output characteristics
US9774328B2 (en) Semiconductor devices
US20170060801A1 (en) Semiconductor system and controlling method thereof
JP6293924B2 (ja) 重ね合わせによるバス上での周波数制御のためのシステムおよび方法
US9350355B2 (en) Semiconductor apparatus
US8400863B1 (en) Configurable memory block
KR20110016607A (ko) 플렉서블 프리앰블을 포함하는 병렬 데이터 송수신 방법 및 그 장치
KR20150144148A (ko) 반도체 장치
Kleveland et al. An intelligent RAM with serial I/Os
KR20230149724A (ko) 펄스 진폭 변조 송신기/수신기 및 이의 트랜지션 레벨을 제한하는 방법
US9336840B2 (en) Semiconductor apparatus capable of compensating for data output time and method for controlling the same
KR20090070791A (ko) 반도체 소자

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant