KR20230074412A - 칩 셀렉트 루프백을 갖는 레지스터 클락 드라이버 - Google Patents

칩 셀렉트 루프백을 갖는 레지스터 클락 드라이버 Download PDF

Info

Publication number
KR20230074412A
KR20230074412A KR1020227042791A KR20227042791A KR20230074412A KR 20230074412 A KR20230074412 A KR 20230074412A KR 1020227042791 A KR1020227042791 A KR 1020227042791A KR 20227042791 A KR20227042791 A KR 20227042791A KR 20230074412 A KR20230074412 A KR 20230074412A
Authority
KR
South Korea
Prior art keywords
rcd
memory
chip select
select signal
memory module
Prior art date
Application number
KR1020227042791A
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 KR20230074412A publication Critical patent/KR20230074412A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Dram (AREA)

Abstract

일 실시예에 있어서, 메모리 모듈을 포함하는 장치가 설명된다. 상기 메모리 모듈은 복수의 메모리 랭크들 및 복수의 메모리 랭크들과 결합된 레지스터 클록 드라이버(RCD)를 포함할 수 있다. 상기 RCD는 하나 이상의 메모리 랭크들을 선택하기 위한 칩 셀렉트 신호를 수신하기 위해 구성되는 수신기를 포함할 수 있다. 상기 RCD는 상기 수신기에 결합된 로직 회로, 및 상기 로직 회로에 결합된 출력 드라이버를 더 포함할 수 있다. 상기 RCD는 상기 수신기와 상기 로직 회로 사이의 제 1 샘플링 포인트와 상기 로직 회로와 상기 출력 드라이버 사이의 제 2 샘플링 포인트 중 하나 이상으로부터 상기 칩 셀렉트 신호를 샘플링하도록 구성된 루프백 회로를 더 포함할 수 있다.

Description

칩 셀렉트 루프백을 갖는 레지스터 클락 드라이버
본 발명은 메모리 디바이스들에 관한 것이다. 보다 상세하게는, 본 발명은 DDR(Double Data-Rate) RAM(Random Access Memory) 모듈의 레지스터 클록 드라이버들(register clock drivers)에 대한 소정 실시예들에 관한 것이다.
전력 소모(power consumption) 및 효율은 긴 배터리 라이프를 보장하고 전력 비용을 감소키기기 위해 고정된(fixed) 그리고 휴대가능한(potable) 컴퓨팅 장치들 둘 모두에 있어서 점점 중요해지고 있다. 예를 들어, 랩톱들, 노트북들, 넷북들, 또는 배터리 전력에 의존할 필요가 있는 다른 컴퓨팅 장치들과 같은 휴대가능한 컴퓨팅 장치들은 보통 전력 소모 및 효율에 대한 엄격한 요구사항들을 갖는다. 이러한 컴퓨팅 장치들에 있어서, 각 컴포넌트는 전형적으로 전력 소모를 감소시키는데 최적화되어질 필요가 있다. 일 양태에 있어서, DDR5(DDR 5세대 : Double Data Rate fifth generation) 메모리 모듈들은 이러한 컴퓨팅 장치들 내에서 사용될 수 있다. 그것의 이전 모델들(예를 들어, DDR3 및 DDR4 메모리 모듈들)과 비교할 때, DDR5 메모리 모듈들은 감소된 전력 소모, 개선된 대역폭, 및 개선된 효율(예를 들어, 더 빨라짐)을 갖는다. 일 양태에 있어서, DDR5 메모리 모듈들은 보다 높은 속도를 위해 온-보드 전압 레귤레이터들(on-board voltage regulators)을 통합할 수 있다.
일 실시예에 있어서, 메모리 모듈 내의 장치가 일반적으로 설명된다. 상기 장치는 메모리 모듈의 하나 이상의 메모리 랭크들(ranks)을 선택하기 위한 칩 셀렉트 신호(chip select signal)을 수신하도록 구성된 수신기를 포함할 수 있다. 상기 장치는 상기 수신기에 결합된 로직 회로(logic circuit)를 더 포함할 수 있다. 상기 장치는 상기 로직 회로에 결합된 출력 드라이버(output driver)를 더 포함할 수 있다. 상기 로직 회로는 상기 메모리 모듈의 상기 하나 이상의 메모리 랭크들을 선택하기 위한 출력 신호를 생성하도록 상기 칩 셀렉트 신호를 디코딩하도록 구성될 수 있다. 상기 출력 드라이버는 상기 출력 신호를 사용하여 상기 하나 이상의 메모리 랭크들을 선택하도록 구성될 수 있다. 상기 장치는 상기 수신기와 상기 로직 회로 사이의 제 1 샘플링 포인트와 상기 로직 회로와 상기 출력 드라이버 사이의 제 2 샘플링 포인트 중 하나 이상으로부터 상기 칩 셀렉트 신호를 샘플링하도록 구성된 루프백 회로(loopback circuit)를 더 포함할 수 있다.
다른 실시예에 있어서, 메모리 모듈을 포함하는 장치가 일반적으로 설명된다. 상기 메모리 모듈은 레지스터 클록 드라이버(RCD: Register Clock Driver) 및 복수 개의 메모리 랭크들을 포함할 수 있다. 상기 RCD는 상기 복수 개의 메모리 랭크들과 결합될 수 있다. 상기 RCD는 상기 복수 개의 메모리 랭크들 중 하나 이상의 메모리 랭크들을 선택하기 위한 칩 셀렉트 신호를 수신하도록 구성된 수신기를 포함할 수 있다. 상기 RCD는 상기 수신기에 결합된 로직 회로를 더 포함할 수 있다. 상기 RCD는 상기 로직 회로에 결합된 출력 드라이버를 더 포함할 수 있다. 상기 로직 회로는 상기 메모리 모듈의 상기 하나 이상의 메모리 랭크들을 선택하기 위한 출력 신호를 생성하도록 상기 칩 셀렉트 신호를 디코딩하도록 구성될 수 있다. 상기 출력 드라이버는 상기 출력 신호를 사용하여 상기 하나 이상의 메모리 랭크들을 선택하도록 구성될 수 있다. 상기 RCD는 상기 수신기와 상기 로직 회로 사이의 제 1 샘플링 포인트와 상기 로직 회로와 상기 출력 드라이버 사이의 제 2 샘플링 포인트 중 하나 이상으로부터 상기 칩 셀렉트 신호를 샘플링하도록 구성된 루프백 회로(loopback circuit)를 더 포함할 수 있다.
다른 실시예에 있어서, 메모리 모듈을 동작시키기 위한 방법이 일반적으로 설명된다. 상기 방법은, 메모리 모듈의 레지스터 클록 드라이버(RCD)에 의해, 상기 메모리 모듈의 하나 이상의 메모리 랭크들을 선택하기 위한 칩 셀렉트 신호를 수신하는 단계를 포함할 수 있다. 상기 방법은, 상기 RCD에 의해, 상기 RCD의 수신기와 상기 RCD의 로직 회로 사이의 제 1 샘플링 포인트와 상기 RCD의 상기 로직 회로와 상기 RCD의 출력 드라이버 사이의 제 2 샘플링 포인트 중 하나 이상으로부터 상기 칩 셀렉트 신호를 샘플링하는 단계를 포함할 수 있다.
전술한 요약은 단지 예시적인 것이지, 어떠한 한정을 위한 방법으로 사용되도록 의도된 것은 아니다. 전술한 양상들, 실시예들, 및 특징들에 추가적으로, 추가적인 양상들, 실시예들, 및 특징들이 도면들 및 이하 서술될 상세한 설명을 참조하여 명확해질 것이다. 도면들에 있어서, 동일한 참조 번호들은 동일하거나 또는 기능적으로 유사한 구성요소들을 나타낸다.
도 1은 본 발명의 일 실시예에 따른 예시적인 메모리 시스템의 도면,
도 2는 본 발명의 일 실시예에 따른 도 1의 메모리 시스템의 예시적인 메모리 모듈을 나타낸 블록도,
도 3은 본 발명의 일 실시예에 따른 칩 셀렉트 루프백 회로를 갖는 레지스터 클록 드라이버를 포함하는 예시적인 메모리 모듈의 블록도,
도 4는 본 발명의 일 실시예에 따른 칩 셀렉트 루프백 회로를 갖는 레지스터 클록 드라이버의 상세 구성(details)을 나타낸 도면,
도 5는 본 발명의 일 실시예에 따른 루프백 회로의 회로도,
도 6은 본 발명의 일 실시예에 따른 칩 셀렉트 루프백을 갖는 레지스터 클록 드라이버를 실행시킬 수 있는 예시적인 프로세스(600)의 흐름도이다.
레지스터 클록 드라이버(RCD: Register Clock Driver)는 DDR5 메모리 모듈들과 같은 메모리 모듈 상에서 사용되는 디바이스이다. RCD는 커맨드 어드레스(CA: Command Address) 버스, 칩 셀렉트 신호들, 및 호스트 컨트롤러(host controller)와 DDR5 메모리 모듈 사이의 클록 신호들을 버퍼링할 수 있다. RCD가 LRDIMM(Load-Reduction Dual In-line Memory Module) 상에서 사용될 때, RCD 또한, LRDIMM의 데이터 버퍼들을 제어하기 위해 버퍼 통신들(BCOM: Buffer Communications) 버스를 생성할 수 있다. LRDIMM은 다른 메모리 모듈들보다 상대적으로 더 높은 밀도들을 지원할 수 있고, 메모리 버퍼 칩을 포함한다. 일 양태에 있어서, LRDIMM은 예를 들어, 서버들 내에서 사용될 수 있고, LRDIMM의 메모리 버퍼 칩은 서버의 메모리 버스 상의 부하를 감소시키고 최소화할 수 있다. 예를 들어, LRDIMM은, 예를 들어, 그들이 단일 DIMM 모듈 상의 8개의 랭크들까지 가질 수 있도록 허용하면서, 단일 전기적 부하로 LRMIMM 상의 랭크들의 전기적 부하들을 통합하기 위해 메모리 버퍼 칩을 사용할 수 있다. 따라서, LRDIMM들을 사용하는 것은 시스템들이 가장 거대한 가용 메모리 풋프린트들(memory footprints)을 가지고 구성되어지도록 허여할 수 있다.
그러나, 다른 DIMM들과 같은 레지스터들을 대신하여 메모리 버퍼 칩의 LRDIMM 사용은, 특히 DDR5 메모리 모듈 증가의 속도만큼, 신호 무결성에 불리하게 만들 수 있다(penalize)(예를 들어, 속도가 더 높을수록 신호 무결성은 더 안 좋아지는 것과 같이). 일 예에 있어서, 본 실시예들은 RCD의 칩 셀렉트 신호들을 위한 피드백 경로들을 형성하기 위해, 하드웨어 컴포넌트들을 갖는 루프백 또는 피드백 회로를 통합할 수 있다. 피드백 경로들은 디버깅(debugging), 테스팅(testing), 또는 트레이닝(training)을 위해 호스트 컨트롤러로 RCD의 칩 셀렉트 신호들을 되돌려 구동시킬 수 있다. 나아가, 일 실시예에 있어서, 칩 셀렉트 신호들을 위한 피드백 경로는 호스트 컨트롤러로 피드백되어질 수 있는 RCD의 다른 내부 신호들을 위해 예비된 다른 기존 피드백 경로들의 일부분을 사용할 수 있다. 추가적으로, RCD 내에 집적된 피드백 회로는 RCD 내의 다른 위치들로부터 칩 셀렉트 신호들을 샘플링할 수 있고, 이에 따라 호스트 컨트롤러는 RCD의 어떤 컴포넌트 또는 어떤 프로세싱 단계(processing stage)가 문제들을 일으킬 수 있는지 판단할 수 있다. 더 나아가, RCD 내에 피드백 회로를 집적시키는 것은 메모리 모듈의 정상 동작 동안을 포함하여, 어떠한 시간에서라도 RCD가 칩 셀렉트 신호들의 테스팅을 받을 수 있도록 허여한다. 임의의 시간에 칩 셀렉트 신호들을 테스팅할 수 있도록 함에 의해, 칩 셀렉트 신호들의 신호 무결성은 메모리 모듈의 기능을 개선하기 위해 유지될 수 있다.
도 1 및 도 2는 메모리 시스템(10)의 예시적인 실시예를 도시한다. 메모리 시스템(10)은 여기에 집합적으로 또는 개별적으로 메모리 모듈(들)(20)로 참조될 수 있는 메모리 모듈들(201, 202 ... 20N), 커넥터들(70) 및 메모리 컨트롤러(80)를 포함한다.
도 1을 참조하면, 일 실시예에 있어서, 메모리 모듈들(20)은 DIMMs(Dual In-line Memory Modules)를 포함할 수 있다. 소정 실시예들에 있어서, 메모리 모듈들(20)은 DDR5(Double Data Rate fifth generation) SDRAM 모듈들로 구현될 수 있다. 여기에 특정 타입, 배열 및 컴포넌트들의 수를 갖는 것으로 설명되고 도시되더라도, 다른 실시예들에 있어서, 메모리 모듈들(20)이 임의의 다른 타입, 배열 또는 다른 수의 컴포넌트들을 가질 수 있다.
예시적인 메모리 모듈(20)은 회로 블록들(301, 302, 303, 304, 305 ... 30P-4, 30P-3, 30P-2, 30P-1 및 30P), 회로 블록들(401, 402, ... 40M-1 및 40M), 레지스터드 클록 드라이버(RCD: Registered Clock Driver), PMIC(60), 커넉터들(70) 및 메모리 모듈 내에 전형적으로 보여지는 임의의 다른 블록들, 회로들, 핀들, 커넥터들, 트레이스들(traces) 또는 다른 컴포넌트을 포함한다. 소정 실시예들에 있어서, 회로 블록들(301, 302, 303, 304, 305 ... 30P-4, 30P-3, 30P-2, 30P-1 및 30P)은 데이터 버퍼들로 구성될 수 있고, 또한 여기서 집합적으로 또는 개별적으로 데이터 버퍼(들)(30)로써 참조될 것이다. 소정 실시예들에 있어서, 회로 블록들(401, 402, ... 40M-1 및 40M)은 메모리 디바이스들로 구성될 수 있고, 또한 여기서 집합적으로 또는 개별적으로 메모리 디바이스(들)(40)로써 참조될 것이다. 여기서 데이터 버퍼들(30) 및 메모리 디바이스들(40)로 설명될지라도, 회로 블록들(30 및 40)이 또한 선택적으로 메모리 모듈들(20)에 의해 임의의 다른 목적으로 사용될 수 있다.
소정 실시예들에 있어서, 데이터 버퍼들(30) 및 메모리 디바이스들(40)은 SDRAM(Synchronous Dynamic Random-Access Memory) 디바이스들, 칩들 또는 모듈들을 포함한다. 소정 실시예들에 있어서, 데이터 버퍼들(30) 및 메모리 디바이스들(40)은 또한 또는 선택적으로, 예를 들어, SRAM, DRAM, MROM, PROM, EPROM 및 EEPROM과 같은 임의의 다른 타입의 메모리 디바이스들을 포함한다. 데이터 버퍼들(30), 메모리 디바이스들(40) 또는 둘 모두는 메모리 모듈(20)의 일측 또는 두 측면들(예를 들어, 전면과 후면) 상에 물리적으로 위치될 수 있다.
PMIC(60)는 메모리 모듈(20)에 대한 전력 관리를 수행하도록 구성된다. 예를 들어, PMIC(60)는 전압들을 스케일업(scale up) 또는 스케일다운(scale down)시키고, DC-DC 컨버전을 수행하며, 또는 다른 유사한 전력 관리 동작들을 수행하도록 구성될 수 있다. 소정 실시예들에 있어서, PMIC(60)는 LDOs(Low-Dropout Regulators), 벅(buck) 또는 부스트(boost) 컨버터들과 같은 DC-DC 컨버전들, PFM(Pulse-Frequency Modulation), PWM(Pulse-Width Modulation), 전력 FETs(Power Field Effect Transistors), RTCs(Real-Time Clocks) 또는 PMIC에서 전형적으로 발견되는 임의의 다른 회로를 포함할 수 있다.
커넥터들(70)은, 예를 들어, 핀들, 트레이스들, 또는 예를 들어, 메모리 컨트롤러(80), 마더보드(motherboard), 또는 다른 컴포넌트들와 같은 컴퓨팅 시스템의 다른 컴포넌트들로 메모리 모듈들(20)을 연결시키기 위해 구성되는 다른 연결들을 포함할 수 있다. 소정 실시예들에 있어서, 커넥터들(70)은 예를 들어, 288-핀(288-pin) 컨피규레이션(configuration)과 또는 임의의 다른 핀 컨피규레이션을 포함할 수 있다.
소정 실시예들에 있어서, 메모리 모듈(20)은 커넥터들(70)을 포함한다. 다른 실시예들에 있어서, 마더보드, 메모리 컨트롤러(80) 또는 컴퓨팅 디바이스의 임의의 다른 컴포넌트는 커넥터들(70)을 포함할 수 있다. 또 다른 실시예에 있어서, 하나 이상의 커넥터들(70)은 메모리 모듈(20)의 일부일 수 있고, 하나 이상의 커넥터들(70)은 마더보트, 메모리 컨트롤러(80) 또는 컴퓨팅 디바이스의 다른 컴포넌트의 일부일 수 있다.
메모리 모듈들(20)은 컴퓨팅 디바이스의 컴포넌트들과 메모리 모듈들(20) 사이의 데이터를 전송하기 위해, 예를 들어, 커넥트들(70)에 의해서, 마더보드, 메모리 컨트롤러(80) 또는 컴퓨팅 디바이스의 다른 컴포넌트에 연결될 수 있다. 예를 들어, UDIMM을 실행하는 실시예에 있어서, 커넥터들(70)은 64-비트 버스(64-bit bus), 72-비트 버스(72-bit bus) 또는 임의의 다른 수의 비트들을 갖는 버스를 포함할 수 있다.
메모리 모듈들(20)은 컴퓨팅 디바이스의 메모리 컨트롤러(80)에 연결되는 것으로 보여진다. 하나의 예시적인 실시예에 있어서, 메모리 컨트롤러(80)는, 예를 들어, 상기 마더보드의 노스브릿지(northbridge) 상에서, 컴퓨터 마더보드, 또는 메인 보드의 컴포넌트로 구현될 수 있다. 다른 예에 있어서, 메모리 컨트롤러(80)는 컴퓨팅 디바이스의 마이크로 프로세서의 컴포넌트로 구현될 수 있다. 또 다른 예에 있어서, 메모리 컨트롤러(80)는 컴퓨팅 디바이스의 CPU(Central Processing Unit)의 컴포넌트로 구현될 수 있다. 다른 실시예들에 있어서, 메모리 컨트롤러(80)는 컴퓨팅 디바이스의 임의의 다른 컴포넌트의 일부로 구현될 수 있다.
소정 실시예들에 있어서, 메모리 모듈들(20)은 DDR5 SDRAM 메모리 모듈들로 구현된다. 일 예에서, 메모리 모듈들(20)은 128 기가바이트(GB: gigabyte), 512 GB, 1 테라바이트(TB :terabyte), 또는 모듈당 더 높은 메모리 모듈 밀도를 가질 수 있다. 메모리 모듈들(20)은 약 1.2에서 3.2 기가-헤르츠(GHz: Giga-Hertz)의 주파수 및 약 3.2GT/s에서 4.6GT/s의 데이터 레이트 범위 및 소정 케이스들에 있어서, 약 8GT/s 이상까지의 데이터 레이트 범위로 동작할 수 있다. 소정 실시예들에 있어서, 메모리 모듈들(20)은, 선택적으로 더 작거나 더 큰 밀도들을 포함할 수 있고, 더 낮거나 더 높은 주파수들에서 동작할 수 있으며, 더 낮거나 더 높은 데이터 레이트에서 동작할 수 있다.
도 2를 참조하면, 도 1의 예시적인 메모리 모듈(20)을 나타내는 블록도가 도시된다. 메모리 모듈(20)은 메모리 모듈들(20A-20N)의 대표일 수 있다. 메모리 모듈(20)은 메모리 컨트롤러(80)와 통신하는 것으로 도시된다. 메모리 컨트롤러(80)는 예를 들어, 마더보드, 메인 보드 또는 메모리 모듈(20)과 통신하는 컴퓨팅 디바이스의 다른 컴포넌트와 같은 회로(90)의 일부분으로 도시된다.
메모리 모듈(20)은, 여기서 또한 집합적으로 또는 개별적으로 메모리 모듈(20)의 데이터 경로들(22)로써 참조되는 회로들의 하나 이상의 그루핑들(221, 222, 223, 224, 225 ... 22Q-4, 22Q-3, 22Q-2, 22Q-1 및 22Q)을 포함한다. 도시된 예에 있어서, 메모리 모듈(20)은, 예를 들어, RCD(50)의 일측 상의 데이터 경로들(221, 222, 223, 224 및 225)과 같은 5개의 데이터 경로들, 및 예를 들어, RCD(50)의 다른 측 상의 데이터 경로들(22Q-4, 22Q-3, 22Q-2, 22Q-1 및 22Q)와 같은 5개의 데이터 경로들을 포함할 수 있다. 다른 실시예들에 있어서, 메모리 모듈(20)은 RCD(50)의 각 측면 상의 더 크거나 더 작은 수의 데이터 경로들(22)을 갖는 다른 배열들을 포함할 수 있다.
데이터 경로들(22)은, 또한, 여기서 집합적으로 및 개별적으로 메모리 채널(들)(42)로 참조되는 각각의 메모리 채널(421, 422, 423, 424, 425 ... 42R-4, 42R-3, 42R-2, 42R-1 및 42R)을 각각 포함할 수 있다. 각각의 메모리 채널(42)은 하나 이상의 메모리 디바이스들(40)을 포함할 수 있다. 예를 들어, 메모리 채널(421)은 40S를 통해 메모리 디바이스들(401)을 포함할 수 있고, 반면, 메모리 채널(42R)은 40M을 통해 메모리 디바이스들(40T)을 포함할 수 있다.
메모리 컨트롤러(80)는 클록 신호(CLK: Clock Signal), 제어 신호들(ADDR 및 CMD) 및 커맨드 신호들을 포함하는 다양한 신호들을 생성하도록 구성된다. 하나 이상의 CLK, ADDR 및 CMD 신호들은 예를 들어, 하나 이상의 버스들(23)을 매개로 RCD(50)로 제공될 수 있다.
메모리 컨트롤러(80)로부터의 신호들은, 또한 여기에 호스트 인터페이스 버스(24)로 참조되는 버스(24)를 매개로 메모리 컨트롤러(80)로부터 PMIC(60)로 또한 전송될 수 있다. 소정 실시예들에 있어서, 호스트 인터페이스 버스(24)는 양방향성이고 PMIC(60)와 메모리 컨트롤러(80) 또는 다른 메모리 모듈(20)의 컴포넌트들 사이의 커맨드들 또는 다른 데이터를 통신하도록 구성된다. 호스트 인터페이스 버스(24)는 12C 프로토콜, 13C 프로토콜 또는 임의의 다른 프로토콜을 실행할 수 있다.
데이터 버스(72)는, 예를 들어, 데이터 버퍼들(30)을 가지고, 메모리 컨트롤러(80)와 데이터 경로들(22) 사이에 연결될 수 있고, 메모리 컨트롤러(80)와 데이터 경로들(22) 사이의, 예를 들어, 트레이스들, 핀들 및 다른 연결들과 같은 커넥터들(70)을 포함할 수 있다.
메모리 컨트롤러(80)는 및 예를 들어, 데이터 버스(72)로부터 수신되거나 데이터 버스(72)로 제공될 수 있는 DQSa-DQSn과 같은 데이터 스트로브 신호들 및 예를 들어, DQa-DQn과 같은 데이터 신호들을 수신하거나 생성할 수 있다. 신호들(DQa-DQn 및 DQSa-DQSn) 중 일부들은 각각의 데이터 경로들(22)로부터 수신되거나 제공될 수 있다. 도시된 예에 있어서, 신호들(DQa-DQn) 각각은 대응하는 신호(DQSa-DQSn)를 가질 수 있다. 예를 들어, 소정 실시예에서, 4개의 DQ 신호들에 대해 하나의 DQS 신호와 같이, 소정 실시예들에 있어서, 하나의 DQS 신호는 다수의 DQ 신호들을 스트로빙(strobe)할 수 있다.
RCD(50)는 메모리 컨트롤러(80), 데이터 버퍼들(30), 메모리 채널들(42) 및 PMIC(60)와 통신하도록 구성된다. RCD(50)는 예를 들어, 메모리 컨트롤러(80)로부터 수신되는 제어 워드들(control words)과 같은 지시어들을 디코딩하도록 구성된다. 예를 들어, RCD(50)는 레지스터 커맨드 워드들(RCWs: Register Command Words)을 수신하고 디코딩하도록 구성될 수 있다. 다른 예에 있어서, RCD(50)는 버퍼 제어 워드들(BCWs: Buffer Control Words)을 수신하고 디코딩하도록 구성될 수 있다. RCD(50)는 RCD(50) 및 메모리 컨트롤러(80) 사이의 어드레스 라인들, 커맨드(명령어), 하나 이상의 데이터 버퍼들(30), 메모리 디바이스들(40)을 트레이닝하도록 구성된다. 예를 들어, RCWs는 메모리 컨트롤러(80)로부터 RCD(50)로 흘러갈 수 있고 RCD(50)을 구성하도록 사용될 수 있다.
소정 실시예들에 있어서, RCD(50)는 예를 들어, 32-bit 1:2 커맨드/어드레스 레지스터(32-bit 1:2 command/address register)와 같은 커맨드/어드레스 레지스터를 실행할 수 있다. RCD(50)는 RCD(50)와 데이터 버퍼들(30) 사이의, 예를 들어, 단일방향성의 BCOM(Buffer Communications)과 같은 앳-스피드 버스(at-speed bus)를 지원할 수 있다. 소정 실시예들에 있어서, RCD(50)는 하나 이상의 자동 임피던스 캘리브레이션(calibration), 커맨드/어드레스 패리티 체킹(parity checking), 컨트롤 레지스터 RCW 리드백(control register RCW readback), 예를 들어, 12C(1MHz inter-integrated circuit) 버스, 13C(12.5MHz inter-integrated circuit) 버스와 같은 시리얼 버스를 실행할 수 있다. RCD(50)로의 입력들은 하나 이상의 외부 및 내부 전압들을 이용하는 의사 차동 입력(pseudo-differential)일 수 있다. RCD(50)의 클록 출력들, 커맨드/어드레스 출력들, 제어 출력들 및 데이터 버퍼 제어 출력들은 그룹으로 적용될 수 있고, 다른 강도로 독립적으로 구동될 수 있다.
RCD(50)는 메모리 컨트롤러(80)으로부터의 CLK, ADDR 및 CMD 신호들 또는 RCWs 및 BCWs와 같은 다른 신호들을 수신하기 위해 구성되고, CLK, ADDR 및 CMD 신호들에 기반하여 대응하는 출력 신호들을 생성하기 위해 다양한 디지털 로직 컴포넌트들을 사용하도록 구성된다. 예를 들어, RCD(50)는 수신된 CLK, ADDR 및 CMD 신호들에 기반하여, 예를 들어, CLK', ADDR' 및 CMD' 신호들과 같은 대응하는 신호들을 생성하도록 구성된다. CLK', ADDR' 및 CMD'신호들은 메모리 채널들(42)에 제공될 수 있다. 예를 들어, CLK' 신호들은 공통 버스(25) 상에서 RCD(50)로부터 메모리 채널들(42)로 전송될 수 있고, ADDR' 및 CMD' 신호들은 공통 버스(26) 상에서 RCD(50)로부터 메모리 채널들(42)로 전송될 수 있다. RCD(50)는, 예를 들어, 또한 여기서 데이터 버퍼 컨트롤 버스(27)로 참조되는 공통 버스(27) 상에서, 데이터 퍼버들(30)로 전송되는 하나 이상의 데이터 버퍼 컨트롤(DBC: Data Buffer Control) 신호들을 생성하도록 구성된다.
데이터 버퍼들(30)은 데이터 버퍼 컨트롤 버스(27)로부터의 명령어들 및 데이터를 수신하도록 구성되고, 데이터를 생성하고 데이터 버스(72)와 데이터를 송수신하도록 구성된다. 각각의 데이터 경로(22)는 또한 메모리 채널(42)과 데이터 버퍼(30) 사이의 데이터를 수송하도록 구성된 메모리 채널(42)과 그것의 데이터 버퍼(30) 사이의 버스(28)를 포함한다. 예를 들어, 도 2에 도시된 바와 같이, 데이터 경로(221)는 데이터 버퍼(301)와 메모리 채널(421) 사이의 버스(28)를 포함한다.
데이터 버퍼들(30)은 예를 들어, 메모리 컨트롤러(80)로부터 대응하는 메모리 채널들(42)까지의 데이터 전송과 같은 쓰기 동작들, 그리고 예를 들어, 대응하는 메모리 채널들(42)로부터 메모리 컨트롤러(80)로의 데이터 전송들과 같은 읽기 동작들을 위한 버스들(72 및 28) 상에서 데이터를 버퍼링하도록 구성된다.
소정 예시적인 실시예들에 있어서, 데이터 버퍼들(30)은 예를 들어, 4-bit 니블들(nibbles)과 같은 작은 유닛들 내의 버스들(28)을 매개로 메모리 디바이스들(40)과 데이터를 교환한다. 다른 실시예들에 있어서, 더 크거나 더 작은 크기의 데이터 전송이 선택적으로 사용될 수 있다. 소정 경우들에 있어서, 디바이스들(40)은, 예를 들어, 2개 세트들(two sets)과 같은 다수의 세트들로 배열될 수 있다. 예를 들어, 메모리 디바이스들(401 및 402)과 같은 투 셋/투 메모리 디바이스 구현(two set/two memory device implementation)에 대해서, 각각의 세트는 상위 니블 및 하위 니블을 통해 개별 데이터 버퍼들(30)에 연결된 각각의 메모리 디바이스(40)를 갖는 단일 메모리 디바이스(예를 들어, 401 및 402와 같은 40)을 포함할 수 있다. 투 셋/포 메모리 디바이스 구현(two set/four memory device implementation)에 대해서, 각각의 세트는 투 메모리 디바이스들(40: two memory devices)를 포함할 수 있다. 제 1 세트는 상위 니블을 통해 개별 데이터 버퍼들(30)에 연결될 수 있고, 제 2 세트는 하위 니블을 통해 개별 데이터 버퍼들(30)에 연결될 수 있다. 투 셋/에이트 메모리 디바이스 구현(two set/eight memory device implementation)에 대해서, 각각의 세트는 4개의 메모리 디바이스들(40)를 포함할 수 있다. 4개의 메모리 디바이스들(40) 중 제 1 세트는 상위 니블을 통해 개별 데이터 버퍼들(30)에 연결될 수 있고, 4개의 메모리 디바이스들(40) 중 제 2 세트는 하위 니블을 통해 개별 데이터 버퍼들(30)에 연결될 수 있다. 다른 수의 세트들, 세트 당 다른 수의 메모리 다비이스들 및 다른 데이터 유닛 크기들이 선택적으로 사용될 수 있다.
메모리 모듈(20)은 또한, RCD(50)와 PMIC(60) 사이의 통신을 가능케 하도록 구성된 인터페이스(29)를 포함할 수 있다. 예를 들어, 인터페이스(29)는 예를 들어, RCD-PMIC 인터페이스와 같은 레지스터 클록 드라이버/전력 관리 집적 회로 인터페이스(register clock driver/power management integrated circuit interface)의 일부로써 사용될 수 있다. 인터페이스(29)는 양방향성 또는 단일 방향성일 수 있는 하나 이상의 연결들 또는 신호들을 지원하도록 구성된다.
도 3은 본 발명의 일 실시예에 따른 칩 셀렉트 루프백 회로를 갖는 레지스터 클록 드라이버를 구현할 수 있는 예시(300)의 블록도이다. 시스템(300)은 호스트 디바이스(302) 및 메모리 모듈(304)를 포함할 수 있다. 메모리 모듈(304)은 메모리 모듈들(20) 중 하나일 수 있고, 호스트 디바이스(302)는 도 1 및 도 2에 도시된 메모리 컨트롤러(80)일 수 있다. 하나 이상의 실시예들에 있어서, 호스트 디바이스(302)는, 예를 들어, 회로, 마더보드, 메인 보드, 프로세서 또는 프로세서 코어, CPU(Central Processing Unit), 또는 메모리 모듈(304)과 통신하는 컴퓨팅 디바이스의 다른 컴포넌트의 일부일 수 있다. 시스템(300)은 데스크톱 컴퓨터, 랩톱 컴퓨터, 서버, 벤치마크 테스팅 디바이스(benchmark testing device) 등과 같은 컴퓨팅 디바이스 내에서 구현될 수 있다. 실시예에 있어서, 메모리 모듈(304)은 예를 들어, DIMMs(Dual-In-line Memory Modules)일 수 있다. 소정 실시예들에 있어서, 메모리 모듈(304)은 SDRAM(Synchronous Dynamic Random-Access Memory) 디바이스들을 포함하는 DDR5 LRDIMM(Load-Reduction Dual-In-line Memory Modules)로 구현될 수 있다.
메모리 모듈(304)은 복수의 메모리 랭크들 및 레지스터 클록 드라이버(306: RCD)를 포함할 수 있다. 도 3에 도시된 예시에 있어서, 메모리 모듈(304)은 RANK 0, RANK 1, RANK 2, RANK 3과 같이 라벨링된 4개의 메모리 랭크들을 포함할 수 있다. 하나 이상의 실시예들에 있어서, 메모리 모듈(304)은 4개 랭크보다 적은 또는 4개 랭크보다 많은, 예를 들어, 8개의 랭크들을 포함할 수 있다. 소정 실시예들에 있어서, RCD(306)은 커맨드/어드레스 레지스터를 실행할 수 있고, 메모리 모듈(304) 내의 데이터 버퍼들 및 RCD(306) 사이의 단일 방향성의 버퍼 통신(BCOM: Buffer Communications) 버스를 지원할 수 있다.
RCD(306)는 호스트 디바이스(302)로부터 복수의 입력 신호들(308)을 수신하도록 구성될 수 있다. 입력 신호들(308)은 어드레스 신호들(예를 들어, 뱅크 어드레스 신호들, 로우 어드레스 신호들, 컬럼 어드레스 신호들, 게이티드 컬럼 어드레스 스트로브 신호들(gated column address strobe signals), 칩-셀렉트 신호들, 패리티 신호들)과 같은 제어 신호들, 및 명령 신호들(예를 들어, 리프레시(refresh), 프리-차지(pre-charge) 등) 및 데이터 신호들(예를 들어, 메모리 모듈(304) 중 메모리 디바이스들에 쓰여질 데이터)를 포함할 수 있다.
RCD(306)은 루프백 및 패스-쓰루(pass-through) 모드들 내에서 동작하도록 구성될 수 있다. 패스-쓰루 모드는 RCD(306)가 입력 신호들(308)을 디코딩하고 입력 신호들(308)에 기반하여 메모리 모듈(304)의 메모리 랭크들에 읽기 및/또는 쓰기가 수행되도록 허여한다. 일 실시예에 있어서, RCD(306)는 입력 신호들(308)을 수신하고 메모리 모듈(304) 중 적절한 메모리 디바이스들로 전송되어질 수 있는 한 세트의 출력 제어 신호들을 생성하도록 구성된 하나 이상의 로직 회로를 포함할 수 있다. 추가적으로, RCD(306)는 입력 신호들(308)로부터 지시어들(instructions)을 디코딩하도록 구성될 수 있다. 예를 들어, RCD(306)는 호스트 디바이스(302)로부터 수신되는 버퍼 컨트롤 워드들(BCWs: Buffer Control Words) 및 레지스터 커맨드 워드들(RCWs: Register Command Words)을 수신하고 디코딩하도록 구성될 수 있다. 패스-쓰루 모드는 입력 신호들(308)이 RCD(306)의 로직 회로에 의해 프로세싱되고 메모리 모듈(304) 중 하나 이상의 메모리 랭크들로 출력되도록 허여한다.
루프백 모드는 RCD(306)가 입력 신호들(308) 중, 또는 RCD(306) 내의 다른 내부 신호들(예를 들어, RCD(306) 내의 컴포넌트들 사이에 교환되어지는 신호들) 중에서 하나 이상의 신호들의 샘플들을, 테스팅, 디버깅 및 트레이닝 목적으로, 호스트 디바이스(203), 또는 다른 디바이스로 피드백하도록 허여한다. 일 실시예에 있어서, RCD(306)의 루프백 모드는 RCD(306) 내의 루프백 회로(310)를 가동시킴에 의해 활성화될 수 있다. 루프백 회로(310)는 입력 신호들(308) 또는 RCD(306)의 내부 신호들 중에서 신호들을 샘플링하고 샘플링된 신호들을 호스트 디바이스(302)로 전송하도록 구성될 수 있다. 하나 이상의 실시예들에 있어서, 패스-쓰루 모드 및 루프백 모드는 개별적으로 또는 동시에 활성화될 수 있다.
일 양태에 있어서, 외부 신호들(예를 들어, RCD(306)의 외부의 다른 디바이스에 의해 RCD(306)로 제공되는 신호들 또는 RCD(306)에 의해 다른 디바이스로 제공되는 신호들)을 샘플링하는 것 및 RCD(306)의 출력 신호들을 샘플링하는 것은 호스트 디바이스(302)가 에러들이 RCD(306) 내에 존재하는지 또는 존재하지 않는지 판단하도록 허여할 수 있다. 그러나, 이러한 샘플링 기술들은 호스트 디바이스(302)가 RCD(306)의 어느 부분, 어느 프로세싱 단계, 또는 어느 컴포넌트가 에러를 일으키는지 판단하도록 허여하지 않을 수 있다. RCD(306) 내의 루프백 회로(310)의 통합은 루프백 회로(310)가 RCD(306) 내의 하나 이상의 샘플링 포인트들로부터 RCD(306) 내의 내부 신호들을 샘플링하도록 허여할 수 있다. RCD(306) 내부의 하나 이상의 샘플링 포인트들로부터의 샘플링된 신호들은, 호스트 디바이스(302)로 하여금 에러들을 일으키고 있을 수 있는 RCD(306) 내의 특정 프로세싱 단계 또는 컴포넌트를 식별하도록 허여할 수 있다. 일 실시예에 있어서, 입력 신호들(308) 중 칩 셀렉트 신호는 RCD(306) 내의 서로 다른 프로세싱 단계들에 의해 프로세싱되어짐에 응답하여 칩 셀렉트 신호와 연관된 임의의 에러가 존재하는지 아닌지(예를 들어, 칩 셀렉트 신호가 부정확하거나(incorrect) 또는 바람직하지 않은(undesirable) 지연 등)를 판단하도록 RCD(306) 내의 다수의 샘플링 포인트들에서 샘플링될 수 있다. 다른 실시예에 있어서, 루프백 회로(310)는, 칩 셀렉트 신호 루프백 특징을 통합하기 위해 사용될 수 있는 트레이스들 또는 하드웨어의 수를 줄이도록, 칩 셀렉트 신호들을 샘플링하기 위한 RCD(306) 내의 기존 내부 루프백 라인들을 사용할 수 있다.
도 4는 본 발명의 일 실시예에 따라 도 3의 예시적인 레지스터 클록 드라이버(306: RCD)의 상세(details)를 도시하는 도면이다. 도 4에 도시된 예시에 있어서, RCD(306)는 루프백 회로(310), 수신기(404), 로직 회로(406), 및 출력 드라이버(408)를 포함할 수 있다. 수신기(404)는 호스트 디바이스(302)로부터 입력 신호들(308)(도 3 참조)을 수신하도록 구성될 수 있다. 일 실시예에 있어서, 수신기(404)는 버퍼들 및 증폭기들과 같은 회로 컴포넌트들 또는 하드웨어를 포함할 수 있다. 입력 신호들(308)은 수신기(404) 내의 이러한 컴포넌트들을 통해 통과할 수 있고 중간 신호들(407: intermediate signals)로 출력될 수 있다. 일 양태에 있어서, 중간 신호들(407)은 수신기(404) 내의 컴포넌트들의 온도 변화들 및 프로세스와 같은 변화들로 인해 수신기(404)로부터 예상되는 출력으로부터 벗어날 수 있다. 수신기(404)는 중간 신호들(407)을 로직 회로(406)로 버퍼링하고 전송할 수 있다.
로직 회로(406)는 중간 신호들(409)의 다른 세트를 생성하기 위해 중간 신호들(407)을 디코딩하고 출력 드라이버(408)로 중간 신호들(409)를 전송하도록 구성될 수 있다. 일 실시예에 있어서, 입력 신호들(308)은 메모리 모듈(304)(도 3 참조) 내의 하나 이상의 랭크들을 선택하기 위한 칩 셀렉트 신호(412)를 포함할 수 있다. 중간 신호들(407)은 칩 셀렉트 신호(412)의 프로세싱된 버전(예를 들어, 버퍼링되거나, 증폭된 것 등)을 포함할 수 있다. 로직 회로(406)는 프로세싱된 칩 셀렉트 신호(412)를 포함하는 중간 신호(407)를 디코딩할 수 있고, 선택된 메모리 랭크들을 활성화시키기 위해 메모리 모듈(304)에 인가될 수 있는 전압들을 나타내는 중간 신호들(409)을 생성할 수 있다. 로직 회로(406)는 중간 신호들(409)을 출력 드라이버(408)로 전송할 수 있다. 출력 드라이버(408)는 칩 셀렉트 신호(412)에서 선택되어질 메모리 랭크들을 활성화시키기 위한 전압(430)을 출력할 수 있다.
루프백 회로(310)는 RCD(306) 내부의 서로 다른 샘플링 포인트들에서 칩 셀렉트 신호(412)를 샘플링하도록 구성될 수 있다. 예를 들어, 루프백 회로(310)는 수신기(404)와 로직 회로(406) 사이의 샘플링 포인트(414)로부터, 샘플링된 신호(422)와 같이 라벨링된 중간 신호(407)의 사본(copy)은 획득함에 의해 칩 샐렉트 신호(412)를 샘플링할 수 있다. 루프백 회로(310)는 로직 회로(406)와 출력 드라이버(408) 사이의 다른 샘플링 포인트(416)로부터, 샘플링된 신호(424)로 라벨링된 중간 신호(409)의 사본을 획득함에 의해 칩 셀렉트 신호(412)를 또한 샘플링할 수 있다. 루프백 회로(310)는 호스트 디바이스(302)로 샘플링된 신호들(422, 424)을 전송할 수 있다.
실시예에 있어서, 호스트 디바이스(302)는 칩 셀렉트 신호(412)의 사본을 저장할 수 있다. 호스트 디바이스(302)는 칩 셀렉트 신호(412)와 샘플링된 신호(422, 424) 사이의 차이를 판단하기 위해, 칩 셀렉트 신호(412)와 샘플링된 신호들(422, 424)를 비교할 수 있다. 일 실시예에 있어서, 호스트 디바이스(302)는 수신기(402)와 로직 회로(406)의 동작들을 시뮬레이팅(simulate)할 수 있다. 시뮬레이션들은 중간 신호들(407, 409) 각각 시뮬레이션된 버전일 수 있는 시뮬레이팅된 신호들(434, 436)의 생성을 야기할 수 있다. 호스트 디바이스(302)는 중간 신호(407)과 시뮬레이팅된 신호들(434) 사이에 차이가 있는지 확인하기 위해, 중간 신호(407)와 시뮬레이팅된 신호들(434)을 비교할 수 있다. 중간 신호(407)과 시뮬레이팅된 신호들(434) 사이에 차이가 미리 정의된 차이(이 값은 호스트 디바이스(302) 내에 저장되어 있을 수 있음)를 초과한다면, 호스트 디바이스(302)는 수신기(404) 내에 에러가 존재할 수 있다고 판단할 수 있다. 호스트 디바이스(302)는 플래그를 생성할 수 있고, 예를 들어, 호스트 디바이스(302) 에 연결된 디스플레이 내의 사용자 인터페이스가 수신기(404) 내에 에러가 존재함을 사용자에게 통지하도록, 그리고/또는, 수신기(404)가 칩 셀렉트 신호(412) 및/또는 미래의 칩 셀렉트 신호들의 신호 무결성을 유지하도록 재구성되어야할 필요가 있을 수 있다고 지시하기 위해, 플래그 온(flag on)을 출력할 수 있다.
중간 신호(409)와 시뮬레이팅된 신호들(436) 사이의 차이가 미리 정의된 차이(이 값은 호스트 디바이스(302) 내에 저장되어 있을 수 있음)를 초과한다면, 호스트 디바이스(302)는 로직 회로(406) 내에 에러가 존재한다고 판단할 수 있다. 호스트 디바이스(302)는 플래그를 생성할 수 있고, 예를 들어, 호스트 디바이스(302) 에 연결된 디스플레이 내의 사용자 인터페이스가 로직 회로(406) 내에 에러가 존재함을 사용자에게 통지하도록, 그리고/또는, 로직 회로(406)가 칩 셀렉트 신호(412) 및/또는 미래의 칩 셀렉트 신호들의 신호 무결성을 유지하도록 재구성되어야할 필요가 있을 수 있다고 지시하기 위해, 플래그 온을 출력할 수 있다.
일 실시예에 있어서, 호스트 디바이스(302)는 RCD(306)의 출력에서 전압(430)을 샘플링할 수 있다. 호스트 디바이스(302)는 전압(430)을 시뮬레이팅할 수 있고, 샘플링된 전압과 시뮬레이팅된 전압을 비교할 수 있다. 중간 신호들(407, 409)와 시뮬레이팅된 신호들(434, 436) 사이에 차이가 없거나, 차이가 호스트 디바이스(302)에 저장된 미리 정의된 차이들을 초과하지 않지만 전압(430)의 샘플링된 그리고 시뮬레이팅된 버전들 사이에 차이가 존재한다면, 호스트 디바이스(302)는 출력 드라이버(408)에 에러가 존재한다고 판단할 수 있고, 출력 드라이버(408)가 칩 셀렉트 신호(412) 및/또는 미래의 칩 셀렉트 신호들의 신호 무결성을 유지하도록 재구성되어야할 필요가 있을 수 있다고 판단할 수 있다.
일 실시예에 있어서, 중간 신호(407)와 시뮬레이팅된 신호들(434) 사이에 차이가 없거나, 중간 신호(407)와 시뮬레이팅된 신호들(434) 사이의 차이가 호스트 디바이스(302)에 저장된 미리 정의된 차이들을 초과하지 않지만 중간 신호(409)와 시뮬레이팅된 신호들(436) 사이에 차이가 존재한다면, 호스트 디바이스(302)는 수신기(404)가 아니라 로직 회로(406)에 에러가 있을 수 있다고 판단할 수 있다.
일 실시예에 있어서, 중간 신호(409)와 시뮬레이팅된 신호들(436) 사이에 차이가 없거나, 중간 신호(409)와 시뮬레이팅된 신호들(436) 사이의 차이가 호스트 디바이스(302)에 저장된 미리 정의된 차이들을 초과하지 않지만 중간 신호(407)와 시뮬레이팅된 신호들(434) 사이에 차이가 존재한다면, 호스트 디바이스(302)는 로직 회로(406)가 아니라 수신기(404)에 에러가 있을 수 있다고 판단할 수 있다.
추가적으로, 일 실시예에 있어서, 호스트 디바이스(302)는 루프백 회로(31)를 인에이블링(enable)시키거나 디스에이블링(disable)시키도록 인에이블 신호(440: enable signal)를 루프백 회로(310)로 전송할 수 있다. 인에이블 신호(440)는, 예를 들어, 바이너리 신호(binary signal)일 수 있고, 이에 따라 바이너리 제로(binary zero)는 루프백 회로(310)를 디스에이블링할 수 있으며, 바이너리 원(binary one)은 루프백 회로(310)를 인에이블링할 수 있다(또는 반대도 가능). 루프백 회로(310)를 디스에이블링함에 응답하며, RCD(306)는 RCD가 메모리 모듈(304)의 메모리 랭크들을 제어하고, 읽기 동작을 수행하며, 그리고/또는 쓰기 동작을 수행하도록 하기 위해 입력 신호들(308)을 버퍼링하고 디코딩할 수 있는 패스-쓰루 모드 또는 정상 모드로 동작할 수 있다. 루프백 회로(310)가 디스에이블링될 때, 샘플링 포인트(414)와 루프백 회로(310) 사이, 그리고 샘플링 포인트(416)와 루프백 회로(310) 사이의 연결들이 오픈될 수 있고 또는 디스커넥티드(disconnected)될 수 있으며, 이에 따라 신호들은 샘플링 포인트들(414, 416)로부터 샘플링되어지지 않는다. 루프백 회로(310)를 인에이블링함에 응답하여, 샘플링 포인트(414)와 루프백 회로(310) 사이, 그리고 샘플링 포인트(416)와 루프백 회로(310) 사이의 연결들이 닫힐(closed) 수 있고 또는 커넥티드(connected)될 수 있으며, 이에 따라 루프백 회로(310)는 샘플링 포인트들(414, 416)로부터의 신호들을 샘플링하지 않을 수 있다. 일 실시예에 있어서, 패스-쓰루 모드 및 루프백 모드는 동시에 활성화될 수 있고, 이에 따라 루프백 회로(310)는 RCD(306)의 정상 동작들 동안 신호들을 샘플링할 수 있다.
RCD(306) 내에 루프백 회로(310)를 집적함에 의해, 하나 이상의 테스트 포인트들이 신호 무결성을 유지하기 위해 RCD(306) 내에 삽입될 수 있다. 예를 들어, 칩 셀렉트 신호들은, 도 4에 도시된 바와 같이, RCD(306) 내부의 하나 이상의 샘플링 포인트들로부터 샘플링될 수 있다. RCD(306) 내부의 서로 다른 샘플링 포인트들은 RCD(306)의 어느 특정 부분들 또는 단계들이 에러를 가질 수 있고 주의가 필요한지에 대한 정보를 제공할 수 있다. 나아가, 루프백 회로(310)의 통합은 RCD(306)의 전용 포트들(dedicated ports)이 샘플링 포인트들(예를 들어, 414, 416)에 할당되어지도록 허여하고, 이에 따라 테스팅이 정상 동작동안 신호 무결성을 유지하고 개선하도록, 주기적으로 수행될 수 있다.
도 5는 본 발명의 일 실시예에 따른 루프백 회로(310)의 회로도이다. 루프백 회로(310)는 호스트 디바이스(302)로 피드백 되어질 수 있는 샘플링된 신호들(도 4 참조)의 선택 및 샘플링을 촉진시키기 위한 복수의 회로 컴포넌트들을 포함할 수 있다. 도 5에 도시된 예시에 있어서, 루프백 회로(310)는 복수의 멀티플렉서들(multiplexers)(502, 504, 506, 508, 및 510)을 포함할 수 있다. 멀티플렉서(502)는 RCD(306)(도 3, 도 4 참조) 내의 하나 이상의 샘플링 포인트들로부터 샘플링된 복수의 커맨드/어드레스 신호들(DCA0_A에서 DCA6_A), 패리티 신호 또는 패리티 비트(DPAR_A)를 수신하도록 구성될 수 있다. 샘플링된 신호들(DPAR_A 및 DCA0_A에서 DCA6_A)은 RCD(306)와 메모리 모듈(304)의 제 1 채널("Channel A")에 대응할 수 있다. 멀티플렉서(504)는 RCD(306) 내의 하나 이상의 샘플링 포인트들로부터 샘플링된 복수의 커맨드/어드레스 신호들(DCA0_B에서 DCA6_B), 패리티 신호 또는 패리티 비트(DPAP_B)를 수신하도록 구성될 수 있다. 샘플링된 신호들(DPAR_B 및 DCA0_B에서 DCA6_B)은 RCD(306)과 메모리 모듈(304)의 제 2 채널("Channel B")에 대응할 수 있다. RX_LOOPBACK_SEL로 라벨링된 셀렉트 신호(520)는 멀티플렉서(510)로 출력되어지도록, 멀티플렉서들(502, 504)에 의해 수신된 샘플링된 신호들 중 하나를 선택하기 위해 RCD(306) 및/또는 호스트 디바이스(302)(도 3, 도 4 참조)에 의해 제공될 수 있다. 일 실시예에 있어서, 셀렉트 신호(520)는 제 1 비트, 제 2 비트 및 제 3 비트를 갖는 3-비트 신호일 수 있다.
멀티플렉서(506)는 RCD(306) 내의 샘플링 포인트로부터 샘플링된 칩 셀렉트 신호들(DCS0_A)을 수신하도록 구성될 수 있고, 이때, 샘플링된 칩 셀렉트 신호(DCS0_A)는 Channel A에 대응한다. 멀티플렉서(508)는 RCD(306) 내의 샘플링 포인트로부터 샘플링된 칩 셀렉트 신호들(DCS0_B)를 수신하도록 구성될 수 있고, 이때, 샘플링된 칩 셀렉트 신호(DCS0_B)는 Channel B에 대응한다. 멀티플렉서들(502, 504)에 의해 수신된 샘플링된 칩 셀렉트 신호들은 도 4에 도시된 샘플링 포인트들(414, 416)로부터 샘플링된 신호들 중 하나 이상일 수 있다. 일 실시예에 있어서, 셀렉트 신호(520) 내의 비트들 중 하나는, 멀티플렉서(510)로 출력되어지도록, 멀티플렉서들(506, 508)에 의해 수신된 입력 샘플링된 신호들 중 하나를 선택하기 위해 사용될 수 있다.
멀티플렉서(510)는 멀티플렉서들(502, 504, 506, 508)로부터의 출력들을 수신하도록 구성될 수 있다. 멀티플렉서(510)는, 또한, RCD(306)의 외부, RCD(306)와 호스트 디바이스(502) 사이, 및/또는 RCD(306)와 메모리 모듈(304)의 메모리 랭크들(도 3 참조)의 샘플링 포인트들에서와 같은, 외부에서 샘플링될 수 있는 DLBD_A 및 DLBD_B와 같은, 샘플링된 외부 신호들을 수신할 수 있다. 멀티플렉서(510)는 RCD(306)의 내부 또는 외부일 수 있는 샘플링된 클록 신호들을 수신할 수 있다(예를 들어, 도 5의 Internal QCK로 라벨링된 내부 클록 신호). RX_LOOPBACK_CTRL로 라벨링된 셀렉트 신호(522)는 도 4에 도시된 샘플링된 신호들(422, 424)로 출력되어지도록 멀티플렉서(510)에 의해 수신된 샘플링된 신호들 중 하나를 선택하기 위해 호스트 디바이스(302) 및/또는 RCD(306)에 의해 제공될 수 있다. 일 실시예에 있어서, 셀렉트 신호(522)는 제 1 비트, 제 2 비트, 및 제 3 비트를 갖는 3-bit 신호일 수 있다.
일 실시예에 있어서, 셀렉트 신호(522)는 멀티플렉서(510)에 의해 출력되어지도록, 샘플링된 칩 셀렉트 신호들의 선택을 제어할 수 있다. 예를 들어, 셀렉트 신호(520) 내의 제 3 비트(또는 최하위 비트)는 멀티플렉서들(506, 508) 내에서, 샘플링된 신호들을 선택하기 위해 사용될 수 있다. 이러한 경우, '000', '010', '100', '110'인 셀렉트 신호(520)는 바이너리 '0'이 멀티플렉서들(506, 508)의 선택 핀들(selection pins)로 전송되어지도록 야기할 수 있다. 일 예에서, '000'인 셀렉트 신호(520)는 멀티플렉서(502)가 DCA0_A를 선택하도록 야기하고, 멀티플렉서(504)가 DCA0_B를 선택하도록 야기하며, 바이너리 '0'이 멀티플렉서들(506, 508)이 칩 셀렉트 신호들(DCS0_A 및 DCS0_B)을 각각 선택하도록 야기한다. 그러므로, '000'인 셀렉트 신호(520)는 멀티플렉서들(502, 504, 506, 508)이 DCA0_A, DCA0_B, DCS0_A, DCS0_B을 각각 출력하도록 야기할 수 있다. 셀렉트 신호(522)는 출력들(DCA0_A, DCA0_B, DCS0_A, DCS0_B) 중 하나를 선택할 수 있고, 이에 따라 셀렉트 신호(520)의 제 3 비트가 다수의 멀티플렉서들에 의해 공유된다 하더라도, 멀티플렉서(510)는 바람직한(desired) 샘플링된 신호를 출력할 수 있다. 다른 샘플링된 내부 신호들에 대한 셀렉트 신호들 내의 기존 비트들을 사용함에 의해, 루프백 회로(310)는, 칩 셀렉트 샘플링 및 루프백을 위한 새로운 제어 워드 비트들(new control word bits)를 디자인하고 할당할 필요 없이, 내부적으로 칩 셀렉트 신호들의 샘플링을 제공할 수 있다.
일 실시예에 있어서, 멀티플렉서들(502, 504, 506, 508, 510)은 루프백 회로(310) 내의 하나의 그룹의 루프백 블록으로 고려될 수 있다. 루프백 회로(310)는호스트 디바이스(302)로 피드백 되어질, 서로 다른 타입의 샘플링된 신호들을 수신할 수 있는, 도 5에 도시된 예시와 동일한 하나 이상의 루프백 블록을 포함할 수 있다. 예를 들어, 도 5에 도시된 멀티플렉서들(502, 504, 506, 508, 510)은 RCD(306) 내부로부터의 커맨드/어드레스 신호들, 패리티 신호들, 칩 셀렉트 신호들 및 외부 데이터 신호들(DLBD_A 및 DLBD_B)을 샘플링하기 위해 구성될 수 있다. 루프백 회로(310)는 RCD(306) 내부로부터의 커맨드/어드레스 신호들, 패리티 신호들, 칩 셀렉트 신호들 및 외부 클록 신호들을 샘플링하기 위해 구성될 수 있는 멀티플렉서들(502, 504, 506, 508, 510)의 유사한 배열을 갖는 다른 루프백 블록을 포함할 수 있다(예를 들어, DLBD_A 및 DLBD_B 대신, 멀티플렉서(510)가 외부 클록 신호들을 수신할 수 있음).
도 6은 본 발명의 일 실시예에 따른 칩 셀렉트 루프백 회로를 갖는 레지스터 클록 드라이버를 구현할 수 있는 예시적인 프로세스(600)의 흐름도이다. 프로세스(600)는 블록들(602, 604 및 606) 중 하나 이상에 의해 도시된 바와 같이, 하나 이상의 동작들, 액션들, 또는 기능들을 포함할 수 있다. 이산적인 블록들로 도시되었다 하더라도, 다양한 블록들이 추가적인 블록들로 분할될 수 있고, 더 적은 블록들로 조합될 수 있으며, 삭제될 수도 있고, 다른 순서로 될 수도 있으며, 바람직한 구현에 의존하여 병렬로 수행될 수도 있다.
프로세스(600)는 메모리 모듈의 레지스터 클록 드라이버(RCD)에 의해 실행될 수 있다. 프로세느(600)는 블록(602)에서 개시될 수 있다. 블록(602)에서, RCD는 메모리 모듈의 하나 이상의 메모리 랭크들을 선택하기 위한 칩 셀렉트 신호를 수신할 수 있다. 일 실시예에 있어서, 메모리 모듈은 SDRAM 디바이스들을 포함하는 DDR5 LRDIMM일 수 있다.
프로세스(600)는 블록(602)으로부터 블록(604)으로 진행될 수 있다. 블록(604)에서 RCD는 RCD의 수신기와 RCD의 로직 회로 사이의 제 1 샘플링 포인트로부터 칩 셀렉트 신호를 샘플링할 수 있다. 프로세스(600)는 블록(604)으로부터 블록(606)으로 진행될 수 있다. 블록(606)에서, RCD는 RCD의 로직 회로와 RCD의 출력 드라이버 사이의 제 2 샘플링 포인트로부터 칩 셀렉트 신호를 샘플링할 수 있다. 프로세스(600)는 블록(606)으로부터 블록(608)으로 진행될 수 있다. 블록(608)에서 RCD는 메모리 컨트롤러로 샘플링된 칩 셀렉트 신호들을 전송할 수 있다. 일 실시예에 있어서, RCD는 블록(604) 및 블록(606) 중 하나에서 동작들을 수행할 수 있다. 다른 실시예에 있어서, RCD는 블록들(604, 606) 둘 모두에서, 개별적으로 또는 동시에, 동작들을 수행할 수 있다.
여기에 사용된 용어들은 단지 특정 실시예들을 설명하기 위한 목적으로 사용된 것이지, 본 발명을 한정하려는 의도로 사용된 것은 아니다. 여기에 사용된 바와 같이, "하나", "상기"와 같은 단수 형태는 문맥상에 명확하게 지시되지 않더라도 복수 형태를 포함하는 의도로 사용된다. "포함하다" 및/또는 "포함하는"이라는 용어가 본 명세서 상에서 사용되는 때, 서술된 특징들, 정수들(integers), 단계들, 동작들, 구성요소들 및/또는 컴포넌트들의 존재를 구체화하는 것으로 이해될 것이지, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 구성요소들, 컴포넌트들 및/또는 그룹들의 존재 또는 추가를 배재하지는 않는 것으로 이해될 것이다.
아래의 청구범위들 내의, 모든 수단들의 대응하는 구조들, 물질들, 동작들, 및 균등물들 또는 기능식 구성요소들은 구체적으로 청구된 것과 같이, 다른 청구된 구성요소들과 조합하여 기능을 수행하기 위한 임의의 구조, 물질 또는 동작을 포함하도록 의도된 것이다. 본 발명의 개시된 실시예들은 실례 및 서술의 의도로 나타내어진 것이지 개시된 다른 형태로 본 발명이 한정되거나 배제하는 것을 의도한 것은 아니다. 많은 수정들(modifications) 및 변형들(variations)이 본 발명의 범위 및 정신으로부터 동떨지지 않고, 본 기술분야의 통상의 기술자에게는 명백할 것이다. 본 발명 및 실무적인 응용의 원리들을 가장 잘 설명하기 위해, 그리고 고려되는 특정한 사용에 적합한 것과 같이, 본 기술분야의 통상의 기술자들이 다양한 변형들과 함께 다양한 실시예들에 대한 본 발명을 이해할 수 있도록, 실시예들은 선택되고 서술된 것이다.

Claims (20)

  1. 메모리 모듈의 하나 이상의 메모리 랭크들(memory ranks)을 선택하기 위한 칩 셀렉트 신호(chip select signal)를 수신하기 위해 구성된 수신기;
    상기 수신기에 결합된 로직 회로;
    상기 로직 회로에 결합된 출력 드라이버(output driver), 여기서:
    상기 로직 회로는 상기 메모리 모듈의 상기 하나 이상의 메모리 랭크들을 선택하기 위한 출력 신호를 생성하기 위해 상기 칩 셀렌트 신호를 디코딩하도록 구성되고,
    상기 출력 드라이버는 상기 출력 신호를 이용하여 상기 하나 이상의 메모리 랭크들을 선택하도록 구성됨; 및
    다음 중 하나 이상으로부터 상기 칩 셀릭트 신호를 샘플링하도록 구성된 루프백 회로(loopback circuit):
    상기 수신기와 상기 로직 회로 사이의 제 1 샘플링 포인트; 및
    상기 로직 회로와 상기 출력 드라이버 사이의 제 2 샘플링 포인트
    를 포함하는, 장치.
  2. 제 1 항에 있어서,
    상기 루프백 회로는 상기 칩 셀렉트 신호의 하나 이상의 샘플들을 메모리 컨트롤러로 제공하도록 구성되는, 장치.
  3. 제 1 항에 있어서, 여기서:
    상기 루프백 회로가 디스에이블링됨(disabled)에 응답하여, 상기 장치는 패스-쓰루(pass-through) 모드로 동작하고; 그리고
    상기 루프백 회로가 인에이블링됨(enabled)에 응답하여, 상기 장치는 루프백(loopback) 모드로 동작하고, 상기 루프백 회로는 상기 루프백 회로가 인에이블링됨에 응답하여 상기 칩 셀렉트 신호를 샘플링하도록 구성되는, 장치.
  4. 제 1 항에 있어서, 상기 루브팩 회로는:
    상기 장치의 제 1 채널로부터 상기 칩 셀렉트 신호를 샘플링하도록 구성된 제 1 멀티플렉서(multiplexer);
    상기 장치의 제 2 채널로부터 상기 칩 셀렉트 신호를 샘플링하도록 구성된 제 2 멀티플렉서를 포함하는, 장치.
  5. 제 1 항에 있어서, 상기 루프백 회로는:
    복수의 어드레스(address) 및 커맨드(command) 신호들로 구성되는 제 1 부분;
    복수의 패리티 신호들을 샘플링하도록 구성되는 제 2 부분; 및
    상기 칩 셀렉트 신호를 샘플링하도록 구성되는 제 3 부분을 포함하는, 장치.
  6. 제 5 항에 있어서, 상기 루프백 회로의 상기 제 1 부분과 상기 제 2 부분은 제 1 비트, 제 2 비트, 및 제 3 비트를 포함하는 셀렉트 신호에 의해 제어되고, 상기 루프백 회로의 제 3 부분은 상기 제 1, 제 2, 및 상기 제 3 비트들 중 하나에 의해 제어되는, 장치.
  7. 제 1 항에 있어서, 상기 메모리 모듈은 DDR5(Double Data Rate fifth generation) 메모리 모듈인, 장치.
  8. 제 1 항에 있어서, 상기 수신기, 상기 로직 회로, 상기 출력 드라이버, 및 상기 루프백 회로는 DDR5 메모리 모듈의 레지스터 클록 드라이버(RCD: Register Clock Driver)의 부분들인, 장치.
  9. 제 1 항에 있어서, 상기 메모리 모듈은 SDRAM(Synchronous Dynamic Random-Access Memory) 디바이스들을 포함하는 DDR5 LRDIMM(Load-Reduction Dual In-line Memory Module)인, 장치.
  10. 복수의 메모리 랭크들; 및
    상기 복수의 메모리 랭크들에 결합된 레지스터 클록 드라이버(RCD), 상기 RCD는 상기 복수의 메모리 랭크들 중 하나 이상의 메모리 랭크들을 선택하기 위한 칩 셀렉트 신호를 수신하기 위해 구성됨;을 포함하는 메모리 모듈을 포함하되,
    상기 RCD는,
    상기 RCD의 수신기와 상기 RCD의 로직 회로 사이의 제 1 샘플링 포인트; 및
    상기 RCD의 상기 로직 회로와 상기 RCD의 출력 드라이버 사이의 제 2 샘플링 포인트 중 하나 이상으로부터 상기 칩 셀렉트 신호를 샘플링하도록 구성된 루프백 회로를 포함하는, 장치.
  11. 제 10 항에 있어서, 상기 루프백 회로는 상기 RCD에 결합된 메모리 컨트롤러로 상기 칩 셀렉트 신호의 샘플을 제공하도록 구성되는, 장치.
  12. 제 10 항에 있어서,
    상기 RCD는 루프백 회로가 디스에이블링됨에 응답하여 패스-쓰루 모드로 동작하고; 그리고
    상기 RCD는 상기 루프백 회로가 인에이블링됨에 응답하여 루프백 모드로 동작하되, 여기서, 상기 루프백 회로는 상기 루프백 회로가 인에이블링됨에 응답하여 상기 칩 셀렉트 신호를 샘플링하도록 구성되는, 장치.
  13. 제 10 항에 있어서, 상기 루프백 회로는:
    상기 장치의 제 1 채널로부터 상기 칩 셀렉트 신호를 샘플링하도록 구성된 제 1 멀티플렉서; 및
    상기 장치의 제 2 채널로부터 상기 칩 셀렉트 신호를 샘플링하도록 구성된 제 2 멀티플렉서를 포함하는, 장치.
  14. 제 10 항에 있어서, 상기 루프백 회로는:
    복수의 어드레스(address) 및 커맨드(command) 신호들로 구성되는 제 1 부분;
    복수의 패리티 신호들을 샘플링하도록 구성되는 제 2 부분; 및
    상기 칩 셀렉트 신호를 샘플링하도록 구성되는 제 3 부분을 포함하는, 장치.
  15. 제 14 항에 있어서, 상기 루프백 회로의 상기 제 1 부분과 상기 제 2 부분은 제 1 비트, 제 2 비트, 및 제 3 비트를 포함하는 셀렉트 신호에 의해 제어되고, 상기 루프백 회로의 제 3 부분은 상기 제 1, 제 2, 및 상기 제 3 비트들 중 하나에 의해 제어되는, 장치.
  16. 제 10 항에 있어서, 상기 메모리 모듈은 DDR5(Double Data Rate fifth generation) 메모리 모듈인, 장치.
  17. 제 10 항에 있어서, 상기 메모리 모듈은 SDRAM(Synchronous Dynamic Random-Access Memory) 디바이스들을 포함하는 DDR5 LRDIMM(Load-Reduction Dual In-line Memory Module)인, 장치.
  18. 메모리 모듈을 동작시키기 위한 방법에 있어서,
    메모리 모듈의 레지스터 드라이버(RCD)에 의해, 상기 메모리 모듈의 하나 이상의 메모리 랭크들을 선택하기 위한 칩 셀렉트 신호를 수신하는 단계;
    상기 RCD에 의해, 다음 중 하나 이상으로부터 상기 칩 셀렉트 신호를 샘플링하는 단계:
    상기 RCD의 수신기와 상기 RCD의 로직 회로 사이의 제 1 샘플링 포인트; 및
    상기 RCD의 상기 로직 회로와 상기 RCD의 출력 드라이버 사이의 제 2 샘플링 포인트
    를 포함하는, 방법.
  19. 제 18 항에 있어서, 상기 RCD에 의해, 상기 메모리 모듈의 메모리 컨트롤러로 상기 샘플링된 칩 셀렉트 신호를 샘플링하는 단계를 더 포함하는, 방법.
  20. 제 18 항에 있어서, 상기 메모리 모듈은 SDRAM(Synchronous Dynamic Random-Access Memory) 디바이스들을 포함하는 DDR5 LRDIMM(Load-Reduction Dual In-line Memory Module)인, 방법.
KR1020227042791A 2021-11-16 2021-11-16 칩 셀렉트 루프백을 갖는 레지스터 클락 드라이버 KR20230074412A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/130922 WO2023087139A1 (en) 2021-11-16 2021-11-16 Register clock driver with chip select loopback

Publications (1)

Publication Number Publication Date
KR20230074412A true KR20230074412A (ko) 2023-05-30

Family

ID=86324668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227042791A KR20230074412A (ko) 2021-11-16 2021-11-16 칩 셀렉트 루프백을 갖는 레지스터 클락 드라이버

Country Status (5)

Country Link
US (2) US11868172B2 (ko)
KR (1) KR20230074412A (ko)
CN (1) CN116137167A (ko)
TW (1) TW202322123A (ko)
WO (1) WO2023087139A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023087139A1 (en) * 2021-11-16 2023-05-25 Renesas Electronics America Inc. Register clock driver with chip select loopback

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070260841A1 (en) * 2006-05-02 2007-11-08 Hampel Craig E Memory module with reduced access granularity
US7761725B2 (en) * 2006-08-30 2010-07-20 Ati Technologies Ulc Clock generation for synchronous circuits with slow settling control signals
US9128632B2 (en) * 2009-07-16 2015-09-08 Netlist, Inc. Memory module with distributed data buffers and method of operation
WO2012106131A1 (en) * 2011-02-02 2012-08-09 Rambus Inc. On-die termination
US9563597B2 (en) * 2012-03-19 2017-02-07 Rambus Inc. High capacity memory systems with inter-rank skew tolerance
US9087568B1 (en) * 2012-04-02 2015-07-21 Rambus Inc. Memory with merged control input
US8972685B2 (en) * 2012-12-21 2015-03-03 Intel Corporation Method, apparatus and system for exchanging communications via a command/address bus
US9640236B2 (en) * 2015-03-12 2017-05-02 Invensas Corporation Reduced load memory module using wire bonds and a plurality of rank signals
US10613995B2 (en) * 2015-03-16 2020-04-07 Rambus Inc. Training and operations with a double buffered memory topology
US10416912B2 (en) * 2016-11-03 2019-09-17 Intel Corporation Efficiently training memory device chip select control
CN108509359A (zh) * 2017-02-28 2018-09-07 华为技术有限公司 一种存储器的控制方法及装置
US10437279B2 (en) * 2017-10-11 2019-10-08 Integrated Device Technology, Inc. Open loop solution in data buffer and RCD
WO2019142203A1 (en) * 2018-01-16 2019-07-25 Rezonent Microchips Pvt. Ltd. Digital circuits for radically reduced power and improved timing performance on advanced semiconductor manufacturing processes
CN110058793B (zh) 2018-01-19 2020-04-28 华为技术有限公司 一种刷新处理方法、装置、系统及内存控制器
US10530347B2 (en) * 2018-03-23 2020-01-07 Sandisk Technologies Llc Receiver-side setup and hold time calibration for source synchronous systems
US10649925B2 (en) * 2018-05-16 2020-05-12 Microsoft Technology Licensing, Llc Indirect data return from memory controller logic
US10635628B2 (en) * 2018-06-29 2020-04-28 Intel Corporation Host controller apparatus, host controller device, and method for a host controller for determining information related to a time shift for transmitting instructions on a command and address bus, host controller and computer system
EP3931667A4 (en) * 2019-02-27 2022-07-13 Rambus Inc. LOW-POWER MEMORY WITH ON-DEMAND BANDWIDTH BOOST
US11313904B2 (en) 2019-11-24 2022-04-26 Global Unichip Corporation Testing device and testing method
DE102020123859A1 (de) * 2020-09-14 2022-03-17 Infineon Technologies Ag Zeitmessung eines taktbasierten Signals
WO2023087139A1 (en) * 2021-11-16 2023-05-25 Renesas Electronics America Inc. Register clock driver with chip select loopback

Also Published As

Publication number Publication date
TW202322123A (zh) 2023-06-01
WO2023087139A1 (en) 2023-05-25
US20230152840A1 (en) 2023-05-18
US11868172B2 (en) 2024-01-09
CN116137167A (zh) 2023-05-19
US20240094762A1 (en) 2024-03-21

Similar Documents

Publication Publication Date Title
US11036398B2 (en) High-throughput low-latency hybrid memory module
US7418526B2 (en) Memory hub and method for providing memory sequencing hints
US8347005B2 (en) Memory controller with multi-protocol interface
US10956349B2 (en) Support for multiple widths of DRAM in double data rate controllers or data buffers
US7739441B1 (en) Communicating between a native fully buffered dual in-line memory module protocol and a double data rate synchronous dynamic random access memory protocol
US20080091888A1 (en) Memory system having baseboard located memory buffer unit
US10325637B2 (en) Flexible point-to-point memory topology
US20240094762A1 (en) Register clock driver with chip select loopback
US10854245B1 (en) Techniques to adapt DC bias of voltage regulators for memory devices as a function of bandwidth demand
US8006032B2 (en) Optimal solution to control data channels
US12026397B2 (en) Hybrid memory module having a volatile memory subsystem and a module controller configurable to provide data to accompany externally sourced data strobes to the volatile memory subsystem
US11226823B2 (en) Memory module and operating method thereof
US20190042095A1 (en) Memory module designed to conform to a first memory chip specification having memory chips designed to conform to a second memory chip specification
US20230305972A1 (en) Memory tunneling interface
US20170147230A1 (en) Memory device and memory system having heterogeneous memories
CN110633230A (zh) 高带宽dimm
US10831963B1 (en) Apparatus and method of parallel architecture for NVDIMM
US10978120B2 (en) Memory interface circuit, memory storage device and signal generation method
US12072381B2 (en) Multi-modal memory apparatuses and systems
US20240273015A1 (en) Adaptive Selection of a Configuration-Dependent Operand
US9483437B2 (en) Addressing multi-core advanced memory buffers
US20090307417A1 (en) Integrated buffer device
KR20240039924A (ko) 다양한 동작 모드를 가지는 반도체 메모리 장치 및 메모리 모듈
WO2007116484A1 (ja) メモリ装置、そのインタフェース回路、その制御方法、その制御プログラム、メモリ・カード、回路基板及び電子機器