KR20080066626A - 데이터 액세스 및 멀티-칩 컨트롤러 - Google Patents

데이터 액세스 및 멀티-칩 컨트롤러 Download PDF

Info

Publication number
KR20080066626A
KR20080066626A KR1020080004098A KR20080004098A KR20080066626A KR 20080066626 A KR20080066626 A KR 20080066626A KR 1020080004098 A KR1020080004098 A KR 1020080004098A KR 20080004098 A KR20080004098 A KR 20080004098A KR 20080066626 A KR20080066626 A KR 20080066626A
Authority
KR
South Korea
Prior art keywords
memory device
memory
data bus
controller
data
Prior art date
Application number
KR1020080004098A
Other languages
English (en)
Other versions
KR101081197B1 (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 KR20080066626A publication Critical patent/KR20080066626A/ko
Application granted granted Critical
Publication of KR101081197B1 publication Critical patent/KR101081197B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A62LIFE-SAVING; FIRE-FIGHTING
    • A62BDEVICES, APPARATUS OR METHODS FOR LIFE-SAVING
    • A62B1/00Devices for lowering persons from buildings or the like
    • A62B1/06Devices for lowering persons from buildings or the like by making use of rope-lowering devices
    • A62B1/18Other single parts for rope lowering-devices, e.g. take-up rollers for ropes, devices for shooting ropes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • AHUMAN NECESSITIES
    • A62LIFE-SAVING; FIRE-FIGHTING
    • A62BDEVICES, APPARATUS OR METHODS FOR LIFE-SAVING
    • A62B1/00Devices for lowering persons from buildings or the like
    • A62B1/06Devices for lowering persons from buildings or the like by making use of rope-lowering devices
    • A62B1/16Life-saving ropes or belts

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

메모리 디바이스로의 하나의 데이터 버스가 다수의 데이터 버스 부분으로 분리될 수 있고, 이들 부분 각각은 다수의 컨트롤러 칩 중 서로 다른 각각의 컨트롤러 칩에 의해 관리된다. 각각의 메모리 디바이스로의 메모리 액세스 동안, 다수의 컨트롤러 칩 각각은, 액세스가 판독인지 기입인지 여부에 따라 메모리 디바이스로부터 데이터를 검색하거나 그 메모리 디바이스에 데이터를 저장하도록 데이터 버스의 서로 다른 대응하는 부분을 제어한다. 데이터 액세스를 수행하기 위해, (메모리 컨트롤러 칩 내부 및/또는 외부의) 동기 회로는 메모리 컨트롤러 칩 중 하나의 칩이 메모리 디바이스로의 어드레스 버스 및/또는 제어 신호를 구동하도록 다수의 메모리 컨트롤러 칩을 동기시킨다. 메모리 디바이스에 대한 어드레스를 설정한 후에, 메모리 컨트롤러 칩은 그 어드레스를 기초로 메모리 디바이스로부터 데이터를 판독하거나 데이터를 기록한다.
컨트롤러, 메모리 디바이스, 컨트롤러 칩, 데이터 버스, 동기 회로

Description

데이터 액세스 및 멀티-칩 컨트롤러{DATA ACCESS AND MULTI-CHIP CONTROLLER}
본 발명은 데이터 액세스 및 멀티-칩 컨트롤러에 관한 것이다.
컴퓨팅 플랫폼에 사용된 종래의 메모리 구조는 2가지 요소: 메모리 컨트롤러와 이 메모리 컨트롤러에 의해 액세스되는 데이터를 저장하는 하나 이상의 메모리 모듈의 이용에 따라 좌우된다. 종래의 수많은 어플리케이션에서, 메모리 모듈은 통상적으로 전기적 인터페이스, 프로토콜 및 JEDEC(Joint Electronic Devices Engineering Council)에 의해 정의된 기계적 맞춤(mechanical fit) 및 형태, 표준 바디를 갖는 산업 표준 메모리 모듈이다.
시간이 지남에 따라 메모리 성능이 향상되기 때문에, 메모리 컨트롤러와 대응하는 모듈간의 해당 인터페이스 속도 또한 증가되었다. 인터페이스의 대응 신호 전압은 시간이 흐름에 따라 감소되었다. 이러한 각각의 성능 향상으로 인해 인쇄 회로 기판 설계(예를 들면, 각각의 컴포넌트의 핀을 접속하는 트레이스의 레이아웃)가 보다 자극받게 되었다. 즉, 트레이스 레이아웃(trace layout)은 각각의 메모리 속도 향상을 위해 보다 까다롭게 되는 경향이 있다.
JEDEC 표준 위원회에서는 최대 수용가능한 물리적 트레이스 길이의 사이즈가 감소하고 동일 액세스 인터페이스에 접속된 다수의 공동 메모리(cohabiting memory) 모듈이 감소하는 것을 (메모리 표준에) 채용함으로써 상기의 까다로움이 증가하고 있다는 것을 인식했다. 이들 변화 모두 각각의 트레이스에 대한 전체적인 신호 로딩을 감소시켜 고속의 액세스가 가능해진다.
상술한 바와 같이, 종래의 메모리 구조와 관련된 결함이 있다. 예를 들면, 상술한 경향(예를 들면, 더 높아진 인터페이스 속도와 더 낮아진 신호 전압)으로 인해, 불가능하지 않다면, 종래의 메모리 컨트롤러 방법을 이용하여 큰 시스템 메모리 어플리케이션을 구현하는데 어렵고 비용이 많이 들게 된다. 즉, 다수의 메모리 모듈에 대한 인터페이싱에 하나의 큰 메모리 컨트롤러 칩을 사용하는 경우, 메모리 디바이스에 저장된 정보를 액세스하는데 통상적으로 다수의 독립적인 메모리 인터페이스(예를 들면, 데이터 버스, 메모리 라인, 제어 라인 등)가 필요하게 된다. 정상적인 환경하에서, 각각의 인터페이스는 컨트롤러와 메모리 모듈 간의 트레이스에 관련된 로딩 문제로 인해, 단지 하나의 메모리 모듈 또는 가능하다면 2개의 메모리 모듈로부터 정보를 액세스할 수 있다.
종래의 구조에 따르면, 하나의 컨트롤러로부터 8개 또는 16개의 개별 메모리 모듈 칩으로 라우팅하기 위해서는 메모리 컨트롤러 칩과 메모리 디바이스 간의 (각각의 인쇄 회로 기판의 많은 층 상에) 매우 긴 트레이스 길이의 복잡한 얽힘이 필요할 수 있다. 이는 인쇄 회로 기판의 트레이스 길이를 길게 얽히게 함으로써 대응하는 신호의 품질을 저하시켜, 메모리 컨트롤러에 의한 액세스 실패의 가능성을 증가시키기 때문에 종종 문제가 된다. 이는 또한 기판의 비용 - 예를 들면, 개발 비, 제조비에 부가되어, 수율을 저하시킨다. 상술한 바와 같이, 트레이스와 관련된 수용가능한 로딩값을 규정하는 엄격한 표준이 있다.
여기서 논의되는 기술들은 상술한 것과 같은 종래의 어플리케이션은 물론 종래 기술에서 알려진 추가적인 기술에 비해 벗어나 있다. 예를 들면, 본 명세서에서 임의의 특정 실시예들은 상술한 기술들과 관련된 결점 및/또는 앞에서 논의되지 않은 종래 기술의 다른 결함을 극복하는 것에 관한 것이다.
일반적으로, 본 명세서에서의 실시예들은 다수의 동등한 메모리 컨트롤러 칩들(예를 들면, 독립적인 집적 회로들)을 가로지르는 하나 이상의 메모리 인터페이스(들)(예를 들면, 하나 이상의 데이터 버스, 어드레스 버스, 제어 신호 등)을 분산함으로써 인쇄 회로 기판상의 트레이스를 레이아웃하는 부담을 줄인다. 예를 들면, 메모리 디바이스로의 단일 데이터 버스는 다수의 데이터 버스 부분(예를 들면, 신호들의 그룹)으로 분할할 수 있으며, 이들 데이터 버스 부분 각각은 서로 다른 각각의 컨트롤러 칩에 의해 관리된다. 따라서, 각각의 메모리 디바이스로의 메모리 액세스 동안, 다수의 컨트롤러 칩 각각은 데이터 버스의 서로 다른 대응하는 부분을 제어하여 액세스가 판독인지 기입인지에 따라 데이터를 검색하거나 저장한다.
일 실시예에서, 각각의 데이터 액세스를 수행하기 위해, (메모리 컨트롤러 칩들의 내부 및/또는 외부의) 동기 회로는 다수의 메모리 컨트롤러 칩을 동기화시켜 하나 또는 다수의 메모리 컨트롤러 칩이 어드레스 버스를 구동하거나 및/또는 메모리 디바이스로의 제어 신호를 제어하도록 할 수 있다. 적절한 시간에 대해 메모리 디바이스에 대한 어드레스를 설정한 후, 그 어드레스에 기초하여 메모리 컨트롤러 칩은 동시에 데이터를 판독(예를 들면, 래치)하거나 그 메모리 디바이스에 기입 데이터를 제공한다. 동기 회로는 다수의 칩 컨트롤러 간에 타이밍을 조정하여 그러한 동작들을 수행한다.
단일 데이터 버스의 각 부분을 제어하도록 각각의 메모리 컨트롤러 칩을 할당하고 데이터 버스를 나누는 것에 덧붙여서, 컨트롤러 각각은 상이한 메모리 디바이스로의 다수의 데이터 버스 각각의 일부를 제어하도록 구성될 수 있다. 바꾸어 말하면, 제1 메모리 디바이스로의 제1 데이터 버스는 데이터 버스 부분들로 분리될 수 있으며, 이들 데이터 버스 부분 각각은 다수의 컨트롤러 칩 중 각각의 컨트롤러 칩에 의해 제어된다. 대응하는 제2 메모리 디바이스로의 제2 데이터 버스는 다른 세트의 데이터 버스 부분들로 분리될 수 있으며, 이들 데이터 버스 부분 각각은 다수의 컨트롤러 칩 중 각각의 컨트롤러 칩에 의해 제어된다. 이러한 일 실시예에서, 메모리 컨트롤러 칩 각각은 각각의 메모리 디바이스에 대한 대응하는 제어 신호 및/또는 각각의 어드레스 버스를 구동하도록 구성될 수 있다. 따라서, 동작하는 동안, 메모리 컨트롤러 중 하나는 액세스되고 있는 각각의 메모리 디바이스로의 어드레스를 구동하는 한편, 다수의 메모리 컨트롤러 칩 각각은 액세스된 메모리 디바이스에 저장된 데이터의 서로 다른 부분을 액세스할 수 있다.
상술한 실시예들에 덧붙여서, 일 실시예는 메모리 컨트롤러 칩(예를 들면, 메모리 컨트롤러 디바이스)을 메모리 디바이스의 축에 대해 평행한 각각의 레이아웃 축을 따라 선형 방식으로 물리적으로 배치하는 것을 포함한다. 이러한 실시예는 (할당된 비트수 값 등에 의하기 보다는) 신호의 물리적 위치에 기초하여 다수의 컨트롤러를 고르게 가로지르는 분배된 신호들을 나누는 것을 포함할 수 있다. 바꾸어 말하면, 메모리 컨트롤러의 선형 어레이를 가로지르는 데이터 버스의 부분들의 물리적인 분배는 대응하는 메모리 모듈(또는 경우에 따라서는 메모리 모듈일 수도 있음)의 신호/핀 할당에 기초할 수 있다. 이와 같이 구현될 경우, 다수의 메모리 컨트롤러 칩 각각과 메모리 디바이스 간에 "스트레이트 샷(straight shots)"(예를 들면, 실질적으로 직교하는 트레이스 경로들)을 생성함으로써, 초과의 인쇄 회로 기판층에 대한 필요성 및 전반적인 트레이스 길이를 감소시켜 메모리 컨트롤러 칩과 하나 이상의 메모리 디바이스 간의 적절한 접속성을 제공한다.
본 명세서에서의 실시예들은 종래의 어플리케이션들과 대비된다. 예를 들면, 본 명세서에서의 기술은 한 세트의 메모리 컨트롤러 칩과 해당 메모리 디바이스 간의 간단한 라우팅 채널들을 제공한다. 이는 더 적은 회로 기판층을 사용될 수 있게 하며 보다 직접적인 상호접속 경로를 제공하며, 이들 둘 다 액세스 인터페이스의 신호 집적도를 향상시키고 제조 비용을 감소시킨다. 게다가, 종래의 기술과는 달리, 본 명세서에서의 실시예들은 표준 메모리 시스템 구조가 정상적으로 달성할 수 있는 것 이상으로, 시스템의 메모리 용량을 증가시키면서 메모리 어레이 내에 추가의 모듈을 포함시키는 것이 가능하다. 라우팅(상술한 바와 같이 멀티-칩 컨트롤러 기술의 구현을 통해)을 더 간단히 할수록, 다른 기능성에 대한 인쇄 회로 기판층 리소스를 자유롭게 한다.
상술한 바와 같이, 본 명세서에서의 기술들은 물론 메모리 시스템에 사용하기에 적합하다. 그러나, 본 명세서에서의 실시예들은 그러한 어플리케이션들에 사용하는 것에 국한되지 않으며 또한 상술한 기술들은 다른 어플리케이션에도 적합하다는 것에 유의하여야 한다. 여기서 논의된 서로 다른 특징, 기술, 구성 등은 독립적으로 또는 결합하여 실행될 수 있다는 것에 유의하자.
이 요약은 모든 실시예에 특정되지 않으며 본 개시 또는 청구된 발명 새로운 특징을 추가할 수 있다는 것에 유의하다. 대신에, 이 요약은 단지 상이한 실시예들의 사전 논의 및 종래 기술에 대한 대응하는 신규성의 포인트들을 제공한다. 본 발명의 추가적인 상세 및/또는 가능한 전망(변경)의 경우, 본 개시의 상세한 설명 부분 및 대응하는 도면들에 지시되어 있다.
본 발명에 따르면, 단일 데이터 버스의 각 부분을 제어하도록 각각의 메모리 컨트롤러 칩을 할당하고 데이터 버스를 나누는 것에 덧붙여서, 컨트롤러 각각은 상이한 메모리 디바이스로의 다수의 데이터 버스 각각의 일부를 제어하도록 구성될 수 있다.
본 출원의 상술한 그리고 다른 목적, 특징 및 이점들은, 유사 참조 부호가 상이한 도면들 전반에 걸쳐서 동일한 부분을 지칭하는 첨부 도면에 도시된 바와 같 이, 바람직한 실시예의 특정 설명으로부터 명백해질 것이다. 도면은 반드시 스케일링될 필요는 없으며, 그 대신 예시적인 실시예, 원리 및 개념을 나타내기 위해 강조될 수 있다.
일 실시예에 따르면, 메모리 디바이스로의 데이터 버스는 다수의 데이터 버스 부분으로 분리될 수 있으며, 이 데이터 버스 부분 각각은 한 세트의 동기화된 컨트롤러 칩의 서로 다른 각각의 컨트롤러 칩에 의해 관리된다. 메모리 디바이스로의 액세스하는 동안, 다수의 컨트롤러 칩 각각은 데이버 버스의 서로 다른 대응하는 부분을 제어하여 액세스가 판독 또는 기입인지에 따라 메모리 디바이스로부터 데이터를 검색하거나 데이터를 메모리 디바이스에 저장한다. 데이터 액세스를 조정하기 위해, (메모리 컨트롤러 칩들의 내부 및/또는 외부의) 동기 회로는 다수의 메모리 컨트롤러 칩을 동기화하여, 메모리 컨트롤러 칩들 중 하나가 메모리 디바이스로의 어드레스 버스 및/또는 제어 신호를 구동한다. 메모리 디바이스에 대한 어드레스를 설정한 후, 다수의 메모리 컨트롤러 칩 각각은 메모리 디바이스의 각 부분으로부터 판독 데이터를 래치하거나 기입 데이터를 제공한다.
도 1은 실시예에 따른 메모리 시스템(100)의 도면이다. 도시된 바와 같이, 메모리 시스템(100)은 호스트 시스템(110)(예를 들면, 데이터 프로세싱 시스템), 메모리 컨트롤러들(120)(예를 들면, 메모리 컨트롤러(120-1), 메모리 컨트롤러(120-2), ..., 메모리 컨트롤러(120-M)), 동기 회로(130) 및 메모리 어레이(140)(예를 들면, 다이나믹/랜덤 액세스 메모리 모듈들)를 포함한다. 호스트 시스템(110)은 신호들(104)(예를 들면, 신호(104-1), 신호(104-2), ..., 신호(104- M))을 통해 메모리 컨트롤러(120)에 입력 명령 및/또는 데이터를 제공할 수 있다.
일반적으로, 동작하는 동안, 호스트 시스템(110)은 메모리 컨트롤러(120)의 세트와 명령을 발행하고 데이터를 교환한다. 예를 들면, 신호(104)를 통해, 호스트 시스템(110)은 메모리 어레이(140)로부터 데이터(예를 들면, 비트, 워드 및/또는 데이터의 세그먼트)를 검색하기 위한 위치를 특정할 수 있다. 요구(request)를 발행하는 것에 응답하여, 다수의 메모리 컨트롤러(120)에 의한 액세스 이후에, 메모리 시스템(100)은 신호(106)를 통해 메모리 컨트롤러(120)로부터 데이터를 검색한다.
메모리 컨트롤러(120) 각각은 메모리 어레이(140)에 데이터 버스 A 및 데이터 버스 B와 같은 다수의 각각의 인터페이스들(예를 들면, 데이터 버스 및/또는 대응하는 제어 라인들)을 포함할 수 있다. 본 명세서에서 후술되는 바와 같이, 데이터 버스 A는 메모리 어레이(140)내의 제1 메모리 디바이스에 대한 액세스를 제공할 수 있는 반면, 데이터 버스 B는 메모리 어레이(140)내의 제2 메모리 디바이스에 대한 액세스를 제공할 수 있다. 동일한 또는 상이한 시간에 각 데이터 버스의 이용을 통해 데이터를 액세스할 수 있다. 메모리 컨트롤러(120)와 메모리 어레이(140)간의 데이터 버스 A 및 데이터 버스 B와 같은 각각의 상호접속은 대응하는 전자 디바이스들(예를 들면, 메모리 컨트롤러(120)와 메모리 어레이(140))간의 하나 이상의 인쇄 회로 기판상의 트레이스들(또는 다른 매체)를 통해 수행될 수 있다.
상술한 바와 같이, 각각의 메모리 컨트롤러(120)는 메모리 어레이(140)로부터 데이터를 액세스하기 위해 데이터 버스 A와 데이터 버스 B의 각 부분을 제어한 다. 메모리 시스템(100)의 동기 회로(130)는 메모리 컨트롤러(120)의 동작을 조정하여 메모리 컨트롤러(120)가 메모리 어레이(140)로부터 동시에 데이터를 액세스할 수 있도록 한다. 바꾸어 말하면, 동기 회로(130)에 의해 제공된 동기화를 통해, 다수의 메모리 컨트롤러(120) 각각은 데이터 버스의 각 부분의 이용을 통해 데이터의 부분들을 액세스하는 동안 하나 이상의 메모리 컨트롤러(120)는 메모리 어레이(140)에 적당한 제어 라인들을 설정한다.
메모리 컨트롤러(120)에 대한 외부 리소스로서 도시되었지만, 동기 회로(130)는 메모리 컨트롤러(120) 중 하나(예를 들면, 메모리 컨트롤러(120-1)와 같은 마스터 메모리 컨트롤러)에 대안적으로 배치될 수 있다. 따라서, 단일 메모리 컨트롤러(120)는 모든 다른 메모리 컨트롤러(120)의 동작을 제어하여 메모리 어레이(140)에 대한 액세스를 제어할 수 있다.
다른 실시예에서, 동기 회로(130)와 관련된 기능성은 메모리 컨트롤러(120) 각각을 거쳐 분배될 수 있다는 것에 유의하라. 이러한 실시예에서, 메모리 컨트롤러(120)는 그 자신들 간에 중재하여 각각의 데이터 버스를 통해 데이터 액세스를 조정한다.
간략하게 상술한 바와 같이, 메모리 컨트롤러(120)는 메모리 동작 및 데이터의 교환을 초기화하는 호스트 시스템(110)으로부터 명령을 수신한다. 메모리 액세스 동작동안, 동기 회로(130)는 데이터의 클럭과 같은 동작을 수행하거나 메모리 어레이(140)에 데이터를 기입하기 위한 각각의 제어 신호를 초기화하는 경우 메모리 컨트롤러(120)에 가리키는 타이밍 신호를 제공한다. 다수의 메모리 컨트롤 러(120) 간에 동작의 적당한 타이밍은 메모리 컨트롤러(120) 간의 간섭을 방지하고 메모리 어레이(140)으로부터 데이터의 효율적인 액세스를 증진시킨다. 메모리 어레이가 DEC 표준 바디에 의해 특정화된 폼 팩터(form factor)에 따라 메모리 모듈을 포함하도록 구성될 수 있음에 유의하여야 한다.
도 2는 실시예들에 따라 멀티-비트 버스의 제어를 배분하기 위한 일반적인 기술을 도시한 플로우차트(200)이다. 다음 설명은 상술한 리소스를 때때로 참조할 것임에 유의하자.
단계 210에서, 메모리 시스템(100)을 제조하는 엔티티(예를 들면, 회로 기판 레이아웃 도구, 메모리 시스템 설계자, 제조 설비, 인쇄 회로 기판 레이아웃 엔지니어 등)는 소정 메모리 디바이스로의 각 데이터 버스(예를 들면, 데이터 버스)를 다수 세트의 데이터 버스 신호들로 분석한다. 예를 들면, 데이터 버스 A가 64 비트로 넓다면, 엔티티는 데이터 버스 A를 M개의 부분들로 분석하며, 여기서 M은 정수값이다. 이 부분들은 크기가 동일하거나 동일하지 않을 수도 있다.
단계 220에서, 다수의 컨트롤러 칩(120) 각각의 경우, 엔티티는 각각의 컨트롤러 칩(120)을 할당하여, 각각의 컨트롤러 칩(120)과 메모리 어레이(140)내의 메모리 디바이스간의 데이터 버스 A와 관련된 다수 세트의 데이터 버스 신호의 대응하는 세트를 제어한다. 일례로서, 부분들은 크기가 동일하고 M=4이며 데이터 버스 A는 64비트라고 가정한다. 이 예의 컨텍스트에서, 엔티티는 데이터 버스 A의 데이터 비트 D1 내지 D16을 제어하기 위해 메모리 컨트롤러(120-1)를 할당하고, 데이터 버스 A의 데이터 비트 D17 내지 D32를 제어하기 위해 메모리 컨트롤러(120-2)를 할 당하고, ... , 데이터 버스 A의 데이터 비트 D49 내지 D64를 제어하기 위해 메모리 컨트롤러(120-M)를 할당한다.
단계 230에서, 엔티티는 다수의 칩 컨트롤러(120) 각각이 데이터 버스 A의 사용을 통해 제1 메모리 디바이스에 저장된 데이터의 상이한 각 부분을 동시에 액세스할 수 있게 한다. 예를 들면, 메모리 컨트롤러(120)와 메모리 어레이(140)의 메모리 디바이스간의 접속(예를 들면, 인쇄 회로 기판 트레이스)를 구성하는 것 이외에, 엔티티는 동시에 메모리 어레이(140)로부터 데이터 버스 A상의 데이터의 상이한 부분들의 동시 액세스를 할 수 있도록 다수의 컨트롤러 칩(120)을 동기화하기 위한 동기 회로(130)를 제공한다. 상술한 바와 같이, 동기 회로(130)는 메모리 컨트롤러들(120)에 대해 외부에 배치되거나 하나 이상의 메모리 컨트롤러(120)내에 배치될 수 있다. 대체적으로, 메모리 컨트롤러들에 의해 액세스되는 데이터는 64 비트값일 수 있다.
도 3은 실시예에 따른 메모리 시스템(100)의 보다 구체적인 상세를 도시한 도면이다. 도시된 바와 같이, 메모리 시스템(100)은 도 1에 대해 상술한 바와 같은 리소스를 포함한다. 그러나, 도 3은 메모리 어레이(140)가 메모리 모듈과 같은 메모리 디바이스(예를 들면, 메모리 디바이스(240-1)과 메모리 디바이스(240-2))를 포함하는 것을 또한 도시하고 있다. 본 예의 컨텍스트에서, 동기 회로(130)와 관련된 기능성은 상술한 방식으로 메모리 디바이스들을 액세스하기 위해 메모리 컨트롤러(120) 간의 동작을 조정할 목적으로 동기 회로(330-1), 동기 회로(330-2), ...를 통해 수행된다.
일 실시예에서, 메모리 디바이스(240)는 DIMM(Dual In-line Memory Module)이며, 각기 일련의 랜덤 액세스 메모리 집적 회로를 포함한다. 이들 집적 회로들은 통상적으로 인쇄 회로 기판상에 장착되고 개인용 컴퓨터 및 다른 타입의 처리 시스템용으로 설계된다.
물리적으로, 메모리 디바이스(240-1)와 메모리 디바이스(240-2) 상의 핀들은 메모리 디바이스(240)의 각각의 세로 축(242)을 따라 위치한다. 바꾸어 말하자면, 메모리 디바이스(240-1)는 물리적으로 각 세로 축(242-1)을 따라 위치한 많은 대응하는 핀들(예를 들면, 데이터 버스, 어드레스 버스 등)을 갖는 상대적으로 좁은 디바이스일 수 있다. 유사한 방식으로, 메모리 디바이스(240-2)는 또한 각각의 세로 축(242-2)을 따라 위치한 많은 대응하는 핀들(예를 들면, 데이터 버스, 어드레스 버스 등)을 갖는 상대적으로 좁은 디바이스일 수 있다. 본 명세서에서의 실시예들은 메모리 디바이스(240)의 세로 축(242)에 대해 실질적으로 평행한 레이아웃 축(122)을 따라 메모리 컨트롤러(120)(예를 들면, 별개의 컨트롤러 칩)를 레이아웃하는 것을 포함한다.
도 3에 나타난 바와 같이, 레이아웃 축(122)을 따라 메모리 컨트롤러(120)를 레이아웃하는 것은 메모리 컨트롤러(120)로부터 메모리 디바이스(240) 각각으로 상대적으로 간단한 트레이스의 라우팅을 실행할 수 있다. 즉, 데이터 버스 A에 대한 트레이스의 라우팅은 소정 메모리 컨트롤러(120)상의 노드(예를 들면, 핀)와 각 메모리 디바이스(240-1)상이 대응하는 노드(예를 들면, 핀)가 서로 상당히 매우 근접하여 있기 때문에 수직하다. 만일 메모리 컨트롤러(120)가 종래의 방식으로 단일 컨트롤러 칩으로서 패키지되었다면, 트레이스의 라우팅은 작은 인쇄 회로 기판 영역내에서의 트레이스의 밀도 때문에 거의 불가능할 수 있다.
일 실시예에서, 트레이스 레이아웃 엔지니어는 레이아웃 축(122)의 제1 위치상에, 혹은 그 근처에 메모리 컨트롤러(120-1)를 배열한다. 트레이스 레이아웃 엔지니어는 레이아웃 축의 제2 위치상에, 혹은 그 근처에 메모리 컨트롤러(120-2)를 배열한다. 레이아웃 축(122) 상에 메모리 컨트롤러(120)를 배치한 후에, 트레이스 레이아웃 엔지니어는 메모리 컨트롤러(120-1)와 메모리 디바이스(240-1) 사이에 도전 경로의 제1 세트(예를 들면, 트레이스의 그룹(350-1))를 구현한다. 부가적으로, 트레이스 레이아웃 엔지니어는 메모리 컨트롤러(120-2)와 메모리 디바이스(240-1) 사이에 도전 경로의 제2 세트(예를 들면, 트레이스의 그룹(350-2))를 구현한다.
앞서 논의된 바와 같이, 본 발명의 실시예는 레이아웃 축(122)을 따라 이격된 다수의 컨트롤러 칩들 간의 신호의 제어를 전개한다. 레이아웃 축(122)을 따라 메모리 디바이스(240)의 길이방향 축(242)에 평행하게 메모리 컨트롤러(120)를 배치하면, 메모리 컨트롤러(120)와 메모리 디바이스(240) 사이의 트레이스의 그룹(350, 351)이 대략 동일한 길이 또는 길이 범위가 될 수 있도록 한다. 예를 들면, 도 3에 도시된 레이아웃의 결과로서, 메모리 컨트롤러(120-1)와 메모리 디바이스(240-1) 사이의 트레이스의 그룹(350-1)과 관련된 각각의 트레이스 길이(예를 들면, 데이터 버스(A)의 일부)는 메모리 컨트롤러(120-2)와 메모리 디바이스(240-1) 사이의 트레이스의 그룹(350-2)(예를 들면, 데이터 버스(A)의 일부)과 대략 동일한 길이일 수 있다. 유사한 방식으로, 메모리 컨트롤러(120-1)와 메모리 디바이스(240-2) 사이의 트레이스의 그룹(351-1)과 관련된 각각의 트레이스 길이(예를 들면, 데이터 버스(B)의 일부)는 메모리 컨트롤러(120-2)와 메모리 디바이스(240-2) 사이의 트레이스의 그룹(351-2)(예를 들면, 데이터 버스(B)의 일부)과 대략 동일한 길이일 수 있다. 따라서, 본 발명의 실시예는 대응하는 트레이스의 그룹이 실질적으로 유사하거나 동일한 길이가 되도록 메모리 컨트롤러(120)와 메모리 디바이스(240) 사이의 레이아웃 트레이스를 포함한다.
추가적인 실시예에서, 트레이스 레이아웃 엔지니어 및/또는 회로 기판 설계자는, 단일의 메모리 컨트롤러(120)가 각각의 메모리 디바이스(240)로의 어드레스 및 제어 신호를 제어하면서, 다수의 칩 컨트롤러가 각각 메모리 디바이스(240) 내에 저장된 데이터의 상이한 각각의 부분에 동시에 액세스할 수 있도록 한다. 본 예의 내용에서, 메모리 컨트롤러(120-1)는 메모리 디바이스(240-1)와 관련된 (예를 들면, 어드레스 버스, 스트로브, 인에이블 버스 등과 같은) 제어 신호(X)를 구동한다. 각각의 메모리 컨트롤러(120)는 데이터 버스(A)에 동시에 액세스한다. (예를 들면, 마스터 메모리 컨트롤러와 같은) 동기 회로(330-1)는 데이터 버스(A)에 액세스하는 때에 다른 메모리 컨트롤러(120)에 통지를 제공할 수 있다. 따라서, 본 발명의 일 실시예는 메모리 컨트롤러(120-1)가 제1 메모리 디바이스와 관련된 어드레스 버스를 제어하면서, 다수의 컨트롤러 칩 각각이 메모리 디바이스(240-1)로부터의 데이터의 각 부분에 동시에 액세스할 수 있도록 한다.
유사한 방식으로, 메모리 컨트롤러(120-2)는 메모리 디바이스(240-2)와 관련 된 (예를 들면, 어드레스 버스, 스트로브 등과 같은)신호(Y)를 제어하도록 구성될 수 있다. (예를 들면, 마스터 메모리 컨트롤러와 같은)동기 회로(330-1)는 메모리 디바이스(240-2)로의 신호(Y)를 제어하는 시간과 그 방법을 메모리 컨트롤러(120-2)에 통지할 수 있다. 따라서, 본 발명의 일 실시예는 메모리 컨트롤러(120-2)가 메모리 디바이스(240-2)와 관련된 어드레스 버스를 제어하면서, 다수의 제어 칩 각각이 메모리 디바이스(240-2)로부터의 데이터의 각 부분에 동시에 액세스할 수 있도록 하는 동기 회로를 포함한다.
도 4는 본 발명의 실시예에 따른 메모리 시스템(400)을 도시하는 예시도이다. 도시된 바와 같이, 메모리 시스템(400)은 (예를 들면, 메모리 컨트롤러 칩(420-1), 메모리 컨트롤러 칩(420-2), 메모리 컨트롤러 칩(420-3) 및 메모리 컨트롤러 칩(420-4)과 같은)다수의 메모리 컨트롤러 칩(420)과, 대응하는 메모리 모듈(441, 442, 443, 444)의 그룹을 포함한다. (예를 들면, 동기 회로(430-1), 동기 회로(430-2), 동기 회로(430-3) 및 동기 회로(430-4)와 같은)동기 회로(430)는 메모리 컨트롤러들(420) 사이의 동작을 조정한다. 각각의 메모리 모듈은 DIMM(Dual In-Line Memory Module) 또는 저장된 데이터에 액세스하기 위한 다수 비트의 어드레스 및 데이터 버스를 가지는 다른 메모리 디바이스일 수 있다. 메모리 모듈(441)의 그룹은 메모리 모듈(441-1), 메모리 모듈(441-2), 메모리 모듈(441-3) 및 메모리 모듈(441-4)을 포함한다. 메모리 모듈(442)의 그룹은 메모리 모듈(442-1), 메모리 모듈(442-2), 메모리 모듈(442-3) 및 메모리 모듈(442-4)을 포함한다. 메모리 모듈(443)의 그룹은 메모리 모듈(443-1), 메모리 모듈(443-2), 메모리 모 듈(443-3) 및 메모리 모듈(443-4)을 포함한다. 메모리 모듈(444)의 그룹은 메모리 모듈(444-1), 메모리 모듈(444-2), 메모리 모듈(444-3) 및 메모리 모듈(444-4)을 포함한다. 도시된 바와 같이, 채널(A)은 데이터 저장을 위한 메모리 모듈(441 및 444)의 그룹을 포함한다. 채널(B)은 데이터 저장을 위한 메모리 모듈(442 및 443)의 그룹을 포함한다.
메모리 시스템(400)은 데이터 버스(E), 데이터 버스(F), 데이터 버스(G), 데이터 버스(H), 데이터 버스(J), 데이터 버스(K), 데이터 버스(L) 및 데이터 버스(M)를 포함하는 다수의 데이터 버스를 포함한다. 데이터 버스(E)는 데이터 버스부(E1), 데이터 버스부(E2), 데이터 버스부(E3) 및 데이터 버스부(E4)를 포함할 수 있다. 데이터 버스(F)는 데이터 버스부(F1), 데이터 버스부(F2), 데이터 버스부(F3), 데이터 버스부(F4)를 포함한다. 데이터 버스(G)는 데이터 버스부(G1), 데이터 버스부(G2), 데이터 버스부(G3), 데이터 버스부(G4)를 포함한다. 데이터 버스(H)는 데이터 버스부(H1), 데이터 버스부(H2), 데이터 버스부(H3), 데이터 버스부(H4)를 포함한다. 데이터 버스(J)는 데이터 버스부(J1), 데이터 버스부(J2), 데이터 버스부(J3), 데이터 버스부(J4)를 포함한다. 데이터 버스(K)는 데이터 버스부(K1), 데이터 버스부(K2), 데이터 버스부(K3), 데이터 버스부(K4)를 포함한다. 데이터 버스(L)는 데이터 버스부(L1), 데이터 버스부(L2), 데이터 버스부(L3), 데이터 버스부(L4)를 포함한다. 데이터 버스(M)는 데이터 버스부(M1), 데이터 버스부(M2), 데이터 버스부(M3), 데이터 버스부(M4)를 포함한다. 각각의 데이터 버스부는 각각의 메모리 모듈 내의 데이터에 액세스하기 위한 하나 이상의 데이터 신호 를 포함할 수 있다.
메모리 시스템(400)은 제어 신호(451)의 그룹, 제어 신호(452)의 그룹, 제어 신호(453)의 그룹, 제어 신호(454)의 그룹, 제어 신호(455)의 그룹, 제어 신호(456)의 그룹, 제어 신호(457)의 그룹 및 제어 신호(458)의 그룹과 같은 제어 신호의 그룹들 또한 포함한다. 제어 신호의 그룹은 각기 데이터에 액세스하기 위하여 각각의 메모리 모듈의 제어를 지원하기 위한 적절한 신호를 포함할 수 있다. 예를 들면, 제어 신호 그룹은 각기 각각의 메모리 모듈을 제어하기 위하여 하나 이상의 다음과 같은 신호, 즉, 리셋 신호, 클럭, 데이터 스트로브, 칩 셀렉트, 커맨드 입력, 인에이블 등을 포함할 수 있다.
일 실시예에서, 메모리 시스템(400)은 4개의 메모리 컨트롤러(420) 및 16개의 표준 등록된 메모리 모듈의 클러스터를 포함한다. 메모리 시스템(400)은 복제되어 증가된 저장 용량을 제공할 수 있음에 주의하여야 한다. 예를 들면, 더 큰 메모리 시스템은 도 4에 도시된 것과 같은 메모리 시스템 4개를 포함할 수 있다.
메모리 컨트롤러(420)의 클러스터는 2개의 별도의 세트의 데이터 액세스 인터페이스, 즉, 채널(A)을 위한 것과 채널(B)을 위한 것을 구현한다. 각각의 채널은 메모리 컨트롤러(420)의 클러스터를 가로질러 분리된 64개의 데이터 비트 및 8개의 체크 비트를 가질 수 있다. 컴패니온(companion) 데이터 스트로브 신호는 메모리 컨트롤러(420)의 클러스터를 역시 가로질러 적절히 분포될 수 있다. 일 실시예에서, 액세스 인터페이스를 위한 프로토콜은 JEDEC 표준 JESD79-2A에 의해서 규정된다.
타이밍 및 동기화 요건을 충족시키기 위하여, 데이터 및 체크 비트는 니블(nibble)의 컴패니온 데이터 스트로브 신호를 따라 4개의 메모리 컨트롤러(420)의 그룹 내의 클러스터를 가로질러 분리될 수 있다. 체크 비트를 클러스터를 가로질러 분리하는 것은 4개로 명확하게 나누어질 필요가 없다. 예를 들면, 소정의 메모리 컨트롤러(420)는 주어진 채널에 대하여 다른 것보다 많은 니블/스트로브 세트를 지원할 수 있다. 또한, 메모리 시스템(400)의 구현은 채널당 최대 메모리 용량을 획득하기 위하여 4:1의 데이터-스트로브 비를 지키는 메모리 디바이스를 가지는 모듈을 지원하도록 명확하게 설계될 수 있다.
어드레스 및 제어 신호는 상이한 방식으로 처리될 수 있다. 예를 들면, 각각의 메모리 컨트롤러(420)는 2개의 별도의 어드레스 및 제어 인터페이스를 구현할 수 있다. 예를 들면, 메모리 컨트롤러(420-1)는 각각의 제1 인터페이스와 관련된 제어 신호(451)의 그룹 및 각각의 제2 메모리 모듈과 관련된 제어 신호(455)의 그룹을 포함할 수 있다. 도시된 바와 같이, 각각의 인터페이스는 16개의 메모리 모듈 중에서 2개에 접속될 수 있다. 그러한 인터페이스 중 하나는 채널(A)을 위한 것이고, 다른 것은 채널(B)을 위한 것이다.
16개의 메모리 모듈 중 4개에 액세스함으로써 (판독, 기록 등의)단일의 메모리 액세스가 채널(A) 또는 채널(B)에 대하여 이루어질 수 있다. 예를 들면, 그러한 실시예에서, 호스트 시스템은 커맨드 및 (기록을 위한)대응하는 컴패니온 데이터를 메모리 컨트롤러(420)의 클러스터에 발행한다. 동기화된 방식으로, 동기 회로(430)의 이용을 통해서, 메모리 컨트롤러(420) 중 적절한 하나가 호스트의 커맨 드를 관심의 대상인 채널 상의 메모리 모듈에 발행한다. 메모리 컨트롤러(420)에 의해서 어드레싱되는 4개의 모듈은 적절하게 응답한다. 메모리 컨트롤러(420)는 판독 또는 기록의 책임을 적절한 메모리 모듈에 분배한다. 액세스가 판독인 경우에는 메모리 컨트롤러(420)는 그들 사이에서 조정하고, 데이터의 액세스된 부분을 메모리로부터 데이터를 요청하는 호스트 시스템으로 다시 전달한다.
메모리 컨트롤러(420)에서 호스트로의 데이터의 전달은 병렬 방식으로 이루어질 수 있다. 예를 들면, 주어진 데이터 액세스에서, 각각의 메모리 컨트롤러(420)는 2 바이트(예를 들면, 16 비트)의 데이터를 주어진 어드레스에 대한 대응하는 액세스된 메모리 모듈로부터 검색할 수 있다. 동기 회로(430)에 의해서, 메모리 컨트롤러(420)는 주어진 어드레스에 대한 검색된 정보의 64 비트의 호스트로의 병렬 전달을 지원할 수 있다.
동기화
앞서 논의된 바와 같이, (메모리 컨트롤러(420) 중 하나의 단일 형태, 또는 다수의 메모리 컨트롤러(420)에 분포된 형태의)동기 회로(430)는 메모리 컨트롤러(420)에서 메모리 모듈로의 데이터 전달을 조정한다. 예를 들면, (동기 회로(430-1)를 경유하는)메모리 컨트롤러(420-1)와 같은 마스터 메모리 컨트롤러 내의 동기 회로(430-1)는 메시지를 (예를 들면, 메모리 컨트롤러(420-2), 메모리 컨트롤러(420-3) 및 메모리 컨트롤러(420-4)와 같은)다른 3개의 메모리 컨트롤러에 전송하여 메모리 모듈로의 새로운 커맨드 싸이클의 개시를 나타낸다. 3개의 수신 메모리 컨트롤러(420)는 에러의 발생을 검출하고 대응하는 메시지를 마스터 메모리 컨트롤러(420-1)에 다시 전송하여 에러의 발생을 나타낼 수 있다.
일 실시예에서, 동기 회로(430-1)는 10MHz에서 동작하는 2.5V(예를 들면, 저전압 상보적 금속 산화물 반도체) 인터페이스를 포함한다.
마스터 메모리 컨트롤러(420-1)는 6개의 출력 신호와 6개의 입력 신호를 포함할 수 있다. (예를 들면, 메모리 컨트롤러(420-2, 420-3 및 420-4)와 같은)각각의 슬레이브 메모리 컨트롤러는 2개의 출력 신호와 2개의 입력 신호를 포함할 수 있다. 따라서, 본 발명의 일 실시예는 메모리 컨트롤러(420-1)와 각각의 메모리 컨트롤러(420-2, 420-3 및 420-4) 사이에 (예를 들면, 메모리 컨트롤러(420-1)로부터의 데이터의 흐름을 지원하는 2개의 트레이스 또는 신호 라인과, 메모리 컨트롤러(420-1)로의 데이터의 흐름을 지원하는 2개의 트레이스 또는 신호 라인)4개의 트레이스의 접속을 포함할 수 있다.
일 구성에 따르면, 각각의 메모리 컨트롤러(420)는 각각의 데이터 액세스(예를 들면, 동적 랜덤 액세스 메모리 액세스)를 수행하는 때에 4개의 메모리 모듈에 동시에 액세스할 수 있다. 4개의 메모리 모듈에 동시에 액세스하는 때에, 4개의 각각의 어드레스 버스를 포함하는 4개의 제어 인터페이스는 록 스텝 방식으로(in a lock step manner) 동작한다. 예를 들면, 4개의 메모리 모듈(예를 들면, 4개의 DIMM)에의 액세스의 동기화를 달성하기 위하여, 마스터 메모리 컨트롤러(420-1)는 3개의 슬레이브 메모리 컨트롤러(예를 들면, 메모리 컨트롤러(420-2, 420-3 및 420-4))가 동기 회로(430)와 관련된 SYNC_IN 신호를 통해서 채널에 대한 커맨드를 실행할 준비가 되는 것을 관찰할 때까지 대기한다. 즉, 마스터 메모리 컨트롤 러(420-1)는 메모리 컨트롤러(420-2, 420-3 및 420-4)로부터 수신된 전술한 신호를 모니터링한다. 메모리 컨트롤러 슬레이브가 준비되는 때에, 마스터 메모리 컨트롤러(420-1)는 슬레이브 메모리 컨트롤러에 동기 회로(430)와 관련된 SYNC_OUT 신호를 통해서 액세스 동작의 실행을 개시하는 신호를 보낸다. 즉, 메모리 컨트롤러(420-1)는 전술한 트레이스를 통해서 메모리 컨트롤러(420-2, 420-3 및 420-4)에 통신하여 동시 동작을 지원한다. 마스터 메모리 컨트롤러(420-1) 자신은 전술한 바와 같이 슬레이브 메모리 컨트롤러에 신호를 제공한 후에 고정된 양의 시간(예를 들면, 2 싸이클)을 대기한 후에 개시할 수 있다.
전술한 바와 같이 신호를 보내는 것은 각각의 채널(A) 및 채널(B)이 유사한 방식으로 동작하도록 복제될 수 있다. 예를 들면, 앞서 논의한 바와 같이, 동기 회로(430)는 DRAM 클럭 영역에서 동작하는 각각의 채널(A 및 B)을 위한 별도의 동기화 신호의 세트를 포함하여, 채널들 간의 클럭 위상 시프트를 설명할 수 있다.
물리적 특성
일 구성에 따르면, 메모리 컨트롤러(420)는 FPGA(Field Programmable Gate Array) 장치로 구현될 수 있다. 메모리 시스템(400)에서 사용하기 위한 그러한 장치의 선택은 (1) 메모리 컨트롤러(420)의 각각의 패키지 크기가 충분히 작아서 4개의 메모리 컨트롤러(420)의 선형 어레이가 표준 메모리 모듈의 길이에 근접하고, (2) 각각의 메모리 컨트롤러(420)의 I/O 용량이 2개의 메모리 데이터 버스 각각의 1/4을 대략 지원하고, (3) 각각의 메모리 컨트롤러와 관련된 I/O 용량이 2개의 어드레스 및 각각의 메모리 모듈에의 제어 인터페이스를 완전히 지원하며, (4) 각각 의 슬레이브 메모리 컨트롤러가 동기화 목적을 위한 자신과 마스터 메모리 컨트롤러(420-1) 사이의 I/O 용량을 지원하며, (5) 각각의 메모리 컨트롤러가 호스트 장치로의 시스템 인터페이스를 지원하는 I/O 용량을 포함하며, (6) 메모리 시스템(400)이 본 명세서에서 논의된 다른 기능적인 측면을 지원하기에 충분한 논리 용량 및 특징을 포함한다는 요망에 기초할 수 있다.
작은 폼 팩터(form factor)(즉, 작은 패키지 크기)를 가지는 메모리 컨트롤러(420)를 이용하는 것은 각각의 메모리 컨트롤러와 메모리 모듈 사이의 직접 접속을 가능하게 한다. 따라서, 데이터 버스의 각각의 트레이스 길이는 최소의 길이로 유지될 수 있다. 부가적으로, 보다 작은 폼 팩터를 가지는 메모리 컨트롤러(420)의 이용은 각각의 인쇄된 회로 기판에서 요구되는 층의 수를 감소시킬 수 있다.
일 구성에 따르면, 메모리 채널 신호의 라우팅(예를 들면, 데이터 버스(E, F, G, ..., K, L, M)를 구현하는 트레이스)은 소위 스트립라인(stripline) 기술을 이용하여 행해질 수 있다. 그러한 구성에서, 신호는 각 회로 기판의 두 평면층 사이에 개재된다.
본 명세서에 기술된 적용가능한 소정의 기술들(트레이스 레이아웃, 인쇄된 회로 기판 설계 등)은 본 명세서에서 논의된 실시예를 수행하기 위한 프로세서 및 대응하는 소프트웨어 코드를 포함하는 각각의 컴퓨터 시스템의 적용을 통해서 구현될 수 있음에 주의하여야 한다. 그러한 실시예의 일 예(예를 들면, 소프트웨어 코드를 실행하는 컴퓨터 시스템)는 메모리 시스템과 컴퓨터 시스템의 프로세서를 결합하는 상호 접속을 포함할 수 있다. 메모리 내에 저장된 코드의 실행은 본 명세 서에 기술된 하나 이상의 기술을 지원할 수 있다.
도 5 및 6은 결합하여 본 발명의 실시예에 따른 회로 기판 컴포넌트를 레이아웃하는 기술 및 대응하는 인쇄 회로 기판 트레이스의 이용을 도시하는 흐름도(500)(예를 들면, 흐름도 500-1 및 흐름도 500-2)를 형성한다.
도 5의 단계 510에서, 엔티티(예를 들면, 회로 기판 레이아웃 툴, 레이아웃 엔지니어, 인쇄 회로 기판 제작 설비, 메모리 시스템 설계자 등)는 메모리 어레이(140) 내의 (제1 DIMM과 같은)제1 메모리 디바이스에 액세스하기 위한 제1 데이터 버스(예를 들면, 데이터 버스(A))와, 메모리 어레이(140) 내의 (제2 DIMM과 같은)제2 메모리 디바이스에 액세스하기 위한 제2 데이터 버스(예를 들면, 데이터 버스(B))를 포함하는 다수의 데이터 버스를 할당하거나 유지한다.
단계 515에서, 엔티티는 제1 데이터 버스(예를 들면, 데이터 버스(A))를 데이터 버스 신호의 다수의 세트(예를 들면, 그룹화)로 파싱(parsing)한다. 예를 들면, 신호의 제1 세트는 데이터 버스(A)의 데이터 비트(1-16)를 포함할 수 있으며, 신호의 제2 세트는 데이터 버스(A)의 데이터 비트(17-32)를 포함할 수 있으며, 신호의 제3 세트는 데이터 버스(A)의 데이터 비트(33-48)를 포함할 수 있으며, 신호의 제4 세트는 데이터 버스(A)의 데이터 비트(49-64)를 포함할 수 있다.
단계 520에서, 다수의 컨트롤러(120) 각각에 대하여, 엔티티는 각각의 컨트롤러를 할당하여 각각의 컨트롤러(120)와 제1 메모리 디바이스(예를 들면, 제1 DIMM) 사이의 제1 데이터 버스(예를 들면, 데이터 버스(A))와 관련된 데이터 버스 신호의 다수의 세트의 대응하는 세트를 제어한다.
단계 525에서, 엔티티는 제2 데이터 버스(예를 들면, 데이터 버스(B))를 데이터 버스 신호의 다수의 세트(예를 들면, 그룹화)로 파싱한다. 예를 들면, 신호의 제1 세트는 데이터 버스(B)의 데이터 비트(1-16)를 포함할 수 있으며, 신호의 제2 세트는 데이터 버스(B)의 데이터 비트(17-32)를 포함할 수 있으며, 신호의 제3 세트는 데이터 버스(B)의 데이터 비트(33-48)를 포함할 수 있으며, 신호의 제4 세트는 데이터 버스(B)의 데이터 비트(49-64)를 포함할 수 있다.
단계 530에서, 다수의 컨트롤러(120) 각각에 대하여, 엔티티는 각각의 컨트롤러(120)를 할당하여 각각의 컨트롤러(120)와 제2 메모리 디바이스(예를 들면, 제2 DIMM) 사이의 제2 데이터 버스(예를 들면, 데이터 버스(B))와 관련된 데이터 버스 신호의 다수의 세트의 대응하는 세트를 제어한다.
단계 535에서, 엔티티는 다수의 메모리 컨트롤러(120)와 관련된 동기 회로(130)를 제공하여, 제1 메모리 디바이스로부터의 데이터의 상이한 부분의 동시 액세스를 가능하게 할 목적으로 다수의 메모리 컨트롤러(120)를 동기화한다. 동기 회로(130)는 메모리 컨트롤러(120)가 제2 메모리 디바이스로부터의 데이터의 상이한 부분을 동시에 액세스할 수 있도록 메모리 컨트롤러(120)와 관련된 동작을 조정할 수도 있다.
단계 540에서, 엔티티는 다수의 메모리 컨트롤러(120)의 메모리 컨트롤러(120-1)를 할당하여 제1 메모리 디바이스와 관련된 어드레스 버스(예를 들면, 제어 신호(X))를 제어한다.
단계 545에서, 엔티티는 다수의 메모리 컨트롤러(120)의 메모리 컨트롤 러(120-2)를 제2 메모리 디바이스와 관련된 (예를 들면, 제어 신호(Y)와 같은)어드레스 버스를 제어하는 데에 할당한다.
단계 550에서, 엔티티는 제1 메모리 디바이스에서 호스트 시스템(1)과 같은 타깃 목적지까지 검색된 상이한 데이터의 각 부분의 동시의 병렬 전송을 지원하도록 메모리 컨트롤러(120)를 구성한다.
전술한 바와 같이, 본 발명의 기술은 대응 핀이 각 장치의 길이를 따라 순차적인 방식으로 물리적으로 분포하는 DIMM(Dual In-line Memory Module) 메모리 부분을 이용하는 데이터 처리 시스템과 같은 애플리케이션에서의 이용에 매우 적합하다. 그러나, 본 발명의 구성은 그러한 애플리케이션에의 이용에 한정되지 않으며, 따라서, 본 발명의 구성 및 변경은 다른 애플리케이션에도 마찬가지로 적합함에 주의하여야 한다.
본 발명이 특히 바람직한 실시예를 참조하여 도시되고 기술되었지만, 첨부된 특허청구범위에 의해서 규정되는 본 발명의 기술적 사상 및 범위로부터 벗어나지 않고서 형태 및 세부사항에 있어서 다양한 변경이 이루어질 수 있음은 본 기술분야의 당업자에 의해서 이해될 수 있을 것이다. 그러한 변형은 본 발명의 범위에 의해서 커버(cover)되도록 의도된다. 그와 같이, 전술한 본 발명의 실시예의 설명은 제한적인 것으로 의도되지 않았으며, 본 발명의 실시예에 대한 소정의 제한은 첨부된 특허청구범위에 존재한다.
도 1은 일 실시예에 따른 메모리 시스템의 블럭도.
도 2는 일 실시예에 따라 다수의 메모리 컨트롤러 칩들에 공통 데이터 버스의 각 부분들의 제어를 할당하는 기술을 도시한 플로우차트.
도 3은 일 실시예에 따른 다수의 메모리 디바이스를 포함하는 메모리 시스템의 블럭도.
도 4는 일 실시예에 따라 저장된 데이터를 액세스하기 위한 메모리 시스템의 블럭도.
도 5 및 도 6은 일 실시예에 따라 다수의 메모리 컨트롤러 칩을 포함하는 메모리 시스템을 제조하는 기술들을 도시한 플로우차트를 형성하기 위해 결합된 도면.
<도면의 주요 부분에 대한 부호의 설명>
110: 호스트 시스템
120-1, 120-2,..., 120-M: 메모리 컨트롤러
140: 메모리 어레이
130: 동기 회로

Claims (21)

  1. 제1 메모리 디바이스로의 제1 데이터 버스를 다수의 데이터 버스 신호 세트로 파싱(parsing)하는 단계;
    다수의 컨트롤러 칩 각각에 대하여, 각각의 컨트롤러 칩과 상기 제1 메모리 디바이스 사이의 제1 데이터 버스와 관계된 다수의 데이터 버스 신호 세트 중 대응하는 세트를 제어하도록 각각의 상기 컨트롤러 칩을 할당하는 단계; 및
    상기 제1 데이터 버스를 통해, 다수의 상기 칩 컨트롤러 각각이 상기 제1 메모리 디바이스에 저장된 서로 다른 부분의 데이터를 동시에 액세스하도록 하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    다수의 상기 칩 컨트롤러 각각이 상기 제1 메모리 디바이스에 저장된 서로 다른 부분의 데이터를 동시에 액세스하도록 하는 상기 단계는, 상기 제1 메모리 디바이스와 관계된 어드레스 및 제어 버스를 제어하도록 다수의 상기 컨트롤러 칩 중 주어진 하나의 컨트롤러 칩을 할당하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 제1 메모리 디바이스로의 상기 제1 데이터 버스와 제2 메모리 디바이스 로의 제2 데이터 버스를 포함하는 다수의 데이터 버스를 유지하는 단계;
    상기 제2 메모리 디바이스로의 상기 제2 데이터 버스를 다수의 데이터 버스 신호 세트로 파싱하는 단계; 및
    상기 다수의 컨트롤러 칩 각각에 대하여, 상기 제2 데이터 버스와 관계된 다수의 데이터 버스 신호 세트 중 대응하는 세트를 제어하도록 각각의 상기 컨트롤러 칩을 할당하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서,
    다수의 상기 칩 컨트롤러 각각이, 상기 제2 데이터 버스를 통하여 상기 제2 메모리 디바이스에 저장된 데이터의 서로 다른 각 부분을 동시에 액세스할 수 있도록 하는 단계를 더 포함하는 방법.
  5. 제3항에 있어서,
    다수의 상기 칩 컨트롤러 각각이, 상기 제2 데이터 버스를 통하여 상기 제2 메모리 디바이스에 저장된 데이터의 서로 다른 각 부분을 동시에 액세스할 수 있도록 하는 상기 단계는,
    상기 제1 메모리 디바이스와 관계된 어드레스 버스 및 제어 버스를 제어하도록 다수의 상기 컨트롤러 칩 중 제1 컨트롤러 칩을 할당하는 단계;
    상기 제2 메모리 디바이스와 관계된 어드레스 버스 및 제어 버스를 제어하도록 다수의 상기 컨트롤러 칩 중 제2 컨트롤러 칩을 할당하는 단계;
    다수의 상기 컨트롤러 칩 각각이 상기 제1 메모리 디바이스로부터 데이터의 각 부분을 동시에 액세스하도록 하는 한편, 상기 제1 컨트롤러 칩은 상기 제1 메모리 디바이스와 관계된 상기 어드레스 버스 및 상기 제어 버스를 제어하는 단계; 및
    다수의 상기 컨트롤러 칩 각각이 상기 제2 메모리 디바이스로부터 데이터의 각 부분을 동시에 액세스하도록 하는 한편, 상기 제2 컨트롤러 칩은 상기 제1 메모리 디바이스와 관계된 상기 어드레스 버스 및 상기 제어 버스를 제어하는 단계를 포함하는 방법.
  6. 제1항에 있어서,
    상기 제1 메모리 디바이스로부터 검색된 데이터의 서로 다른 각각의 부분을 타겟 수신지로 동시 병렬 전송하는 것을 지원하도록 컨트롤러 칩을 구성하는 단계를 더 포함하는 방법.
  7. 제3항에 있어서,
    상기 제1 메모리 디바이스와 상기 제2 메모리 디바이스의 길이방향 축에 대하여 실질적으로 평행한 레이아웃축을 따라 상기 컨트롤러 칩을 배치하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서,
    다수의 상기 컨트롤러 칩 각각이 상기 제1 메모리 디바이스에 저장된 서로 다른 부분의 데이터를 동시에 액세스하도록 하는 단계는, 상기 제1 메모리 디바이스와 상기 제2 메모리 디바이스의 길이방향 축에 대하여 실질적으로 평행한 레이아웃축을 따라 상기 컨트롤러 칩을 배치하는 단계를 더 포함하는 방법.
  9. 제8항에 있어서,
    레이아웃축을 따라 상기 컨트롤러 칩을 배치하는 단계는,
    상기 컨트롤러 칩 중 제1 컨트롤러 칩을 상기 레이아웃축의 제1 위치에 배치하는 단계;
    상기 컨트롤러 칩 중 제2 컨트롤러 칩을 상기 레이아웃축의 제2 위치에 배치하는 단계;
    상기 제1 컨트롤러 칩과 상기 제1 메모리 디바이스 사이에 제1 세트의 도전 경로를 구현하는 단계; 및
    상기 제2 컨트롤러 칩과 상기 제1 메모리 디바이스 사이에 제2 세트의 도전 경로를 구현하는 단계
    를 포함하는 방법.
  10. 제9항에 있어서,
    상기 제1 세트의 도전 경로를 구현하는 단계 및 상기 제2 세트의 도전 경로를 구현하는 단계는, 상기 제1 컨트롤러 칩과 제1 메모리 디바이스 사이의 제1 세트의 도전 경로와 관계된 대응하는 도전 경로 길이를, 상기 제2 컨트롤러 칩과 상 기 제1 메모리 디바이스 사이의 제2 세트의 도전 경로와 관계된 대응하는 도전 경로 길이와 그 길이가 실질적으로 유사하게 되도록 구성하는 단계를 포함하는 방법.
  11. 시스템으로서,
    다수의 제1 데이터 버스 신호 세트에 파싱된 제1 데이터 버스; 및
    제1 메모리 디바이스로의 다수의 상기 제1 데이터 버스 신호 세트 중 대응하는 세트를 제어하도록 각각 할당된 다수의 메모리 컨트롤러 칩
    을 포함하고,
    상기 제1 데이터 버스는 다수의 상기 칩 컨트롤러 각각이 상기 제1 메모리 디바이스에 저장된 데이터의 서로 다른 각 부분을 동시에 액세스하도록 하는
    시스템.
  12. 제11항에 있어서,
    다수의 상기 메모리 컨트롤러 칩 중 하나의 메모리 컨트롤러 칩은 상기 제1 메모리 디바이스와 관계된 어드레스 버스와 제어 버스를 제어하도록 구성된 시스템.
  13. 제11항에 있어서,
    다수의 제2 데이터 버스 신호 세트로 파싱된 제2 데이터 버스; 및
    제2 메모리 디바이스로의 다수의 제2 데이터 버스 신호 세트의 대응 세트를 제어하도록 각각 할당된 다수의 메모리 컨트롤러를 더 포함하는 시스템.
  14. 제13항에 있어서,
    다수의 상기 메모리 컨트롤러 칩과 관계된 동작을 기능하게 하기 위한 동기 회로를 더 포함하고, 상기 동기 회로와 관계된 시그널링은 다수의 상기 칩 컨트롤러가 상기 제2 데이터 버스를 경유하여 상기 제2 메모리 디바이스에 저장된 데이터의 서로 다른 각 부분을 동시에 액세스하도록 하는 시스템.
  15. 제13항에 있어서,
    다수의 상기 컨트롤러 칩 중 제1 컨트롤러 칩은 상기 제1 메모리 디바이스와 관계된 제1 어드레스 버스 및 대응 제어 버스를 제어하도록 구성되고, 다수의 상기 컨트롤러 칩 중 제2 컨트롤러 칩은 상기 제2 메모리 디바이스와 관계된 제2 어드레스 버스 및 대응하는 제어 버스를 제어하도록 구성되는 시스템.
  16. 제11항에 있어서,
    다수의 상기 메모리 컨트롤러 칩은 상기 제1 메모리 디바이스로부터 검색된 데이터의 서로 다른 각각의 부분을 타겟 수신지로 동시 병렬 전송하는 것을 지원하도록 구성되는 시스템.
  17. 제13항에 있어서,
    다수의 상기 메모리 컨트롤러 칩은 상기 제1 메모리 디바이스와 상기 제2 메모리 디바이스의 길이방향 축에 대하여 실질적으로 평행한 인쇄 회로 기판 상의 레이아웃축을 따라 배치되고,
    상기 제1 메모리 디바이스는 상기 제1 메모리 디바이스의 대응하는 길이방향 축을 따라 위치된 핀을 포함하며,
    상기 제2 메모리 디바이스는 상기 제2 메모리 디바이스의 대응하는 길이방향 축을 따라 위치된 핀을 포함하는 시스템.
  18. 제11항에 있어서,
    다수의 상기 메모리 컨트롤러 칩은 상기 제1 메모리 디바이스의 길이방향 축에 대하여 실질적으로 평행한 회로 기판의 레이아웃축을 따라 배치되는 시스템.
  19. 제18항에 있어서,
    다수의 상기 컨트롤러 칩 중 제1 컨트롤러 칩은 상기 레이아웃축의 제1 위치에 있고,
    다수의 상기 컨트롤러 칩 중 제2 컨트롤러 칩은 상기 레이아웃축의 제2 위치에 있으며,
    도전 경로의 제1 세트는 상기 제1 컨트롤러 칩을 상기 제1 메모리 디바이스에 접속하고,
    도전 경로의 제2 세트는 상기 제2 컨트롤러 칩을 상기 제1 메모리 디바이스 에 접속하는 시스템.
  20. 제19항에 있어서,
    상기 제1 컨트롤러 칩과 상기 제1 메모리 디바이스 간 제1 세트의 도전 경로와 관계된 대응하는 도전 경로 길이는 상기 제2 컨트롤러 칩과 상기 제1 메모리 디바이스 간 제2 세트의 도전 경로와 관계된 대응하는 도전 경로 길이와 그 길이에 있어서 실질적으로 유사하게 구성되도록 하는 시스템.
  21. 제1 메모리 디바이스로의 제1 데이터 버스를 다수의 데이터 버스 신호 세트로 파싱하는 수단; 및
    다수의 컨트롤러 칩 각각에 대해, 각각의 컨트롤러 칩과 상기 제1 메모리 디바이스 간의 제1 데이터 버스와 관계된 다수의 데이터 버스 신호 세트 중 대응하는 세트를 제어하도록 각각의 컨트롤러 칩을 할당하기 위한 수단
    을 포함하는 시스템.
KR1020080004098A 2007-01-12 2008-01-14 데이터 액세스 및 멀티-칩 컨트롤러 KR101081197B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/652,931 2007-01-12
US11/652,931 US8145869B2 (en) 2007-01-12 2007-01-12 Data access and multi-chip controller

Publications (2)

Publication Number Publication Date
KR20080066626A true KR20080066626A (ko) 2008-07-16
KR101081197B1 KR101081197B1 (ko) 2011-11-07

Family

ID=39308029

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080004098A KR101081197B1 (ko) 2007-01-12 2008-01-14 데이터 액세스 및 멀티-칩 컨트롤러

Country Status (5)

Country Link
US (1) US8145869B2 (ko)
EP (1) EP1944697B1 (ko)
JP (1) JP4857291B2 (ko)
KR (1) KR101081197B1 (ko)
CN (1) CN101231879B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160110148A (ko) * 2015-03-09 2016-09-21 삼성전자주식회사 메모리 장치 및 모듈
KR200490731Y1 (ko) * 2017-01-16 2020-02-07 이브이지에이 코포레이션 컴퓨터 제어 칩의 시뮬레이션 전환 장치

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8656082B2 (en) * 2008-08-05 2014-02-18 Micron Technology, Inc. Flexible and expandable memory architectures
US20100058016A1 (en) * 2008-08-26 2010-03-04 Jari Nikara Method, apparatus and software product for multi-channel memory sandbox
WO2010029480A2 (en) * 2008-09-09 2010-03-18 Nxp B.V. Memory controller
US8914589B2 (en) 2008-09-22 2014-12-16 Infineon Technologies Ag Multi-port DRAM architecture for accessing different memory partitions
US8495310B2 (en) * 2008-09-22 2013-07-23 Qimonda Ag Method and system including plural memory controllers and a memory access control bus for accessing a memory device
KR101035732B1 (ko) * 2008-10-07 2011-05-19 주식회사 칩스앤미디어 메모리 액세스 인터페이스의 변환 방법 및 장치
CN102543159B (zh) 2010-12-29 2014-06-25 炬才微电子(深圳)有限公司 一种ddr控制器及其实现方法和芯片
DE102011011958A1 (de) * 2011-02-22 2012-08-23 Atlas Elektronik Gmbh Speicherverwaltungseinheit und Verfahren zum Verwalten von Speicherzugriffen sowie System mit einer Speicherverwaltungseinheit
CN102881324B (zh) 2011-07-11 2015-07-08 澜起科技(上海)有限公司 写入电路、读取电路、内存缓冲器及内存条
CN102880567B (zh) * 2011-07-11 2016-02-10 澜起科技(上海)有限公司 数据读写系统
CN103828184B (zh) 2011-08-05 2016-08-17 力博特公司 在没有任何辅助信号的情况下进行的多个不间断电源总线之间的基于电力线的协调信号的智能仲裁
EP2761620B1 (en) * 2011-09-30 2020-04-29 Intel Corporation Dynamic operations for 3d stacked memory using thermal data
JP6030951B2 (ja) 2012-12-28 2016-11-24 ルネサスエレクトロニクス株式会社 半導体装置及び電子装置
KR102133573B1 (ko) * 2013-02-26 2020-07-21 삼성전자주식회사 반도체 메모리 및 반도체 메모리를 포함하는 메모리 시스템
WO2015164049A1 (en) * 2014-04-25 2015-10-29 Rambus, Inc. Memory mirroring
US9804931B2 (en) 2014-04-25 2017-10-31 Rambus Inc. Memory mirroring utilizing single write operations
EP3213218A4 (en) * 2014-10-29 2018-05-30 Hewlett-Packard Development Company, L.P. Communicating over portions of a communication medium
CN104657296B (zh) * 2015-01-30 2017-12-26 西安紫光国芯半导体有限公司 多数据接口兼容的芯片架构
EP3254286B1 (en) 2015-02-06 2019-09-11 Micron Technology, INC. Apparatuses and methods for parallel writing to multiple memory device locations
CN104834484B (zh) * 2015-05-11 2018-10-23 上海新储集成电路有限公司 基于嵌入式可编程逻辑阵列的数据处理系统及处理方法
CN106506625A (zh) * 2016-11-02 2017-03-15 郑州云海信息技术有限公司 四控服务器及四控服务器通信方法
US11487445B2 (en) * 2016-11-22 2022-11-01 Intel Corporation Programmable integrated circuit with stacked memory die for storing configuration data
US11610862B2 (en) * 2018-09-28 2023-03-21 Intel Corporation Semiconductor packages with chiplets coupled to a memory device
GB2578600B (en) * 2018-10-31 2021-10-13 Advanced Risc Mach Ltd Memory transaction request management
US10901734B2 (en) * 2019-03-01 2021-01-26 Micron Technology, Inc. Memory mapping using commands to transfer data and/or perform logic operations

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4979104A (en) 1987-03-31 1990-12-18 Bull Hn Information Systems Inc. Dual microprocessor control system
US6968419B1 (en) * 1998-02-13 2005-11-22 Intel Corporation Memory module having a memory module controller controlling memory transactions for a plurality of memory devices
US6854043B2 (en) * 2002-07-05 2005-02-08 Hewlett-Packard Development Company, L.P. System and method for multi-modal memory controller system operation
EP1403772A1 (en) 2002-09-30 2004-03-31 Telefonaktiebolaget L M Ericsson (Publ) Method and memory controller for scalable multi-channel memory access
AU2003271629A1 (en) 2002-09-30 2004-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and memory controller for scalable multi-channel memory access
US7043611B2 (en) * 2002-12-11 2006-05-09 Lsi Logic Corporation Reconfigurable memory controller
US7480781B2 (en) 2004-12-30 2009-01-20 Intel Corporation Apparatus and method to merge and align data from distributed memory controllers
US7373471B2 (en) * 2005-02-09 2008-05-13 International Business Machines Corporation Executing background writes to idle DIMMs
TWI259941B (en) * 2005-04-29 2006-08-11 Via Tech Inc Motherboard and bridge module therefor
US8253751B2 (en) 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160110148A (ko) * 2015-03-09 2016-09-21 삼성전자주식회사 메모리 장치 및 모듈
KR200490731Y1 (ko) * 2017-01-16 2020-02-07 이브이지에이 코포레이션 컴퓨터 제어 칩의 시뮬레이션 전환 장치

Also Published As

Publication number Publication date
JP2008171432A (ja) 2008-07-24
CN101231879B (zh) 2015-06-24
US20120005396A1 (en) 2012-01-05
EP1944697B1 (en) 2013-06-05
JP4857291B2 (ja) 2012-01-18
US8145869B2 (en) 2012-03-27
EP1944697A1 (en) 2008-07-16
CN101231879A (zh) 2008-07-30
KR101081197B1 (ko) 2011-11-07

Similar Documents

Publication Publication Date Title
KR101081197B1 (ko) 데이터 액세스 및 멀티-칩 컨트롤러
US11317510B2 (en) Load reduced memory module
EP3436963B1 (en) Memory subsystem with narrow bandwidth repeater channel
US7089412B2 (en) Adaptive memory module
JP6353843B2 (ja) メモリアクセス制御モジュールおよびこれに関連する方法
US7024518B2 (en) Dual-port buffer-to-memory interface
EP2513802B1 (en) Expandable asymmetric-channel memory system
US8364926B2 (en) Memory module with reduced access granularity
US10339072B2 (en) Read delivery for memory subsystem with narrow bandwidth repeater channel
CN1983329B (zh) 用于图形存储器集线器的装置、系统和方法
KR102501147B1 (ko) 메모리에서 에러 체킹 및 정정 코드의 확장된 적용
WO2018063588A1 (en) Shared command address (c/a) bus for multiple memory channels
JP2012521612A (ja) コンフィギュラブルな帯域幅メモリ・デバイスおよび方法
US11188264B2 (en) Configurable write command delay in nonvolatile memory
GB2420200A (en) Memory System having unidirectional interconnections between modules.
US20170289850A1 (en) Write delivery for memory subsystem with narrow bandwidth repeater channel
US9330218B1 (en) Integrated circuits having input-output circuits with dedicated memory controller circuitry
US20230178121A1 (en) High-bandwidth memory module architecture
US9390017B2 (en) Write and read collision avoidance in single port memory devices
JP2006269054A (ja) メモリモジュール及び方法
JP2018508871A (ja) 最小限のパッケージングの複雑性で異なる外部メモリタイプをサポートするための共通のダイ
KR102596491B1 (ko) 반도체 장치
KR20150001188A (ko) 디디알 에스디램 모듈 및 그 구성 방법
EP4312104A1 (en) Memory module adapter card with multiplexer circuitry

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
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141023

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151023

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161021

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171020

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181023

Year of fee payment: 8