KR20180133543A - 모듈 내 데이터버스 반전 작동을 수행하기 위한 장치 및 방법 - Google Patents

모듈 내 데이터버스 반전 작동을 수행하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20180133543A
KR20180133543A KR1020187035278A KR20187035278A KR20180133543A KR 20180133543 A KR20180133543 A KR 20180133543A KR 1020187035278 A KR1020187035278 A KR 1020187035278A KR 20187035278 A KR20187035278 A KR 20187035278A KR 20180133543 A KR20180133543 A KR 20180133543A
Authority
KR
South Korea
Prior art keywords
dbi
data
memory
block
bit
Prior art date
Application number
KR1020187035278A
Other languages
English (en)
Other versions
KR102179232B1 (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 마이크론 테크놀로지, 인크.
Publication of KR20180133543A publication Critical patent/KR20180133543A/ko
Application granted granted Critical
Publication of KR102179232B1 publication Critical patent/KR102179232B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • 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/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)
  • Image Processing (AREA)

Abstract

장치, 메모리 모듈, 및 모듈 내 데이터 버스 반전 작동을 수행하기 위한 방법이 설명된다. 예시적인 장치는 데이터 버스 반전(DBI) 및 버퍼 회로와 복수의 메모리를 포함하는 메모리 모듈을 포함한다. DBI 및 버퍼 회로는 메모리 모듈에 의해 수신된 데이터의 블록을 인코딩하도록 그리고 DBI 데이터 및 대응하는 DBI 비트를 복수의 메모리 중 각각의 메모리로 제공하도록 구성된다.

Description

모듈 내 데이터버스 반전 작동을 수행하기 위한 장치 및 방법
기술의 진보는 전자 디바이스를 더 작게 그리고 더 빠르게 만들면서, 전력을 덜 소비하게 하였다. 신호선을 통한 데이터의 전송은 전자 디바이스의 다량의 전력 소비를 포함한다. 메모리 제어기와 메모리 모듈 간에 데이터를 통신하는 동안 전력 소비를 감소시키는 하나의 방식은 데이터 버스 반전(data bus inversion: 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 비트를 복수의 DBI 비트 버퍼 회로 중 각각의 DBI 비트 버퍼 회로로 제공하기 위해 데이터의 블록을 인코딩하도록 DBI 및 버퍼 회로를 사용한다.
본 개시내용의 실시형태에 따른, 모듈 내 데이터버스 반전 작동을 수행하기 위한 예시적인 방법은, 메모리 모듈에서 데이터의 블록을 수신하는 단계; DBI 데이터 및 대응하는 DBI 비트를 제공하도록 데이터의 블록의 데이터 버스 반전(DBI) 작동을 수행하는 단계; 및 DBI 데이터 및 대응하는 DBI 비트를 메모리 모듈의 복수의 메모리 중 메모리로 제공하는 단계를 포함할 수도 있다.
본 개시내용의 실시형태에 따른, 모듈 내 데이터버스 반전 작동을 수행하기 위한 또 다른 예시적인 방법은, 메모리 모듈의 메모리에 의해 저장된 데이터의 블록을 검색하는 단계; DBI 데이터 및 대응하는 DBI 비트를 제공하도록 메모리에 의해 저장된 데이터의 블록의 데이터 버스 반전(DBI) 작동을 수행하는 단계; 및 DBI 데이터 및 대응하는 DBI 비트를 메모리 모듈의 DBI 및 버퍼 회로로 제공하는 단계를 포함할 수도 있다.
도 1은 본 개시내용의 실시형태에 따른, DBI 작동을 수행하도록 구성된 메모리 모듈을 포함하는 장치의 특정한 실례가 되는 실시형태의 도면;
도 2는 본 개시내용의 실시형태에 따른, DBI 작동을 수행하도록 구성된 메모리 모듈을 포함하는 장치의 특정한 실례가 되는 실시형태의 도면;
도 3은 본 개시내용의 실시형태에 따른, 메모리 모듈의 데이터 통신을 위한 DBI 작동을 수행하기 위한 방법의 흐름도;
도 4는 본 개시내용의 실시형태에 따른, 메모리 모듈의 데이터 통신을 위한 DBI 작동을 수행하기 위한 방법의 흐름도; 및
도 5는 본 개시내용의 실시형태에 따른, DBI 논리 회로를 포함하는 메모리의 특정한 실례가 되는 실시형태의 도면.
특정한 상세내용은 본 개시내용의 실시형태의 충분한 이해를 제공하도록 아래에 제시된다. 그러나, 본 개시내용의 실시형태가 이 특정한 상세내용 없이 실행될 수도 있다는 것이 당업자에게 분명할 것이다. 게다가, 본 명세서에 설명된 본 개시내용의 특정한 실시형태는 실시예로써 제공되고 그리고 본 개시내용의 범위를 이 특정한 실시형태로 제한하도록 사용되지 않아야 한다.
도 1을 참조하면, DBI 및 버퍼 회로(122)를 포함하는 장치(예를 들어, 집적 회로, 메모리 디바이스, 메모리 시스템, 전자 디바이스 또는 시스템, 스마트폰, 태블릿, 컴퓨터, 서버 등)의 특정한 실례가 되는 실시형태가 개시되고 그리고 일반적으로 장치(100)로 표기된다. 장치(100)는 데이터 버스(160)를 통해 메모리 모듈(120)에 연결된 호스트(110)를 포함할 수도 있다. 메모리 모듈(120)은 각각의 데이터 버스 및 DBI선을 통해 메모리(124(0 내지 N))에 연결된 DBI 및 버퍼 회로(122)를 포함할 수도 있다.
메모리 모듈(120)은 데이터를 데이터 버스(160)를 통해 호스트(110)로 제공하도록 그리고 데이터를 데이터 버스를 통해 호스트로부터 수신하도록 구성될 수도 있다. 메모리 모듈(120)은 또한 데이터를 저장 또는 검색하도록 호스트(110)로부터 명령어, 어드레스 및 클록 데이터를 수신할 수도 있거나 또는 메모리 모듈(120)의 메모리(124(0 내지 N))의 리프레시(refresh)를 지시할 수도 있다. 메모리 모듈(120)은 듀얼 인-라인 메모리 모듈일 수도 있다. 일부 실시예에서, 메모리 모듈(120)은 부하 감소된 DIMM(LRDIMM)일 수도 있다. 메모리(124(0 내지 N))의 각각은 휘발성 메모리(예를 들어, DRAM, SDRAM 등) 또는 비휘발성 메모리(예를 들어, NAND 또는 NOR 플래시, PCM 등)일 수도 있다. 메모리(124(0 내지 N))의 각각은 이중 데이터율(double data rate: DDR) 메모리, 예컨대, 일부 실시형태에서 DDR3 또는 DDR4일 수도 있다.
메모리 모듈(120)의 DBI 및 버퍼 회로(122)는 데이터를 호스트(110)로부터 수신할 수도 있고 그리고 데이터를 메모리(124(0 내지 N))로 제공할 수도 있다. 메모리 모듈(120)의 DBI 및 버퍼 회로(122)는 또한 메모리(124(0 내지 N))에 제공되도록 호스트(110)로부터 명령어, 어드레스 및 클록 데이터를 수신할 수도 있다. 데이터는 DBI 및 버퍼 회로(122)와 메모리(124(0 내지 N))의 각각 간의 데이터 버스의 버스 폭에 기초하여 블록으로 나눠질 수도 있다. 예를 들어, 메모리 모듈(120)은 DBI 및 버퍼 회로(122)와 메모리(124(0 내지 N)) 간의 데이터 버스의 버스 폭이 4비트일 수도 있도록, x4 구성일 수도 있다. 다른 메모리 모듈 구성이 x8, x16 등과 같이, 구현될 수도 있다. 각각의 데이터의 블록에 대해, DBI 및 버퍼 회로(122)는 DBI 데이터를 생성하도록 그리고 DBI 데이터를 메모리(124(0 내지 N)) 중 각각의 메모리로 제공하도록 데이터의 DBI 작동을 수행할 수도 있다. DBI 및 버퍼 회로(122)는 또한 DBI 데이터가 논리적으로 반전되었는지를 나타내도록 각각의 DBI선을 통해 대응하는 DBI 비트를 제공할 수도 있다. 마찬가지로, 메모리(124(0 내지 N))의 각각은 DBI 데이터를 생성하도록 각각의 저장된 데이터의 블록의 DBI 작동을 수행할 수도 있고 그리고 대응하는 DBI 비트와 함께, DBI 데이터를 DBI 및 버퍼 회로(122)로 제공할 수도 있다. 일부 실시형태에서, DBI 작동은 데이터에 대해 하나의 방향으로 수행된다(단방향성 DBI 작동). 예를 들어, 일부 실시형태에서, DBI 작동은 데이터를 메모리(124(0 내지 N))로 제공할 시 DBI 및 버퍼 회로(122)에 의해 수행된다. DBI 데이터 및 대응하는 DBI 비트는 DBI 및 버퍼 회로(122)에 의해 메모리(124(0 내지 N))로 제공될 수도 있고 그리고 디코딩 없이 메모리(124(0 내지 N))에 의해 저장될 수도 있다. 즉, 인코딩될 때 DBI 데이터, 및 대응하는 DBI 비트가 메모리(124(0 내지 N))에 의해 저장된다. DBI 데이터 및 대응하는 DBI 비트가 메모리(124(0 내지 N))로부터 판독될 때, DBI 데이터 및 대응하는 DBI 비트는 DBI 비트에 기초하여 디코딩되도록 메모리(124(0 내지 N))로부터 DBI 및 버퍼 회로(122)로 제공될 수도 있다. 그리고 나서 디코딩된 데이터는 호스트(110)로 제공될 수도 있다. 또 다른 실시예에서, 일부 실시형태에 대해, DBI 작동은 데이터를 DBI 버퍼 회로(122)로 제공할 시 메모리(124(0 내지 N))에 의해 수행된다. 일부 실시형태에서, DBI 작동은 데이터에 대해 양방향으로 수행되고(양방향성 DBI 작동), 예를 들어, DBI 작동은 데이터를 메모리(124(0 내지 N))로 제공할 시 DBI 및 버퍼 회로(122)에 의해 수행되고 그리고 또한 데이터를 DBI 버퍼 회로(122)로 제공할 시 메모리(124(0 내지 N))에 의해 수행된다.
상이한 DBI 작동은 본 발명의 범위로부터 벗어나는 일없이 DBI 및 버퍼 회로(122)와 메모리(124(0 내지 N))에 의해 수행될 수도 있다. DBI 작동은 전력 소비를 감소시키도록 DBI 및 버퍼 회로(122)와 메모리(124(0 내지 N))에 의해 사용될 수도 있다. 일부 실시형태에서, DBI 및 버퍼 회로(122)와 메모리(124(0 내지 N))에 의해 수행된 DBI 작동은 대다수의 데이터가 하나의 상태 또는 또 다른 상태를 갖는지에 기초하는 것과 같이, DBI 및 버퍼 회로(122)와 메모리(124(0 내지 N)) 간에 제공되는 특정한 논리 상태의 복수의 비트를 최소화한다. 예를 들어, 버스를 통한 전송이 높은 전압으로 나타낸 모든 논리값을 가진 데이터를 포함한다면, 신호선의 전력 소비를 감소시키도록 더 낮은 전압으로 나타낸 정반대의 논리값으로 데이터를 반전시키는 것이 더 전력 효율적일 수도 있다. 일부 실시형태에서, 신호선의 전력 소비를 감소시키도록 더 높은 전압으로 나타낸 정반대의 논리값으로 데이터를 반전시키는 것이 더 전력 효율적일 수도 있다. 일부 실시형태에서, DBI 및 버퍼 회로(122)와 메모리(124(0 내지 N))에 의해 수행된 DBI 작동은 현재의 데이터로의 이전의 데이터의 비트에 대한 전이의 수에 기초할 수도 있다. 예를 들어, 이전의 논리 상태로부터 현재의 논리 상태로 전이할 필요가 있는 비트의 수가 문턱값을 초과한다면(예를 들어, 절반 초과의 비트가 논리 상태를 전이할 것임), 데이터는 이전의 논리 상태로부터 현재의 논리 상태로 전이할 필요가 있는 비트의 수를 감소시키도록 반전될 수도 있고, 이는 전력 소비를 감소시킬 수도 있다. 다른 실시형태에서, DBI 버퍼 회로(122) 및 메모리(124(0 내지 N))에 의해 수행된 DBI 작동은 신호선의 전력 소비를 감소시키도록 현재 알려져 있거나 또는 나중에 개발되는 임의의 DBI 작동일 수도 있다.
작동 시, 호스트(110)는 데이터를 데이터 버스(160)를 통해 메모리 모듈(120)로 제공할 수도 있거나 또는 데이터를 데이터 버스를 통해 메모리 모듈로부터 수신할 수도 있다. 호스트(110)로부터 수신된 데이터는 DBI 설계에 따라 인코딩될 수도 있거나 또는 변경되지 않을 수도 있다. 데이터를 호스트(110)로부터 수신할 때, DBI 및 버퍼 회로(122)는 DBI 및 버퍼 회로(122)를 메모리(124(0 내지 N))에 연결하는 데이터 버스의 버스 폭에 기초하여 데이터를 블록으로 나눌 수도 있다. 실시예에서, 데이터는 니블(예를 들어, 4비트)로 나눠질 수도 있다. DBI 및 버퍼 회로(122)와 메모리(124(0 내지 N))의 각각은 각각의 데이터 버스를 통해 DBI 및 버퍼 회로(122)와 메모리(124(0 내지 N)) 간에서 통신되는, 각각의 DBI 데이터를 제공하도록 각각의 데이터의 블록의 모듈 내 인코딩 및 디코딩 DBI 작동을 수행할 수도 있다. DBI 작동은 전류 소비를 감소시키도록 수행될 수도 있다.
예를 들어, DBI 작동이 대다수의 데이터가 하나의 상태 또는 또 다른 상태를 갖는지에 기초하는 실시형태에서, 비교적 높은 전압(예를 들어, 제1 논리값)으로 나타낸 데이터 비트를 전송하는 것은 비교적 낮은 전압(예를 들어, 제2 논리값)으로 나타낸 데이터 비트를 전송하는 것보다 더 전류를 소비할 수도 있다. 일부 실시형태에서, 제1 논리값은 공급 전압의 전압 레벨로 나타낼 수도 있고 그리고 제2 논리값은 기준 전압, 예를 들어, 접지를 나타낼 수도 있다.
이러한 실시형태에서, 전류 소비를 감소시키기 위해서, 호스트(110)로부터 수신된 데이터의 블록의 절반 초과의 데이터 비트가 제1 논리값을 갖는다면, DBI 및 버퍼 회로(122)는 데이터의 블록의 각각의 데이터 비트를 논리적으로 반전시킴으로써 DBI 데이터를 인코딩할 수도 있다. 예를 들어, 제1 논리값을 가진 데이터의 블록의 데이터 비트는 (비교적 낮은 전압으로 나타낼) 제2 논리값을 갖도록 반전되고 그리고 제2 논리값을 가진 데이터의 블록의 데이터 비트는 (비교적 높은 전압으로 나타낼) 제1 논리값을 갖도록 반전된다. 그 결과, DBI 데이터의 절반 초과의 데이터 비트는 비교적 낮은 전압으로 나타낸, 제2 논리값을 가질 것이다. 호스트(110)로부터 데이터의 블록의 절반 이하의 데이터 비트가 제2 논리값을 갖는다면, DBI 및 버퍼 회로(122)는 데이터의 블록을 그 원래의 상태로 제공함으로써 DBI 데이터를 인코딩할 수도 있다. 또한, DBI 및 버퍼 회로(122)는 또한 DBI 비트를 반전될 데이터의 블록에 응답하는 논리값 및 원래의 상태로 좌측에 있는 데이터의 블록에 응답하는 상이한 논리값으로 설정할 수도 있다. DBI 및 버퍼 회로(122)는 DBI 데이터 및 대응하는 DBI 비트를 대응하는 데이터 버스 및 DBI선, 각각을 통해 메모리(124(0 내지 N)) 중 각각의 메모리로 제공할 수도 있다. 일부 실시형태에서, DBI 작동은 데이터 통신을 위해 DBI를 사용하는 것이 메모리 모듈(120)에서 선택적으로 불가능하거나 또는 가능할 수도 있도록, 구성 가능할 수도 있다.
DBI 데이터 및 DBI 비트를 수신하는 것에 응답하여, 메모리(124(0 내지 N)) 중 각각의 메모리는 그 원래의 상태로 메모리에 저장되도록 원래의 데이터의 블록을 복구하게 DBI 비트를 사용하여 DBI 데이터를 디코딩할 수도 있다.
DBI 작동이 데이터를 양방향성 또는 단방향성 DBI 작동을 위해 제공(예를 들어, 데이터의 블록을 메모리(124(0 내지 N)) 중 각각의 메모리로부터 DBI 및 버퍼 회로(122)를 통해 호스트(110)로 제공)할 시 메모리(124(0 내지 N))에 의해 또한 수행되는 실시형태에서, 메모리(124(0 내지 N)) 중 각각의 메모리는 DBI 데이터 및 DBI 비트를 생성하도록 그리고 DBI 데이터 및 DBI 비트를 DBI 및 버퍼 회로(122)로 제공하도록 데이터의 블록을 인코딩할 수도 있다. DBI 데이터 및 DBI 비트를 수신하는 것에 응답하여, DBI 및 버퍼 회로(122)는 원래의 데이터의 블록을 복구하도록 DBI 비트를 사용하여 DBI 데이터를 디코딩할 수도 있다. 그리고 나서 DBI 및 버퍼 회로(122)는 메모리(124(0 내지 N))로부터 모든 데이터의 블록을 결합할 수도 있고 그리고 결합된 데이터를 버스를 통해 호스트(110)로 제공할 수도 있다.
DBI 작동을 수행하는 것은 비교적 높은 전압을 제공할 필요가 있는, DBI 및 버퍼 회로(122)와 메모리(124(0 내지 N)) 간의 각각의 버스의 복수의 신호선을 감소시키는 것에 기초하여 전력 소비를 감소시킬 수도 있다. 부가적으로, DBI의 사용은 작동 동안 열 및 소음 생성을 감소시킬 수도 있다. 일부 실시형태에서, 비교적 높은 전압은 낮은 논리값을 나타내고 그리고 비교적 낮은 전압은 높은 논리값을 나타낸다. 다른 실시형태에서, 비교적 높은 전압은 높은 논리값을 나타내고 그리고 비교적 낮은 전압은 낮은 논리값을 나타낸다.
도 2를 참조하면, DBI 및 버퍼 회로(222)를 포함하는 장치의 특정한 실례가 되는 실시형태가 개시되고 그리고 일반적으로 장치(200)로 표기된다. 장치(200)는 데이터 버스를 통해 메모리 모듈(220)에 연결된 호스트(210)를 포함할 수도 있다. 메모리 모듈(220)은 데이터 버스를 통해 메모리(224(0 및 1))의 쌍에 연결된 DBI 및 버퍼 회로(222)를 포함할 수도 있다. 메모리 모듈(220)은 도 1의 메모리 모듈(120)로 구현될 수도 있다.
메모리 모듈(220)은 데이터를 호스트(210)로부터 데이터 버스(260)를 통해 제공 및 수신하도록 구성될 수도 있다. 메모리 모듈(220)은 또한 데이터를 저장 또는 검색하도록 호스트(210)로부터 명령어, 어드레스 및 클록 데이터를 수신할 수도 있거나 또는 메모리 모듈(220)의 메모리(224(0 및 1))의 리프레시를 지시할 수도 있다.
DBI 및 버퍼 회로(222)는 데이터를 호스트(210)로부터 데이터 버스(260)를 통해 수신할 수도 있고 그리고 데이터를 메모리(224(0 및 1))로 제공할 수도 있다. 메모리 모듈(220)의 DBI 및 버퍼 회로(222)는 또한 메모리(224(0 및 1))로 제공되도록 호스트(210)로부터 명령어, 어드레스 및 클록 데이터를 수신할 수도 있다. 데이터는 DBI 및 버퍼 회로(222)와 메모리(224(0 내지 N))의 각각 간의 각각의 데이터 버스의 버스 폭에 기초하여 블록으로 나눠질 수도 있다. 예를 들어, 메모리 모듈(120)은 DBI 및 버퍼 회로(222)와 메모리(224(0 및 1)) 간의 버스의 버스 폭이 4비트이도록(예를 들어, 데이터의 블록과 DBI 데이터는 각각 4비트 와이드 데이터임), x4 구성일 수도 있다. 다른 메모리 모듈 구성이 x8, x16 등과 같이, 구현될 수도 있다. DBI 및 버퍼 회로(222)는 데이터를 버퍼링하도록 구성된 각각의 데이터 버퍼(231(0 및 1))를 포함할 수도 있고 그리고 각각의 데이터의 블록과 연관된 각각의 DBI 논리 회로(232(0 및 1))를 더 포함할 수도 있다. DBI 논리 회로(232(0 및 1))는 각각의 메모리(224(0 및 1))와의 통신을 위해 DBI 데이터를 인코딩 및 디코딩함으로써 모듈 내 DBI 작동을 수행하도록 구성된다. 각각의 DBI 논리 회로(232(0 및 1))는 데이터를 각각의 데이터 버퍼(231(0 및 1))로부터/로 그리고 또한 데이터 버스(260)를 통해 직접적으로 수신 및/또는 제공하도록 구성된다. 각각의 DBI 논리 회로(232(0 및 1))는 DBI 데이터를 각각의 데이터 버퍼(234(0 및 1))로부터/로 수신 및/또는 제공하도록 그리고 DBI 비트를 각각의 DBI 버퍼(238(0 및 1))로부터/로 수신 및/또는 제공하도록 더 구성된다. 데이터 버퍼(234(0 및 1)) 및 DBI 버퍼(238(0 및 1))는 DBI 데이터 및 DBI 비트, 각각을 메모리(224(0 및 1)) 중 메모리의 쌍으로부터/로 대응하는 데이터 버스 및 DBI선, 각각을 통해 수신 및 제공한다. DBI 논리 회로(232(0 및 1))는 또한 DBI 데이터 및 DBI 비트를 직접적으로 데이터 버스 및 DBI선, 각각으로부터/으로 수신 및/또는 제공한다. 데이터 버퍼(234(0 및 1)) 및/또는 DBI 버퍼(238(0 및 1))는 DBI 논리 회로(232(0 및 1))와 메모리(224(0 및 1)) 간의 통신을 어느 하나의 방향으로 허용하도록 구성되는 양방향성 버퍼 회로를 포함할 수도 있다.
메모리(224(0 및 1))의 쌍의 각각은 각각의 DBI 논리 회로(226(0 및 1)) 및 메모리 회로(228(0 및 1))를 포함한다. DBI 및 버퍼 회로(222)의 DBI 논리 회로(232(0 및 1))와 유사하게, 메모리(224(0 및 1))의 쌍의 DBI 논리 회로(226(0 및 1))는 DBI 및 버퍼 회로(222)와의 통신을 위해 DBI 데이터를 인코딩 및 디코딩하도록 구성된다. DBI 논리 회로(226(0 및 1))는 접근 작동 동안 데이터를 메모리 회로(228(0 및 1))로부터/로 수신 및 제공한다.
이전에 설명된 작동과 같은 상이한 DBI 작동은 본 발명의 범위로부터 벗어나는 일없이 DBI 및 버퍼 회로(222)와 메모리(224(0 내지 N))에 의해 수행될 수도 있다. 일부 실시형태에서, DBI 작동은 데이터에 대해 하나의 방향으로 수행된다(단방향성 DBI 작동). 예를 들어, 일부 실시형태에서, DBI 작동은 데이터를 메모리(224(0 내지 N))로 제공할 시 DBI 및 버퍼 회로(222)에 의해 수행된다. 또 다른 실시예에서, 일부 실시형태에 대해, DBI 작동은 데이터를 DBI 버퍼 회로(222)로 제공할 시 메모리(224(0 내지 N))에 의해 수행된다. 일부 실시형태에서, DBI 작동은 데이터에 대해 양방향으로 수행되고(양방향성 DBI 작동), 예를 들어, DBI 작동은 데이터를 메모리(224(0 내지 N))로 제공할 시 DBI 및 버퍼 회로(222)에 의해 수행되고 그리고 또한 데이터를 DBI 버퍼 회로(222)로 제공할 시 메모리(224(0 내지 N))에 의해 수행된다.
메모리 회로(228(0 및 1))는 호스트(210)에 의한 접근을 위해 데이터를 저장 및 검색하도록 구성된다. 메모리 모듈(220)은 듀얼 인-라인 메모리 모듈일 수도 있다. 일부 실시예에서, 메모리 모듈(220)은 부하 감소된 DIMM(LRDIMM)일 수도 있다. 메모리(224(0 및 1))의 각각은 휘발성 메모리(예를 들어, DRAM, SDRAM 등) 또는 비휘발성 메모리(예를 들어, NAND 또는 NOR 플래시, PCM 등)일 수도 있다. 메모리(224(0 및 1))의 각각은 이중 데이터율(DDR) 메모리, 예컨대, DDR3 또는 DDR4일 수도 있다.
작동 시, 호스트(210)는 니블의 데이터를 메모리 모듈(220)로 데이터 버스(260)를 통해 제공할 수도 있거나 또는 니블의 데이터를 메모리 모듈로부터 데이터 버스를 통해 수신할 수도 있다. 호스트(210)로부터 수신된 데이터는 DBI 설계에 따라 DBI 및 버퍼 회로(222)에 의해 인코딩될 수도 있거나 또는 메모리(224(0 및 1))에 대해 변경되지 않을 수도 있다. DBI 및 버퍼 회로(222)와 메모리(224(0 및 1))의 각각은 DBI 논리 회로(232(0 및 1)) 및 DBI 논리 회로(226(0 및 1)), 각각을 사용하여 DBI 데이터를 제공하도록 각각의 니블의 데이터를 인코딩 및 디코딩함으로써 모듈 내 DBI 작동을 수행할 수도 있다. DBI 작동은 전류 소비를 감소시키도록 수행될 수도 있다.
예를 들어, DBI 작동이 대다수의 데이터가 하나의 상태 또는 또 다른 상태를 갖는지에 기초하는 실시형태에서, 각각의 DBI 논리 회로(232(0 및 1))는 호스트(210)로부터 데이터 버스(260)를 통해 수신된 각각의 니블의 데이터의 절반 초과의 비트가 비교적 높은 전압을 갖는지를 결정하고 그리고 만약 그렇다면, DBI 데이터를 제공하도록 니블의 데이터의 각각의 데이터 비트를 논리적으로 반전시킴으로써 DBI 데이터를 인코딩할 수도 있다. 예를 들어, 제1 논리값을 갖는 데이터의 블록의 데이터 비트는 제2 논리값(비교적 낮은 전압으로 나타냄)을 갖도록 반전되고 그리고 제2 논리값을 갖는 데이터의 블록의 데이터 비트는 제1 논리값(비교적 높은 전압으로 나타냄)을 갖도록 반전된다. 그 결과, DBI 데이터의 절반 초과의 데이터 비트는 비교적 낮은 전압으로 나타낸, 제2 논리값을 가질 것이다. 호스트(110)로부터 데이터의 블록의 절반 이하의 데이터 비트가 제2 논리값을 갖는다면, 각각의 DBI 논리 회로(232(0 및 1))는 데이터의 블록을 DBI 데이터로서 제공할 수도 있다. 또한, 각각의 DBI 논리 회로(232(0 및 1))는 또한 DBI 비트를 반전될 데이터의 블록에 응답하는 제1 논리값으로 그리고 원래의 상태로 좌측에 있는 데이터의 블록에 응답하는 제2 논리값으로 설정할 수도 있다.
각각의 DBI 논리 회로(232(0 및 1))는 DBI 데이터 및 대응하는 DBI 비트를 데이터 버퍼(234(0 및 1)) 및 DBI 버퍼(238(0 및 1)), 각각으로 그리고 데이터 버스 및 DBI선으로 제공할 수도 있다. DBI 데이터 및 DBI 비트는 메모리(224(0 내지 N))의 메모리의 쌍으로 대응하는 데이터 버스 및 DBI선, 각각을 통해, 데이터 버퍼(234(0 및 1)) 및 DBI 버퍼(238(0 및 1))로부터 그리고 DBI 논리 회로(232(0 및 1))로부터 제공될 수도 있다.
DBI 데이터 및 DBI 비트를 수신하는 것에 응답하여, DBI 논리 회로(226(0 및 1))는 원래의 니블의 데이터를 복구하도록 DBI 비트를 사용하여 DBI 데이터를 디코딩할 수도 있다. 니블의 데이터는 저장을 위해 메모리 회로(228(0 및 1))에 제공될 수도 있다.
DBI 작동이 데이터를 양방향성 또는 단방향성 DBI 작동을 위해 제공(예를 들어, 니블의 데이터를 메모리(224(0 내지 N)) 중 각각의 메모리로부터 DBI 및 버퍼 회로(222)를 통해 호스트(210)로 제공)할 시 메모리(124(0 내지 N))에 의해 또한 수행되는 실시형태에서, 각각의 DBI 논리 회로(226(0 및 1))는 DBI 데이터 및 대응하는 DBI 비트를 제공하도록 그리고 DBI 데이터 및 DBI 비트를 각각의 데이터 버퍼(234(0 및 1)) 및 DBI 버퍼(238(0 및 1))로, 그리고 DBI 및 버퍼 회로(222)로, 대응하는 데이터 버스 및 DBI선을 통해 제공하도록 니블의 데이터를 인코딩할 수도 있다. DBI 데이터 및 DBI 비트를 수신하는 것에 응답하여, 데이터 버퍼(234(0 및 1)) 및 DBI 버퍼(238(0 및 1))는 원래의 니블의 데이터를 복구하도록 DBI 비트를 사용하여 DBI 데이터를 디코딩할 수도 있는, 각각의 DBI 논리 회로(232(0 및 1))로 DBI 데이터 및 DBI 비트를 제공할 수도 있다. DBI 및 버퍼 회로(222)는 DBI 니블을 데이터 버퍼(231(0 및 1)) 및 데이터 버스(260)를 통해 호스트(210)로 제공할 수도 있다.
DBI 논리 회로(232(0 및 1)) 및 DBI 논리 회로(226(0 및 1))의 각각은 대다수의 비트가 XOR 게이트 또는 다른 논리와 같은, 비교적 높은 전압으로 나타낸 논리 레벨을 갖는지를 결정하기 위한 논리를 포함할 수도 있다. 이전에 논의된 바와 같이, DBI 작동을 수행하는 것은 비교적 높은 전압을 제공할 필요가 있는, DBI 및 버퍼 회로(222)와 메모리(224(0 및 1)) 간의 각각의 버스의 복수의 신호선의 감소에 기초하여 전력 소비를 감소시킬 수도 있다. 부가적으로, DBI의 사용은 또한 작동 동안 열 생성을 감소시킬 수도 있다. 도 2가 메모리(224(0 및 1))의 쌍을 도시하지만, 장치는 4, 8, 16 등과 같은, 임의의 수의 메모리를 포함하도록 변경될 수도 있다. DBI 및 버퍼 회로(222)의 DBI 논리 회로, 데이터 버퍼 및 DBI 버퍼의 총수는 메모리의 총수와 일치할 수도 있다. 또한, 호스트(210)와 메모리 모듈(220) 간의 데이터 버스가 x4 구성을 나타내지만, 다른 구성이 x8, x16 등과 같이 구현될 수도 있다.
도 3은 본 개시내용의 실시형태에 따른, 메모리 모듈의 모듈 내 데이터 통신을 위한 DBI 인코딩 작동을 수행하기 위한 방법의 흐름도(300)이다. 도 4는 본 개시내용의 실시형태에 따른, 메모리 모듈의 모듈 내 데이터 통신을 위한 DBI 디코딩 작동을 수행하기 위한 방법의 흐름도(400)이다. 흐름도(300) 및 흐름도(400)로 도시된 방법은 도 1의 메모리 모듈(120) 및/또는 도 2의 메모리 모듈(220) 또는 이들의 임의의 조합에 의해 구현될 수도 있다.
방법(300)은 310에서 데이터의 블록을 수신하는 단계를 포함할 수도 있다. 데이터의 블록은 메모리 모듈, 예컨대, 도 1의 메모리 모듈(120) 또는 도 2의 메모리 모듈(220)에서 호스트, 예컨대, 도 1의 호스트(110) 또는 도 2의 호스트(210)로부터 수신될 수도 있거나 또는 메모리 모듈의 메모리, 예컨대, 도 1의 메모리(124(0 내지 N)) 중 메모리 또는 도 2의 메모리(224(0 및 1)) 중 메모리로부터 검색될 수도 있다. 메모리 모듈은 x4 메모리 모듈일 수도 있고 따라서 데이터의 블록은 4개의 비트일 수도 있다. 수개의 데이터의 블록이 동시에 메모리 모듈에 수신될 수 있거나 또는 메모리 모듈로부터 검색될 수도 있고 그리고 데이터의 블록의 집합이 정보의 단일의 피스를 형성하도록 결합될 수도 있다.
방법(300)은 320에서, DBI 데이터 및 대응하는 DBI 비트를 제공하도록 데이터의 블록을 인코딩하게 DBI 작동을 수행하는 단계를 더 포함할 수도 있다. 인코딩 DBI 작동은 DBI 및 버퍼 회로, 예컨대, 도 1의 DBI 및 버퍼 회로(122) 또는 도 2의 DBI 및 버퍼 회로(222)에 의해 또는 메모리, 예컨대, 도 1의 메모리(124(0 내지 N)) 중 메모리 또는 도 2의 DBI 논리 회로(226(0 및 1)) 중 DBI 논리 회로에 의해 수행될 수도 있다. 예를 들어, 대다수의 데이터가 하나의 상태 또는 또 다른 상태를 갖는지에 기초하는 DBI 작동을 갖는 실시형태에서, DBI 작동은 데이터의 블록의 절반 초과의 비트가 비교적 높은 전압에 대응하는 논리 레벨을 갖는지를 결정하는 것, 및 비교적 높은 전압에 대응하는 논리 레벨을 가진 데이터의 블록의 절반 초과의 비트에 응답하여, 데이터의 블록의 비트를 반전시키는 것을 포함할 수도 있다. 데이터의 블록의 절반 초과의 비트가 비교적 높은 전압에 대응하는 논리 레벨을 가질 때 데이터의 블록의 비트를 반전시키는 것은 데이터를 전달할 때 전력을 감소시킬 수도 있다. DBI 작동은 비교적 높은 전압에 대응하는 논리 레벨을 가진 데이터의 블록의 절반 초과의 비트에 응답하여 대응하는 DBI 비트를 설정하는 것을 더 포함할 수도 있다. DBI 비트는 수신 단자에서 원래의 데이터의 블록을 복구하도록 DBI 데이터를 디코딩하게 사용된다.
방법(300)은 330에서, DBI 데이터 및 대응하는 DBI 비트를 제공하는 단계를 더 포함할 수도 있다. DBI 데이터 및 대응하는 DBI 비트는 DBI 및 버퍼 회로로부터 메모리로 또는 메모리로부터 DBI 및 버퍼 회로로 제공될 수도 있다. 메모리는 비휘발성 메모리, 예컨대, DRAM일 수도 있고 그리고 메모리 모듈은 LRDIMM 모듈일 수도 있다. 일부 실시예에서, 방법(300)은 각각의 DBI 데이터 및 대응하는 DBI 비트를 메모리 모듈에 제공하도록 동시에 데이터의 복수의 블록의 인코딩 DBI 작동을 수행하는 단계를 더 포함할 수도 있다. 방법(300)은 각각의 DBI 데이터 및 대응하는 DBI 비트를 복수의 메모리 중 각각의 메모리로 또는 메모리로부터 DBI 및 버퍼 회로로부터 또는 DBI 및 버퍼 회로로, 각각 제공하는 단계를 더 포함할 수도 있다.
이제 도 4를 참조하면, 방법(400)은 410에서, DBI 데이터 및 DBI 비트를 수신하는 단계를 포함할 수도 있다. DBI 데이터 및 DBI 비트는 DBI 및 버퍼 회로, 예컨대, 도 1의 DBI 및 버퍼 회로(122) 또는 도 2의 DBI 및 버퍼 회로(222)에 수신될 수도 있거나 또는 메모리, 예컨대, 도 1의 메모리(124(0 내지 N)) 중 메모리 또는 도 2의 메모리(224(0 및 1)) 중 메모리에 수신될 수도 있다.
방법(400)은 데이터의 블록을 복구하도록 대응하는 DBI 비트를 사용하여 DBI 데이터의 디코딩 DBI 작동을 수행하는 단계를 더 포함할 수도 있다. 디코딩 DBI 작동은 DBI 및 버퍼 회로에 의해 또는 메모리에 의해 수행될 수도 있다.
방법(400)은 430에서, 데이터의 블록을 제공하는 단계를 더 포함할 수도 있다. 데이터의 블록은 DBI 및 버퍼 회로로부터 호스트, 예컨대, 도 1의 호스트(110) 또는 도 2의 호스트(210)로 제공될 수도 있거나 또는 저장을 위한 메모리 회로, 예컨대, 도 1의 메모리(124(0 내지 N)) 중 메모리의 메모리 회로 및/또는 도 2의 메모리(224(0 및 1)) 중 메모리의 메모리 회로(228(0 및 1))에 제공될 수도 있다.
흐름도(300 및 400)에 대한 위의 설명은 DBI 및 버퍼 회로와 하나 이상의 각각의 메모리 간의 (예를 들어, 어느 하나의 방향으로의) 모듈 내 DBI 작동을 허용할 수도 있다. 모듈 내 DBI 작동은 모듈 내 통신을 위해 요구되는 전류를 감소시킴으로써 메모리 모듈 전력 소비를 감소시킬 수도 있다.
도 5는 본 개시내용의 실시형태에 따른 메모리(500)의 일부를 도시한다. 메모리(500)는 예를 들어, 휘발성 메모리 셀(예를 들어, DRAM 메모리 셀, SRAM 메모리 셀), 비휘발성 메모리 셀(예를 들어, 플래시 메모리 셀, 상 변화 메모리 셀) 또는 일부 다른 유형의 메모리 셀일 수도 있는, 메모리 셀의 메모리 어레이(502)를 포함한다. 메모리(500)는 명령 버스(508)를 통해 메모리 명령어를 수신하는 명령 디코더(506)를 포함하고 그리고 다양한 메모리 작동을 수행하도록 메모리(500) 내에 대응하는 제어 신호를 생성한다. 행 및 열 어드레스 신호가 어드레스 버스(520)를 통해 메모리(500)에 적용되고 그리고 어드레스 래치(510)에 제공된다. 그리고 나서 어드레스 래치는 별개의 열 어드레스와 별개의 행 어드레스를 출력한다.
행 및 열 어드레스는 어드레스 래치(510)에 의해 행 디코더(522) 및 열 어드레스 디코더(528), 각각으로 제공된다. 열 어드레스 디코더(528)는 각각의 열 어드레스에 대응하는 메모리 어레이(502)를 통해 연장되는 비트선을 선택한다. 행 디코더(522)는 수신된 행 어드레스에 대응하는 메모리 어레이(502) 내의 메모리 셀의 각각의 행을 활성화시키는 워드선 구동기(524)에 연결된다. 수신된 열 어드레스에 대응하는 선택된 디지트선(예를 들어, 비트선 또는 비트선들)은 출력 데이터 버스(540)를 통해 데이터 출력 회로(534)에 판독 데이터를 제공하도록 메모리 회로(530)에 연결된다. 데이터 출력 회로(534)는 DBI 데이터 및 대응하는 DBI 비트를 제공하도록 출력 데이터를 인코딩하게 구성되는, DBI 논리 회로(550)로 출력 데이터를 제공하도록 구성된다. 데이터 DBI 논리 회로(550)에 연결된 출력 패드는 메모리(500)에 전기적으로 연결되기 위해 사용된다. DBI 논리 회로(550)는 또한 DBI 데이터 및 대응하는 DBI 비트를 수신하도록 그리고 작성 데이터를 제공하게 DBI 데이터를 디코딩하도록 구성될 수도 있다. 작성 데이터는 데이터 입력 회로(544)와 메모리 어레이 메모리 회로(530)를 통해 입력 데이터 버스(541)를 거쳐 메모리 어레이(502)에 적용된다. DBI 논리 회로(550)에 연결된 입력 패드는 메모리(500)에 전기적으로 연결되기 위해 사용된다. DBI 논리 회로(550)는 본 발명의 실시형태에 따라 구현될 수도 있다. 예를 들어, DBI 논리 회로(550)는 도 1의 124(0 내지 N) 중 임의의 하나, 도 2의 DBI 논리 회로(226(0 및 1)) 중 임의의 DBI 논리 회로로 구현될 수도 있고 그리고 도 3의 방법(300) 또는 이들의 조합을 구현하도록 구성될 수도 있다. 명령 디코더(506)는 메모리 어레이(502)의 다양한 작동을 수행하도록 명령 버스(508)에 적용된 메모리 명령어에 응답한다. 특히, 명령 디코더(506)는 데이터를 메모리 어레이(502)로부터 판독하도록 그리고 데이터를 메모리 어레이로 작성하도록 내부 제어 신호를 생성하게 사용된다.
본 개시내용의 특정한 실시형태가 예시의 목적을 위해 본 명세서에 설명되지만, 다양한 변경이 본 개시내용의 정신 및 범위로부터 벗어나는 일없이 행해질 수도 있다는 것이 앞서 말한 내용으로부터 이해될 것이다. 따라서, 본 개시내용은 첨부된 청구항에 의해서만 제외하고 제한되지 않는다.

Claims (26)

  1. 장치로서,
    데이터 버스 반전(data bus inversion: DBI) 및 버퍼 회로와 복수의 메모리를 포함하는 메모리 모듈로서, 상기 DBI 및 버퍼 회로는 상기 메모리 모듈에 의해 수신된 데이터의 블록을 인코딩하고 그리고 DBI 데이터 및 대응하는 DBI 비트를 상기 복수의 메모리 중 각각의 메모리로 제공하도록 구성되는, 상기 메모리 모듈을 포함하는, 장치.
  2. 제1항에 있어서, 상기 각각의 메모리는 상기 데이터의 블록을 복구하기 위해 상기 대응하는 DBI 비트에 기초하여 상기 DBI 데이터를 디코딩하도록 구성된 DBI 논리 회로를 포함하는, 장치.
  3. 제2항에 있어서, 상기 각각의 메모리는 상기 데이터의 블록을 저장하도록 구성된 메모리 회로를 더 포함하는, 장치.
  4. 제1항에 있어서, 상기 메모리 모듈은 부하 감소된 듀얼 인-라인 메모리 모듈이고 그리고 상기 각각의 메모리는 휘발성 메모리를 포함하는, 장치.
  5. 제1항에 있어서, 상기 DBI 및 버퍼 회로는 호스트로부터 명령어, 어드레스 및 클록 데이터를 수신하도록 구성되는, 장치.
  6. 제1항에 있어서, 상기 DBI 및 버퍼 회로는,
    상기 데이터의 블록에 기초하여 상기 DBI 데이터를 인코딩하고 그리고 상기 대응하는 DBI 비트에 대한 논리값을 설정하도록 구성된 DBI 논리 회로;
    상기 DBI 데이터를 상기 각각의 메모리로 제공하도록 구성된 데이터 버퍼; 및
    상기 대응하는 DBI 비트를 상기 각각의 메모리로 제공하도록 구성된 DBI 버퍼를 포함하는, 장치.
  7. 제1항에 있어서, 상기 각각의 메모리는 제2 DBI 데이터 및 대응하는 제2 DBI 비트를 상기 DBI 및 버퍼 회로로 제공하기 위해 데이터의 제2 블록을 인코딩하도록 구성된 DBI 논리 회로를 포함하는, 장치.
  8. 제7항에 있어서, 상기 DBI 및 버퍼 회로는 상기 데이터의 제2 블록을 복구하기 위해 그리고 상기 데이터의 제2 블록을 호스트로 제공하기 위해 상기 대응하는 제2 DBI 비트에 기초하여 상기 제2 DBI 데이터를 디코딩하도록 구성되는, 장치.
  9. 메모리 모듈로서,
    복수의 DBI 논리 회로, 복수의 데이터 버퍼 회로 및 복수의 DBI 비트 버퍼 회로를 포함하는, 데이터 버스 반전(DBI) 및 버퍼 회로로서, 상기 복수의 DBI 논리 회로 중 DBI 논리 회로는 상기 복수의 데이터 버퍼 회로 중 각각의 데이터 버퍼 회로로부터 DBI 데이터 그리고 상기 복수의 DBI 비트 버퍼 회로 중 각각의 DBI 비트 버퍼 회로로부터 대응하는 DBI 비트를 수신하도록 구성되고, 상기 DBI 논리 회로는 상기 DBI 데이터 및 상기 대응하는 DBI 비트에 기초하여 데이터의 블록을 복구하도록 구성되는, 상기 데이터 버스 반전(DBI) 및 버퍼 회로; 및
    상기 DBI 및 버퍼 회로에 연결된 복수의 메모리로서, 상기 복수의 메모리 중 메모리는 상기 DBI 데이터를 상기 복수의 데이터 버퍼 회로 중 각각의 데이터 버퍼 회로로 제공하도록 그리고 상기 대응하는 DBI 비트를 상기 복수의 DBI 비트 버퍼 회로 중 각각의 DBI 비트 버퍼 회로로 제공하도록 상기 데이터의 블록을 인코딩하게 상기 DBI 및 버퍼 회로를 사용하도록 구성되는, 상기 복수의 메모리를 포함하는, 메모리 모듈.
  10. 제9항에 있어서, 상기 DBI 데이터를 제공하도록 상기 데이터의 블록을 인코딩하게 상기 DBI 및 버퍼 회로를 사용하도록 구성된 상기 복수의 메모리 중 상기 메모리는, 높은 전압으로 표현된 논리 레벨을 가진 상기 데이터의 블록의 절반 초과의 비트에 응답하는 상기 데이터의 블록의 반전을 포함하는, 메모리 모듈.
  11. 제9항에 있어서, 상기 DBI 데이터를 제공하도록 상기 데이터의 블록을 인코딩하게 상기 DBI 및 버퍼 회로를 사용하도록 구성된 상기 복수의 메모리 중 상기 메모리는, 낮은 전압으로 표현된 논리 레벨을 가진 상기 데이터의 블록의 절반 초과의 비트에 응답하는 상기 데이터의 블록의 반전을 포함하는, 메모리 모듈.
  12. 제9항에 있어서, 상기 DBI 데이터를 제공하도록 상기 데이터의 블록을 인코딩하게 상기 DBI 및 버퍼 회로를 사용하도록 구성된 상기 복수의 메모리 중 상기 메모리는, 상이한 논리 상태로 전이하는 상기 데이터의 블록의 절반 초과의 비트에 응답하는 상기 데이터의 블록의 반전을 포함하는, 메모리 모듈.
  13. 제9항에 있어서, 상기 복수의 DBI 논리 회로 중 제2 DBI 논리 회로는 상기 복수의 데이터 버퍼 회로 중 각각의 제2 데이터 버퍼 회로로부터 제2 DBI 데이터 그리고 상기 복수의 DBI 비트 버퍼 회로 중 각각의 제2 DBI 비트 버퍼 회로로부터 대응하는 제2 DBI 비트를 수신하도록 구성되는, 메모리 모듈.
  14. 제9항에 있어서, 상기 DBI 논리 회로는 상기 복구된 데이터의 블록을 호스트로 제공하도록 구성되는, 메모리 모듈.
  15. 제9항에 있어서, 상기 메모리는 제2 DBI 데이터 및 대응하는 제2 DBI 비트를 상기 DBI 논리 회로로 제공하기 위해 제2 데이터의 블록을 인코딩하도록 구성되고, 상기 DBI 논리 회로는 제2 데이터의 블록을 복구하기 위해 상기 제2 DBI 비트를 사용하여 상기 제2 DBI 데이터를 디코딩하도록 구성되는, 메모리 모듈.
  16. 방법으로서,
    데이터의 블록을 메모리 모듈에서 수신하는 단계;
    DBI 데이터 및 대응하는 DBI 비트를 제공하도록 상기 데이터의 블록의 데이터 버스 반전(DBI) 작동을 수행하는 단계; 및
    상기 DBI 데이터 및 상기 대응하는 DBI 비트를 상기 메모리 모듈의 복수의 메모리 중 메모리로 제공하는 단계를 포함하는, 방법.
  17. 제16항에 있어서, 상기 DBI 데이터 및 상기 대응하는 DBI 비트를 제공하도록 상기 데이터의 블록의 상기 DBI 작동을 수행하는 단계는,
    상기 데이터의 블록의 절반 초과의 비트가 비교적 높은 논리 전압을 갖는지를 결정하는 것; 및
    상기 비교적 높은 논리 전압을 가진 상기 데이터의 블록의 절반 초과의 비트에 응답하여, 상기 데이터의 블록의 비트를 반전시키는 것을 포함하는, 방법.
  18. 제17항에 있어서, 상기 비교적 높은 논리 전압을 가진 상기 데이터의 블록의 절반 초과의 비트에 응답하여, 상기 대응하는 DBI 비트를 설정하는 단계를 더 포함하는, 방법.
  19. 제16항에 있어서, 상기 각각의 메모리에서, 상기 각각의 메모리에 저장될 원래의 데이터의 블록을 복구하도록 상기 DBI 비트를 사용하여 상기 DBI 데이터를 디코딩하는 단계를 더 포함하는, 방법.
  20. 제19항에 있어서, 각각의 DBI 데이터 및 대응하는 DBI 비트를 상기 복수의 메모리 중 각각의 메모리로 제공하는 단계를 더 포함하는, 방법.
  21. 제16항에 있어서, 상기 메모리에서 상기 데이터의 블록을 복구하도록 상기 대응하는 DBI 비트를 사용하여 상기 DBI 데이터에서 제2 DBI 작동을 수행하는 단계를 더 포함하는, 방법.
  22. 제16항에 있어서,
    제2 DBI 데이터 및 대응하는 제2 DBI 비트를 제공하도록 상기 각각의 메모리에서 제2 데이터의 블록의 제2 DBI 작동을 수행하는 단계;
    상기 제2 DBI 데이터 및 상기 대응하는 제2 DBI 비트를 상기 메모리 모듈의 DBI 및 버퍼 회로로 제공하는 단계;
    상기 제2 데이터의 블록을 복구하도록 상기 대응하는 제2 DBI 비트를 사용하여 상기 제2 DBI 데이터에서 제3 DBI 작동을 수행하는 단계; 및
    상기 제2 데이터의 블록을 상기 메모리 모듈로부터 호스트로 제공하는 단계를 더 포함하는, 방법.
  23. 제16항에 있어서, 상기 DBI 데이터 및 상기 대응하는 비트를 상기 메모리 모듈의 상기 복수의 메모리 중 메모리에 저장하는 단계를 더 포함하는, 방법.
  24. 방법으로서,
    메모리 모듈의 메모리에 의해 저장된 데이터의 블록을 검색하는 단계;
    DBI 데이터 및 대응하는 DBI 비트를 제공하도록 상기 메모리에 의해 저장된 상기 데이터의 블록의 데이터 버스 반전(DBI) 작동을 수행하는 단계; 및
    상기 DBI 데이터 및 상기 대응하는 DBI 비트를 상기 메모리 모듈의 DBI 및 버퍼 회로로 제공하는 단계를 포함하는, 방법.
  25. 제24항에 있어서,
    메모리 모듈에서 제2 데이터의 블록을 수신하는 단계;
    제2 DBI 데이터 및 대응하는 제2 DBI 비트를 제공하도록 상기 DBI 및 버퍼 회로에서 상기 제2 데이터의 블록의 제2 DBI 작동을 수행하는 단계;
    상기 제2 DBI 데이터 및 상기 대응하는 제2 DBI 비트를 상기 메모리로 제공하는 단계;
    상기 제2 데이터의 블록을 복구하도록 상기 대응하는 제2 DBI 비트를 사용하여 상기 메모리에서 상기 제2 DBI 데이터의 제3 DBI 작동을 수행하는 단계; 및
    상기 복구된 제2 데이터의 블록을 상기 메모리에 저장하는 단계를 더 포함하는, 방법.
  26. 제24항에 있어서,
    상기 데이터의 블록을 복구하도록 상기 대응하는 DBI 비트에 기초하여 상기 DBI 데이터를 디코딩하는 단계; 및
    상기 데이터의 블록을 호스트로 제공하는 단계를 더 포함하는, 방법.
KR1020187035278A 2016-05-19 2017-05-10 모듈 내 데이터버스 반전 작동을 수행하기 위한 장치 및 방법 KR102179232B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/159,728 US9922686B2 (en) 2016-05-19 2016-05-19 Apparatuses and methods for performing intra-module databus inversion operations
US15/159,728 2016-05-19
PCT/US2017/032019 WO2017200820A2 (en) 2016-05-19 2017-05-10 Apparatuses and methods for performing intra-module databus inversion operations

Publications (2)

Publication Number Publication Date
KR20180133543A true KR20180133543A (ko) 2018-12-14
KR102179232B1 KR102179232B1 (ko) 2020-11-18

Family

ID=60326561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187035278A KR102179232B1 (ko) 2016-05-19 2017-05-10 모듈 내 데이터버스 반전 작동을 수행하기 위한 장치 및 방법

Country Status (6)

Country Link
US (2) US9922686B2 (ko)
EP (1) EP3458966B1 (ko)
KR (1) KR102179232B1 (ko)
CN (1) CN109154919B (ko)
TW (1) TWI652689B (ko)
WO (1) WO2017200820A2 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9922686B2 (en) * 2016-05-19 2018-03-20 Micron Technology, Inc. Apparatuses and methods for performing intra-module databus inversion operations
US10008287B2 (en) 2016-07-22 2018-06-26 Micron Technology, Inc. Shared error detection and correction memory
KR20180057028A (ko) * 2016-11-21 2018-05-30 에스케이하이닉스 주식회사 데이터 반전 회로
US10146719B2 (en) 2017-03-24 2018-12-04 Micron Technology, Inc. Semiconductor layered device with data bus
US10558254B2 (en) 2017-04-01 2020-02-11 Intel Corporation Power consumption management for communication bus
KR20190074890A (ko) * 2017-12-20 2019-06-28 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US10664432B2 (en) * 2018-05-23 2020-05-26 Micron Technology, Inc. Semiconductor layered device with data bus inversion
US10964702B2 (en) * 2018-10-17 2021-03-30 Micron Technology, Inc. Semiconductor device with first-in-first-out circuit
CN109582508B (zh) * 2018-12-29 2023-12-26 西安紫光国芯半导体股份有限公司 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm
CN110060721A (zh) * 2019-04-08 2019-07-26 苏州汇峰微电子有限公司 一种动态随机存储器数据传输通道
CN112712839A (zh) * 2019-10-25 2021-04-27 长鑫存储技术(上海)有限公司 读操作电路、半导体存储器和读操作方法
KR20210149543A (ko) * 2020-06-02 2021-12-09 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR20220071802A (ko) * 2020-11-24 2022-05-31 에스케이하이닉스 주식회사 데이터 버스 인버전 동작을 수행하기 위한 전자장치
KR20220086904A (ko) * 2020-12-17 2022-06-24 삼성전자주식회사 데이터 전송 방법 및 데이터 전송 장치
US11757567B2 (en) 2021-03-10 2023-09-12 Samsung Electronics Co., Ltd. Devices and methods for encoding and decoding to implement a maximum transition avoidance coding with minimum overhead
US11720516B2 (en) 2021-08-15 2023-08-08 Apple Inc. Methods for data bus inversion
US11822484B2 (en) 2021-12-20 2023-11-21 Advanced Micro Devices, Inc. Low power cache
US11836107B2 (en) 2022-03-01 2023-12-05 Apple Inc. Power consumption control based on random bus inversion
US20240193114A1 (en) * 2022-12-12 2024-06-13 Global Unichip Corporation Dbi encoding device and dbi encoding method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9025409B2 (en) * 2011-08-05 2015-05-05 Rambus Inc. Memory buffers and modules supporting dynamic point-to-point connections

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2473819B1 (fr) 1980-01-11 1985-12-13 Telecommunications Sa Procede et systeme de securisation d'une artere de transmission numerique
EP0543070A1 (en) 1991-11-21 1993-05-26 International Business Machines Corporation Coding system and method using quaternary codes
JP3000966B2 (ja) 1997-07-03 2000-01-17 日本電気株式会社 オンライン回線モニタシステム
JP4519208B2 (ja) 1998-03-03 2010-08-04 株式会社東芝 半導体記憶装置
JPH11283396A (ja) 1998-03-27 1999-10-15 Sony Corp メモリ装置
US6032248A (en) 1998-04-29 2000-02-29 Atmel Corporation Microcontroller including a single memory module having a data memory sector and a code memory sector and supporting simultaneous read/write access to both sectors
US6587235B1 (en) 1999-12-16 2003-07-01 At&T Corp. Method and apparatus for capacity-efficient restoration in an optical communication system
US6584526B1 (en) 2000-09-21 2003-06-24 Intel Corporation Inserting bus inversion scheme in bus path without increased access latency
US6661355B2 (en) 2000-12-27 2003-12-09 Apple Computer, Inc. Methods and apparatus for constant-weight encoding & decoding
US6583735B2 (en) 2001-02-01 2003-06-24 Nec Corporation Method and apparatus for adaptive bus coding for low power deep sub-micron designs
US20020156953A1 (en) 2001-02-28 2002-10-24 Beiley Mark A. Dynamic bus inversion method
US6518893B1 (en) 2001-08-24 2003-02-11 Xilinx, Inc. Method and apparatus for multilevel signal operation
JP4486300B2 (ja) 2002-07-25 2010-06-23 ユニ・チャーム株式会社 吸収性物品のトップシート
US7113550B2 (en) 2002-12-10 2006-09-26 Rambus Inc. Technique for improving the quality of digital signals in a multi-level signaling system
US7411840B2 (en) * 2004-03-02 2008-08-12 Via Technologies, Inc. Sense mechanism for microprocessor bus inversion
US20050289435A1 (en) 2004-06-29 2005-12-29 Mulla Dean A Fast approximate DINV calculation in parallel with coupled ECC generation or correction
DE102005011386B4 (de) * 2005-03-11 2013-10-24 Qimonda Ag Schaltungseinheit zur Datenbitinvertierung
KR100613464B1 (ko) 2005-07-06 2006-08-22 주식회사 하이닉스반도체 반도체 장치의 데이터 출력장치 및 출력방법
US7205912B1 (en) 2005-10-31 2007-04-17 Seagate Technology Llc Structured set partitioning and multilevel coding for partial response channels
KR100643498B1 (ko) 2005-11-21 2006-11-10 삼성전자주식회사 반도체 메모리에서의 데이터 버스 반전 회로 및 데이터버스 반전 방법
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
WO2007143169A2 (en) 2006-06-01 2007-12-13 Polatis Limited Network protection switching mechanisms and methods of network protection
US7405984B2 (en) * 2006-09-19 2008-07-29 Lsi Corporation System and method for providing programmable delay read data strobe gating with voltage and temperature compensation
US8207976B2 (en) * 2007-03-15 2012-06-26 Qimonda Ag Circuit
US7501963B1 (en) 2007-10-17 2009-03-10 Micron Technology, Inc. Balanced data bus inversion
US7925844B2 (en) 2007-11-29 2011-04-12 Micron Technology, Inc. Memory register encoding systems and methods
US7616133B2 (en) 2008-01-16 2009-11-10 Micron Technology, Inc. Data bus inversion apparatus, systems, and methods
JP5125550B2 (ja) 2008-01-30 2013-01-23 富士通株式会社 通信システム
US8026740B2 (en) 2008-03-21 2011-09-27 Micron Technology, Inc. Multi-level signaling for low power, short channel applications
US8064269B2 (en) 2008-05-02 2011-11-22 Micron Technology, Inc. Apparatus and methods having majority bit detection
US9116828B2 (en) 2008-06-11 2015-08-25 Micron Technology, Inc. Data bus inversion usable in a memory system
US7795915B2 (en) 2008-08-04 2010-09-14 Chil Semiconductor Corporation Multi-level signaling
US8127204B2 (en) 2008-08-15 2012-02-28 Micron Technology, Inc. Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system
US8014196B2 (en) 2008-08-28 2011-09-06 Agere Systems Inc. Reduced-power programming of multi-level cell (MLC) memory
US8918597B2 (en) * 2008-08-29 2014-12-23 Infineon Technologies Ag Digital data inversion flag generator circuit
US9087025B2 (en) 2009-02-05 2015-07-21 Micron Technology, Inc. Data encoding using spare channels in a memory system
EP2894571B1 (en) 2009-07-13 2017-03-08 Rambus Inc. Encoding data using combined data mask and data bus inversion
US8207796B2 (en) * 2009-10-20 2012-06-26 Delphi Technologies, Inc. Stripline termination circuit having resonators
US8433190B2 (en) 2009-11-13 2013-04-30 Verizon Patent And Licensing Inc. Hot-swapping in-line optical amplifiers in an optical network
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
US8260992B2 (en) 2010-04-12 2012-09-04 Advanced Micro Devices, Inc. Reducing simultaneous switching outputs using data bus inversion signaling
US8762813B2 (en) 2010-05-17 2014-06-24 Skymedi Corporation Configurable coding system and method of multiple ECCS
US9268719B2 (en) * 2011-08-05 2016-02-23 Rambus Inc. Memory signal buffers and modules supporting variable access granularity
US8495437B2 (en) * 2011-09-06 2013-07-23 Samsung Electronics Co., Ltd. Semiconductor memory device
JP5972549B2 (ja) 2011-09-29 2016-08-17 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体装置
US8726139B2 (en) * 2011-12-14 2014-05-13 Advanced Micro Devices, Inc. Unified data masking, data poisoning, and data bus inversion signaling
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
KR20140008745A (ko) * 2012-07-11 2014-01-22 삼성전자주식회사 자기 메모리 장치
US9091727B1 (en) 2012-10-16 2015-07-28 Xilinx, Inc. Configuration and testing of multiple-die integrated circuits
US9177623B2 (en) 2013-03-15 2015-11-03 Qualcomm Incorporated Memory interface offset signaling
US9529749B2 (en) 2013-03-15 2016-12-27 Qualcomm Incorporated Data bus inversion (DBI) encoding based on the speed of operation
US9384822B2 (en) 2013-03-15 2016-07-05 Gsi Technology, Inc. Systems and methods involving data bus inversion memory circuitry, configuration and/or operation including data signals grouped into 10 bits and/or other features
TWI614607B (zh) 2013-03-15 2018-02-11 積佳半導體股份有限公司 用於使用資料匯流排反相的記憶體操作之記憶體裝置與方法
US10001948B2 (en) * 2013-05-13 2018-06-19 Rambus Inc. Buffer circuit with data bit inversion
KR20150050834A (ko) * 2013-11-01 2015-05-11 에스케이하이닉스 주식회사 반도체 장치 및 이를 포함하는 메모리 시스템
US9252802B2 (en) 2014-02-07 2016-02-02 Qualcomm Incorporated Encoding for partitioned data bus
KR102094878B1 (ko) 2014-02-10 2020-03-30 에스케이하이닉스 주식회사 반도체 메모리 장치 및 동작 방법
KR102169615B1 (ko) 2014-04-03 2020-10-26 에스케이하이닉스 주식회사 반도체 메모리 장치
US9405721B2 (en) 2014-06-06 2016-08-02 Micron Technology, Inc. Apparatuses and methods for performing a databus inversion operation
US9979416B2 (en) 2014-12-10 2018-05-22 Rambus Inc. Memory controller and method of data bus inversion using an error detection correction code
US9922686B2 (en) * 2016-05-19 2018-03-20 Micron Technology, Inc. Apparatuses and methods for performing intra-module databus inversion operations
US10146719B2 (en) 2017-03-24 2018-12-04 Micron Technology, Inc. Semiconductor layered device with data bus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9025409B2 (en) * 2011-08-05 2015-05-05 Rambus Inc. Memory buffers and modules supporting dynamic point-to-point connections

Also Published As

Publication number Publication date
US20170337951A1 (en) 2017-11-23
EP3458966A2 (en) 2019-03-27
WO2017200820A2 (en) 2017-11-23
EP3458966B1 (en) 2021-12-08
CN109154919B (zh) 2022-06-28
KR102179232B1 (ko) 2020-11-18
US9922686B2 (en) 2018-03-20
TWI652689B (zh) 2019-03-01
TW201812753A (zh) 2018-04-01
EP3458966A4 (en) 2019-12-25
US20180005671A1 (en) 2018-01-04
CN109154919A (zh) 2019-01-04
WO2017200820A3 (en) 2018-07-26
US10297294B2 (en) 2019-05-21

Similar Documents

Publication Publication Date Title
KR102179232B1 (ko) 모듈 내 데이터버스 반전 작동을 수행하기 위한 장치 및 방법
US11886754B2 (en) Apparatuses and methods for configuring I/Os of memory for hybrid memory modules
US8391088B2 (en) Pseudo-open drain type output driver having de-emphasis function, semiconductor memory device, and control method thereof
US10249381B2 (en) Semiconductor memory device and data write method
US10319462B2 (en) Semiconductor device and semiconductor system
KR102594059B1 (ko) 반도체 메모리에 대한 오류 정정 코딩 및 데이터 버스 반전 장치 및 방법
KR20180019791A (ko) 반도체장치 및 반도체시스템
US10388401B2 (en) Semiconductor device, semiconductor system, and method thereof
US9514790B2 (en) Data transmission circuit
US10379947B2 (en) Semiconductor device
US9613666B1 (en) Semiconductor devices and semiconductor systems including the same
US20180136844A1 (en) Arithmetic circuit and a semiconductor device
US9911475B1 (en) Semiconductor device which performs an active operation
US20170229162A1 (en) Nonvolatile ram
US11581055B2 (en) Memory system
US10621039B2 (en) Electronic devices
KR20180086817A (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