KR100883007B1 - 데이지-체인 메모리 구조에서의 메모리 명령 지연 조절 방법 - Google Patents

데이지-체인 메모리 구조에서의 메모리 명령 지연 조절 방법 Download PDF

Info

Publication number
KR100883007B1
KR100883007B1 KR1020077002577A KR20077002577A KR100883007B1 KR 100883007 B1 KR100883007 B1 KR 100883007B1 KR 1020077002577 A KR1020077002577 A KR 1020077002577A KR 20077002577 A KR20077002577 A KR 20077002577A KR 100883007 B1 KR100883007 B1 KR 100883007B1
Authority
KR
South Korea
Prior art keywords
command
memory
controller
delay
response
Prior art date
Application number
KR1020077002577A
Other languages
English (en)
Other versions
KR20070039117A (ko
Inventor
더글라스 앨랜 라르손
Original Assignee
미크론 테크놀로지,인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 미크론 테크놀로지,인코포레이티드 filed Critical 미크론 테크놀로지,인코포레이티드
Publication of KR20070039117A publication Critical patent/KR20070039117A/ko
Application granted granted Critical
Publication of KR100883007B1 publication Critical patent/KR100883007B1/ko

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명은 데이지-체인 메모리 구조를 위한 방법을 개시하며, 이때, 메모리 모듈(DIMM)로부터의 응답 수신 시기의 예측에 부가하여, 메모리 컨트롤러는 수신 DIMM에 의해 명령이 실행될 시기를 효과적으로 예측할 수 있다. DIMM의 명령 지연 유닛에 DIMM-전용 명령 지연을 프로그래밍함으로서, 본 발명에 따른 명령 지연 조절 방법은 메모리 채널 내 모든 DIMM 사이에서 명령 신호의 실행을 정규화 또는 동기화시킬 수 있다. 명령 실행 시기를 예측하는 이러한 기능으로, 메모리 컨트롤러는 데이지-체인 메모리 채널에서 모든 DRAM 장치들의 전력 프로파일을 효과적으로 제어할 수 있다. DIMM에서 별도의 DIMM-전용 응답 지연 유닛이 또한 프로그래밍될 수 있어서, 응답 경로에서 DIMM-전용 지연 보상을 제공할 수 있고, 따라서, 먼저 전송된 명령에 따른 응답의 수신 시기를 메모리 컨트롤러가 정확하게 확신할 수 있고, 응답의 추가적 처리를 더 우수하게 관리 및 계획할 수 있다.

Description

데이지-체인 메모리 구조에서의 메모리 명령 지연 조절 방법{MEMORY COMMAND DELAY BALANCING IN A DAISY-CHAINED MEMORY TOPOLOGY}
본 발명은 메모리 시스템에 관한 발명으로서, 특히, 데이지-체인(daisy-chained) 메모리 장치에서 명령 지연 조절을 위한 발명이다.
데이터를 저장하기 위한 여러가지 전자 기기와 컴퓨터에서 메모리 장치들이 폭넓게 사용되고 있다. 메모리 장치는 다수의 메모리 칩을 포함하는 반도체 전자 소자이며, 각각의 칩은 전체 데이터의 일부분을 저장한다. 칩들은 다수의 메모리 셀들을 포함하는 데, 각각의 셀은 1비트의 데이터를 저장한다. 메모리 칩들은 DIMM(dual in-line memory module)이나 PCB(printed circuit board)의 일부분일 수 있다. 아래의 설명에서, "메모리 장치", "메모리 모듈", 그리고 "DIMM"은 동등한 의미로 사용된다. 메모리 독출/기입 및 테스트 동작을 수행하기 위해 프로세스나 메모리 컨트롤러가 시스템 내의 메모리 장치와 통신할 수 있다. 도 1은 패럴렐 메모리 버스(30)("stub bus"라고도 부름)를 이용하여 메모리 컨트롤러(11)와 다수의 메모리 장치(DIMM)(12, 18, 24) 사이에서 신호 통신을 나타내는 공지 기술의 패럴렐 구조(10)를 도시한다. 설명을 돕기 위해, 전체 N개의 메모리 장치 중 세개의 메모리 장치(DIMM0(12), DIMM1(18), DIMM N-1(24))만이 도 1에 도시되어있다. 이들 은 메모리 컨트롤러(11)에 의해 제어되며, 이 컨트롤러와 통신한다. 설명을 돕기 위해, 도 1의 각각의 DIMM은 같은 수, 즉, N개의 DRAM 메모리 칩들을 포함하는 것으로 도시되어 있다. 예를 들어, 메모리 모듈(12)은 N개의 DRAM 칩(16)들을 구비한 한개의 메모리 뱅크(20)를 포함하고, 메모리 모듈(18)은 N개의 DRAM 칩(22)들을 구비한 한개의 메모리 뱅크(20)를 포함한다. 그러나, 도 1의 각각의 DIMM은 서로 다른 수의 메모리 칩이나 DRAM을 포함하는 것이 명백하다. 본원에서 "DRAM 칩", "메모리 칩", "데이터 저장 및 호출 소자", 그리고 "메모리 요소(memory element)"는 동일한 의미로 사용된다.
각각의 메모리 칩(16, 22, 28)은, 칩이 위치하는 DIMM을 통해 다른 시스템 소자에 칩을 전기적으로 연결하기 위해, 칩 외부에 위치하는 다수의 핀(도시되지 않음)들을 포함할 수 있다. 이 핀들 중 일부는 메모리 어드레스 핀이나 어드레스 버스, 데이터 핀이나 데이터 버스, 그리고 제어 핀이나 제어 버스를 구성할 수 있다. 메모리 칩의 추가적인 구성 세부사항들은 더이상 상세하게 설명하지 않는다. 당 분야에 통상의 지식을 가진 자라면, 도 1의 메모리 칩(16, 22, 28)이 전형적인 메모리 칩의 모든 특징들을 상세하게 제시하도록 그려진 것이 아님을 이해할 수 있을 것이다. 칩 내 메모리 셀로부터 데이터를 독출하고 메모리 셀에 데이터를 기입하기 위해 DIMM에는 해당 메모리 칩과 함께 수많은 주변 장치나 회로들이 제공될 수 있다. 더우기, 도 1의 DIMM(가령, DIMM(12, 18, 24)의 구성 세부사항은 설명을 돕기 위해 도시되지 않았다. 실제로, 각각의 DIMM은 DIMM과 컨트롤러(11) 간의 신호 흐름을 위해 적절한 DIMM 커넥터(도시되지 않음)를 통해 패럴렐 버스(30)에 연 결될 수 있다.
도 1의 패럴렐 버스 구조(10)에서, 메모리 컨트롤러(11)는 패럴렐 버스(30)의 어드레스/제어 버스 부분을 통해 어드레스/제어 신호들을, 그리고, 패럴렐 버스(30)의 데이터 버스 부분을 통해 데이터를 DIMM 내외로 전송한다. 패럴렐 버스(30)는 어드레스 및 제어 라인들(두가지 모두 일방향성)과, 데이터 라인들(양방향성)을 포함하는 신호 전송 버스이며, 이 중 일부는 시스템의 각 DIMM에 연결되고, 메모리 컨트롤러(11)와 해당 DIMM(12, 18, 24) 간의 메모리 데이터 전송 동작 수행에 사용된다. 메모리 컨트롤러(11)는 메모리 모듈(또는 DIMM)의 동작 모드들을 결정할 수 있다. 메모리 컨트롤러(11)로부터의 일부 제어 신호들은 칩 선택(CS_N) 신호, 기입 이네이블(write enabel)(WE_N) 신호, 로우/컬럼 어드레스(A), 데이터 마스크(DM) 신호, 종료 제어(ODT_N) 신호, 그리고 한 세트의 싱글-엔디드(single-ended) 또는 차동 데이터 스트로브(RDQS/RDQS#/DQS/DQS#), 등을 포함할 수 있다. 이러한 제어 신호들은 패럴렐 버스(30)의 제어 라인들이나 제어 버스 부분을 통해 전송되어, 적정 메모리 칩(DRAM) 내 선택된 메모리 셀에서 데이터 전송 동작을 수행한다. 어드레스, 데이터, 그리고 제어 버스의 폭(즉, 라인수)은 메모리 구성마다 다를 수 있다.
도 1의 패럴렐 버스 구조(10)에서, 각각의 메모리 모듈(12, 18, 24)이 패럴렐 버스(30)를 통해 메모리 컨트롤러(11)에 직접 연결된다는 것이 관측되었다. 다시 말해서, 메모리 컨트롤러(11)가 병렬로 각각의 메모리 모듈(DIMM)에 연결된다. 따라서, 컨트롤러(11)로부터의 모든 신호 출력이 병렬로 각 메모리 모듈에 도달한 다. 이러한 배열이 구현하기 용이하고 폭넓은 메모리 버스를 제공할 수 있지만, 버스(30) 상에서 수행되어야할 신호 처리의 속도가 제한되는 단점이 있다. 패럴렐 버스(30)의 현대적 구현에서는, 신호 처리 속도가 800 MHz에 달하고 있다. 더우기, 패럴렐 버스 구성에서, 가장 느린 DIMM에서 나타나는 지연은 데이터 전송 동작의 전체 지연을 지배한다. 현대적인 고속 메모리 칩 및 컨트롤러의 처리 파워에 유용한 GHz 영역의 메모리 데이터 전송 동작들의 신호처리 속도를 증가시키기 위해, 패럴렐 버스 구조가 적합하다고 볼 수 없다.
도 2는 데이지-체인(daisy-chained) 구조로 메모리 컨트롤러(33)에 메모리 모듈(DIMM)(34, 40, 44)들이 연결되는 대안의 구조(32)를 도시한다. 앞서와 같이, 단순화를 위해 세개의 메모리 모듈만이 도 2에 도시되어 있다. 또한 설명을 돕기 위해, 도 2에서, 메모리 모듈의 커넥터는 해당 메모리 모듈의 식별번호와 동일하게 표시된다. 도 2의 실시예와 마찬가지로, 도 2의 각각의 DIMM은 다수의 메모리 칩이나 DRAM 칩을 구비한 해당 DRAM 메모리 뱅크를 포함한다. 예를 들어, DIMM 0 (34)은 N개의 DRAM 칩(38)들을 가진 메모리 뱅크(36)를 포함한다. 설명을 위해, 도 2의 다른 메모리 뱅크(가령, 메모리 뱅크(42, 46))들은 해당 메모리 칩을 도시하지 않았다.
도 2의 데이지-체인 구조(32)에서, 각각의 DIMM 커넥터(34, 40, 44)는 한 쌍의 다운링크 단자와 한 쌍의 업링크 단자를 가진다. 각 쌍의 다운링크 단자들은 다운링크-인 단자(DL_In)와 다운링크-아웃 단자(DL_Out)를 포함한다. 마찬가지로, 각 쌍의 업링크 단자들은 업링크-인 단자(UL_In)와 업링크-아웃 단자(UL-Out)를 포함 한다. 데이지-체인 구조(32)는 도 1에 도시된 패럴렐 구조에 반해 시리얼 신호 전송 구조에 해당한다. 따라서, 메모리 컨트롤러(33)로부터 다운링크 채널(구조(32)의 모든 다운링크 단자(48A-48C)들로 구성됨)을 통해 신호를 메모리 모듈이 수신하고, 업링크 채널(구조(32)의 모든 업링크 단자(50A-50C)들을 포함함)을 통해 메모리 컨트롤러(33)에 신호가 전송된다. 신호들은 한개의 메모리 모듈로부터 또다른 메모리 모듈로 신호 'hop"을 통해 직렬(serial) 방식으로 전파된다. 따라서, 예를 들어, 메모리 컨트롤러(33)로부터 모든 DIMM(34, 40, 44)에 송출되는 명령이 DIMM 0(34)의 DL_In 단자(48A)에서 먼저 수신되며, 그후 DL_Out 단자(48B)를 통해 DIMM 1(40)에 상기 명령이 전달된다. DL_Out 단자(48B)는 DIMM(40)의 DL_In 단자에 연결되어 있기 때문이다. 이는 한개의 명령 'hop'을 완료시킨다. 제 2 명령 'hop' 이후, 메모리 컨트롤러(33)로부터의 명령이 메모리 모듈(40)의 DL_Out 단자(48C)에 나타난다. 따라서, 전부 N-1회의 hop로, 명령은 메모리 채널에서 가장 마지막의 DIMM(본 경우에 DIMM(44))에 도달할 것이다. 이때, 상기 메모리 채널은 데이지-체인 구조(32)의 메모리 컨트롤러(33)에 연결된 모든 메모리 모듈들로 구성된다. 마찬가지로, 가장 먼 DIMM(44)로부터의 명령에 대한 응답이 메모리 컨트롤러(33)에 도달하기 위해 N-1회의 hop가 필요할 수 있다. 이때, "명령"(command)이라는 용어는 (가령, 데이터 기입 동작 중, 또는 메모리 모듈 테스트 동작 중) 메모리 컨트롤러(33)로부터 한개 이상의 DIMM에 전송되는 어드레스, 데이터, 또는 제어 신호를 의미한다. 다른 한편으로, "응답"(response)이라는 용어는 (가령, 데이터 독출 동작이나 메모리 테스트 동작 중) 메모리 컨트롤러(33)에 의해 전송되어 메모리 컨트 롤러(33)로부터 수신한 명령에 대해 DIMM에 의해 발생되는 데이터나 상태 신호를 의미한다.
도 2에 도시되는 바와 같이 데이지-체인 메모리 구조에서, 메모리 컨트롤러(33)는 도 1의 패럴렐 버스 구조의 모든 메모리 모듈들과는 달리, DIMM 모들들 중 한개(즉, 도 2의 메모리 모듈(34))에만 직접 연결된다. 따라서, 시리얼 데이지-체인 방식의 한가지 단점은 메모리 모듈들 중 한개에 결함이 있거나 오작동할 경우, 메모리 컨트롤러(33)로부터 명령의 "다운스트림"(downstream, 즉, '하향'을 의미) 전파가 차단될 수 있다는 것이다. 그러나, 이러한 단점에도 불구하고, 데이지-체인 구조(32)는 상당한 장점들을 제공한다. 예를 들어, 초고속 신호 전파(수GHz 범위)가 가능하고, 개별 DIMM의 데이터 전송 동작들에 대한 제어가 용이하다. 따라서, 데이지-체인 구조(32)의 신호처리는 패럴렐 구조(10)의 신호 처리보다 훨씬 빠를 수 있다. 앞서 언급한 바와 같이, 데이지-체인 구조의 각 DIMM은 다음 DIMM에 대한 신호의 '리피터(repeater)"로 기능한다. 다운링크 및 업링크 채널들은 매우 빠르고, 폭이 좁으며, 일방향인 신호 버스로서, 인코딩된 신호 패킷(메모리 컨트롤러(33)로부터의 메모리 어드레스, 데이터, 또는 제어 정보를 지님)들을 운반한다. 이 신호 패킷들은 수신기 DIMM에 의해 디코딩된다. 다운링크 채널은 일방향으로 신호를 운반하고, 업링크 채널은 서로 다른 신호를 반대 방향으로 운반한다. 도 2의 데이지-체인 구조(32)에서, 메모리 컨트롤러(33)로부터 메모리 채널의 모든 DIMM까지 송출되는 신호든지, 또는, 메모리 채널의 단일 DIMM에게로 어드레싱되는 신호인지 여부에 관계없이, 신호가 hop를 통해 이동하여야 한다는 점은 명백하다. 즉, 메 모리 컨트롤러(33)로부터의 임의의 신호가 한개 이상의 DIMM에 관련된 한개 이상의 hop를 통해 요망/목표 DIMM에 전파된다.
"데이지-체인 구조(daisy-chanined configuration)"라는 용어는 고속 시리얼 버스 구조를 의미하는 것으로서, 일방향 신호 전송 링크를 이용하여 다수의 전자 소자(가령, 도 2의 메모리 모듈(34, 40, 44))들을 그 컨트롤러(가령, 도 2의 메모리 컨트롤러(33))와 링크하는 시리얼 버스 구조에 해당하며, 이때, 컨트롤러부터의 신호를 운반하는 링크나 단자 세트(다운링크)들이 신호들을 컨트롤러에 운반하는 링크 세트(업링크)와 다르다.
앞서 내용으로부터, 도 2의 데이지-체인 구조(32)에서, 목표 DIMM이나 메모리 컨트롤러(33)에 도달하기 전에 가변적인 크기의 지연이 신호에 나타날 것을 알 수 있다. 예를 들어, DIMM(44)은 특정 지연이 경과한 후 메모리 컨트롤러(33)로부터 송신된 신호를 수신할 수 있고, 이 지연은 신호가 DIMM(44)에 도달할 수 있기 전에 필요한 N-1회의 hop에 의해 소모된 시간을 포함할 것이다. 다른 한편, DIMM(40)의 경우에, DIMM(40)에 도달하기 위해 단일 hop를 마치는 데 소요된 시간만큼만 신호가 지연될 수 있다. DIMM에 의해 발생된 응답의 경우에, 이 응답이 메모리 컨트롤러(33)에 도달하는 데 나타나는 지연은, 메모리 채널의 "깊이(depth)"에 따라 변한다. 예를 들어, DIMM 0(34)에 의해 발생된 응답은, 'hop'없이 메모리 컨트롤러에 도달할 수 있고, DIMM(44)로부터의 응답응답은 메모리 컨트롤러(33)에 도달하기 전에 N-1회의 hop를 거칠 필요가 있다. 따라서, 지연의 크기는 메모리 컨트롤러(33)에 대한 메모리 모듈(34, 40, 4)의 물리적 근접성에 따라 선형으로 변화 할 수 있다. 즉, 메모리 모듈이 멀리 위치할수록, 지연이 커진다. 또한, 메모리 채널 내 메모리 모듈의 총 수에 따라 지연의 크기가 선형으로 변화할 수 있다. 즉, 데이지-체인 구조로 컨트롤러(33)에 시리얼 방식으로 연결된 메모리 모듈들의 수가 많을수록, 가장 먼 모듈들에 대한 지연이 커진다.
도 2의 데이지-체인 구조(32)에서, 메모리 컨트롤러(33)로부터의 명령이 hop로 인한 내재적 명령 전파 지연으로 인해, 서로 다른 DIMM에 의해 서로 다른 시간으로 처리될 수 있다. 마찬가지로, 여러 다른 DIMM으로부터의 응답들은 컨트롤러(33)에 서로 다른 시간에 도달할 수 있다. 이 역시 hop로 인한 지연 때문이다. 도 2의 실시예에서, 명령 지연이나 명령 전파 지연(즉, 메모리 컨트롤러(33)로부터의 명령이나 신호가 가장 먼 DIMM(44)에 도달하는 데 나타나는 총 지연)은 응답 지연이나 응답 전파 지연(즉, 가장 먼 DIMM(44)로부터의 응답이 메모리 컨트롤러(33)에 도달하는 데 나타나는 총 지연)과 함께 고려되어야 한다. 이에 따라, 시스템(32) 내 임의의 DIMM으로부터의 응답이 메모리 컨트롤러(33)에 동시에 도달함을 보장할 수 있다. 이 효과를 "지연 레벨화(delay levelization)"라 부른다. 즉, 메모리 컨트롤러(33)가 시스템(32) 내 다양한 DIMM으로부터 응답을 수신하기 위해 가변적인 시간동안 대기할 필요가 없다. 대신에, 메모리 컨트롤러(33)가 시스템(32) 내 임의의 DIMM으로부터의 응답을 기대함에 있어 기다리는 데 요구되는 시간은 고정된 지정 시간 지연이다. 따라서, 메모리 컨트롤러 측면에서는, 명령을 전송하고 응답을 수신함에 있어 고정된 단일 지연만이 존재하며, 이는 메모리 컨트롤러(33)에 대한 DIMM의 물리적 근접성이나 메모리 채널의 깊이와 관계가 없다. 이러한 양 태는 도 1의 패럴렐 버스 구조의 대기시간과 원칙적으로 유사하다. 상술한 바와 같이, 도 1의 경우에, 가장 느린 DIMM의 지연은 명령과, 시스템(10) 내 DIMM으로부터의 응답 수신 간에 컨트롤러(11)에 나타나는 대기시간을 지배할 수 있다. 도 2의 데이지-체인 구조(32)의 경우, 컨트롤러(33)가 각각의 DIMM에 대해 케이스별로 대기기산을 결정할 필요가 없다면 바람직할 것이다. 대신에, 지연이 레벨화되어, 컨트롤러(33)가 DIMM(34, 40, 44)로부터의 응답을 동시에 수신(또는 기대)할 수 있다.
도 3은 도 2의 데이지-체인 메모리 채널의 지연 레벨화를 구현하기 위한 공지 기술의 방법을 제시한다. 도 3에서, 지연 레벨화를 구현하기 위한 구조적 세부사항은 도 2의 시스템(32) 내 DIMM들 중 한개(즉, DIMM 1(40))만에 대해 도시하고 있다. 그러나, 시스템(32) 내 각각의 DIMM(34, 40, 44)에 유사한 구조가 존재할 수 있다는 점은 명백하다. 도 3의 DIMM(40)은 DIMM-전용 응답 지연 유닛(52)을 포함하는 것으로 도시되며, 이 유닛(52)은 프로그래머블 지연을 저장할 수 있다. 지연 유닛(52)에 프로그래밍될 지연의 크기는 주로 세개의 인자에 따라 변한다. 즉, 1) 메모리 컨트롤러(33)에 대한 DIMM(40)의 물리적 근접도와, 2) 데이지-체인 구조(32) 내 DIMM들의 총 수, 그리고 3) 시스템 내 가장 먼 DIMM까지의 명령 전파 지연과, 가장 먼 DIMM으로부터 메모리 컨트롤러(33)까지의 응답 전파 지연에 따라 변하는 것이다. 예를 들어, 설명을 위해, 도 2의 시스템(32)에 세개의 DIMM(34, 40, 44)만이 존재한다고 가정해보자. 또한, 시스템(32) 내 각각의 DIMM(아래 설명되는 바와 같이 가장 먼 DIMM(44)은 제외)에서 명령 및 응답 전파들 각각에 대해 hop에 관련 된 지연이 한 클럭 사이클로 존재한다고 가정해보자. 즉, 다운링크 채널을 통해 명령 신호를 다음 다운스트림 DIMM으로 전파시키는 데 1 클럭 사이클의 지연이 소요된다고 가정하고, 업링크 채널을 통해 다음 업스트림 DIMM으로 응답 신호를 전파시키는 데도 1 클럭 사이클의 지연이 소요된다고 가정한다. 즉, 업링크 및 다운링크 채널에서 대칭형 지연이 나타나는 것이다. 이 경우에, DRAM 메모리 뱅크(42)에 의한 (명령 처리 및 응답 발생에 소요되는) 매우 작은 신호 처리 지연은 무시할 때, 도 3의 지연 유닛(52)은 메모리 컨트롤러(33)로부터의 명령에 대해 메모리 뱅크(42)의 메모리 칩에 의해 발생되는 응답의 전송을 적절히 지연하도록 프로그래밍될 수 있다.
본 예에서, 지연 유닛(52)에서 프로그래밍될 지연의 크기는 [T*(N-1)/P] 클럭 사이클과 같고, 이때, T는 DIMM(가장 먼 DIMM(44) 제외)에서 hop에 관련된 총 클럭 사이클 지연이다. 이때, 다음 다운스트림 DIMM에 명령을 전파시키고 데이지 체인의 다음 업스트림 DIMM에 응답을 전파시키는 데 소요되는 지연이 포함된다(본 예에서 T=2다). N은 시스템 내 DIMM의 총 숫자이며(본 예에서 N = 3), P는 메모리컨트롤러(33)에 대한 DIMM의 물리적 근접도이다. 가령, 가장 가까운 DIMM(34)의 경우 P=1, 제2 다운스트림 DIMM(40)의 경우 P=2, 등등이다. 따라서, DIMM 1(40)의 경우에, 유닛(52)에서 프로그래밍될 지연의 값은 2 클럭 사이클과 같고, DIMM 0(34)의 대응하는 지연 유닛(도시되지 않음)에 저장될 지연의 크기는 4 클럭 사이클이다. 가정 먼 DIMM(즉, 도 2의 DIMM(44))의 경우, 프로그래밍가능한 지연의 값은 0일 수 있다. 왜냐하면, 가장 먼 DIMM의 경우 T=0이기 때문이다.
도 2 및 도 3을 참조하여 설명한 레벨화에 따르면, 메모리 컨트롤러(33)가 데이지-체인 구조의 임의의 메모리 모듈로부터 응답을 동시에 수신할 수 있다. 데이지-체인 구조에서 가장 먼 DIMM 내외로의 명령 및 응답 신호 전파에 소요되는 시간을 보상하기 위해 시스템(32) 내 각 DIMM에서 적절한 지연을 이용함으로서, 메모리 컨트롤러(33)는 컨트롤러(33)에 대한 DIMM의 물리적 근접도에 관계없이, 각 DIMM으로부터 응답을 동시에 수신한다. 즉, 컨트롤러(33)는 다운링크 채널을 통한 컨트롤러(33)로부터의 명령의 전송으로부터 고정 지연이 경과한 후 응답을 기대 및 수신한다. 이는 명령이 단일 DIMM에 전송되던지 또는 시스템 내 모든 DIMM에 송출되는 지 여부에 관계가 없다. 예를 들어, 명령이 시간 't'에 전송될 경우, 앞서의 예에서, 명령이 DIMM 0(34)에 또는 DIMM N-1(44)에 전송되는 지 여부에 관계없이, 메모리 컨트롤러(33)는 시간 't'로부터 4 클럭 사이클 이후에 응답을 수신한다.
도 3의 실시예와 관련하여, DIMM(40) 내에서 신호가 어떻게 전파되는 지를 설명하기 위해 도 3에서는 점선들이 도시되고 있다. 따라서, 예를 들어, DL_In 단자(48B)에 나타나는 명령 신호는 DL_Out 단자(48C)에 직접 전파되어 다음 다운스트림 DIMM에 전송될 것이다. 이 명령 신호는 처리(가령, 메모리 셀에 데이터 기입)를 위해 DRAM 메모리 뱅크(42)에 다시 전달된다. 다른 한편, 인접(업스트림) DIMM으로부터 UL_In 단자(50C)에 나타나는 응답 신호는 UL_Out 단자(50B)에 직접 전파될 것이다. DIMM(40)은 UL_In 단자(50C)에서 수신한 신호와 함께 그 고유 응답(상술한 바와 같이 지연 유닛(52)을 통해 적절하게 지연된 값)을 더할 수 있어서, 그 응답을 이전의 DIMM의 응답과 함께 업링크 채널의 다음 DIMM에 전송할 수 있다.
DIMM으로부터 메모리 컨트롤러로의 응답 전달을 스트림라인화하고 정규화함에도 불구하고, 도 3의 실시예에서는 메모리 컨트롤러(33)가 특정 DIMM에 의한 명령 실행 시기를 예측할 수 없다. 일부 DRAM 동작같은 경우에, 메모리 컨트롤러(33)가 DIMM에 의한 명령 실행을 예측할 수 있다면 바람직할 것이다. 그래서, 컨트롤러(33)가 용이하고 확실하게 메모리 시스템 전력 소모(또는 전력 프로파일)을 제어할 수 있다면 바람직할 것이다. 예를 들어, 일부 DRAM 동작, 가령, 리프레시 명령은 다량의 전력을 소모할 수 있다. 도 3의 실시예에서, 메모리 컨트롤러(33)가 DIMM-전용 리프레시 명령을 시간에 따라 분산시켜서 너무 많은 시스템 전력의 인출을 감소시키려 시도할 수 있다. 즉, 두개 이상의 DIMM이 동시에 해당 리프레시 명령을 실행할 때 전력 소모의 급격한 변화를 방지하려 시도할 수 있다. 따라서, 세개의 DIMM만이 존재하는 경우에, 메모리 컨트롤러(33)는 제 1 클럭 사이클에서 가장 먼 DIMM(44)에 리프레시 명령을 전송하고, 그후, 제 2 클럭 사이클에서 중간 DIMM(40)에 제 2 리프레시 명령을 전송할 수 있고, 그후, 제 3 클럭 사이클에서 가장 가까운 DIMM(34)에 제 3 리프레시 명령을 전송할 수 있다. 그러나, 리프레시 명령을 이와같이 분산시킴에도 불구하고, DIMM(40, 44)들이 리프레시 명령의 실행을 동시에 종료시킬 수 있다. 이는 바람직하지 않을 수 있다. 또는, 이러한 리프레시 명령의 동시적 처리가 허용된다고 할지라도, 명령이 언제 수신 DIMM에 의해 처리될 것인지를 메모리 컨트롤러가 아는 것이 바람직하다.
따라서, DIMM으로부터 응답의 수신 시간을 예측함에 추가하여, DIMM에 의해 전송된 명령이 수신 DIMM에 의해 언제 실행될 지를 메모리 컨트롤러가 효과적으로 예측할 수 있는 시스템이 요망된다. 명령 실행 시간을 예측하는 이러한 기능으로, 메모리 컨트롤러는 데이지-체인 메모리 채널에서의 모든 DRAM 장치들의 전력 프로파일을 효과적으로 제어할 수 있다.
본 발명의 일실시예에서는
- 데이지-체인 구조로 다수의 메모리 모듈들을 링크하는 단계로서, 이때, 각각의 메모리 모듈은 대응하는 다수의 메모리 요소들을 포함하는 특징의 단계,
- 상기 다수의 메모리 모듈 중 한개의 모듈에서 명령을 수신하는 단계,
- 상기 명령을 상기 데이지-체인 구조의 한개 이상의 메모리 모듈에 전파시키는 단계, 그리고
- 각각의 제 1 지정 지연이 경과할 때까지, 수신한 상기 명령을 대응하는 한개 이상의 메모리 요소에 전송하는 것을 지연시키도록 상기 다수의 메모리 모듈 중 한개 이상의 모듈을 구성하는 단계
를 포함하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 일실시예에서는,
- 데이지-체인 구조로 다수의 전자 장치들을 링크하는 단계,
- 상기 다수의 전자 장치들 중 제 1 전자 장치에서 명령을 수신하는 단계,
- 상기 데이지-체인 구조의 나머지 전자 장치들에게 상기 명령을 전파시키는 단계, 그리고
- 각각의 제 1 지정 지연이 경과할 때까지, 응답 발생을 위한 상기 명령의 실행을 지연시키도록 각각의 전자 장치를 구성하는 단계
를 포함하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 일실시예에서는,
메모리 컨트롤러와 다수의 메모리 모듈들의 조합 장치에 있어서,
상기 메모리 컨트롤러는 명령을 발생 및 송신시키도록 구성되고,
상기 다수의 메모리 모듈들은 시리얼 구조로 서로 연결되며,
상기 다수의 메모리 모듈들 중 단 한개의 모듈만이 상기 메모리 컨트롤러에 연결되고, 각각의 메모리 모듈은 대응하는 다수의 메모리 요소들을 포함하며,
상기 메모리 컨트롤러에 연결된 상기 한개의 모듈은 상기 메모리 컨트롤러로부터 상기 명령을 수신하도록 구성되고, 상기 시리얼 구조의 다른 메모리 모듈들에게 상기 명령을 전파시키도록 구성되며,
상기 다수의 메모리 모듈들 중 한개 이상의 모듈은 각각의 제 1 지정 지연(delay)이 경과할 때까지, 수신한 상기 명령을 한개 이상의 메모리 요소에 전송하는 것을 지연시키도록 구성되는 것을 특징으로 하는 조합 장치가 개시된다.
본 발명의 일실시예에서는,
프로세서, 버스, 컨트롤러, 그리고 다수의 전자 장치들을 포함하는 시스템에 있어서,
상기 컨트롤러는 상기 버스를 통해 상기 프로세서에 연결되고, 상기 컨트롤러는 명령을 발생 및 송신하도록 구성되며,
상기 다수의 전자 장치들은 데이지-체인 구조로 서로 연결되며, 상기 다수의 전자 장치들 중 한개의 전자 장치만이 상기 컨트롤러에 연결되고, 각각의 전자 장치는 상기 데이지-체인 구조를 위한 신호 전송 메커니즘을 이용하여 상기 컨트롤러와 통신하며,
상기 컨트롤러에 연결된 상기 한개의 전자 장치는, 상기 컨트롤러로부터 상기 명령을 수신하도록 구성되고, 또한, 상기 데이지-체인 구조의 다른 전자 장치들에게 상기 명령을 전파시키도록 구성되며,
각각의 전자 장치는 각각의 제 1 지정 지연이 경과할 때까지 응답 발생을 위한 상기 명령의 실행을 지연시키도록 구성되는 것을 특징으로 하는 시스템이 개시된다.
본 발명은 데이지-체인 메모리 구조를 위한 방법을 개시하며, 이때, 메모리 모듈(DIMM)로부터의 응답 수신 시기의 예측에 부가하여, 메모리 컨트롤러는 수신 DIMM에 의해 명령이 실행될 시기를 효과적으로 예측할 수 있다. DIMM의 명령 지연 유닛에 DIMM-전용 명령 지연을 프로그래밍함으로서, 본 발명에 따른 명령 지연 조절 방법은 메모리 채널 내 모든 DIMM 사이에서 명령 신호의 실행을 정규화 또는 동기화시킬 수 있다. 명령 실행 시기를 예측하는 이러한 기능으로, 메모리 컨트롤러는 데이지-체인 메모리 채널에서 모든 DRAM 장치들의 전력 프로파일을 효과적으로 제어할 수 있다. DIMM에서 별도의 DIMM-전용 응답 지연 유닛이 또한 프로그래밍될 수 있어서, 응답 경로에서 DIMM-전용 지연 보상을 제공할 수 있고, 따라서, 먼저 전송된 명령에 따른 응답의 수신 시기를 메모리 컨트롤러가 정확하게 확신할 수 있고, 응답의 추가적 처리를 더 우수하게 관리 및 계획할 수 있다.
도 1은 패럴렐 메모리 버스를 통한 메모리 컨트롤러와 다수의 메모리 장치(DIMM) 간의 신호 통신을 도시하는 공지 기술의 구조 도면.
도 2는 데이지-체인 구조로 메모리 컨트롤러에 연결되는 메모리 모듈(DIMM)들을 포함하는 대안의 구조의 도면.
도 3은 도 2의 데이지-체인 메모리 채널에서 지연 레벨화를 구현하기 위한 공지 기술의 방법을 설명하는 도면.
도 4는 본 발명의 일실시예에 따른 명령 지연 조절 방법의 도면.
도 5는 본 발명에 따른 명령 지연 조절 방법을 사용할 수 있는 시스템의 블록도표.
도 4는 본 발명의 일실시예에 따른 명령 지연 조절 방법을 도시한다. 설명을 돕기 위해, DIMM-전용 프로그래머블 명령 지연 유닛(56)을 지닌 단 한개의 메모리 모듈(DIMM)(54)만이 도시된다. DIMM(54)은 도 3의 DIMM(40)의 수정 버전일 수 있으며, 따라서 DIMM 1으로 표시된다. DIMM 커넥터(54)에서의 업링크 및 다운링크 단자들은 도 2와 도 3에서와 같은 도면부호로 표시된다. DRAM 메모리 뱅크(42) 역시 마찬가지다. 도 4의 DIMM 1(54)은 도 2에 도시된 것과 유사한 데이지-체인 구조에 사용될 수 있다. 이 경우에, 도 2에 도시된 모든 DIMM(34, 40, 44)들이 도 4의 DIMM(54)에 대해 도시된 것과 유사한 구조를 가진 해당 DIMM으로 대체될 수 있다. 이에 따라, 도 2의 데이지-체인 구조에 본 발명에 따른 명령 지연 조절 방법을 구현할 수 있다. 도 4의 실시예에서 명령 지연 및 응답 지연 값들이 연산되는 방식이 서로 다르기 때문에, 도 4에 도시되는 프로그래머블 응답 지연 유닛(58)은 도 3의 지연 유닛(52)과 다른 참조 번호로 표시된다.
도 2의 실시예에서의 명령 전파 지연 및 응답 전파 지연의 총 합은 도 2의 각 DIMM의 구조가 도 3이나 도 4의 구조에 해당하는 지에 상관없이 동일하게 유지된다. 도 3 및 도 4의 실시예들 간의 차이는 총 신호 전파 지연이 도 3의 실시예에서는 단일 응답 경로 지연 보상을 통해 설명되지만, 도 4의 실시예에서는 총 지연이 대응하는 명령 전파 지연과 응답 전파 지연으로 나누어지며, 각각의 이러한 지연 성분이 개별적으로 보상된다.
상술한 바와 같이, 도 4의 실시예에서, 다운링크 채널을 통해 메모리 컨트롤러로부터 데이지 체인의 가장 먼 DIMM까지 명령을 전파하는 데 소요되는 일방향 명령 전파 지연은, 시스템 내 가장 먼 DIMM으로부터 메모리 컨트롤러로의 응답을 전파시키는 데 소요되는 일방향 응답 전파 지연과는 다른 것으로 간주된다. 따라서, 앞서와 같이, 시스템(32) 내 각각의 DIMM에서의 명령 및 응답 전파에 대해 1 클럭 사이클의 hop-관련 지연을 가진 세개의 DIMM으로 구성되는 데이지 체인 구조를 가정할 때, 그리고 각 DIMM에서 DRAM 메모리뱅크에 의해 발생되는 매우 작은 신호 처리 지연을 무시한다고 가정할 때, 'hop'-관련 명령 전파 지연은 2 클럭 사이클과 같고, 응답 전파 지연은 2 사이클과 같다. 이 경우에, 도 4의 실시예에서, DIMM 명령 지연 유닛에 프로그래밍될 DIMM-전용 명령 지연의 값은, [C*(N-1)/P]와 같고, 이때, C는 명령을 다음 다운스트림 DIMM에 전파시킴에 있어 한개의 DIMM에서 'hop'-관련 총 클럭 사이클 지연을 의미하며, 매개변수 N과 P는 상술한 바와 같다. 마찬가지로 도 4의 실시예에서, DIMM의 응답 지연 유닛에 프로그래밍될 DIMM-전용 응답 지연의 값은, [R*(N-1)/P]와 같다. 이때, R은 응답을 다음 업스트림 DIMM으로 전파시킴에 있어 한개의 DIMM에서 총 hop-관련 클럭 사이클 지연이고, 매개변수 N과 P는 상술한 바와 같다. 일실시예에서, C+R=T이며, 이때, 매개변수 T는 앞서 정의한 바와 같다.
이 공식들을 이용하면, 3개 DIMM으로 구성되는 데이지-체인의 경우에(N=3), 명령 전파 지연 = C*(N-1) = 2 클럭 사이클이고, 이때, C= 1 클럭 사이클이다. 도한 이러한 구조에서 응답 전파 지연은 R*(N-1) = 2 클럭 사이클이고, 이때, R = 1 클럭 사이클이다. 이 값들을 이용할 때, 3-DIMM 데이지 체인에서 중간 DIMM(가령, DIMM(54)) 역시, 지연 유닛(58)에 프로그래밍된 1클럭 사이클의 DIMM-전용 응답 지연을 가질 것이다. 왜냐하면 [R*(N-1)/P] = 1이기 때문이다. 다른 한편, 메모리 컨트롤러에 가장 가까운 DIMM은 그 명령 지연 유닛 내로 프로그래밍된 2 클럭 사이클의 DIMM-전용 명령 지연을 가질 것이며, 그 응답 지연 유닛 내로 프로그래밍된 2 클럭 사이클의 응답 지연을 가질 것이다. 앞서와 같이, 메모리 컨트롤러로부터 가장 먼 DIMM은 그 명령 및 응답 지연 유닛에 0 클럭 사이클의 지연을 가질 것이다. 왜햐나면 가장 먼 DIMM의 경우 C=0 이고 R=0 이기 때문이다.
서로 다른 지연 값이 저장된 경우를 제외하고, 응답 지연 유닛(가령, 유닛(58))의 기능은, 도 3의 지연 유닛(52)을 참고하여 앞서 설명한 바와 동일하게 나타난다. 그러나, 본 발명에 따른 명령 지연 유닛(가령, 도 4의 지연 유닛(56))은 DIMM의 명령 지연 유닛(56)에 프로그래밍된 지연이 경과할 때까지 수신 DIMM(가령, DIMM(54))에 의한 명령 실행이나 처리를 지연시키는 기능을 한다. 이때, "실행(execution)"이나 "처리(processing)"는 DIMM의 DRAM 메모리 뱅크(가령, 메모리 뱅크(42))에 의한 명령의 실행이나 처리를 의미한다. 일실시예에서, 이 용어들은 해당 응답의 발생까지도 포함할 수 있다. 따라서, 본 발명의 일실시예에 따르면, DIMM 커넥터(54)의 DL_In 단자(48B)에서 수신한 명령 신호가 다운링크 채널의 다음 DIMM에 (DL_Out 단자(48C)를 통해) 전달될 뿐 아니라, DRAM 메모리 뱅크(42)와 처리/실행을 위한 관련 회로에 명령을 제시하거나 전송하기 전에 명령 지연 유닛(56)에 의해 지연되기까지 한다. 유닛(56)에서 프로그래밍된 지연이 경과하면, DRAM 메모리 뱅크 및 그 관련 신호 처리 회로(도시되지 않음)는 명령이 실행을 위해 DIMM(54)에게로 어드레싱되는 지 여부를 결정할 수 있고, 만약 어드레싱된다면, 메모리 컨트롤러에 의해 지시받은 대로 명령을 실행하고 응답을 발생시킬 수 있다. 이 응답은 그후 UL_Out 단자(50B)를 통해 업링크 채널에서(최종적으로는 메모리 컨트롤러에) 응답을 발생시키기 전에 적절한 지연 크기만큼 지연되도록 응답 지연 유닛(58)에 공급된다.
앞서 내용으로부터 살펴보면, DIMM의 명령 지연 유닛(가령, 도 4의 유닛(56))에서 DIMM-전용 명령 지연을 프로그래밍함으로서, 본 발명에 따른 명령 지연 조절 방법은 메모리 채널 내 모든 DIMM들 사이에서 명령 신호의 실행을 "정규화(normalizing)" 또는 "동기화(synchronizing)"시킨다. 더우기, 데이지-체인 시스템의 메모리 컨트롤러(가령, 도 2의 컨트롤러(33))는 명령 전파 지연의 값(즉, 컨트롤러로부터의 명령 신호가 가장 먼 DIMM에 도달하는 데 걸리는 총 지연)을 저장할 수 있도록 적응성으로 구성되어, 수신 DIMM에 의해 해당 명령이 처리될 시기를 예측할 수 있다. 예를 들어, 앞서 논의한 클럭 지연 값들의 경우에, 명령 전파 지연이 2 클럭 사이클이다. 이는 세개로 구성된 DIMM들의 메모리 채널에서 가장 먼 DIMM까지 두번의 hop가 필요하다는 것을 의미한다. 따라서, 이러한 시스템의 메모리 컨트롤러에서는, 컨트롤러가 컨트롤러에 가장 가까운 DIMM에 명령을 전송할 때, 각각의 수신 DIMM이 시간 t 로부터 2 클럭 사이클 이후에 명령을 실행할 것을 기대할 수 있다. 따라서, 명령 신호가 송출 신호가 아니라, 그 대신 메모리 채널 내 특정 DIMM에게로 어드레싱되는 신호일 경우에도, DIMM의 해당 명령 지연 유닛에 프로그래밍된 지정 지연이 명령 실행을 정규화하여, 명령이 수신 DIMM에 의해 실행될 시기를 메모리 컨트롤러가 효과적으로 예측할 수 있다.
본 발명에 따른 지연 정규화 방법은 응답 경로에만 지연 보상을 구현하는 것이 아니라, 명령 경로에도 지연 보상을 행한다. 명령 경로의 지연 보상 때문에, 데이지-체인 구조의 메모리 컨트롤러는 명령 신호가 수신 DIMM에 의해 실행되거나 처리될 시기를 예측하도록 구성될 수 있다. 이 기능에 의해 메모리 컨트롤러는 시스템의 전력 소모나 전력 프로파일을 효과적으로 조절할 수 있도록, 본 시스템 내 한개 이상의 DIMM에 리소스-집약 명령 신호들(가령, 메모리 모듈에 의한 실질적 전력 소모를 필요로하는 리프레시 명령 신호)의 전송을 효율적인 시간에 행할 수 있다. 따라서, 시스템 내 과부하나 급격한 전력 변동을 방지할 수 있다. 메모리 채널 전력 프로파일의 관리 제어를 통해, 데이지-체인 구조의 업링크 및 다운링크 채널들을 옮겨다니는 신호들의 일체성을 개선시킬 수 있다. 더우기, 응답 경로에서의 지연 보상은 지연 레벨화를 야기하며, 이에 따라, 메모리 컨트롤러가 먼저 전달된 명령에 대한 응답의 수신 타이밍을 정확하게 확정할 수 있고, 따라서, 응답의 추가적인 처리를 효율적으로 관리할 수 있다.
도 5는 본 발명에 따른 명령 지연 조절 방법을 사용할 수 있는 시스템(100)의 블록도표이다. 시스템(100)은 특정 연산이나 데이터 처리 작업을 수행하기 위해 특정 소프트웨어를 실행하는 등의, 다양한 연산 기능을 수행하기 위해 프로세서(104)를 포함하는 데이터 처리 유닛이나 연산 유닛(102)을 포함할 수 있다. 연산 유닛(102)은 메모리 컨트롤러(110)를 통해 프로세서(104)와 통신하는 한 세트의 데이지-체인 메모리 장치나 메모리 모듈(106)들을 포함할 수 있다. 메모리 컨트롤러(110)는 다운링크(107) 및 업링크(108)를 통해 데이지-체인 메모리 장치(106) 중 하나에 연결될 수 있다. 다른 메모리 장치들도, 도 2의 구조(32)에서 설명한 바와 유사한 방식으로 업링크 및 다운링크를 통해 메모리 컨트롤러(110)에 직접 연결되는 이러한 메모리 장치(도시되지 않음)에 연결될 수 있다. 설명을 돕기 위해, 다운링크(107)와 업링크(108)는 "메모리 컨트롤러 버스"라 불린다. 메모리 컨트롤러 버스는 앞서 언급한 바와 같이 어드레스, 데이터, 또는 제어 신호들을 운반할 수 있다. 각각의 메모리 장치(106)는 도 4의 일례의 DIMM(54)에 대해 설명된 구조를 가질 수 있다. 즉, 각각의 메모리 장치(106)는 앞서 언급한 바와 같은 명령 경로 및 응답 경로 지연 보상을 제공하기 위해 장치-전용 프로그래머블 명령 및 응답 지연 유닛들을 포함할 수 있다. 더우기, 각각의 메모리 장치(106)는 다수의 DRAM 칩을 지닌 메모리 모듈(DIMM)일 수 있고, SRAM 칩이나 플래시 메모리같은 또다른 종류의 메모리 회로일 수도 있다. 더우기, DRAM은 SGRAM, SDRAM, SDRAM II, 또는 DDR SDRAM, Synchlink 또는 Rambus DRAM 등등으로 불리는 동기식 DRAM들일 수도 있다. 당 분야의 통상의 지식을 가진 자라면, 도 5의 메모리 장치(106)가 메모리 장치의 일실시예를 설명하는 것에 지나지 않으며, 메모리 장치의 전형적인 메모리 모듈(DIMM)의 모든 특징들을 상세하게 설명하려 한 것은 아님을 이해할 수 있을 것이다. 프로세서(104)는 메모리 장치(106) 내에 저장된 정보 및 데이터를 바탕으로 다수의 기능들을 수행할 수 있다. 프로세서(104)는 마이크로프로세서, 디지털 신호 프로세서, 임베디드 프로세서, 마이크로컨트롤러, 전용 메모리 테스트 칩, 등일 수 있다.
메모리 컨트롤러(110)는 프로세서(104)로부터 버스(112)(패럴렐 버스일 수도 있고 시리얼 버스일 수도 있음)를 통해 수신한 제어 신호들에 따라 메모리 장치(106) 내외로의 데이터 통신을 제어한다. 메모리 컨트롤러(110)는 명령 디코드 회로(도시되지 않음)를 포함할 수 있다. 명령 디코드 회로는 버스(112)를 통해 입력 제어 신호를 수신할 수 있어서, 메모리 장치(106)들 중 한개 이상에 대한 동작 모드들을 결정할 수 있다. 버스(112)(그리고 메모리 컨트롤러 버스(108))에서의 입력 신호나 제어 신호의 몇가지 예로는, 외부 클럭 신호, Chip Select 신호, Row Access Strobe 신호, Column Access Strobe 신호, Write Enabel 신호, 메모리 Refresh 신호 등이 있다.
시스템(100)은 연산 유닛(102)에 연결되는 한개 이상의 입력 장치(114)(가 령, 키보드, 마우스, 등)을 포함할 수 있어서, 사용자로 하여금 연산 유닛(102) 조작을 위한 데이터, 명령, 등을 수동으로 입력하게 할 수 있다. 연산 유닛(102)에 연결된 한개 이상의 출력 장치(116)가 시스템(100)의 일부분으로 제공되어, 프로세서(104)에 의해 발생된 데이터를 디스플레이하거나 출력할 수 있다. 출력 장치(116)의 예로는 프린터, 비디오 단말기, 또는 비디오 디스플레이 유닛, 등이 있다. 일실시예에서, 시스템(100)은 데이터 처리 유닛(102)에 연결된 한개 이상의 데이터 기억 장치(118)를 또한 포함하여, 프로세서(104)로 하여금 내부 또는 외부 기억 매체 내외로 데이터를 저장/인출할 수 있게 한다. 전형적인 데이터 기억 장치(118)의 예로는 하드 및 플라피 디스크, CD-ROM, 테이프 카세트 등이 있다.
본 발명의 일실시예에 따른 개별적인 명령 및 응답 지연 보상 방법은 데이지-체인 메모리 모듈에만 사용될 수 있는 것이 아니라, 전자 장치 중 한개 이상으로부터의 응답들의 전달 시기와 전자 장치 중 한개 이상에서 명령 실행의 시기를 에측할 필요성이 있는 공통 컨트롤러에 의해 제어될 경우, 도 2에 도시된 바와 유사한 방식으로 연결되는 다른 데이지-체인 전자 장치들에도 사용될 수 있다.
앞에서는 데이지-체인 메모리 구조에 대한 방법을 설명하였다. 이때, 메모리 모듈(DIMM)으로부터의 응답 수신 시기의 예측에 부가하여, 메모리 컨트롤러는 수신 DIMM에 의해 명령이 실행될 시기를 효과적으로 예측할 수 있다. DIMM의 명령 지연 유닛에 DIMM-전용 명령 지연을 프로그래밍함으로서, 본 발명에 따른 명령 지연 조절 방법은 메모리 채널 내 모든 DIMM 사이에서 명령 신호의 실행을 정규화 또는 동기화시킬 수 있다. 명령 실행 시기를 예측하는 이러한 기능으로, 메모리 컨트롤러는 데이지-체인 메모리 채널에서 모든 DRAM 장치들의 전력 프로파일을 효과적으로 제어할 수 있다. DIMM에서 별도의 DIMM-전용 응답 지연 유닛이 또한 프로그래밍될 수 있어서, 응답 경로에서 DIMM-전용 지연 보상을 제공할 수 있고, 따라서, 먼저 전송된 명령에 따른 응답의 수신 시기를 메모리 컨트롤러가 정확하게 확신할 수 있고, 응답의 추가적 처리를 더 우수하게 관리 및 계획할 수 있다.

Claims (29)

  1. 데이지-체인 구조로 링크된 다수의 메모리 모듈들을 동작시키는 메모리 모듈 동작 방법에 있어서, 상기 다수의 메모리 모듈들 각각은 대응하는 다수의 메모리 요소들을 포함하고, 상기 메모리 모듈 동작 방법은,
    - 상기 데이지-체인 구조의 상기 다수의 메모리 모듈들 전체로 명령을 전파시키는 단계,
    - 상기 데이지-체인 구조의 상기 다수의 메모리 모듈들 각각이 상기 명령을 수신하는 단계, 그리고
    - 상기 데이지-체인 구조의 상기 다수의 메모리 모듈들 전체에 대해 상기 명령의 수행을 정규화하도록, 각각의 제 1 지정 지연이 경과할 때까지, 하나 이상의 메모리 모듈에서, 메모리 모듈에 포함된 하나 이상의 메모리 요소에 의해 상기 명령의 실행이 시작되는 것을 지연하는 단계
    를 포함하는 것을 특징으로 하는 메모리 모듈 동작 방법.
  2. 삭제
  3. 삭제
  4. - 데이지-체인 구조로 링크된 다수의 메모리 모듈들을 구성하는 메모리 모듈 구성 방법에 있어서, 상기 다수의 메모리 모듈들 각각은 대응하는 다수의 메모리 요소들을 포함하고, 메모리 컨트롤러가 상기 다수의 메모리 모듈 중 하나에만 연결되며, 상기 메모리 모듈 구성 방법은,
    - 상기 메모리 컨트롤러에 대한 상기 다수의 메모리 모듈들 중 상기 한개 이상의 메모리 모듈의 물리적 근접도를 결정하는 단계,
    - 상기 메모리 컨트롤러로부터, 상기 데이지-체인 구조로 상기 명령을 마지막으로 수신한 상기 다수의 메모리 모듈들 중 한개의 모듈에 명령을 전파시킴에 있어 명령 지연 시간을 결정하는 단계,
    - 상기 물리적 근접도, 상기 명령 지연 시간, 그리고 상기 다수의 메모리 모듈들의 총 숫자에 기초하여 각각의 제 1 지정 지연을 결정하는 단계, 그리고
    - 상기 메모리 모듈의 상기 한개 이상의 메모리 요소에 수신된 명령을 전송하기 전에, 상기 수신된 명령의 실행을 정규화하기 위해, 상기 수신된 명령에 상기 각각의 제 1 지정 지연을 부여하도록 상기 다수의 메모리 모듈들 중 한개 이상의 모듈을 프로그래밍하는 단계
    를 포함하는 것을 특징으로 하는 메모리 모듈 구성 방법.
  5. 제 1 항에 있어서,
    - 상기 메모리 모듈에 수신된 상기 명령에 대한 응답을 발생하는 단계,
    - 각각의 제 2 지정 지연이 경과할 때까지, 상기 응답의 전송을 지연하는 단계
    를 포함하는 것을 특징으로 하는 메모리 모듈 동작 방법.
  6. 제 4 항에 있어서,
    - 상기 메모리 컨트롤러에 마지막 응답을 전파시키는 데 요구되는 응답 지연 시간을 결정하는 단계로서, 이때, 상기 마지막 응답은 상기 데이지-체인 구조로 상기 명령을 마지막으로 수신하는 상기 다수의 메모리 모듈들 중 한개의 모듈에 의해 발생된 상기 명령에 대한 응답인 것을 특징으로 하는 단계,
    - 상기 물리적 근접도, 상기 응답 지연 시간, 그리고 상기 다수의 메모리 모듈들의 총 숫자에 기초하여 각각의 제 2 지정 지연을 결정하는 단계, 그리고
    - 발생된 응답을 상기 메모리 컨트롤러에 전송하기 전에, 상기 발생된 응답에 상기 각각의 제 2 지정 지연을 부여하도록 상기 다수의 메모리 모듈들 중 상기 한개 이상의 모듈을 프로그래밍하는 단계
    를 포함하는 것을 특징으로 하는 메모리 모듈 구성 방법.
  7. 다수의 전자 장치들 중 하나의 전자 장치에만 연결된 컨트롤러를 가지는, 데이지-체인 구조로 링크된 상기 다수의 전자 장치들을 동작시키는 전자 장치 동작 방법에 있어서, 상기 방법은,
    - 상기 컨트롤러로부터의 명령을 전송하는 단계,
    - 상기 다수의 전자 장치들 중 제 1 전자 장치에서 상기 명령을 수신하는 단계,
    - 상기 데이지-체인 구조의 나머지 전자 장치들에게 상기 명령을 전파시키는 단계, 그리고
    - 상기 데이지-체인 구조의 상기 다수 전자 장치 전체로 상기 명령 실행을 정규화하도록, 각각의 제 1 지정 지연이 경과할 때까지, 대응하는 응답 발생을 위한 상기 명령의 실행이 시작되는 것을 지연하는 단계
    를 포함하는 것을 특징으로 하는 전자 장치 동작 방법.
  8. 제 7 항에 있어서, 상기 각각의 제 1 지정 지연은, 상기 명령을 마지막으로 수신하는 전자 장치에 대해 0인 것을 특징으로 하는 전자 장치 동작 방법.
  9. 삭제
  10. 다수의 전자 장치들 중 하나의 전자 장치에만 연결된 컨트롤러를 가지는, 데이지-체인 구조로 링크된 상기 다수의 전자 장치들을 구성하는 전자 장치 구성 방법에 있어서, 상기 방법은,
    - 상기 컨트롤러에 대해, 상기 다수의 전자 장치들 각각의 물리적 근접도를 결정하는 단계,
    - 상기 컨트롤러로부터, 상기 데이지-체인 구조에서 명령을 마지막으로 수신하는 전자 장치까지 상기 명령을 전파시킴에 있어 명령 지연 시간을 결정하는 단계,
    - 상기 물리적 근접도, 상기 명령 지연 시간, 그리고 상기 다수의 전자 장치들의 총 숫자에 기초하여 상기 다수의 전자 장치 각각에 대해 각각의 제 1 지정 지연을 결정하는 단계, 그리고
    - 상기 데이지-체인 구조의 상기 다수의 전자 장치 전체로 수신된 명령의 실행을 정규화하도록, 상기 각각의 제 1 지정 지연이 결과할 때까지, 상기 수신된 명령의 처리가 시작되는 것을 지연시키기 위해 상기 다수의 전자장치들 각각을 프로그래밍하는 단계
    를 포함하는 것을 특징으로 하는 전자 장치 구성 방법.
  11. 제 7 항에 있어서,
    - 각각의 제 2 지정 지연이 경과할 때까지 상기 컨트롤러로 상기 대응하는 응답의 전송을 지연하는 단계
    를 추가로 포함하는 것을 특징으로 하는 전자 장치 동작 방법.
  12. 제 10 항에 있어서,
    - 상기 데이지-체인 구조에서 상기 명령을 마지막으로 수신하는 전자 장치로부터 상기 컨트롤러로 응답을 전파시키는 데 요구되는 응답 지연 시간을 결정하는 단계,
    - 상기 물리적 근접도, 상기 응답 지연 시간, 그리고 상기 다수의 전자 장치의 총 숫자에 기초하여 상기 다수의 전자 장치 각각에 대해 각각의 제 2 지정 지연을 결정하는 단계, 그리고
    - 상기 컨트롤러에 발생된 응답을 전송하기 전에 상기 발생된 응답에 상기 각각의 제 2 지정 지연을 부여하도록 상기 다수의 전자 장치들 각각을 프로그래밍하는 단계
    를 포함하는 것을 특징으로 하는 전자 장치 구성 방법.
  13. 제 11 항에 있어서, 상기 각각의 제 2 지정 지연은 전파되는 명령을 마지막으로 수신하는 전자 장치의 경우 0인 것을 특징으로 하는 전자 장치 동작 방법.
  14. 메모리 컨트롤러와 다수의 메모리 모듈들의 조합 장치에 있어서,
    상기 메모리 컨트롤러는 명령을 발생 및 송신시키도록 구성되고,
    상기 다수의 메모리 모듈들은 시리얼 구조로 서로 연결되며,
    상기 다수의 메모리 모듈들 중 단 한개의 모듈만이 상기 메모리 컨트롤러에 연결되고, 각각의 메모리 모듈은 대응하는 다수의 메모리 요소들을 포함하며,
    상기 메모리 컨트롤러에 연결된 상기 한개의 모듈은 상기 메모리 컨트롤러로부터 상기 명령을 수신하도록 구성되고, 상기 시리얼 구조의 다른 메모리 모듈들에게 상기 명령을 전파시키도록 구성되며,
    상기 시리얼 구조의 상기 다수의 메모리 모듈 전체로 수신된 명령의 실행을 정규화하기 위해, 각각의 제 1 지정 지연이 경과할 때까지, 메모리 모듈에 포함된 하나 이상의 메모리 요소에 의해 상기 수신된 명령의 실행이 시작되는 것을 지연하도록, 상기 다수의 메모리 모듈들 중 한개 이상의 모듈이 구성되는 것을 특징으로 하는 조합 장치.
  15. 제 14 항에 있어서, 상기 각각의 제 1 지정 지연은,
    a) 상기 메모리 컨트롤러에 대한 상기 다수의 메모리 모듈들 중 상기 한개 이상의 모듈의 물리적 근접도,
    b) 상기 메모리 컨트롤러로부터, 상기 시리얼 구조에서 상기 명령을 마지막으로 수신하는 상기 다수의 메모리 모듈들 중 한개의 모듈까지, 상기 명령을 전파시키는 데 요구되는 명령 지연 시간, 그리고
    c) 상기 다수의 메모리 모듈들의 총 숫자
    에 기초하여 결정되는 것을 특징으로 하는 조합 장치.
  16. 제 14 항에 있어서, 상기 각각의 제 1 지정 지연은 상기 다수의 메모리 모듈들 중 상기 한개 이상의 모듈에 저장되는 것을 특징으로 하는 조합 장치.
  17. 제 14 항에 있어서, 상기 각각의 제 1 지정 지연은, 상기 시리얼 구조에서 전파되는 명령을 마지막으로 수신하는 메모리 모듈의 경우 0인 것을 특징으로 하는 조합 장치.
  18. 제 14 항에 있어서, 상기 다수의 메모리 모듈들 중 상기 한개 이상의 모듈은, 상기 수신된 명령에 대한 응답을 발생시키도록 구성되고, 또한, 각각의 제 2 지정 지연이 경과할 때까지 상기 메모리 컨트롤러로의 상기 응답의 전송을 지연시키도록 구성되는 것을 특징으로 하는 조합 장치.
  19. 제 18 항에 있어서, 상기 각각의 제 2 지정 지연은,
    a) 상기 메모리 컨트롤러에 대한 상기 다수의 메모리 모듈들 중 상기 한개 이상의 모듈의 물리적 근접도,
    b) 상기 시리얼 구조에서 상기 명령을 마지막으로 수신하는 상기 다수의 메모리 모듈들 중 한개의 메모리 모듈로부터 상기 명령에 대한 응답을 상기 메모리 컨트롤러에 전파시키는 데 요구되는 응답 지연 시간, 그리고
    c) 상기 다수의 메모리 모듈들의 총 숫자
    에 기초하여 결정되는 것을 특징으로 하는 조합 장치.
  20. 제 18 항에 있어서, 상기 각각의 제 2 지정 지연은 상기 다수의 메모리 모듈들 중 상기 한개 이상의 모듈에 저장되는 것을 특징으로 하는 조합 장치.
  21. 제 18 항에 있어서, 상기 각각의 제 2 지정 지연은 상기 시리얼 구조에서 명령을 마지막으로 수신하는 메모리 모듈의 경우 0인 것을 특징으로 하는 조합 장치.
  22. 제 14 항에 있어서, 상기 시리얼 구조가 데이지-체인 구조인 것을 특징으로 하는 조합 장치.
  23. 프로세서, 버스, 컨트롤러, 그리고 다수의 전자 장치들을 포함하는 시스템에 있어서,
    상기 컨트롤러는 상기 버스를 통해 상기 프로세서에 연결되고, 상기 컨트롤러는 명령을 발생 및 송신하도록 구성되며,
    상기 다수의 전자 장치들은 데이지-체인 구조로 서로 연결되며, 상기 다수의 전자 장치들 중 한개의 전자 장치만이 상기 컨트롤러에 연결되고, 각각의 전자 장치는 상기 데이지-체인 구조를 위한 신호 전송 메커니즘을 이용하여 상기 컨트롤러와 통신하며,
    상기 컨트롤러에 연결된 상기 한개의 전자 장치는, 상기 컨트롤러로부터 상기 명령을 수신하도록 구성되고, 또한, 상기 데이지-체인 구조의 다른 전자 장치들에게 상기 명령을 전파시키도록 구성되며,
    상기 데이지-체인 구조의 다수의 전자 장치들 전체로 수신된 명령의 실행을 정규화하기 위해, 각각의 제 1 지정 지연이 경과할 때까지, 상기 수신된 명령의 실행이 시작되는 것을 지연시키도록 상기 다수의 전자 장치들 중 하나 이상의 전자 장치가 구성되는 것을 특징으로 하는 시스템.
  24. 제 23 항에 있어서, 상기 하나 이상의 전자 장치에 대한 상기 각각의 제 1 지정 지연은,
    a) 상기 컨트롤러에 대한 상기 하나 이상의 전자 장치의 물리적 근접도,
    b) 상기 메모리 컨트롤러로부터, 상기 데이지-체인 구조에서 상기 명령을 마지막으로 수신하는 전자 장치까지, 상기 명령을 전파시키는 데 요구되는 명령 지연 시간, 그리고
    c) 상기 다수의 전자 장치들의 총 숫자
    에 기초하여 결정되는 것을 특징으로 하는 시스템.
  25. 제 23 항에 있어서, 상기 각각의 제 1 지정 지연은 각각의 전자 장치에 저장되는 것을 특징으로 하는 시스템.
  26. 제 23 항에 있어서, 상기 각각의 제 1 지정 지연은, 상기 명령을 마지막으로 수신하는 전자 장치의 경우 0인 것을 특징으로 하는 시스템.
  27. 제 23 항에 있어서, 상기 하나 이상의 전자 장치는, 각각의 제 2 지정 지연이 경과할 때까지 상기 컨트롤러로 상기 수신된 명령에 대한 응답의 전송을 지연시키도록 구성되고,
    상기 각각의 제 2 지정 지연은,
    a) 상기 컨트롤러에 대한 상기 하나 이상의 전자 장치의 물리적 근접도,
    b) 상기 데이지-체인 구조에서 상기 명령을 마지막으로 수신하는 전자 장치로부터 상기 컨트롤러로 생성된 응답을 전파시키는 데 요구되는 응답 지연 시간,
    c) 상기 다수의 전자 장치들의 총 숫자
    에 기초하여 결정되는 것을 특징으로 하는 시스템.
  28. 제 27 항에 있어서, 상기 각각의 제 2 지정 지연이 각각의 전자 장치에 저장되는 것을 특징으로 하는 시스템.
  29. 제 27 항에 있어서, 상기 각각의 제 2 지정 지연은, 상기 명령을 마지막으로 수신하는 전자 장치의 경우 0인 것을 특징으로 하는 시스템.
KR1020077002577A 2004-08-19 2005-08-09 데이지-체인 메모리 구조에서의 메모리 명령 지연 조절 방법 KR100883007B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/922,299 2004-08-19
US10/922,299 US7669027B2 (en) 2004-08-19 2004-08-19 Memory command delay balancing in a daisy-chained memory topology
PCT/US2005/028535 WO2006023360A1 (en) 2004-08-19 2005-08-09 Memory command delay balancing in a daisy-chained memory topology

Publications (2)

Publication Number Publication Date
KR20070039117A KR20070039117A (ko) 2007-04-11
KR100883007B1 true KR100883007B1 (ko) 2009-02-12

Family

ID=35311582

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077002577A KR100883007B1 (ko) 2004-08-19 2005-08-09 데이지-체인 메모리 구조에서의 메모리 명령 지연 조절 방법

Country Status (9)

Country Link
US (5) US7669027B2 (ko)
EP (1) EP1779251B1 (ko)
JP (1) JP4742347B2 (ko)
KR (1) KR100883007B1 (ko)
CN (1) CN101014941B (ko)
AT (1) ATE435457T1 (ko)
DE (1) DE602005015225D1 (ko)
TW (1) TWI317068B (ko)
WO (1) WO2006023360A1 (ko)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7669027B2 (en) 2004-08-19 2010-02-23 Micron Technology, Inc. Memory command delay balancing in a daisy-chained memory topology
KR100666225B1 (ko) * 2005-02-17 2007-01-09 삼성전자주식회사 데이지 체인을 형성하는 멀티 디바이스 시스템 및 이의 구동방법
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US7472220B2 (en) * 2006-07-31 2008-12-30 Metaram, Inc. Interface circuit system and method for performing power management operations utilizing power management signals
US20080028136A1 (en) * 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US7392338B2 (en) * 2006-07-31 2008-06-24 Metaram, Inc. Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits
US7590796B2 (en) * 2006-07-31 2009-09-15 Metaram, Inc. System and method for power management in memory systems
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US9542352B2 (en) * 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US8619452B2 (en) 2005-09-02 2013-12-31 Google Inc. Methods and apparatus of stacking DRAMs
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US7580312B2 (en) * 2006-07-31 2009-08-25 Metaram, Inc. Power saving system and method for use with a plurality of memory circuits
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US7609567B2 (en) 2005-06-24 2009-10-27 Metaram, Inc. System and method for simulating an aspect of a memory circuit
KR101318116B1 (ko) * 2005-06-24 2013-11-14 구글 인코포레이티드 집적 메모리 코어 및 메모리 인터페이스 회로
US20080126690A1 (en) * 2006-02-09 2008-05-29 Rajan Suresh N Memory module with memory stack
US7386656B2 (en) * 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8438328B2 (en) * 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US8090897B2 (en) * 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US8041881B2 (en) * 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US8244971B2 (en) * 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US20080082763A1 (en) * 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US20070076502A1 (en) * 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
WO2007036050A1 (en) 2005-09-30 2007-04-05 Mosaid Technologies Incorporated Memory with output control
US9632929B2 (en) * 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
DE102006062725B4 (de) * 2006-04-15 2018-01-18 Polaris Innovations Ltd. Speichersystem mit integrierten Speicherbausteinen sowie Verfahren zum Betrieb eines Speichersystems
JP5065618B2 (ja) * 2006-05-16 2012-11-07 株式会社日立製作所 メモリモジュール
US7577811B2 (en) * 2006-07-26 2009-08-18 International Business Machines Corporation Memory controller for daisy chained self timed memory chips
US7660940B2 (en) * 2006-07-26 2010-02-09 International Business Machines Corporation Carrier having daisy chain of self timed memory chips
US7660942B2 (en) * 2006-07-26 2010-02-09 International Business Machines Corporation Daisy chainable self timed memory chip
US7546410B2 (en) * 2006-07-26 2009-06-09 International Business Machines Corporation Self timed memory chip having an apportionable data bus
US7545664B2 (en) * 2006-07-26 2009-06-09 International Business Machines Corporation Memory system having self timed daisy chained memory chips
US20080028135A1 (en) * 2006-07-31 2008-01-31 Metaram, Inc. Multiple-component memory interface system and method
US7724589B2 (en) * 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US8209479B2 (en) * 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
EP2441007A1 (en) 2009-06-09 2012-04-18 Google, Inc. Programming of dimm termination resistance values
US8094507B2 (en) 2009-07-09 2012-01-10 Micron Technology, Inc. Command latency systems and methods
US8742814B2 (en) 2009-07-15 2014-06-03 Yehuda Binder Sequentially operated modules
US8602833B2 (en) * 2009-08-06 2013-12-10 May Patents Ltd. Puzzle with conductive path
US8245024B2 (en) 2009-08-21 2012-08-14 Micron Technology, Inc. Booting in systems having devices coupled in a chained configuration
US8966208B2 (en) * 2010-02-25 2015-02-24 Conversant Ip Management Inc. Semiconductor memory device with plural memory die and controller die
WO2012082274A2 (en) 2010-11-19 2012-06-21 Rambus Inc. Timing-drift calibration
US9597607B2 (en) 2011-08-26 2017-03-21 Littlebits Electronics Inc. Modular electronic building systems with magnetic interconnections and methods of using the same
US11330714B2 (en) 2011-08-26 2022-05-10 Sphero, Inc. Modular electronic building systems with magnetic interconnections and methods of using the same
US9019718B2 (en) 2011-08-26 2015-04-28 Littlebits Electronics Inc. Modular electronic building systems with magnetic interconnections and methods of using the same
CN102736996A (zh) * 2011-12-27 2012-10-17 华为技术有限公司 一种减少存储控制器接口占用的方法及高速存储器
US8909878B2 (en) 2012-06-12 2014-12-09 International Business Machines Corporation Implementing timing alignment and synchronized memory activities of multiple memory devices accessed in parallel
US9076558B2 (en) * 2012-11-01 2015-07-07 Nanya Technology Corporation Memory test system and memory test method
US20150089127A1 (en) * 2013-09-23 2015-03-26 Kuljit S. Bains Memory broadcast command
US9436563B2 (en) * 2013-10-01 2016-09-06 Globalfoundries Inc. Memory system for mirroring data
US9836215B2 (en) * 2014-11-19 2017-12-05 Western Digital Technologies, Inc. Real time protocol generation
US10459660B2 (en) * 2014-11-20 2019-10-29 Rambus Inc. Memory systems, modules, and methods for improved capacity
CN104360977B (zh) * 2014-12-10 2018-02-06 浪潮(北京)电子信息产业有限公司 一种管理高速串行传输接口的方法及系统
US10261697B2 (en) 2015-06-08 2019-04-16 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
US9837169B2 (en) * 2016-02-24 2017-12-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Memory system for rapidly testing data lane integrity
US10339072B2 (en) 2016-04-01 2019-07-02 Intel Corporation Read delivery for memory subsystem with narrow bandwidth repeater channel
EP3511837B1 (en) 2016-09-29 2023-01-18 Huawei Technologies Co., Ltd. Chip having extensible memory
US10785144B2 (en) * 2016-12-30 2020-09-22 Equinix, Inc. Latency equalization
US10459659B2 (en) * 2017-03-31 2019-10-29 Intel Corporation Technologies for issuing commands on selected memory devices
KR20180127710A (ko) 2017-05-22 2018-11-30 에스케이하이닉스 주식회사 메모리 모듈 및 이를 포함하는 메모리 시스템
CN108256209A (zh) * 2018-01-15 2018-07-06 郑州云海信息技术有限公司 一种菊花链布线时钟信号传输路径电路
US11616844B2 (en) 2019-03-14 2023-03-28 Sphero, Inc. Modular electronic and digital building systems and methods of using the same
KR20210145480A (ko) 2020-05-25 2021-12-02 삼성전자주식회사 디스플레이 구동 장치 및 디스플레이 구동 장치를 포함하는 디스플레이 장치
CN114141279A (zh) 2020-09-04 2022-03-04 美光科技公司 存储器拓扑

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990088104A (ko) * 1998-05-07 1999-12-27 니시무로 타이죠 데이타고속전송동기시스템및데이타고속전송동기방법
US6173345B1 (en) * 1998-11-03 2001-01-09 Intel Corporation Method and apparatus for levelizing transfer delays for a channel of devices such as memory devices in a memory subsystem

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4860375A (en) * 1986-03-10 1989-08-22 Environmental Research Inst. Of Michigan High speed cellular processing system
DE3842517A1 (de) * 1987-12-17 1989-06-29 Hitachi Ltd Pipeline-datenverarbeitungssystem
US5748914A (en) * 1995-10-19 1998-05-05 Rambus, Inc. Protocol for communication with dynamic memory
US6226723B1 (en) * 1996-09-20 2001-05-01 Advanced Memory International, Inc. Bifurcated data and command/address communication bus architecture for random access memories employing synchronous communication protocols
US5892981A (en) * 1996-10-10 1999-04-06 Hewlett-Packard Company Memory system and device
EP1019911B1 (en) 1997-10-10 2003-07-16 Rambus Inc. Apparatus and method for device timing compensation
US6154821A (en) * 1998-03-10 2000-11-28 Rambus Inc. Method and apparatus for initializing dynamic random access memory (DRAM) devices by levelizing a read domain
JP3892655B2 (ja) * 1999-09-17 2007-03-14 株式会社東芝 半導体集積回路装置
US6567023B1 (en) 1999-09-17 2003-05-20 Kabushiki Kaisha Toshiba Analog to digital to analog converter for multi-valued current data using internal binary voltage
US6502161B1 (en) * 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US6928571B1 (en) * 2000-09-15 2005-08-09 Intel Corporation Digital system of adjusting delays on circuit boards
US6493250B2 (en) * 2000-12-28 2002-12-10 Intel Corporation Multi-tier point-to-point buffered memory interface
US6658523B2 (en) * 2001-03-13 2003-12-02 Micron Technology, Inc. System latency levelization for read data
JP2003045179A (ja) * 2001-08-01 2003-02-14 Mitsubishi Electric Corp 半導体素子及びそれを用いた半導体メモリモジュール
US6877088B2 (en) * 2001-08-08 2005-04-05 Sun Microsystems, Inc. Methods and apparatus for controlling speculative execution of instructions based on a multiaccess memory condition
US6542416B1 (en) * 2001-11-02 2003-04-01 Rambus Inc. Methods and arrangements for conditionally enforcing CAS latencies in memory devices
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
JP3756856B2 (ja) * 2002-08-19 2006-03-15 株式会社リコー 画像形成装置及び画像形成システム
US20050144409A1 (en) 2002-09-11 2005-06-30 Fujitsu Limited Data processing device and method utilizing latency difference between memory blocks
WO2004025478A1 (ja) * 2002-09-11 2004-03-25 Fujitsu Limited メモリブロック間のレイテンシ差を活用するデータ処理装置および方法
US20040150688A1 (en) * 2003-01-30 2004-08-05 Kin-Ming Kwan Measuring laser light transmissivity in a to-be-welded region of a work piece
US7669027B2 (en) 2004-08-19 2010-02-23 Micron Technology, Inc. Memory command delay balancing in a daisy-chained memory topology

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990088104A (ko) * 1998-05-07 1999-12-27 니시무로 타이죠 데이타고속전송동기시스템및데이타고속전송동기방법
US6173345B1 (en) * 1998-11-03 2001-01-09 Intel Corporation Method and apparatus for levelizing transfer delays for a channel of devices such as memory devices in a memory subsystem

Also Published As

Publication number Publication date
DE602005015225D1 (de) 2009-08-13
CN101014941A (zh) 2007-08-08
TW200619950A (en) 2006-06-16
EP1779251B1 (en) 2009-07-01
CN101014941B (zh) 2013-03-06
US20120210089A1 (en) 2012-08-16
US20110145522A1 (en) 2011-06-16
EP1779251A1 (en) 2007-05-02
US20100122059A1 (en) 2010-05-13
US7669027B2 (en) 2010-02-23
US7908451B2 (en) 2011-03-15
JP2008510257A (ja) 2008-04-03
US8935505B2 (en) 2015-01-13
US8612712B2 (en) 2013-12-17
KR20070039117A (ko) 2007-04-11
US8166268B2 (en) 2012-04-24
US20140089620A1 (en) 2014-03-27
JP4742347B2 (ja) 2011-08-10
TWI317068B (en) 2009-11-11
ATE435457T1 (de) 2009-07-15
US20060041730A1 (en) 2006-02-23
WO2006023360A1 (en) 2006-03-02

Similar Documents

Publication Publication Date Title
KR100883007B1 (ko) 데이지-체인 메모리 구조에서의 메모리 명령 지연 조절 방법
US10198306B2 (en) Method and apparatus for a memory module to accept a command in multiple parts
KR102312251B1 (ko) 메모리 제어 디바이스에서의 출력 지연의 동적 선택
US7138823B2 (en) Apparatus and method for independent control of on-die termination for output buffers of a memory device
US6611905B1 (en) Memory interface with programable clock to output time based on wide range of receiver loads
US20030105932A1 (en) Emulation of memory clock enable pin and use of chip select for memory power control
KR20110113736A (ko) 클럭 포워딩 저-전력 시그널링 시스템
EP1019911A1 (en) Apparatus and method for device timing compensation
KR100916215B1 (ko) 프로토콜 메모리, 메모리 모듈 및 프로토콜 메모리시스템과 그 제어방법.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130104

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee