KR20220114027A - 메모리 모듈 다중 포트 버퍼 기술 - Google Patents

메모리 모듈 다중 포트 버퍼 기술 Download PDF

Info

Publication number
KR20220114027A
KR20220114027A KR1020227023747A KR20227023747A KR20220114027A KR 20220114027 A KR20220114027 A KR 20220114027A KR 1020227023747 A KR1020227023747 A KR 1020227023747A KR 20227023747 A KR20227023747 A KR 20227023747A KR 20220114027 A KR20220114027 A KR 20220114027A
Authority
KR
South Korea
Prior art keywords
port
memory
data
buffer circuit
rank
Prior art date
Application number
KR1020227023747A
Other languages
English (en)
Inventor
제스퍼 에스. 기본스
매튜 에이. 프라더
브렌트 키이쓰
프랭크 에프. 로스
다니엘 벤자민 스튜어트
랜달 제이. 루니
Original Assignee
마이크론 테크놀로지, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크론 테크놀로지, 인크. filed Critical 마이크론 테크놀로지, 인크.
Publication of KR20220114027A publication Critical patent/KR20220114027A/ko

Links

Images

Classifications

    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • 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/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • 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 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2209Concurrent read and write
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1042Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Dram (AREA)

Abstract

본 개시는 메모리 모듈의 트랜잭션 속도를 개선하기 위해 다중 포트 버퍼를 사용하기 위한 기술을 제공한다. 일 예에서, 메모리 모듈은 외부 인터페이스를 갖는 회로 보드, 회로 보드에 장착된 제1 메모리 디바이스, 및 회로 보드에 장착된 제1 다중 포트 버퍼 회로를 포함할 수 있다. 제1 다중 포트 버퍼 회로는 외부 인터페이스의 데이터 라인에 결합된 제1 포트, - 제1 포트는 제1 트랜잭션 속도로 동작하도록 구성됨- 제1 복수의 제1 메모리 디바이스의 데이터 라인에 결합된 제2 포트, 및 제2 복수의 제1 메모리 디바이스의 데이터 라인에 결합된 제3 포트를 포함할 수 있다. 제2 및 제3포트는 제2트랜잭션 속도로 동작하도록 구성될 수 있고, 제2 트랜잭션 속도는 제1 트랜잭션 속도보다 느리다.

Description

메모리 모듈 다중 포트 버퍼 기술
우선권 및 관련 출원
본 출원은 2019년 12월 31일에 출원된 "메모리 모듈 다중 포트 버퍼 기술"라는 제목의 Gibbons et al. 의 미국 가특허 출원 일련 번호: 62/955,682에 대한 우선권의 이익을 주장하며, 본 명세서에 전체 내용이 참조로 통합된다.
기술 분야
다음은 일반적으로 메모리 모듈에 관한 것으로, 보다 구체적으로 다중 포트 버퍼(multiple-port buffer)를 사용하여 메모리 모듈의 데이터 전송 속도를 높이는 것에 관한 것이다.
메모리 디바이스는 컴퓨터, 무선 통신 디바이스, 카메라, 디지털 디스플레이 등과 같은 다양한 전자 디바이스에 정보를 저장하는 데 널리 사용된다. 정보는 메모리 디바이스의 다양한 상태를 프로그래밍하여 저장된다. 예를 들어, 이진 디바이스에는 종종 논리 "1" 또는 논리 "0"으로 표시되는 두 가지 상태가 있다. 다른 시스템에서는 두 개 이상의 상태가 저장될 수 있다. 저장된 정보에 액세스하기 위해 전자 디바이스의 컴포넌트는 메모리 디바이스 내에 저장된 상태를 읽거나 감지할 수 있다. 정보를 저장하기 위해 전자 디바이스의 컴포넌트는 메모리 디바이스 내에 상태를 기록하거나 프로그램할 수 있다.
자기 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), DRAM, 동기식 동적 RAM(SDRAM), 강유전체 RAM(FeRAM), 자기 RAM(MRAM), 저항성 RAM(RRAM), 플래시 메모리, 상변화 메모리(PCM) 등 다양한 유형의 메모리 디바이스가 존재한다. 메모리 디바이스는 휘발성 또는 비휘발성일 수 있다.
메모리 디바이스의 개선에는 전형적으로 다른 메트릭 중에서 메모리 셀 밀도 증가, 판독/기록 속도 증가, 신뢰성 증가, 데이터 보유 증가, 전력 소비 감소 또는 제조 비용 절감이 포함될 수 있다. 메모리 기술의 발전은 이러한 메트릭의 많은 개선을 실현했지만, 프로세싱 속도가 향상됨에 따라 메모리 대역폭이 전반적인 시스템 성능 개선의 병목 현상이 될 수 있다.
반드시 축척에 따라 그려지지 않는 도면에서, 유사한 참조번호는 유사한 컴포넌트를 상이한 뷰에서 설명할 수 있다. 상이한 문자 접미사를 갖는 유사한 숫자는 유사한 컴포넌트의 상이한 인스턴스를 나타낼 수 있다. 도면은 전형적으로 제한이 아닌 예로서 본 문서에서 논의된 다양한 실시예를 예시한다.
도 1은 본 기술의 일 실시예에 따른 메모리 디바이스를 개략적으로 예시하는 블록도이다.
도 2는 본 발명의 주제의 일 실시예에 따른 메모리 시스템을 개략적으로 예시하는 단순화된 블록도이다.
도 3은 예시적인 2-채널 메모리 모듈(two-channel memory module)의 채널의 블록도를 전형적으로 예시한다.
도 4는 본 발명의 주제의 다양한 예에 따른 메모리 모듈을 동작시키는 예시적인 방법을 그래픽으로 예시한다.
도 5는 예시적인 2-채널 메모리 모듈의 채널의 블록도를 전형적으로 예시한다.
도 6은 본 발명의 주제의 다양한 예에 따른 메모리 모듈을 동작시키는 예시적인 방법을 그래픽으로 예시한다.
도 7은 본 발명의 주제의 일 실시예에 따른 메모리 시스템을 개략적으로 예시하는 단순화된 블록도이다.
도 8a 및 도 8b는 예시적인 4-채널 메모리 모듈(four-channel memory module)의 채널의 블록도를 전형적으로 예시한다.
도 9는 본 발명의 주제의 다양한 예에 따른 메모리 모듈을 동작시키는 예시적인 방법을 그래픽으로 예시한다.
도 10은 메모리 모듈의 저장 용량을 제공하기 위해 사용되는 메모리 모듈의 메모리 디바이스보다 더 높은 트랜잭션(transaction) 속도를 지원하도록 메모리 모듈을 동작시키는 예시적인 방법의 흐름도를 전형적으로 예시한다.
도 11은 본 명세서에 개시된 양태에 따른 메모리 모듈을 지원하는 디바이스를 포함하는 시스템의 도면을 전형적으로 예시한다.
도 1은 본 기술의 일 실시예에 따른 메모리 디바이스(100)를 개략적으로 예시하는 블록도이다. 메모리 디바이스(100)는 메모리 어레이(150)와 같은 메모리 셀의 어레이를 포함할 수 있다. 메모리 어레이(150)는 복수의 뱅크(banks)(예를 들어, 도 1의 예에서는 뱅크 0-15)를 포함할 수 있으며, 각각의 뱅크는 복수의 워드 라인(word lines)(WL), 복수의 비트 라인(bit lines)(BL) 및 워드 라인과 비트 라인의 교차점에 배열된 복수의 메모리 셀을 포함할 수 있다. 워드 라인(WL)의 선택은 로우 디코더(row decoder)(140)에 의해 수행될 수 있고, 비트 라인(BL)의 선택은 컬럼 디코더(column decoder)(145)에 의해 수행될 수 있다. 감지 증폭기(sense amplifiers)(SAMP)는 대응하는 비트 라인(BL)에 제공될 수 있고, 스위치로 기능할 수 있는 전송 게이트(transfer gates)(TG)를 통해 적어도 하나의 메인 I/O 라인 쌍(MIOT/B)에 차례로 결합될 수 있는 적어도 하나의 로컬 I/O 라인 쌍(LIOT/B)에 연결될 수 있다.
메모리 디바이스(100)는 명령 버스 및 어드레스 버스에 결합되어 명령 신호(CMD) 및 어드레스 신호(ADDR)를 각각 수신하는 명령 및 어드레스 단자를 포함하는 복수의 외부 단자를 사용할 수 있다. 메모리 디바이스는, 칩 선택 신호(CS)를 수신하는 칩 선택 단자, 클록 신호(CK, CKF)를 수신하는 클록 단자, 데이터 클록 신호(WCK, WCKF)를 수신하는 데이터 클록 단자, 데이터 단자(DQ, RDQS, DBI, DMI), 전력 공급 단자(VDD, VSS, VDDQ, 및 VSSQ)를 더 포함할 수 있다.
명령 단자 및 어드레스 단자는 외부로부터 어드레스 신호 및 뱅크 어드레스 신호를 공급받을 수 있다. 어드레스 단자에 공급되는 어드레스 신호 및 뱅크 어드레스 신호는 명령/어드레스 입력 회로(105)를 통해 어드레스 디코더(110)에 전송될 수 있다. 어드레스 디코더(110)는 어드레스 신호를 수신하고 디코딩된 로우 어드레스 신호(XADD)를 로우 디코더(140)에 그리고 디코딩된 컬럼 어드레스 신호(YADD)를 컬럼 디코더(145)에 공급할 수 있다. 어드레스 디코더(110)는 또한 뱅크 어드레스 신호(BADD)를 수신하고 뱅크 어드레스 신호를 로우 디코더(140) 및 컬럼 디코더(145) 모두에 공급할 수 있다.
명령 및 어드레스 단자는 메모리 제어기로부터 명령 신호(CMD), 어드레스 신호(ADDR) 및 칩 선택 신호(CS)를 공급받을 수 있다. 명령 신호는 메모리 제어기로부터의 다양한 메모리 명령(예를 들어, 판독 명령 및 기록 명령을 포함할 수 있는 액세스 명령 포함)을 나타낼 수 있다. 선택 신호(CS)는 명령 및 어드레스 단자에 제공된 명령 및 어드레스에 응답하기 위해 메모리 디바이스(100)를 선택하는 데 사용될 수 있다. 활성(active) CS 신호가 메모리 디바이스(100)에 제공되면, 명령 및 어드레스는 디코딩될 수 있고, 메모리 동작이 수행될 수 있다. 명령 신호(CMD)는 명령/어드레스 입력 회로(105)를 통해 명령 디코더(115)에 내부 명령 신호(internal command signals)(ICMD)로서 제공될 수 있다. 명령 디코더(115)는 내부 명령 신호(ICMD)를 디코딩하여 메모리 동작을 수행하기 위한 다양한 명령 및 내부 신호, 예를 들어, 워드 라인을 선택하기 위한 로우 명령 신호 및 비트 라인을 선택하기 위한 컬럼 명령 신호를 생성하기 위한 회로를 포함할 수 있다. 내부 명령 신호는 클록된 명령(clocked command)(CMDCK)와 같은 출력 및 입력 활성 명령도 포함할 수 있다.
판독 명령이 발행되고, 로우 어드레스 및 컬럼 어드레스가 판독 명령과 함께 적시에 공급될 때, 판독 데이터는 이들 로우 어드레스 및 컬럼 어드레스에 의해 지정된 메모리 어레이(150) 내의 메모리 셀로부터 판독될 수 있다. 판독 명령은 명령 디코더(115)에 의해 수신될 수 있고, 이는 판독 데이터가 RDQS 클록 신호에 따라 판독/기록 증폭기(155) 및 입력/출력 회로(160)를 통해 데이터 단자(DQ, RDQS, DBI 및 DMI)로부터 출력될 수 있도록 내부 명령을 입력/출력 회로(160)에 제공할 수 있다. 판독 데이터는 메모리 디바이스(100), 예를 들어, 모드 레지스터(도 1에 미도시)에 프로그램될 수 있는 판독 레이턴시 정보(RL)에 의해 정의된 시간에 제공될 수 있다. 판독 레이턴시 정보(RL)는 CK 클록 신호의 클록 사이클으로 정의될 수 있다. 예를 들어, 판독 레이턴시 정보(RL)는 연관된 판독 데이터가 제공될 때 메모리 디바이스(100)에 의해 판독 명령이 수신된 후의 CK 신호의 클록 사이클의 수일 수 있다.
기록 명령이 발행되고 로우 어드레스 및 컬럼 어드레스가 명령과 함께 적시에 공급될 때, 기록 데이터는 WCK 및 WCKF 클록 신호에 따라 데이터 단자(DQ, DBI, DMI)에 공급될 수 있다. 기록 명령은 명령 디코더(115)에 의해 수신될 수 있고, 이는 기록 데이터가 데이터 수신기에 의해 입력/출력 회로(160)에서 수신될 수 있고 입력/출력 회로(160) 및 판독/기록 증폭기(155)를 통해 메모리 어레이(150)에 공급될 수 있도록 내부 명령을 입력/출력 회로(160)에 제공할 수 있다. 기록 데이터는 로우 어드레스 및 컬럼 어드레스에 의해 지정된 메모리 셀에 기록될 수 있다. 기록 데이터는 기록 레이턴시(WL) 정보에 의해 정의된 시간에 데이터 단말에 제공될 수 있다. 기록 레이턴시(WL) 정보는 메모리 디바이스(100), 예를 들어 모드 레지스터(도 1에 미도시)에 프로그램될 수 있다. 기록 레이턴시(WL) 정보는 CK 클록 신호의 클록 사이클에 따라 정의될 수 있다. 예를 들어, 기록 레이턴시 정보(WL)는 연관된 기록 데이터가 수신될 때 메모리 디바이스(100)에 의해 기록 명령이 수신된 후의 CK 신호의 클록 사이클의 수일 수 있다.
전원(power supply) 단자에는 전원 전위(VDD 및 VSS)가 공급될 수 있다. 이러한 전원 전위(VDD 및 VSS)는 내부 전압 발생 회로(170)에 공급될 수 있다. 내부 전압 발생 회로(170)는 전원 전위(VDD 및 VSS)에 기초하여 다양한 내부 전위(VPP, VOD, VARY, VPERI 등)를 생성할 수 있다. 내부 전위(VPP)는 로우 디코더(140)에서 사용될 수 있고, 내부 전위(VOD 및 VARY)는 메모리 어레이(150)에 포함된 감지 증폭기에서 사용될 수 있으며, 내부 전위(VPERI)는 다른 많은 회로 블록에서 사용될 수 있다.
전원 단자에도 전원 전위(VDDQ)가 공급될 수 있다. 전원 전위(VDDQ)는 전원 전위(VSS)와 함께 입력/출력 회로(160)에 공급될 수 있다. 전원 전위(VDDQ)는 본 기술의 실시예에서 전원 전위(VDD)와 동일한 전위일 수 있다. 전원 전위(VDDQ)는 본 기술의 다른 실시예에서 전원 전위(VDD)와 상이한 전위일 수 있다. 그러나, 입력/출력 회로(160)에 의해 발생된 전원 공급 노이즈가 다른 회로 블록에 전파되지 않도록 전용 전원 전위(VDDQ)를 입력/출력 회로(160)에 사용할 수 있다.
클록 단자 및 데이터 클록 단자에는 외부 클록 신호 및 상보적인(complementary) 외부 클록 신호가 공급될 수 있다. 외부 클록 신호(CK, CKF, WCK, WCKF)는 클록 입력 회로(120)에 공급될 수 있다. CK 및 CKF 신호는 상보적일 수 있고 WCK 및 WCKF 신호도 상보적일 수 있다. 상보적인 클록 신호는 반대 클록 레벨을 가질 수 있고 동시에 반대 클록 레벨 사이에서 천이할 수 있다. 예를 들어, 클록 신호가 로우 클록 레벨에 있을 때 상보적인 클록 신호는 하이 레벨에 있고, 클록 신호가 하이 클록 레벨에 있을 때 상보적인 클록 신호는 로우 클록 레벨에 있다. 또한, 클록 신호가 로우 클록 레벨에서 하이 클록 레벨로 천이할 때 상보적인 클록 신호는 하이 클록 레벨에서 로우 클록 레벨로 천이하고, 클록 신호가 하이 클록 레벨에서 로우 클록 레벨로 천이할 때 상보적인 클록 신호는 로우 클록 레벨에서 하이 클록 레벨로 천이한다.
클록 입력 회로(120)에 포함된 입력 버퍼는 외부 클록 신호를 수신할 수 있다. 예를 들어, 명령 디코더(115)로부터의 CKE 신호에 의해 인에이블될 때, 입력 버퍼는 CK 및 CKF 신호 및 WCK 및 WCKF 신호를 수신할 수 있다. 클록 입력 회로(120)는 내부 클록 신호(ICLK)를 생성하기 위해 외부 클록 신호를 수신할 수 있다. 내부 클록 신호(ICLK)는 내부 클록 회로(130)에 공급될 수 있다. 내부 클록 회로(130)는 명령/어드레스 입력 회로(105)로부터 수신된 내부 클록 신호(ICLK) 및 클록 인에이블 신호(CKE)에 기초하여 다양한 위상 및 주파수 제어된 내부 클록 신호를 제공할 수 있다. 예를 들어, 내부 클록 회로(130)는 내부 클록 신호(ICLK)를 수신하고 다양한 클록 신호를 명령 디코더(115)에 제공하는 클록 경로(도 1에 미도시)를 포함할 수 있다. 내부 클록 회로(130)는 입력/출력(IO) 클록 신호를 더 제공할 수 있다. IO 클록 신호는 입력/출력 회로(160)에 공급될 수 있고, 판독 데이터의 출력 타이밍 및 기록 데이터의 입력 타이밍을 결정하기 위한 타이밍 신호로 사용될 수 있다. IO 클록 신호는 데이터가 상이한 데이터 속도로 메모리 디바이스(100)로부터 출력되고 그에 입력될 수 있도록 다중 클록 주파수에서 제공될 수 있다. 높은 메모리 스피드가 요구되는 경우 더 높은 클록 주파수가 바람직할 수 있다. 더 낮은 전력 소비가 요구되는 경우 더 낮은 클록 주파수가 바람직할 수 있다. 내부 클록 신호(ICLK)도 타이밍 생성기(timing generator)(135)에 공급되어 다양한 내부 클록 신호가 생성될 수 있다.
도 1의 메모리 디바이스(100)와 같은 메모리 디바이스는 다중 메모리 어레이 또는 개별적으로 어드레스 가능한 다중 부분(예를 들어, 다중 채널, 뱅크, 랭크 등)으로 세부-분할되는 단일 어레이로 메모리 용량을 제공할 수 있다. 대안적으로, 메모리 시스템은 도 1의 메모리 디바이스(100)와 같은 다중 메모리 디바이스를 포함할 수 있고, 각각의 메모리 디바이스는 시스템의 메모리 용량의 개별적으로 어드레스 가능한 세부-분할(예를 들어, 랭크 등)을 나타낸다. 따라서, 다중 메모리 디바이스, 랭크, 채널, 뱅크 등을 갖는 메모리 디바이스 또는 메모리 시스템은 개별적으로 어드레스 가능한 부분 전체보다는 적지만 하나 이상에 전용되는 다중 단자(예를 들어, 클록 단자, CMD/ADD 단자, I/O 단자 등)를 포함할 수 있다. 예를 들어, 다중 채널 메모리 디바이스는 다중 메모리 채널 중 하나에 각각 대응하는 다중 단자를 포함할 수 있다.
도 2는 본 발명의 주제의 일 실시예에 따른 메모리 시스템(201)을 개략적으로 예시하는 단순화된 블록도이다. 시스템(201)은 호스트 장치(221), 메모리 제어기(202), 및 메모리 모듈(203)을 포함할 수 있다. 메모리 모듈은 다중 메모리 디바이스(200), 인터페이스(204), 하나 이상의 버퍼 회로(205) 및 레지스터(registered) 또는 레지스터링 클록 드라이버(registering clock driver)(RCD)(206)를 포함할 수 있다. 메모리 디바이스(200)는 호스트(221)의 데이터를 저장하는데 사용될 수 있다. 인터페이스(204)는 호스트 디바이스(221)와 메모리 모듈(203) 사이의 통신 경로를 제공할 수 있다. 버퍼 회로(205)는 아래에서 논의되는 바와 같이 메모리 모듈(203)의 트랜잭션 속도를 높이는 것을 도울 수 있다. RCD(206)는 제1측에서 메모리 제어기(202)(또는 호스트 디바이스(221))와 통신하고, 제2측에서 메모리 모듈(203)의 컴포넌트와 통신하도록 구성될 수 있다. RCD(206)는 예를 들어 명령, 어드레스 및 클록 신호를 수신할 수 있다. 경우에 따라, 이러한 명령 신호는 레지스터 명령 워드(register command words)(RCWs)를 포함할 수 있고; 다른 예에서는 버퍼 제어 워드(buffer control words)(BCWs)를 포함할 수 있다. RCD(206)는 일부 예에서 다중 포트 버퍼 회로(205)를 제어하고 일부 경우에서는 트레이닝하기 위한 신호를 제공할 수 있다. 특정 예에서, RCD(206)는 설정된 데이터 전송 속도에서 동작하는 32비트 데이터 버스를 통해 메모리 제어기와 통신하고 더 느린 전송 속도에서 메모리 디바이스(200)의 데이터 신호를 변조하도록 구성될 수 있다. 통상의 기술자에게 명백한 바와 같이 RCD(206)는 임피던스 교정 명령/패리티 검사 등과 같은 추가 기능을 구현할 수 있다. RCD의 출력(예를 들어, 클록 출력 명령/어드레스 출력 제어 출력 등)은 그룹으로 인에이블될 수 있고 및/또는 그렇지 않으면 원하는 대로 개별적으로 제어된다.
호스트 디바이스(221)는 메모리 제어기(202)를 통해 메모리 모듈(203)(예를 들어, 듀얼 인-라인 메모리 모듈(DIMM))에 동작 가능하게 결합될 수 있다. 일부 예에서, 메모리 모듈(203)은 메모리 제어기(202)를 포함할 수 있다. 메모리 제어기(202)는 버스 또는 인터페이스(204)에 의해 복수의 메모리 디바이스(200)에 동작 가능하게 결합될 수 있다. 본 발명 주제의 다양한 예에 따르면, 호스트 디바이스(221)는 메모리 모듈(203)과 통신하여 메모리 디바이스(200)에 데이터를 저장하고 검색할 수 있다. 예시된 예에서, 메모리 제어기(202)는 2개의 채널(211, 212)을 통해 메모리 디바이스(200)와 통신할 수 있다. 특정 예에서, 채널(211, 212)은 서로 독립적으로 동작될 수 있다. 일부 예에서, 채널(211, 212)은 명령 및 어드레스 신호와 같은 일부 신호를 공유할 수 있고 독립적인 데이터 신호를 가질 수 있다. 특정 예에서, 메모리 모듈(203)은 다중 포트 채널 버퍼 회로(205)를 포함할 수 있다. 다중 포트 채널 버퍼 회로(205)는 메모리 모듈 인터페이스(204)의 트랜잭션 속도가 개별 메모리 디바이스(200)의 트랜잭션 속도보다 더 높게 할 수 있다. 특정 예에서, 다중 포트 채널 버퍼 회로(205)는 더 느리지만 더 에너지 효율적인 메모리 디바이스가 더 높은 트랜잭션 속도가 가능한 메모리 제어기와 함께 사용되도록 할 수 있다. 특정 예에서, 메모리 디바이스(200)의 트랜잭션 속도와 비교한 메모리 제어기(202)의 트랜잭션 속도는 2배 더 빠르거나, 4배 더 빠르거나, 또는 심지어 더 높을 수 있다. 일부 예에서, 다중 포트 채널 버퍼 회로(205)는 버퍼링되지 않은 메모리 모듈 또는 간단한 2포트 버퍼 회로를 갖는 메모리 모듈과 비교하여 시스템(201)에 대한 추가적인 메모리 랭크를 허용할 수 있다.
도 3은 예시적인 2-채널 메모리 모듈의 채널(311)의 블록도를 전형적으로 예시한다. 특정 예에서, 채널(311)은 다중 메모리 디바이스(300), 다중 메모리 데이터 버스(322), 다중 포트 채널 버퍼 회로(305), 및 채널 데이터 버스(323)를 포함할 수 있다. 특정 예에서, 메모리 디바이스(300)는 랭크에 의해 조직화될 수 있고 채널(311)은 메모리 디바이스(300)의 제1랭크(랭크 1) 및 메모리 디바이스(300)의 제2랭크(랭크 2)를 포함할 수 있다. 다중 포트 채널 버퍼 회로(305)는 메모리 디바이스(300)의 각각의 랭크(랭크 1), 랭크 2)와 동시에 데이터를 교환할 수 있다. 특정 예에서, 다중 포트 채널 버퍼 회로(305)는 호스트 디바이스와 데이터를 교환할 수 있다. 특정 예에서, 데이터는 채널(311), 메모리 제어기, 또는 이들의 조합을 포함하는 메모리 모듈의 외부 인터페이스를 통해 채널 데이터 버스(323)와 호스트 사이를 통과(pass)할 수 있다. 특정 예에서, 다중 포트 채널 버퍼 회로(305)는 메모리 데이터 버스(322)를 통해 메모리 디바이스(300)의 하나 이상의 메모리 랭크와 동시에 데이터를 교환하면서 호스트 디바이스와 데이터를 교환할 수 있다. 일부 예에서, 다중 포트 채널 버퍼 회로(305)는 다중의 개별 다중 포트 데이터 버퍼를 포함할 수 있다. 예시된 채널(311)에서, 메모리의 각각의 랭크(랭크 1, 랭크 2)는 다중 포트 채널 버퍼 회로(305)의 단일 포트(A 또는 B)와 직접 결합된다. 특정 예에서, 다중 포트 채널 버퍼 회로(305)는 훨씬 더 느린 트랜잭션 속도를 갖는 메모리 디바이스(300)를 사용하면서 연결된(connected) 메모리 제어기(302) 또는 호스트(321)의 트랜잭션 속도의 완전한 활용을 허용할 수 있다. 예를 들어, 예시적인 다중 포트 채널 버퍼 회로를 사용하는 더블 데이터 레이트 타입 5(double data rate type 5)(DDR5) DIMM 메모리 모듈의 예에서, 채널 버스의 트랜잭션 속도는 6400 MT/초일 수 있는 반면, 메모리 데이터 버스는 3200 MT/초에서 동작한다. 특정 애플리케이션에서, 예시적인 다중 포트 채널 버퍼 회로(305)는 더 에너지 효율적이고, 더 느리고, 종종 더 저렴한 메모리 디바이스(300)를 사용하면서 채널 버스(323)의 예상된(expected) 스피드 성능을 허용할 수 있다.
도 4는 본 발명의 주제의 다양한 예에 따른 메모리 모듈을 동작시키는 예시적인 방법(400)을 그래픽으로 예시한다. 도 4의 방법(400)은 판독 동작 및 기록 동작을 위한 예시적인 메모리 모듈의 동작을 예시하고, 구체적으로 도3의 다중 포트 채널 버퍼 회로(305)와 같은 다중 포트 채널 버퍼 회로의 다양한 포트(A, B, C)에 대한 활동을 도시한다. 판독 작업의 경우, 시간은 왼쪽에서 오른쪽으로 이동한다. 기록 작업의 경우, 시간은 오른쪽에서 왼쪽으로 이동한다. 도 4의 특정 예는 판독 또는 기록 동작을 위한 데이터가 제1 랭크 및 제2 랭크의 메모리 디바이스에 위치된다고 가정한다. RCD(미도시)는 메모리 제어기로부터 명령을 수신할 수 있다. 판독 명령에 대해, RCD는 판독 데이터의 첫번째 64 바이트를 감지하고 제1 판독 데이터를 메모리 모듈 인터페이스에 포워딩하도록 제1 랭크(R1)의 메모리를 명령할 수 있다. 제1 랭크의 제1 판독 데이터의 감지를 개시한 이후의 지연으로서, RCD는 판독 데이터의 두번째 64 바이트를 감지하고 제2 판독 데이터를 메모리 모듈 인터페이스에 포워딩하도록 제2 랭크의 메모리를 명령할 수 있다. 메모리 모듈은 멀티 포트 채널 버퍼 회로를 포함하므로, 제1 랭크(R1)의 메모리 디바이스와 제2 랭크(R2)의 메모리 디바이스는 각각의 감지된 데이터를 동시에 전송할 수 있다. 다중 포트 채널 버퍼 회로는 제1 랭크(R1)의 메모리의 판독 데이터를 수신하기 위해 제1 포트(A)를 사용하고, 제2 랭크(R2)의 메모리의 판독 데이터를 수신하기 위해 제2 포트(B)를 사용할 수 있다.
제1 포트(A)의 제1 판독 데이터의 특정 양을 버퍼링할 때, 다중 포트 채널 버퍼 회로는 다중 포트 채널 버퍼 회로의 제3 포트(C)를 통해 호스트에 판독 데이터를 발신하기 시작할 수 있다. 특정 예에서, RCD는 각각의 랭크의 판독 데이터가 제3 포트(C)를 통해 발신하는 순서를 스케줄하는 데 도움이 될 수 있다. 일부 예에서, 다중 포트 채널 버퍼 회로는 각각의 랭크가 다중 포트 채널 버퍼 회로의 각각의 제1 및 제2포트(A, B)에 데이터를 발신하기 시작한 것과 동일한 순서로 판독 데이터를 호스트에 보낼 수 있다. 도 4로부터 관찰할 수 있는 바와 같이, 다중 포트 채널 버퍼 회로를 사용하여 인에이블된 데이터의 중첩 전송은 메모리 디바이스의 전송 속도가 메모리 제어기의 전송 속도의 절반이 되도록 한다. 추가적인 데이터가 판독 명령에 의해 판독되야 하는 경우, RCD는 추가적인 판독 데이터를 검색하기 위해 메모리의 제1 및 제2 랭크에 감지 명령을 계속 교대할 수 있다.
기록 명령에 대해, RCD는 기록 데이터의 수신을 메모리 제어기와 조정할 수 있다. 다중 포트 채널 버퍼 회로는 제3 포트(C)를 사용하여 호스트로부터 기록 데이터를 수신하고 수신된 데이터를 버퍼링할 수 있다. RCD는 다중 포트 채널 버퍼 회로로부터 수신된 기록 데이터를 다중 포트 채널 버퍼 회로의 제1 및 제2 포트(A, B)를 통해 제1 및 제2 랭크(R1, R2)의 메모리로의 전송을 조정할 수 있다. 예를 들어, 기록 데이터의 첫번째 64바이트의 일부를 처음 수신한 직후, 다중 포트 채널 버퍼 회로는 제2 포트(B)를 사용하여 첫번째 64바이트를 제2 랭크(R2)의 메모리에 전송하기 시작할 수 있다. 기록 데이터의 두번째 64 바이트를 수신하기 시작할 때, 다중 포트 채널 버퍼 회로는 제1 포트(A)를 사용하여 제1 랭크(R1)의 메모리에 기록 데이터의 두번째 64 바이트를 전송하기 시작할 수 있다. 특정 예에서, 기록 데이터를 다중 포트 채널 버퍼 회로로부터 제1 랭크(R1)의 메모리로 전송하는 것과 기록 데이터를 다중 포트 채널 버퍼 회로로부터 제2 랭크(R2)의 메모리로 전송하는 것은 동시에 일어날 수 있다. 추가적인 데이터가 기록 명령의 일부로서 기록되어야 하는 경우, RCD는 다중 포트 채널 버퍼 회로의 제1 및 제2 포트(A, B)를 통해 메모리의 제1 및 제2 랭크에 추가적인 기록 데이터의 전송을 계속해서 교대할 수 있다. 도 3 및 도4에 예시된 예에서, 메모리 디바이스의 버스트 길이는 4비트 폭 데이터 버스를 사용하여 16이고, 메모리 제어기에 대한 채널 버스의 버스트 길이는 32비트 폭 데이터 버스를 사용하여 16이다.
도 5는 예시적인 2-채널 메모리 모듈의 채널(511)의 블록도를 전형적으로 예시한다. 특정 예에서, 채널(511)은 다중 메모리 디바이스(500), 다중 데이터 버스(522), 다중 포트 채널 버퍼 회로(505), 및 채널 데이터 버스(523)를 포함할 수 있다. 특정 예에서, 메모리 디바이스(500)는 랭크에 의해 조직화될 수 있고 채널(511)은 메모리 디바이스의 제1랭크(랭크 1) 및 메모리 디바이스의 제2랭크(랭크 2)를 포함할 수 있다. 다중 포트 채널 버퍼 회로(505)는 메모리 디바이스의 각각의 랭크와 동시에 데이터를 교환할 수 있다. 특정 예에서, 다중 포트 채널 버퍼 회로는 채널 데이터 버스(523)를 통해 호스트 디바이스와 데이터를 교환하면서 동시에 메모리 디바이스(500)의 하나 이상의 메모리 랭크와 데이터를 교환할 수 있다. 일부 예에서, 다중 포트 채널 버퍼 회로(505)는 다중의 개별 다중 포트 데이터 버퍼를 포함할 수 있다. 예시된 채널(511)에서, 메모리의 각각의 랭크(랭크 1, 랭크 2)는 다중 포트 채널 버퍼 회로(505)의 하나 이상의 포트(A, B)와 결합된다. 특정 예에서, 다중 포트 채널 버퍼 회로(505)는 훨씬 더 느린 트랜잭션 속도를 갖는 메모리 디바이스(500)를 사용하면서 연결된 메모리 제어기 또는 호스트 디바이스의 트랜잭션 속도의 완전한 활용을 허용할 수 있다. 예를 들어, 예시적인 다중 포트 채널 버퍼 회로를 사용하는 DDR5 DIMM 메모리 모듈의 예에서, 채널 버스의 트랜잭션 속도는 6400 MT/초일 수 있는 반면, 메모리 데이터 버스는 3200 MT/초에서 동작한다. 특정 애플리케이션에서, 예시적인 다중 포트 채널 버퍼 회로(505)는 더 에너지 효율적이고, 더 느리고, 종종 더 저렴한 메모리 디바이스(500)를 사용하면서 채널 버스(523)의 예상된 스피드 성능을 허용할 수 있다.
도 6은 본 발명의 주제의 다양한 예에 따른 메모리 모듈을 동작시키는 예시적인 방법(600)을 그래픽으로 예시한다. 도 6의 방법(600)은 판독 동작 및 기록 동작을 위한 예시적인 메모리 모듈의 동작을 예시한다. 판독 작업의 경우 시간은 왼쪽에서 오른쪽으로 이동한다. 기록 작업의 경우, 시간은 오른쪽에서 왼쪽으로 이동한다. 도 6의 특정 예는 판독 또는 기록 명령에 대한 데이터가 제1 랭크(R1) 및 제2 랭크(R2)의 메모리 디바이스에 위치된다고 가정한다. 메모리 모듈의 RCD는 메모리 제어기로부터 명령을 수신할 수 있으며, 명령 정보, 어드레스 정보 및 클록 정보를 각각의 랭크(R1, R2)의 메모리 디바이스에 제공할 수 있다. RCD는 또한 다중 포트 채널 버퍼 회로에 제어 정보 및 클록 정보를 제공할 수 있다. 판독 명령에 대해, RCD는 제1 랭크(R1)의 제1 부분의 메모리에 판독 데이터의 첫번째 64 바이트를 감지하고 데이터를 다중 포트 채널 버퍼 회로의 제1 포트(A)를 통해 메모리 모듈 인터페이스에 포워딩하도록 명령할 수 있다. 제1 랭크(R1)의 제1 판독 데이터의 감지를 개시한 이후의 지연으로서, RCD는 판독 데이터의 두번째 64 바이트를 감지하고 다중 포트 채널 버퍼 회로의 제2 포트(B)를 통해 감지된 데이터를 메모리 모듈 인터페이스에 포워딩하도록 제1 랭크(R2)의 제2 부분의 메모리를 명령할 수 있다. 메모리 모듈은 멀티 포트 채널 버퍼 회로를 포함하므로, 제1 랭크(R1)의 제1부분의 메모리 디바이스와 제1 랭크(R2)의 제2부분의 메모리 디바이스는 각각의 감지된 데이터를 동시에 전송할 수 있다. 다중 포트 채널 버퍼 회로는 제1판독 데이터를 수신하기 위해 제1포트(A)를 사용하고 제2판독 데이터를 수신하기 위해 제2포트(B)를 사용할 수 있다.
제1부분의 데이터의 특정 양을 버퍼링할 때, 다중 포트 채널 버퍼 회로는 다중 포트 채널 버퍼 회로의 제3 포트(C)를 통해 호스트에 제1 판독 데이터를 발신하기 시작할 수 있다. 특정 예에서, RCD는 각각의 랭크(R1, R2)의 데이터가 제3포트(C)를 통해 발신하는 순서를 스케줄하는데 도움이 될 수 있다. 일부 예에서, 다중 포트 채널 버퍼 회로는 각각의 랭크가 다중 포트 채널 버퍼 회로에 판독 데이터를 발신하기 시작한 것과 동일한 순서로 데이터를 호스트에 보낼 수 있다. 도 6으로부터 관찰할 수 있는 바와 같이, 다중 포트 채널 버퍼 회로를 사용하여 인에이블된 데이터의 중첩 전송은 메모리 디바이스의 전송 속도가 메모리 제어기의 전송 속도의 절반이 되도록 한다. 추가적인 데이터가 판독 명령에 의해 판독되어야 하는 경우, RCD는 추가적인 데이터를 검색하기 위해 메모리의 제1 및 제2 랭크(R1, R2)의 상이한 부분에 감지 명령을 계속 교대할 수 있다.
기록 명령에 대해, RCD는 기록 데이터의 수신을 메모리 제어기와 조정할 수 있다. 다중 포트 채널 버퍼 회로는 제3 포트(C)를 사용하여 호스트 디바이스로부터 기록 데이터를 수신하고 수신된 기록 데이터를 버퍼링할 수 있다. RCD는 다중 포트 채널 버퍼 회로로부터 수신된 기록 데이터를 제1 및 제2 랭크(R1, R2)의 메모리로의 전송을 조정할 수 있다. 예를 들어, 기록 데이터의 첫번째 64바이트를 수신한 직후, 다중 포트 채널 버퍼 회로는 제2 포트(B)를 사용하여 첫번째 64바이트를 제2 랭크(R2)의 메모리의 부분에 전송하기 시작할 수 있다 (기록 동작의 경우 도 6에서 시간은 오른쪽에서 왼쪽으로 흐름). 기록 데이터의 두번째 64 바이트를 수신하기 시작할 때, 다중 포트 채널 버퍼 회로는 제1 포트(B)를 사용하여 제2 랭크(R2)의 메모리의 제2 부분에 기록 데이터의 두번째 64 바이트를 전송하기 시작할 수 있다. 특정 예에서, 다중 포트 채널 버퍼 회로로부터 제2랭크(R2)의 메모리의 제1부분에 제1 기록 데이터를 전송하는 것과 다중 포트 채널 버퍼 회로로부터 제2 랭크(R2)의 메모리의 제2부분에 제2 기록 데이터를 전송하는 것은 동시에 일어날 수 있다. 추가적인 데이터가 기록 명령의 일부로서 기록되어야 하는 경우, RCD는 메모리의 제1 및 제2 랭크(R1, R2)의 부분에 추가적인 기록 데이터의 전송을 계속 교대할 수 있다. 도 5 및 도6에 예시된 예에서, 메모리 디바이스의 버스트 길이는 8비트 폭 데이터 버스를 사용하여 16이고, 메모리 제어기에 대한 채널 버스의 버스트 길이는 16비트 폭 데이터 버스를 사용하여 16이다.
도 7은 본 발명의 주제의 일 실시예에 따른 메모리 시스템(701)을 개략적으로 예시하는 단순화된 블록도이다. 시스템(701)은 호스트 디바이스(721), 메모리 제어기(702), 및 메모리 모듈(703)을 포함할 수 있다. 메모리 모듈은 다중 메모리 디바이스(750), 인터페이스(704), 하나 이상의 버퍼 회로(705) 및 레지스터 또는 레지스터링 클록 드라이버(RCD)(706)를 포함할 수 있다. 메모리 디바이스(700)는 호스트(721)의 데이터를 저장하는데 사용될 수 있다. 인터페이스(704)는 호스트 디바이스(721)와 메모리 모듈(703) 사이의 통신 경로를 제공할 수 있다. 버퍼 회로(705)는 아래에서 논의되는 바와 같이 메모리 모듈(703)의 트랜잭션 속도를 증가시키는 것을 도울 수 있다. RCD(706)는 제1측에서 메모리 제어기(702)(또는 호스트 디바이스(721))와 통신하고, 제2측에서 메모리 모듈(703)의 컴포넌트와 통신하도록 구성될 수 있다. RCD(706)는 예를 들어 명령, 어드레스 및 클록 신호를 수신할 수 있다. 경우에 따라, 이러한 명령 신호는 레지스터 명령 워드(register command words)(RCWs)를 포함할 수 있고; 다른 예에서는 버퍼 제어 워드(buffer control words)(BCWs)를 포함할 수 있다. RCD(706)는 일부 예에서 다중 포트 버퍼 회로(705)를 제어하고 일부 경우에서는 트레이닝하기 위한 신호를 제공할 수 있다. 특정 예에서, RCD(706)는 설정된 데이터 전송 속도에서 동작하는 32비트 데이터 버스를 통해 메모리 제어기와 통신하고 더 느린 전송 속도에서 메모리 디바이스(700)의 데이터 신호를 변조하도록 구성될 수 있다. 통상의 기술자에게 명백한 바와 같이, RCD(706)는 임피던스 교정 명령/패리티 검사 등과 같은 추가 기능을 구현할 수 있다. RCD의 출력(예를 들어, 클록 출력 명령/어드레스 출력 제어 출력 등은 그룹으로 인에이블될 수 있고 및/또는 그렇지 않으면 원하는 대로 개별적으로 제어된다.
호스트 디바이스(721)는 메모리 제어기(702)를 통해 메모리 모듈(703)(예를 들어, 듀얼 인-라인 메모리 모듈(DIMM))에 동작 가능하게 결합될 수 있다. 일부 예에서, 메모리 모듈(703)은 메모리 제어기(702)를 포함할 수 있다. 메모리 제어기(702)는 버스 또는 인터페이스(704)에 의해 복수의 메모리 디바이스(700)에 동작 가능하게 결합될 수 있다. 본 발명 주제의 다양한 예에 따르면, 호스트 디바이스(721)는 메모리 모듈(703)과 통신하여 메모리 디바이스(700)에 데이터를 저장하고 검색할 수 있다. 예시된 예에서, 메모리 제어기(702)는 4개의 채널(711, 712, 713, 714)을 통해 메모리 디바이스(700)와 통신할 수 있다. 특정 예에서, 채널 (711, 712, 713, 714)는 서로 독립적으로 동작할 수 있다. 일부 예에서, 채널(711, 712, 713, 714)은 명령 및 어드레스 신호와 같은 일부 신호를 공유할 수 있고 독립적인 데이터 신호를 가질 수 있다. 특정 예에서, 메모리 모듈(703)은 다중 포트 채널 버퍼 회로(705)를 포함할 수 있다. 다중 포트 채널 버퍼 회로(705)는 메모리 모듈 인터페이스(704)의 트랜잭션 속도가 개별 메모리 디바이스(700)의 트랜잭션 속도보다 더 높게 할 수 있다. 특정 예에서, 다중 포트 채널 버퍼 회로(705)는 더 느리지만 더 에너지 효율적인 메모리 디바이스가 더 높은 트랜잭션 속도가 가능한 메모리 제어기(702)와 함께 사용되도록 할 수 있다. 특정 예에서, 메모리 디바이스(700)의 트랜잭션 속도와 비교한 메모리 제어기(702)의 트랜잭션 속도는 2배 더 빠르거나, 4배 더 빠르거나, 또는 심지어 더 높을 수 있다. 일부 예에서, 다중 포트 채널 버퍼 회로(705)는 버퍼링되지 않은 메모리 모듈 또는 간단한 2-포트 버퍼 회로를 갖는 메모리 모듈과 비교하여 시스템(701)에 대한 추가적인 메모리 랭크를 허용할 수 있다.
도 8a 및 도 8b는 예시적인 4-채널 메모리 모듈의 채널(811)의 블록도를 전형적으로 예시한다. 특정 예에서, 채널(811)은 다중 메모리 디바이스(800), 다중 데이터 버스(822), 다중 포트 채널 버퍼 회로(805), 및 채널 데이터 버스(823)를 포함할 수 있다. 특정 예에서, 메모리 디바이스(800)는 랭크에 의해 조직화될 수 있고 채널은 메모리 디바이스(800)의 제1랭크(랭크 1) 및 메모리 디바이스(800)의 제2랭크(랭크 2)를 포함할 수 있다. 다중 포트 채널 버퍼 회로(805)는 메모리 디바이스(800)의 각각의 랭크(랭크 1, 랭크 2)와 동시에 데이터를 교환할 수 있다. 특정 예에서, 다중 포트 채널 버퍼 회로(805)는 메모리 디바이스(800)의 메모리의 하나 이상의 메모리 랭크(랭크 1, 랭크 2)와 동시에 데이터를 교환하면서 채널 데이터 버스(823)를 통해 메모리 제어기/호스트 디바이스와 데이터를 교환할 수 있다. 일부 예에서, 다중 포트 채널 버퍼 회로(805)는 도 8b에 도시된 바와 같이 다중의 개별 다중 포트 데이터 버퍼(807)를 포함할 수 있다. 예시된 채널(811)에서, 메모리의 각각의 랭크(랭크 1, 랭크 2)는 다중 포트 채널 버퍼 회로(805)의 하나 이상의 포트(A, B)와 결합된다. 특정 예에서, 다중 포트 채널 버퍼 회로(805)는 훨씬 더 느린 트랜잭션 속도를 갖는 메모리 디바이스(800)를 사용하면서 연결된 메모리 제어기 또는 호스트의 트랜잭션 속도의 완전한 활용을 허용할 수 있다. 예를 들어, 예시적인 다중 포트 채널 버퍼 회로를 사용하는 DDR6 메모리 모듈의 예에서, 채널 버스(823)의 트랜잭션 속도는 12,800 MT/초일 수 있는 반면, 메모리 데이터 버스(822)는 6400 MT/초에서 동작한다. 특정 애플리케이션에서, 예시적인 다중 포트 채널 버퍼 회로(805)는 더 에너지 효율적이고, 더 느리고, 종종 더 저렴한 메모리 디바이스(800)를 사용하면서 채널 버스(823)의 예상된 스피드 성능을 허용할 수 있다. 본 발명의 주제를 읽고 이해하면, 다중 포트 채널 버퍼 회로(805)는 동일한 기능을 가져오는 논리 컴포넌트의 대안적인 조합으로부터 설계될 수 있다는 것이 이해된다.
도 9는 본 발명의 주제의 다양한 예에 따른 메모리 모듈을 동작시키는 예시적인 방법(900)을 그래픽으로 예시한다. 도 9의 방법(900)은 판독 동작 및 기록 동작을 위한 예시적인 메모리 모듈의 동작을 예시한다. 판독 작업의 경우, 시간은 왼쪽에서 오른쪽으로 흐른다. 기록 작업의 경우, 시간은 오른쪽에서 왼쪽으로 흐른다. 도 9의 특정 예는 판독 또는 기록 명령에 대한 데이터가 제1 랭크(R1) 및 제2 랭크(R2)의 메모리 디바이스에 위치된다고 가정한다. 메모리 모듈의 RCD는 메모리 제어기로부터 명령을 수신할 수 있다. 판독 명령에 대해, RCD는 판독 데이터의 첫번째 32 바이트를 감지하고 제1 판독 데이터를 메모리 모듈 인터페이스에 포워딩하도록 제1 랭크(R1)의 제1부분의 메모리를 명령할 수 있다. 제1 랭크(R1)의 제1 판독 데이터의 감지를 개시한 이후의 지연으로서, RCD는 판독 데이터의 두번째 32바이트를 감지하고 제2 판독 데이터를 메모리 모듈 인터페이스에 포워딩하도록 제1 랭크(R2)의 제2 부분의 메모리를 명령할 수 있다. 메모리 모듈은 멀티 포트 채널 버퍼 회로를 포함하므로, 제1 랭크(R1)의 제1부분의 메모리 디바이스와 제1 랭크(R1)의 제2부분의 메모리 디바이스는 각각의 감지된 데이터를 동시에 전송할 수 있다. 다중 포트 채널 버퍼 회로는 제1판독 데이터를 수신하기 위해 제1포트(A)를 사용하고 제2판독 데이터를 수신하기 위해 제2포트(B)를 사용할 수 있다.
제1 판독 데이터 및 제2 판독 데이터의 특정 양을 버퍼링할 때, 다중 포트 채널 버퍼 회로는 다중 포트 채널 버퍼 회로의 제3 포트(C)를 통해 호스트에 판독 데이터의 첫번째 64 바이트 청크(chunk)를 발신하기 시작할 수 있다. 특정 예에서, RCD는 각각의 랭크의 각각의 부분의 데이터가 제3 포트(C)를 통해 발신하는 순서를 스케줄 또는 배열하는 데 도움이 될 수 있다. 일부 예에서, 다중 포트 채널 버퍼 회로는 RCD로부터의 클로킹 신호 이외의 조정 없이 미리 결정된 순서 및 배열로 호스트에 데이터를 보낼 수 있다. 도 9로부터 관찰할 수 있는 바와 같이, 다중 포트 채널 버퍼 회로를 사용하여 인에이블된 데이터의 중첩 전송은 메모리 디바이스의 전송 속도가 메모리 제어기의 전송 속도의 절반이 되도록 한다. 추가적인 데이터가 판독되어야 하는 경우, RCD는 추가적인 데이터를 검색하기 위해 메모리의 제1 및 제2 랭크(R1, R2)의 상이한 부분에 감지 명령을 계속 교대할 수 있다.
기록 명령에 대해, RCD는 기록 데이터의 수신을 메모리 제어기와 조정(coordinate)할 수 있다. 다중 포트 채널 버퍼 회로는 제3 포트(C)를 사용하여 호스트로부터 기록 데이터를 수신하고 수신된 기록 데이터를 버퍼링할 수 있다. RCD는 다중 포트 채널 버퍼 회로에서 제1 및 제2 랭크(R1, R2) 메모리로 수신된 기록 데이터의 전송을 조정할 수 있다. 예를 들어, 제1 기록 데이터의 첫번째 64 바이트를 수신하기 시작한 직후, 다중 포트 채널 버퍼 회로는 다중 포트 채널 버퍼의 제1 및 제2 포트(A, B)(기록 동작의 경우 도 9에서 시간은 오른쪽에서 왼쪽으로 흐름)를 사용하여 제1 기록 데이터의 첫번째 및 두번째 32 바이트 청크를 제2 랭크(R2)의 메모리의 제1 및 제2 부분에 전송하기 시작할 수 있다. 제3 포트(C)에서 제2 기록 데이터의 두번째 64 바이트를 수신하기 시작할 때, 다중 포트 채널 버퍼 회로는 다중 포트 채널 버퍼 회로의 제1 및 제2 포트(A, B)를 사용하여 제2 기록 데이터의 세번째 및 네번째 32 바이트 청크를 제1 랭크(R1)의 메모리의 제1 및 제2 부분에 전송하기 시작할 수 있다. 특정 예에서, 다중 포트 채널 버퍼 회로로부터 제2랭크(R2)의 메모리의 제1부분에 기록 데이터의 첫번째 32 바이트 청크를 전송하는 것과 다중 포트 채널 버퍼 회로로부터 제2 랭크(R2)의 메모리의 제2부분에 기록 데이터의 두번째 32 바이트 청크를 전송하는 것은 동시에 일어날 수 있다. 추가적인 데이터가 기록 명령의 일부로서 기록되어야 하는 경우, RCD는 메모리의 제1 및 제2 랭크의 부분에 추가적인 기록 데이터의 전송을 계속 교대할 수 있다. 도 8 및 도9에 예시된 예에서, 메모리 디바이스의 버스트 길이는 8비트 폭 데이터 버스를 사용하여 16이고, 메모리 제어기에 대한 채널 버스의 버스트 길이는 16비트 폭 데이터 버스를 사용하여 32이다.
위의 예는 2:1 팬아웃(fanout)을 갖는 다중 포트 채널 버퍼 회로를 사용하고 메모리 모듈이 개별 메모리 디바이스의 트랜잭션 속도보다 2배 더 큰 트랜잭션 속도로 동작하도록 허용하는 메모리 모듈의 예를 예시한다. 특정 예에서, 3:1 팬아웃 또는 4:1 팬아웃을 갖는 버퍼 회로는 메모리 모듈이 훨씬 더 높은 트랜잭션 속도 비율로 동작하게 하기 위해 사용될 수 있다. 이러한 예는 메모리 모듈이 메모리 모듈의 개별 메모리 디바이스의 정격(rated) 트랜잭션 속도보다 4배 더 높을 수 있는 트랜잭션 속도로 동작하게 할 수 있다.
도 10은 메모리 모듈의 저장 용량을 제공하기 위해 사용되는 메모리 모듈의 메모리 디바이스보다 더 높은 트랜잭션 속도를 지원하도록 메모리 모듈을 동작시키는 예시적인 방법(1000)의 흐름도를 전형적으로 예시한다. (1001)에서, 메모리 액세스 명령은 메모리 모듈에서 수신될 수 있다. 특정 예에서, 메모리 모듈의 하나 이상의 RCD는 메모리 액세스 명령을 수신할 수 있고, 메모리 액세스 명령을 실행하기 위해 메모리 디바이스 및 메모리 모듈의 다양한 버스의 활동을 제어 또는 변조할 수 있다. (1003)에서, 메모리 액세스 명령과 연관된 데이터는 메모리 모듈의 다중 포트 버퍼 회로의 제1 포트와 메모리 모듈의 외부 인터페이스 사이에서 교환될 수 있다. 외부 인터페이스는 전형적으로 메모리 제어기를 통해 호스트에 결합되지만, 본 발명의 주제는 이에 제한되지 않는다. 기록 액세스 명령에 대해, 교환은 제1 포트에서 기록 데이터를 수신하는 것을 포함할 수 있다. 판독 액세스 명령에 대해, 교환은 호스트 디바이스에 판독 데이터를 송신하는 것을 포함할 수 있다. (1005)에서, 데이터는 외부 인터페이스와 데이터의 다른 부분을 교환하는 것과 동시에 다중 포트 버퍼 회로의 제2 및 제3 포트를 사용하여 메모리 모듈의 메모리 디바이스와 교환될 수 있다. 따라서, 다중 포트 버퍼 회로는 메모리 모듈의 메모리 디바이스의 트랜잭션 속도에 비해 외부 인터페이스를 통해 트랜잭션의 더 높은 속도를 허용할 수 있다.
도 11은 본 명세서에서 논의된 기술(예를 들어, 방법론) 중 임의의 하나 이상이 수행할 수 있는 예시적인 기계(1100)의 블록도를 예시한다. 대안적인 실시예에서, 기계(1100)는 독립형 디바이스로서 동작할 수 있거나 또는 다른 기계에 연결(예를 들어, 네트워크)될 수 있다. 네트워크된 배치에서, 기계(1100)는 서버 기계, 클라이언트 기계, 또는 서버-클라이언트 네트워크 환경 둘 모두의 용량에서 동작할 수 있다. 일 예에서, 기계(1100)는 피어-투-피어(peer-to-peer)(P2P)(또는 다른 분산) 네트워크 환경에서 피어 기계로서 동작할 수 있다. 기계(1100)는 개인용 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), 개인 디지털 단말기(PDA), 모바일 전화, 웹 어플라이언스, IoT 디바이스, 자동차 시스템, 또는 그 기계에 의해 취해질 액션을 특정하는 명령어를 (순차적으로 또는 다른 방식으로) 실행할 수 있는 임의의 기계일 수 있다. 또한, 단일 기계만이 예시되지만, 용어 "기계"는 또한, 클라우드 컴퓨팅(cloud computing), SaaS(software as a service), 다른 컴퓨터 클러스터 구성과 같은, 본 명세서에서 논의된 방법론 중 임의의 하나 이상을 수행하기 위해 명령어의 세트(또는 다수의 세트)를 개별적으로 또는 공동으로 실행하는 기계의 임의의 집합을 포함하는 것으로 간주되어야 한다.
본 명세서에 설명된 바와 같이, 예는 논리, 컴포넌트, 디바이스, 패키지, 또는 메커니즘을 포함하거나 이들에 의해 동작할 수 있다. 회로부는 하드웨어(예를 들어, 간단한 회로, 게이트, 논리 등)를 포함하는 유형의 엔티티로 구현되는 회로의 집합(예를 들어, 세트)이다. 회로부 멤버십은 시간 및 기초적인 하드웨어 가변성에 걸쳐 신축적일 수도 있다. 회로부는 동작할 때에 특정 작업을 단독으로 또는 조합하여 수행할 수 있는 부재를 포함한다. 일 예에서, 회로부의 하드웨어는 특정 동작(예를 들어, 하드와이어링됨)을 수행하도록 불변적으로 설계될 수 있다. 일 예에서, 회로부의 하드웨어는 특정 동작의 명령을 인코딩하기 위해 물리적으로 수정된(예를 들어, 자기적으로, 전기적으로, 불변의 질량 입자의 이동 가능한 배치 등) 컴퓨터 판독 가능 매체를 포함하는 가변적으로 연결된 물리적 컴포넌트(예를 들어, 실행 유닛, 트랜지스터, 간단한 회로 등)를 포함할 수 있다. 물리적 컴포넌트를 연결함에 있어서, 하드웨어 구성성분의 기초적인 전기적 성질은, 예를 들어, 절연체에서 전도체로 또는 그 반대로 변경된다. 명령어는 참여 하드웨어(예를 들어, 실행 유닛 또는 로딩 메커니즘)가 동작 중일 때 특정 작업의 부분을 수행하기 위해 가변 연결을 통해 하드웨어에 회로부의 멤버를 생성할 수 있게 인에이블 한다. 따라서, 컴퓨터 판독 가능 매체는 디바이스가 동작 중일 때 회로부의 다른 컴포넌트에 통신 가능하게 결합된다. 일 예에서, 물리적 컴포넌트 중 임의의 것은 하나 초과의 회로부의 하나 초과의 멤버에서 사용될 수 있다. 예를 들어, 동작 중에서, 실행 유닛은 한 시점에서 제1 회로부의 제1 회로에서 사용될 수 있고, 상이한 시간에서 제1 회로부에서의 제2 회로에 의해, 또는 제2 회로부에서의 제3 회로에 의해 재사용될 수 있다.
기계 (예를 들어, 컴퓨터 시스템)(1100) (예를 들어, 호스트(105), 메모리 디바이스(110) 등)는 프로세싱 디바이스(1102)(예를 들어, 하드웨어 프로세서, 중앙 프로세싱 유닛(CPU), 그래픽 프로세싱 유닛(GPU), 하드웨어 프로세서 코어, 또는 메모리 디바이스(110)의 메모리 제어기와 같은 이들의 임의의 조합), 메인 메모리(1104)(예를 들어, 판독 전용 메모리(ROM), 플래시 메모리, 동기식 DRAM(SDRAM) 또는 램버스 DRAM(RDRAM)등과 같은 동적 랜덤 액세스 메모리(DRAM)), 정적 메모리(1106)(예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등), 및 데이터 저장 시스템(1118)을 포함하고, 이들 중 일부 또는 전부는 인터링크(예를 들어, 버스)(1130)를 통해 서로 통신할 수 있다.
프로세싱 디바이스(1102)는 마이크로프로세서, 중앙 프로세싱 유닛 등과 같은 하나 이상의 범용 프로세싱 디바이스를 나타낼 수 있다. 보다 구체적으로, 프로세싱 디바이스는 CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 다른 명령어 세트를 구현하는 프로세서, 또는 명령어 세트의 조합을 구현하는 프로세서일 수 있다. 프로세싱 디바이스(1102)는 또한 ASIC(application specific integrated circuit), FPGA(field programmable gate array), DSP(digital signal processor), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 프로세싱 디바이스일 수 있다. 프로세싱 디바이스(1102)는 본 명세서에서 논의된 동작 및 단계를 수행하기 위한 명령어(1126)를 실행하도록 구성될 수 있다. 컴퓨터 시스템(1100)은 네트워크(1120)를 통해 통신하기 위한 네트워크 인터페이스 디바이스(1108)를 더 포함할 수 있다.
데이터 저장 시스템(1118)은 본 명세서에 설명된 방법론 또는 기능 중 임의의 하나 이상을 구현하는 하나 이상의 명령어 세트(1126) 또는 소프트웨어가 저장되는 머신 판독 가능 저장 매체(1124)(컴퓨터 판독 가능 매체로도 알려짐)를 포함할 수 있다. 명령어(1126)는 또한 컴퓨터 시스템(1100), 메인 메모리(1104) 및 기계 판독 가능 저장 매체 또한 구성하는 프로세싱 디바이스(1102)에 의한 실행 동안 메인 메모리(1104) 내에 또는 프로세싱 디바이스(1102) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다. 기계 판독 가능 저장 매체(1124), 데이터 저장 시스템(1118), 또는 메인 메모리(1104)는 도 1의 메모리 디바이스(100)에 대응할 수 있다.
일 구현예에서, 명령어(1126)는 도 4, 도 6, 도 9 및 도 10의 방법론을 제공하는 것에 대응하는 기능을 구현하기 위한 명령어를 포함한다. 기계 판독 가능 저장 매체(1124)가 예시적인 구현예에서 단일 매체인 것으로 도시되어 있지만, "기계 판독 가능 저장 매체"라는 용어는 하나 이상의 명령어 세트를 저장하는 단일 매체 또는 다중 매체를 포함하는 것으로 간주되어야 한다. "기계 판독 가능 저장 매체"라는 용어는 또한, 기계에 의한 실행을 위한 명령어 세트를 저장 또는 인코딩할 수 있고 기계가 본 개시의 방법론 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 간주되어야 한다. 따라서 "기계 판독 가능 저장 매체"라는 용어는 고체 상태 메모리, 광학 매체 및 자기 매체를 포함하지만 이에 제한되지 않는 것으로 간주되어야 한다. 일 예에서, 대용량 기계 판독 가능 매체는 불변식(예를 들어, 나머지) 질량을 갖는 복수의 입자를 갖는 기계 판독 가능 매체를 포함한다. 따라서, 대용량 기계 판독 가능 매체는 일시적인 전파 신호가 아니다. 대용량 기계 판독 가능 매체의 특정 예는 반도체 메모리 디바이스(예를 들어, 전기적 프로그래밍가능 판독 전용 메모리(Electrically Programmable Read-Only Memory)(EPROM), 전기적 소거가능 프로그래밍가능 판독 전용 메모리(Electrically Erasable Programmable Read-Only Memory)(EEPROM)) 및 플래시 메모리 디바이스와 같은 비휘발성 메모리; 내부 하드 디스크 및 분리가능한 디스크와 같은 자기 디스크; 자기광학 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 포함할 수 있다.
기계(1100)는 디스플레이 유닛, 영숫자 입력 디바이스(예를 들어, 키보드), 사용자 인터페이스(UI) 내비게이션 디바이스(예를 들어, 마우스)를 더 포함할 수 있다. 일 예에서, 디스플레이 유닛, 입력 디바이스, 또는 UI 네비게이션 디바이스 중 하나 이상은 터치 스크린 디스플레이일 수 있다. 기계는 신호 생성 디바이스(예를 들어, 스피커), 또는 글로벌 위치결정 시스템(Global Positioning System)(GPS) 센서, 나침반, 가속도계 또는 하나 이상의 다른 센서와 같은 하나 이상의 센서이다. 기계(1100)는 하나 이상의 주변 디바이스(예를 들어, 프린터, 카드 판독기 등)를 통신하거나 제어하기 위해 직렬(예를 들어, 유니버셜 직렬 버스(universal serial bus)(USB)), 병렬, 또는 다른 유선 또는 무선(예를 들어, 적외선(infrared)(IR), 근접장 통신(near field communication)(NFC) 등) 연결과 같은 출력 제어기를 포함할 수 있다.
명령어(1126)(예를 들어, 소프트웨어, 프로그램, 운영 시스템(OS) 등) 또는 다른 데이터는 데이터 저장 디바이스(1118)에 저장되고, 프로세싱 디바이스(1102)에 의한 사용을 위해 메인 메모리(1104)에 의해 액세스될 수 있다. 메인 메모리(1104)(예를 들어, DRAM)는 전형적으로 빠르지만 휘발성이며, 따라서 "오프" 상태에 있는 경우를 포함하여, 장기 저장에 적합한 데이터 저장 디바이스(1118)(예를 들어, SSD)와는 상이한 유형의 저장이다. 사용자 또는 기계(1100)에 의해 사용 중인 명령어(1126) 또는 데이터는 전형적으로 프로세싱 디바이스(1102)에 의한 사용을 위해 메인 메모리(1104)에 로드된다. 메인 메모리(1104)가 가득 차면, 데이터 저장 디바이스(1118)로부터의 가상 공간은 메인 메모리(1104)를 보충하기 위해 할당될 수 있다; 그러나, 데이터 저장 디바이스(1118)가 통상적으로 메인 메모리(1104)보다 느리고, 기록 스피드가 통상적으로 판독 속도보다 적어도 2배 느리기 때문에, 가상 메모리의 사용은 (메인 메모리(1104), 예를 들어, DRAM과 대조적으로) 저장 디바이스 레이턴시로 인해 사용자 경험을 크게 감소시킬 수 있다. 또한, 가상 메모리를 위한 데이터 저장 디바이스(1118)의 사용은 데이터 저장 디바이스(1118)의 사용 가능 수명을 크게 감소시킬 수 있다.
가상 메모리와 대조적으로, 가상 메모리 압축(예를 들어, 리눅스™ 커널 피처 "ZRAM")은 데이터 저장 디바이스(1118)로의 페이징(paging)을 피하기 위해 메모리의 일부를 압축된 블록 저장으로서 사용한다. 페이징은 이러한 데이터를 데이터 저장 디바이스(1118)에 기록할 필요가 있을 때까지 압축된 블록에서 일어난다. 가상 메모리 압축은 메인 메모리(1104)의 사용 가능 크기를 증가시키면서 데이터 저장 디바이스(1118) 상의 마모를 감소시킨다.
모바일 전자 디바이스 또는 모바일 저장에 최적화된 저장 디바이스는 전통적으로 MMC 고체 상태 저장 디바이스(예를 들어, microSD™ 카드 등)를 포함한다. MMC 디바이스는 호스트(예를 들어, 호스트 디바이스)와의 다수의 병렬 인터페이스(예를 들어, 8비트 병렬 인터페이스)를 포함하고, 종종 호스트로부터 분리 가능하고 별도의 컴포넌트이다. 대조적으로 eMMC™ 디바이스는 회로 기판에 부착되어 호스트의 컴포넌트로 간주되며, 판독 스피드는 직렬 ATA™(Serial AT(Advanced Technology) Attachment 또는 SATA) 기반 SSD 디바이스에 필적한다. 그러나, 가상 또는 증강 현실 디바이스를 완전히 인에이블 하고, 증가하는 네트워크 스피드를 활용하는 것 등과 같이, 모바일 디바이스 성능에 대한 요구는 계속 증가한다. 이러한 요구에 응답하여, 저장 디바이스는 병렬에서 직렬 통신 인터페이스로 시프트되었다. 제어기 및 펌웨어를 포함하는 유니버셜 플래시 저장(Universal Flash Storage)(UFS) 디바이스는 전용 판독/기록 경로를 갖는 저전압 차동 신호(Low-Voltage Differential Signaling)(LVDS) 직렬 인터페이스를 사용하여 호스트와 통신하여 판독/기록 스피드를 더 향상시킨다.
명령어(1124)는 또한 다수의 전송 프로토콜(예를 들어, 프레임 릴레이, 인터넷 프로토콜(IP), 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP), 하이퍼텍스트 전송 프로토콜(HTTP) 등) 중 임의의 하나를 이용하여 네트워크 인터페이스 디바이스(1108)를 통해 전송 매체를 사용하여 네트워크(1120)를 통해 송신되거나 수신될 수 있다. 예시적인 통신 네트워크는 그 중에서도, 로컬 영역 네트워크(local area network)(LAN), 광역 네트워크(wide area network)(WAN), 패킷 데이터 네트워크(예를 들어, 인터넷), 모바일 전화 네트워크(예를 들어, 셀룰러 네트워크), 기존 전화(Plain Old Telephone)(POTS) 네트워크, 및 무선 데이터 네트워크(예를 들어, Wi-Fi®로서 알려진 표준의 전기전자 기술자 협회(Institute of Electrical and Electronics Engineers)(IEEE) 802. 11 계열, WiMax®로서 알려진 표준의 IEEE 802. 16 계열, 표준의 IEEE 802. 15. 4 계열, 피어-투-피어(P2P) 네트워크를 포함할 수 있다. 일 예에서, 네트워크 인터페이스 디바이스(1108)는 네트워크(1120)에 접속하기 위해 하나 이상의 물리적 잭(jack)(예를 들어, 이더넷, 동축 또는 전화 잭) 또는 하나 이상의 안테나를 포함할 수 있다. 일 예에서, 네트워크 인터페이스 디바이스(1108)는 단일 입력 다중 출력(SIMO), 다중 입력 다중 출력(MIMO), 또는 다중 입력 단일 출력(MISO) 기술 중 적어도 하나를 사용하여 무선으로 통신하기 위한 복수의 안테나를 포함할 수 있다.
"전송 매체"라는 용어는 기계(1100)에 의한 실행을 위해 명령어를 저장, 인코딩 또는 전달할 수 있는 임의의 무형 매체를 포함하는 것으로 간주되어야 하고, 이러한 소프트웨어의 통신을 용이하게 하기 위한 디지털 또는 아날로그 통신 신호 또는 다른 무형 매체를 포함한다. 본 명세서에 설명된 정보 및 신호는 다양한 상이한 기술(technologies) 및 기법(techniques) 중 임의의 것을 사용하여 표현될 수 있다. 예를 들어, 위의 설명 전체에서 참조될 수 있는 데이터, 명령, 명령, 정보, 신호, 비트, 심볼, 및 칩은 전압, 전류, 전자기파, 자기장 또는 입자, 광학장 또는 입자, 또는 이들의 임의의 조합에 의해 표현될 수 있다. 일부 도면은 신호를 단일 신호로서 예시할 수 있다; 그러나, 통상의 기술자는 신호가 신호의 버스를 나타낼 수 있고, 여기서 버스는 다양한 비트 폭을 가질 수 있다는 것을 이해할 것이다.
본 명세서에서 사용될 수 있는 바와 같이, "가상 접지"라는 용어는 대략 0 볼트(0V)의 전압으로 유지되지만 접지와 직접 연결되지 않는 전기 회로의 노드를 지칭한다. 따라서, 가상 접지의 전압은 일시적으로 변동하고 정상 상태에서 약 0V로 복귀할 수 있다. 가상 접지는 연산 증폭기와 저항으로 이루어진 전압 분배기(voltage divider)와 같은 다양한 전자 회로 엘리먼트를 이용하여 구현될 수 있다. 다른 구현예도 가능하다. "가상 접지(virtual grounding)" 또는 "가상 접지(virtually grounded)"는 약 0V에 연결된 것을 의미한다.
본 명세서에서 사용될 수 있는 "전자 통신" 및 "결합"이라는 용어는 컴포넌트 사이의 전자 흐름을 지원하는 컴포넌트 간의 관계를 의미한다. 이는 컴포넌트 간의 직접 연결을 포함할 수 있거나 중간 컴포넌트를 포함할 수 있다. 전자 통신 내의 컴포넌트 또는 서로 결합된 컴포넌트는 전자 또는 신호를 (예를 들어, 에너지화된 회로에서) 능동적으로 교환하고 있을 수 있거나 또는 전자 또는 신호를 (예를 들어, 비-에너지화된 회로에서) 능동적으로 교환하고 있지 않을 수 있지만, 회로가 에너지화될 때 전자 또는 신호를 교환하도록 구성되고 동작 가능할 수 있다. 예로서, 스위치(예를 들어, 트랜지스터)를 통해 물리적으로 연결된 2개의 컴포넌트는 스위치의 상태(즉, 개방 또는 폐쇄)에 관계없이 전자 통신하거나 결합될 수 있다.
본 명세서에서 사용되는 용어 "층"은 기하학적 구조의 지층(stratum) 또는 시트(sheet)를 지칭한다. 각각의 층은 3개의 차원(예를 들어, 높이, 폭 및 깊이)를 가질 수 있고, 표면의 일부 또는 전부를 덮을 수 있다. 예를 들어, 층은 2차원이 제3, 예를 들어 박막(thin-film)보다 큰 3차원 구조일 수 있다. 층은 상이한 엘리먼트, 컴포넌트, 및/또는 재료를 포함할 수 있다. 경우에 따라 하나의 층이 둘 이상의 서브층으로 구성될 수도 있다. 첨부된 도면 중 일부에서, 3차원 층의 2차원은 예시의 목적으로 도시된다. 그러나, 통상의 기술자는 층이 본질적으로 3차원이라는 것을 인식할 것이다.
본 명세서에서 사용되는 바와 같이, "전극"이라는 용어는 전기 전도체를 지칭할 수 있고, 일부 경우에, 메모리 셀 또는 메모리 어레이의 다른 컴포넌트에 전기 접촉(electrical contact)으로서 사용될 수 있다. 전극은 메모리 어레이의 엘리먼트 또는 컴포넌트 사이에 전도성 경로를 제공하는 트레이스, 와이어, 전도성 라인, 전도성 층 등을 포함할 수 있다.
"격리된"이라는 용어는 전자가 현재 이들 사이에서 흐를 수 없는 컴포넌트 간의 관계를 지칭한다; 컴포넌트는 이들 사이에 개방 회로가 존재하는 경우 서로 격리된다. 예를 들어, 스위치에 의해 물리적으로 연결된 2개의 컴포넌트는 스위치가 개방될 때 서로 격리될 수 있다.
메모리 어레이를 포함하는 본 명세서에서 논의된 디바이스는 실리콘, 게르마늄, 실리콘-게르마늄 합금, 갈륨 비소, 갈륨 질화물 등과 같은 반도체 기판 상에 형성될 수 있다. 일부 경우에, 기판은 반도체 웨이퍼이다. 다른 경우에, 기판은 실리콘-온-글래스(SOG) 또는 실리콘-온-사파이어(SOP)와 같은 실리콘-온-절연체(SOI) 기판, 또는 다른 기판 상의 반도체 재료의 에피택셜(epitaxial) 층일 수 있다. 일부 예에서, 기판은 ABF 또는 BT와 같은 재료로부터 형성된 유기 빌드업(build up) 기판일 수 있다. 기판, 또는 기판의 서브-영역의 전도도는 인, 붕소, 또는 비소를 포함하지만 이에 제한되지 않는 다양한 화학 종을 사용하여 도핑을 통해 제어될 수 있다. 도핑은 기판의 초기 형성 또는 성장 동안, 이온 주입에 의해, 또는 임의의 다른 도핑 수단에 의해 수행될 수 있다.
본 명세서에서 논의된 트랜지스터 또는 트랜지스터들은 전계 효과 트랜지스터(field-effect transistor)(FET)를 나타낼 수 있고, 소스, 드레인, 및 게이트를 포함하는 3 단자 디바이스를 포함할 수 있다. 단자는 도전성 재료, 예를 들면, 금속을 통해 다른 전자 엘리먼트에 연결될 수 있다. 소스 및 드레인은 전도성일 수 있고, 고농도로 도핑된, 예를 들어, 축퇴성 반도체 영역을 포함할 수 있다. 소스 및 드레인은 저농도로 도핑된 반도체 영역 또는 채널에 의해 분리될 수 있다. 채널이 n-타입이면(즉, 대다수 캐리어가 전자이면), FET는 n-유형 FET로 지칭될 수 있다. 채널이 p-타입이면(즉, 대다수 캐리어가 홀이면), FET는 p-유형 FET로 지칭될 수 있다. 채널은 절연 게이트 산화물에 의해 캡핑될 수 있다. 채널 전도도는 게이트에 전압을 인가함으로써 제어될 수 있다. 예를 들어, n-유형 FET 또는 p-유형 FET에 양의 전압 또는 음의 전압을 각각 인가하면 채널은 전도성이 될 수 있다. 트랜지스터의 임계 전압보다 크거나 같은 전압이 트랜지스터 게이트에 인가될 때 트랜지스터는 "온" 또는 "활성화"될 수 있다. 트랜지스터의 임계 전압보다 낮은 전압이 트랜지스터 게이트에 인가될 때 트랜지스터는 "오프" 또는 "비활성화"될 수 있다.
본 명세서의 개시와 관련하여 설명된 다양한 예시적인 블록 및 모듈은 범용 프로세서, DSP, ASIC, FPGA 또는 다른 프로그램 가능 논리 디바이스, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트, 또는 본 명세서에 설명된 기능을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안으로 프로세서는 임의의 프로세서, 제어기, 마이크로제어기 또는 상태 기계일 수 있다.
프로세서는 또한 컴퓨팅 디바이스의 조합(예를 들어, DSP와 마이크로프로세서의 조합, 다중 마이크로프로세서, DSP 코어와 함께 하나 이상의 마이크로프로세서, 또는 임의의 다른 그러한 구성)으로서 구현될 수 있다.
제1예, 예1에서, 메모리 모듈은 외부 인터페이스를 갖는 회로 보드, 회로 보드에 장착된 제1 메모리 디바이스, 및 회로 보드에 장착된 제1 다중 포트 버퍼 회로를 포함할 수 있다. 제1 다중 포트 버퍼 회로는 외부 인터페이스의 데이터 라인에 결합된 제1 포트 - 제1 포트는 제1 트랜잭션 속도로 동작하도록 구성됨- 제1 복수의 제1 메모리 디바이스의 데이터 라인에 결합된 제2 포트, 및 제2 복수의 제1 메모리 디바이스의 데이터 라인에 결합된 제3 포트를 포함할 수 있다. 제2 및 제3포트는 제2트랜잭션 속도로 동작하도록 구성될 수 있고, 제2 트랜잭션 속도는 제1 트랜잭션 속도보다 느리다. 메모리 모듈은 듀얼 인라인 메모리 모듈(dual in-line memory module)(DIMM)일 수 있다.
예 2에서, 예 1의 메모리 디바이스는 선택적으로 제1랭크의 메모리 및 제2랭크의 메모리를 포함한다.
예 3에서, 예 1-2 중 임의의 하나 이상의 제2포트는 선택적으로 외부 인터페이스와 제1랭크 사이에서 데이터를 교환하도록 구성된다.
예 4에서, 예 1-3 중 임의의 하나 이상의 제2포트는 선택적으로 외부 인터페이스와 제2랭크 사이에서 데이터를 교환하도록 구성되지 않는다.
예 5에서, 예 1-4 중 임의의 하나 이상의 메모리 디바이스는 선택적으로 제3랭크의 메모리 및 제4랭크의 메모리를 포함한다.
예 6에서, 예 1-5 중 임의의 하나 이상의 제1 포트는 선택적으로 외부 인터페이스와 제1 및 제2 랭크 사이에서 데이터를 교환하도록 구성되고, 예 1-5 중 임의의 하나 이상의 제2 포트는 선택적으로 외부 인터페이스와 제3 및 제4 랭크 사이에서 데이터를 교환하도록 구성된다.
예 7에서, 예 1-6 중 임의의 하나 이상의 제1다중 포트 버퍼 회로는 선택적으로 제1랭크 및 제2랭크와 동시에 데이터를 교환하도록 구성된다.
예 8에서, 예 1-7 중 임의의 하나 이상의 제1포트의 제1트랜잭션 속도는 선택적으로 제2포트의 트랜잭션 속도보다 2배 더 크다.
예 9에서, 예 1-8 중 임의의 하나 이상의 제1포트의 제1트랜잭션 속도는 선택적으로 제2포트의 트랜잭션 속도보다 4배 더 크다.
예 10에서, 예 1-9 중 임의의 하나 이상의 제1포트의 전송 속도는 선택적으로 초당 12,800메가 트랜잭션(mega-transactions per second)(MT/s)이다.
예 11에서, 예 1-10 중 임의의 하나 이상의 메모리 모듈은 선택적으로 제1채널 및 제2채널을 포함한다. 제1채널은 제1메모리 디바이스, 제1다중 포트 버퍼, 및 외부 인터페이스의 데이터 버스의 제1부분을 포함할 수 있다. 제2채널은 회로 보드에 장착된 제2메모리 디바이스, 제2 다중 포트 버퍼 회로, 및 외부 인터페이스의 데이터 버스의 제2부분을 포함할 수 있다. 제2 다중 포트 버퍼 회로는 외부 인터페이스의 데이터 라인에 결합된 제1 포트, 제1 복수의 제2 메모리 디바이스의 데이터 라인에 결합된 제2 포트, 및 제2 복수의 제2 메모리 디바이스의 데이터 라인에 결합된 제3 포트를 포함할 수 있다.
예 12에서, 예 1-11 중 임의의 하나 이상의 제1 및 제2채널의 제1포트는 선택적으로 16비트 이하의 데이터 버스 폭(data bus width)을 포함한다.
예 13에서, 예 1-11 중 임의의 하나 이상의 제1 및 제2채널의 제1포트는 선택적으로 32비트 이하의 데이터 버스 폭을 포함한다.
예 14에서, 예 1-2 중 임의의 하나 이상의 메모리 모듈은 선택적으로 4개의 채널을 포함하고, 4개의 채널은 제1채널 및 제2채널을 포함한다.
예 15에서, 예 1-14 중 임의의 하나 이상의 제1 다중 포트 버퍼 회로는 선택적으로 다중 버퍼를 포함하고, 다중 버퍼의 각각의 버퍼는 외부 인터페이스에 결합된 제1 데이터 포트, 및 제1 메모리 디바이스에 결합된 2개의 데이터 포트를 포함하고, 예 1-14 중 임의의 하나 이상의 제1 데이터 포트의 데이터 버스의 데이터 폭은 선택적으로 외부 인터페이스의 데이터 버스의 데이터 폭의 일부이다.
예 16에서, 듀얼 인-라인 메모리 모듈(DIMM)을 동작시키는 방법은 메모리 모듈에서 메모리 데이터와 연관된 액세스 명령을 수신하는 단계, DIMM의 외부 인터페이스 및 DIMM의 다중 포트 버퍼 회로의 제1 포트와 메모리 데이터를 교환하는 단계, 및 다중 포트 버퍼 회로의 제2 포트 및 다중 포트 버퍼 회로의 제3 포트를 사용하여 DIMM의 메모리 디바이스와 메모리 데이터를 교환하는 단계를 포함할 수 있고, 메모리 디바이스와 메모리 데이터를 교환하는 단계는 제2 포트를 통해 그리고 제3 포트를 통해 메모리 데이터를 동시에 라우팅하는 단계를 포함한다.
예 17에서, 예 1-16 중 임의의 하나 이상의 메모리 데이터와 연관된 액세스 명령을 수신하는 단계는 선택적으로 메모리 데이터의 판독 명령을 수신하는 단계를 포함하고, 예 1-16 중 임의의 하나 이상의 메모리 디바이스와 메모리 데이터를 교환하는 단계는 선택적으로 다중 포트 버퍼 회로의 제2 및 제3 포트에서 메모리 디바이스로부터 메모리 데이터를 동시에 수신하는 단계를 포함한다.
예 18에서, 예 1-17 중 임의의 하나 이상의 DIMM의 외부 인터페이스 및 다중 포트 버퍼 회로의 제1 포트와 메모리 데이터를 교환하는 단계는 선택적으로 제1 및 제2 포트에서 메모리 데이터의 제2 부분을 동시에 수신하는 동안 제3 포트 및 외부 인터페이스를 통해 호스트에 메모리 데이터의 제1 부분을 발신하는 단계를 포함한다.
예 19에서, 예 1-18 중 임의의 하나 이상의 메모리 데이터와 연관된 액세스 명령을 수신하는 단계는 선택적으로 메모리 데이터의 기록 명령을 수신하는 단계를 포함하고, 예 1-18 중 임의의 하나 이상의 DIMM의 외부 인터페이스 및 다중 포트 버퍼 회로의 제1 포트와 메모리 데이터를 교환하는 단계는 선택적으로 제3 포트 및 외부 인터페이스를 통해 호스트로부터 메모리 데이터를 수신하는 단계를 포함한다.
예 20에서, 예 1-19 중 임의의 하나 이상의 메모리 디바이스와 메모리 데이터를 교환하는 단계는 선택적으로 제1 포트를 사용하여 제1 메모리 디바이스에 메모리 데이터의 제1 부분을 발신하는 단계, 및 제2 포트를 사용하여 제2 메모리 디바이스에 메모리 데이터의 제2 부분을 발신하는 단계를 포함한다. 제2 부분을 발신하는 단계는 선택적으로 제1 부분을 발신하는 단계와 동시에 실행되고, 제2 부분을 발신하는 단계는 선택적으로 제3 포트에서 메모리 데이터의 제3 부분을 수신하는 단계와 동시에 실행된다.
예 21은 프로세싱 회로부에 의해 실행될 때, 프로세싱 회로부가 예 1-20 중 임의의 것을 구현하기 위한 동작을 수행하게 하는 명령어를 포함하는 적어도 하나의 기계 판독 가능 매체이다.
예 22는 예 1-20 중 임의의 것을 구현하기 위한 수단을 포함하는 장치이다.

Claims (20)

  1. 듀얼 인-라인 메모리 모듈(DIMM)로서,
    외부 인터페이스를 갖는 회로 보드;
    상기 회로 보드에 장착된 제1메모리 디바이스;
    상기 회로 보드에 장착된 제1 다중 포트 버퍼 회로를 포함하고, 상기 제1 다중 포트 버퍼 회로는,
    상기 외부 인터페이스의 데이터 라인에 결합된 제 1 포트 -상기 제1 포트는 제1트랜잭션 속도로 동작하도록 구성됨-;
    제1복수의 상기 제1메모리 디바이스의 데이터 라인에 결합된 제2포트; 및
    제2복수의 상기 제1메모리 디바이스의 데이터 라인에 결합된 제3포트를 포함하고; 및
    상기 제2 및 제3포트는 제2트랜잭션 속도로 동작하도록 구성되고, 상기 제2 트랜잭션 속도는 상기 제1 트랜잭션 속도보다 느린, 듀얼 인-라인 메모리 모듈.
  2. 제1항에 있어서, 상기 메모리 디바이스는 제1랭크의 메모리 및 제2랭크의 메모리를 포함하는, DIMM.
  3. 제2항에 있어서, 상기 제2포트는 상기 외부 인터페이스와 상기 제1랭크 사이에서 데이터를 교환하도록 구성되는, DIMM.
  4. 제3항에 있어서, 상기 제2포트는 상기 외부 인터페이스와 상기 제2랭크 사이에서 데이터를 교환하도록 구성되지 않는, DIMM.
  5. 제2항에 있어서, 상기 메모리 디바이스는 제3랭크의 메모리 및 제4랭크의 메모리를 포함하는, DIMM.
  6. 제5항에 있어서, 상기 제1포트는 상기 외부 인터페이스와 상기 제1 및 제2랭크 사이에서 데이터를 교환하도록 구성되고, 및
    상기 제2포트는 상기 외부 인터페이스와 상기 제3 및 제4랭크 사이에서 데이터를 교환하도록 구성되는, DIMM.
  7. 제2항에 있어서, 상기 제1 다중 포트 버퍼 회로는 상기 제1랭크 및 상기 제2랭크와 동시에 데이터를 교환하도록 구성되는, DIMM.
  8. 제1항에 있어서, 상기 제1포트의 상기 제1트랜잭션 속도는 상기 제2포트의 상기 트랜잭션 속도보다 2배 더 큰, DIMM.
  9. 제1항에 있어서, 상기 제1포트의 상기 제1트랜잭션 속도는 상기 제2포트의 상기 트랜잭션 속도보다 4배 더 큰, DIMM.
  10. 제1항에 있어서, 상기 제1포트의 전송 속도는 초당 12,800메가트랜잭션(MT/s)인, DIMM.
  11. 제1항에 있어서,
    제1채널로서,
    상기 제1메모리 디바이스;
    상기 제1 다중 포트 버퍼; 및
    상기 외부 인터페이스의 데이터 버스의 제1부분을 포함하는, 상기 제1채널; 및
    제2채널로서,
    상기 회로 보드에 장착된 제2메모리 디바이스;
    제2 다중 포트 버퍼 회로 - 상기 제2 다중 포트 버퍼 회로는,
    상기 외부 인터페이스의 데이터 라인에 결합된 제1포트;
    제1복수의 상기 제2메모리 디바이스의 데이터 라인에 결합된 제2포트; 및
    제2복수의 상기 제2메모리 디바이스의 데이터 라인에 결합된 제3포트를 포함함-; 및
    상기 외부 인터페이스의 상기 데이터 버스의 제2부분을 포함하는, 상기 제2채널을 포함하는, DIMM.
  12. 제11항에 있어서, 상기 제1포트는 16비트 이하의 데이터 버스 폭을 포함하는, DIMM.
  13. 제11항에 있어서, 상기 제1포트는 32비트 이하의 데이터 버스 폭을 포함하는, DIMM.
  14. 제11항에 있어서, 4개의 채널을 포함하고, 상기 4개의 채널은 상기 제1채널 및 상기 제2채널을 포함하는, DIMM.
  15. 제1항에 있어서, 상기 제1 다중 포트 버퍼 회로는 다중 버퍼를 포함하고, 상기 다중 버퍼의 각각의 버퍼는 상기 외부 인터페이스에 결합된 제1데이터 포트, 및 상기 제1메모리 디바이스에 결합된 2개의 데이터 포트를 포함하고; 및
    상기 제1데이터 포트의 데이터 버스의 데이터 폭은 상기 외부 인터페이스의 데이터 버스의 데이터 폭의 일부인, DIMM.
  16. 듀얼 인-라인 메모리 모듈 (DIMM)을 동작시키는 방법으로서,
    상기 메모리 모듈에서 메모리 데이터와 연관된 액세스 명령을 수신하는 단계;
    상기 DIMM의 외부 인터페이스 및 상기 DIMM의 다중 포트 버퍼 회로의 제1포트와 상기 메모리 데이터를 교환하는 단계; 및
    상기 다중 포트 버퍼 회로의 제2 포트를 사용하여 및 상기 다중 포트 버퍼 회로의 제3 포트를 사용하여 상기 DIMM의 메모리 디바이스와 상기 메모리 데이터를 교환하는 단계를 포함하고, 상기 메모리 디바이스와 상기 메모리 데이터를 교환하는 단계는 상기 제2 포트를 통해 및 상기 제3 포트를 통해 메모리 데이터를 동시에 라우팅하는 단계를 포함하는, 방법.
  17. 제16항에 있어서, 메모리 데이터와 연관된 액세스 명령을 수신하는 단계는 상기 메모리 데이터의 판독 명령을 수신하는 단계를 포함하고; 및
    상기 메모리 디바이스와 상기 메모리 데이터를 교환하는 단계는 상기 다중 포트 버퍼 회로의 상기 제2 및 제3포트에서 상기 메모리 디바이스로부터 상기 메모리 데이터를 동시에 수신하는 단계를 포함하는, 방법.
  18. 제17항에 있어서, 상기 DIMM의 외부 인터페이스 및 다중 포트 버퍼 회로의 제1 포트와 상기 메모리 데이터를 교환하는 단계는 상기 제1 및 제2 포트에서 상기 메모리 데이터의 제2 부분을 동시에 수신하는 동안 상기 제3 포트 및 상기 외부 인터페이스를 통해 호스트에 상기 메모리 데이터의 제1 부분을 발신하는 단계를 포함하는, 방법.
  19. 제16항에 있어서, 메모리 데이터와 연관된 액세스 명령을 수신하는 단계는 상기 메모리 데이터의 기록 명령을 수신하는 단계를 포함하고; 및
    상기 DIMM의 외부 인터페이스 및 다중 포트 버퍼 회로의 제1포트와 상기 메모리 데이터를 교환하는 단계는 상기 제3포트 및 상기 외부 인터페이스를 통해 호스트로부터 상기 메모리 데이터를 수신하는 단계를 포함하는, 방법.
  20. 제19항에 있어서, 상기 메모리 디바이스와 상기 메모리 데이터를 교환하는 단계는,
    상기 제1포트를 사용하여 상기 메모리 데이터의 제1부분을 제1메모리 디바이스에 발신하는 단계;
    상기 제2포트를 사용하여 상기 메모리 데이터의 제2부분을 제2메모리 디바이스에 발신하는 단계를 포함하고;
    상기 제 2부분을 발신하는 단계는 상기 제 1부분을 발신하는 단계와 동시에 실행되고; 및
    상기 제 2부분을 발신하는 단계는 상기 제 3포트에서 상기 메모리 데이터의 제 3부분을 수신하는 단계와 동시에 실행되는, 방법.
KR1020227023747A 2019-12-31 2020-12-30 메모리 모듈 다중 포트 버퍼 기술 KR20220114027A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962955682P 2019-12-31 2019-12-31
US62/955,682 2019-12-31
PCT/US2020/067447 WO2021138408A1 (en) 2019-12-31 2020-12-30 Memory module mutiple port buffer techniques

Publications (1)

Publication Number Publication Date
KR20220114027A true KR20220114027A (ko) 2022-08-17

Family

ID=76546487

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227023747A KR20220114027A (ko) 2019-12-31 2020-12-30 메모리 모듈 다중 포트 버퍼 기술

Country Status (5)

Country Link
US (2) US11538508B2 (ko)
EP (1) EP4085459A4 (ko)
KR (1) KR20220114027A (ko)
CN (1) CN114902332A (ko)
WO (1) WO2021138408A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210131391A (ko) 2019-02-22 2021-11-02 마이크론 테크놀로지, 인크. 메모리 디바이스 인터페이스 및 방법
EP4081954A4 (en) 2019-12-27 2023-04-05 Micron Technology, Inc. NEUROMORPHIC STORAGE DEVICE AND METHOD
KR20220116258A (ko) 2019-12-30 2022-08-22 마이크론 테크놀로지, 인크. 메모리 디바이스 인터페이스 및 방법
KR20220114027A (ko) 2019-12-31 2022-08-17 마이크론 테크놀로지, 인크. 메모리 모듈 다중 포트 버퍼 기술
US11907141B1 (en) * 2022-09-06 2024-02-20 Qualcomm Incorporated Flexible dual ranks memory system to boost performance

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9805054D0 (en) 1998-03-11 1998-05-06 Process Intelligence Limited Memory test system with buffer memory
US7096407B2 (en) 2003-02-18 2006-08-22 Hewlett-Packard Development Company, L.P. Technique for implementing chipkill in a memory system
KR100543454B1 (ko) 2003-05-21 2006-01-23 삼성전자주식회사 비트 구조에 관계없이 단일의 패키지 형태에 실장 가능한반도체 메모리 장치
US7395476B2 (en) 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
US7200021B2 (en) 2004-12-10 2007-04-03 Infineon Technologies Ag Stacked DRAM memory chip for a dual inline memory module (DIMM)
JP4309368B2 (ja) 2005-03-30 2009-08-05 エルピーダメモリ株式会社 半導体記憶装置
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US7376034B2 (en) * 2005-12-15 2008-05-20 Stec, Inc. Parallel data storage system
US7640386B2 (en) * 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
US20080136002A1 (en) 2006-12-07 2008-06-12 Advanced Chip Engineering Technology Inc. Multi-chips package and method of forming the same
EP2102867B1 (en) 2006-12-14 2013-07-31 Rambus Inc. Multi-die memory device
WO2008127698A2 (en) * 2007-04-12 2008-10-23 Rambus Inc. Memory system with point-to-point request interconnect
US7586725B2 (en) 2007-07-19 2009-09-08 Honeywell International Inc. Method of providing a secondary means of overload protection and leakage current protection in applications using solid state power controllers
US8059443B2 (en) * 2007-10-23 2011-11-15 Hewlett-Packard Development Company, L.P. Three-dimensional memory module architectures
US8654556B2 (en) 2008-03-31 2014-02-18 Montage Technology Inc. Registered DIMM memory system
US7717752B2 (en) * 2008-07-01 2010-05-18 International Business Machines Corporation 276-pin buffered memory module with enhanced memory system interconnect and features
US8754533B2 (en) 2009-04-14 2014-06-17 Monolithic 3D Inc. Monolithic three-dimensional semiconductor device and structure
KR100988388B1 (ko) 2009-04-20 2010-10-18 성균관대학교산학협력단 플래시 메모리 장치의 성능 향상 방법 및 이를 수행하는 플래시 메모리 장치
JP2010282511A (ja) * 2009-06-05 2010-12-16 Elpida Memory Inc メモリモジュール及びこれを備えるメモリシステム
US8275936B1 (en) * 2009-09-21 2012-09-25 Inphi Corporation Load reduction system and method for DIMM-based memory systems
US8612809B2 (en) 2009-12-31 2013-12-17 Intel Corporation Systems, methods, and apparatuses for stacked memory
US8582373B2 (en) 2010-08-31 2013-11-12 Micron Technology, Inc. Buffer die in stacks of memory dies and methods
US8314807B2 (en) * 2010-09-16 2012-11-20 Apple Inc. Memory controller with QoS-aware scheduling
US9357649B2 (en) * 2012-05-08 2016-05-31 Inernational Business Machines Corporation 276-pin buffered memory card with enhanced memory system interconnect
US8922243B2 (en) 2012-12-23 2014-12-30 Advanced Micro Devices, Inc. Die-stacked memory device with reconfigurable logic
KR102018125B1 (ko) * 2012-12-27 2019-09-04 엘지디스플레이 주식회사 감마 전압 발생 장치 및 표시 장치
EP3333853A1 (en) * 2013-03-07 2018-06-13 Charles I. Peddle High speed flash controllers
KR102041500B1 (ko) 2013-03-08 2019-11-06 삼성전자 주식회사 반도체 패키지
US9519315B2 (en) * 2013-03-12 2016-12-13 International Business Machines Corporation 276-pin buffered memory card with enhanced memory system interconnect
US9542643B2 (en) 2013-05-21 2017-01-10 Qualcomm Incorporated Efficient hardware implementation of spiking networks
US9728526B2 (en) 2013-05-29 2017-08-08 Sandisk Technologies Llc Packaging of high performance system topology for NAND memory systems
KR102230784B1 (ko) 2013-05-30 2021-03-23 삼성전자주식회사 Stdp 동작을 위한 시냅스 회로 및 시냅스 회로를 포함하는 뉴로모픽 시스템
US9489009B2 (en) * 2014-02-20 2016-11-08 Samsung Electronics Co., Ltd. System on chip, bus interface and method of operating the same
US9780782B2 (en) 2014-07-23 2017-10-03 Intel Corporation On-die termination control without a dedicated pin in a multi-rank system
US9691505B2 (en) 2015-03-27 2017-06-27 Intel Corporation Dynamic application of error correction code (ECC) based on error type
US10649680B2 (en) * 2015-04-30 2020-05-12 Hewlett Packard Enterprise Development Lp Dual-port non-volatile dual in-line memory modules
US9761562B2 (en) 2015-05-06 2017-09-12 Micron Technology, Inc. Semiconductor device packages including a controller element
US11257527B2 (en) 2015-05-06 2022-02-22 SK Hynix Inc. Memory module with battery and electronic system having the memory module
KR102275812B1 (ko) 2015-09-04 2021-07-14 삼성전자주식회사 센터 패드 타입의 스택드 칩 구조에서 신호 완결성 이슈를 개선할 수 있는 온다이 터미네이션 스키마를 갖는 반도체 메모리 장치
US10733500B2 (en) 2015-10-21 2020-08-04 International Business Machines Corporation Short-term memory using neuromorphic hardware
US11054992B2 (en) * 2015-12-28 2021-07-06 SK Hynix Inc. Memory module and memory system including the memory module
US10468093B2 (en) 2016-03-03 2019-11-05 Nvidia Corporation Systems and methods for dynamic random access memory (DRAM) sub-channels
US10423878B2 (en) 2016-09-07 2019-09-24 International Business Machines Corporation Artificial neuron apparatus
US10381327B2 (en) 2016-10-06 2019-08-13 Sandisk Technologies Llc Non-volatile memory system with wide I/O memory die
US10528267B2 (en) * 2016-11-11 2020-01-07 Sandisk Technologies Llc Command queue for storage operations
US9899347B1 (en) 2017-03-09 2018-02-20 Sandisk Technologies Llc Wire bonded wide I/O semiconductor device
US10922607B2 (en) 2016-12-30 2021-02-16 Intel Corporation Event driven and time hopping neural network
US10628343B2 (en) 2017-02-03 2020-04-21 Futurewei Technologies, Inc. Systems and methods for utilizing DDR4-DRAM chips in hybrid DDR5-DIMMs and for cascading DDR5-DIMMs
US10171084B2 (en) 2017-04-24 2019-01-01 The Regents Of The University Of Michigan Sparse coding with Memristor networks
US10628295B2 (en) 2017-12-26 2020-04-21 Samsung Electronics Co., Ltd. Computing mechanisms using lookup tables stored on memory
WO2019147859A2 (en) 2018-01-24 2019-08-01 The Regents Of The University Of California Synaptic resistors for concurrent parallel signal processing, memory and learning with high speed and energy efficiency
KR102410306B1 (ko) 2018-01-29 2022-06-20 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102512754B1 (ko) 2018-03-30 2023-03-23 삼성전자주식회사 관통 전극을 통해 전송되는 제어 신호를 이용하여 데이터를 샘플링하는 메모리 장치
KR102589968B1 (ko) 2018-04-17 2023-10-16 삼성전자주식회사 3 차원 적층 구조를 갖는 뉴로모픽 회로 및 이를 포함하는 반도체 장치
CN113537471B (zh) 2018-11-01 2024-04-02 P·A·范德梅德 改进的尖峰神经网络
KR20210131391A (ko) 2019-02-22 2021-11-02 마이크론 테크놀로지, 인크. 메모리 디바이스 인터페이스 및 방법
US11727250B2 (en) 2019-09-06 2023-08-15 International Business Machines Corporation Elastic-centroid based clustering
EP4081954A4 (en) 2019-12-27 2023-04-05 Micron Technology, Inc. NEUROMORPHIC STORAGE DEVICE AND METHOD
KR20220116258A (ko) 2019-12-30 2022-08-22 마이크론 테크놀로지, 인크. 메모리 디바이스 인터페이스 및 방법
KR20220114027A (ko) 2019-12-31 2022-08-17 마이크론 테크놀로지, 인크. 메모리 모듈 다중 포트 버퍼 기술

Also Published As

Publication number Publication date
CN114902332A (zh) 2022-08-12
EP4085459A4 (en) 2024-02-21
US11538508B2 (en) 2022-12-27
WO2021138408A1 (en) 2021-07-08
EP4085459A1 (en) 2022-11-09
US20230127970A1 (en) 2023-04-27
US20210201966A1 (en) 2021-07-01

Similar Documents

Publication Publication Date Title
US11538508B2 (en) Memory module multiple port buffer techniques
CN110021319B (zh) 半导体器件
US11442648B2 (en) Data migration dynamic random access memory
US11133047B2 (en) Digit line management for a ferroelectric memory array
US11709613B2 (en) Data migration for memory operation
JP2022520666A (ja) メモリデバイス上でのエラー補正
US20240176510A1 (en) Memory system and operations of the same
KR20210049182A (ko) 버스의 전송 라인의 동적 구성
US20200211639A1 (en) Memory device with a charge transfer device
TW202341133A (zh) 用於差動記憶體單元之設備
CN114582382A (zh) 存储器装置的引脚映射
KR20210061449A (ko) 유연한 버스 관리
US11600312B1 (en) Activate commands for memory preparation
US10908823B2 (en) Data transfer for wear leveling with bank clusters
US10923180B2 (en) Sensing techniques using a charge transfer device
KR20220049570A (ko) 구성 가능한 메모리 다이 커패시턴스