KR101294687B1 - 이종 듀얼 인-라인 메모리 모듈과의 인터페이스를 위한 장치, 시스템 및 방법 - Google Patents

이종 듀얼 인-라인 메모리 모듈과의 인터페이스를 위한 장치, 시스템 및 방법 Download PDF

Info

Publication number
KR101294687B1
KR101294687B1 KR1020110030418A KR20110030418A KR101294687B1 KR 101294687 B1 KR101294687 B1 KR 101294687B1 KR 1020110030418 A KR1020110030418 A KR 1020110030418A KR 20110030418 A KR20110030418 A KR 20110030418A KR 101294687 B1 KR101294687 B1 KR 101294687B1
Authority
KR
South Korea
Prior art keywords
dimm
data
ecc
signal
bit
Prior art date
Application number
KR1020110030418A
Other languages
English (en)
Other versions
KR20110111260A (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 KR20110111260A publication Critical patent/KR20110111260A/ko
Application granted granted Critical
Publication of KR101294687B1 publication Critical patent/KR101294687B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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/1694Configuration of memory controller to different memory types
    • 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/20Handling requests for interconnection or transfer for access to input/output bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

이종 듀얼 인-라인 메모리 모듈(DIMM)과 프로세서를 인터페이싱하는 방법 및 장치를 개시한다. 본 방법은, 데이터 레인을 갖는 DIMM의 아이덴티티를 결정하는 단계와, DIMM의 아이덴티티의 결정에 기초하여 데이터 레인을 맵핑하는 단계와, 데이터 레인의 맵핑에 응답하여 입/출력 트랜시버를 트레이닝하는 단계와, 입/출력 트랜시버를 트레이닝한 후 DIMM으로 그리고 DIMM으로부터 데이터를 전송하는 단계를 포함한다.

Description

이종 듀얼 인-라인 메모리 모듈과의 인터페이스를 위한 장치, 시스템 및 방법{A METHOD AND APPARATUS FOR INTERFACING WITH HETEROGENEOUS DUAL IN-LINE MEMORY MODULES}
본 발명의 실시예들은 일반적으로 프로세서 분야에 관련된다. 보다 구체적으로 본 발명의 실시예들은 이종 듀얼 인-라인 메모리 모듈(DIMM)을 갖는 프로세서와의 인터페이싱을 위한 장치 및 방법에 관련된다.
하이 레벨에서 컴퓨팅 장치에 연관되는 메모리 모듈은 일반적으로 두 가지 카테고리의 데이터, 즉 일반 데이터와 그래픽 데이터를 처리하기 위해 사용된다. 그래픽을 처리하는 예로는 스크린에 이미지를 디스플레이하는 것을 들 수 있고, 그래픽이 아닌 일반 데이터를 처리하는 예로는 회계 데이터, 워드 문서 처리 등이 포함된다. 그래픽 처리에 관련되는 메모리 모듈로는 데이터 마스크 (DM) DIMM (DM-DIMM)를 예로 들 수 있다. DM-DIMM은 그 안에 있는 동적 랜덤 액세스 메모리(DRAM)의 사용을 개선하도록 특별히 설계된다. 이러한 DM-DIMM은, DM-DIMM과 인터페이싱 할 수 있도록 특별히 설계된 메모리 제어기와만 인터페이싱을 할 수 있는 특수한 핀-아웃 인터페이스를 갖는다. DM-DIMM과만 인터페이싱할 수 있는 커스텀(custom) 메모리 제어기를 사용하는 이유의 하나는 그래픽 처리시 DM-DIMM의 DRAM으로 고속의 판독 및 기록 동작을 수행하기 위한 것이다. DM-DIMM의 DRAM으로의 고속 판독 및 기록 동작은 DM-DIMM의 각 DRAM을 위한 데이터 레인(또는 버스)과 연관되는 각각의 DM 비트 신호를 가짐으로써 수행된다. 이러한 DM 비트 신호의 목적 중의 하나는 연관되는 데이터 레인을 마스킹하여 그 DM 비트 신호에 연관된 DRAM으로의 불필요한 기록 동작을 피하는 것이다.
예를 들어, 어떤 이미지의 작은 부분 또는 시각적으로 무시할 정도의 부분만이 새로운 데이터로 갱신되고 그 이미지의 나머지 부분은 그대로 유지되는 경우, 최종적인 새로운 이미지는 DM-DIMM내에서 계산되고 다시 저장될 필요가 없게 된다. 그러한 경우 상기 DRAM을 위한 DM 비트 신호는 DRAM 내 이미지 데이터의 어떠한 업데이트도 중단시키도록 인가(assert)된다. 그와 같은 데이터 마스크 비트 신호는 DRAM에 대한 과중한(intensive) 판독 및 기록 동작을 줄여주는데, 이는 최종 이미지가 그 안의 작거나 또는 시각적으로 무시할 만한 갱신을 위해 변경될 필요가 없기 때문이다.
이와 반대로, 그래픽 데이터가 아닌 일반 데이터를 판독하고 저장하기 위해 사용되는 메모리 모듈은 작은 또는 시각적으로 중요하지 않은 변화를 이유로 해서 마스킹 될 수는 없다. 예를 들어, 회계 데이터(financial data) 스프레드쉬트내에 한자리 숫자 변화만이 있었더라도 이는 우연히도 스프레드쉬트내 전체 회계 데이터의 작은 퍼센티지일 수 있기 때문이다. 한 자리 숫자의 변화를 이유로 전체 회계 데이터를 마스킹한다면 그 마스킹된 회계 데이터에 기초한 회계 분석은 결국 부정확한 것이 될 수 있다. 그러한 메모리 모듈은 에러 정정 코드(ECC)를 통한 에러 정정 능력을 보유할 수 있다. ECC는 DIMM의 DRAM내에 있는 어떠한 오류 데이터도 정정하여 DIMM내의 데이터들이 항상 정확하게 하는데 사용될 수 있다. 이와 같은 모듈은 ECC-DIMM이라 불리며, ECC 메모리 제어기라 불리는 특별한 메모리제어기와의 인터페이싱을 위한 특정 핀-아웃 인터페이스를 갖는다.
컴퓨터의 형태/구조가 점점 소형화됨에 따라, 상이한 또는 이종(heterogeneous) 타입의 DIMM과의 인터페이스를 위해 컴퓨터 마더보드 상에 개별적인 메모리 제어기를 두게 되면 마더보드의 크기 차지하는 영역이 커지게 된다. 이종 DIMM의 예로는 DM-DIMM, ECC-DIMM 등이 있다. 또한 컴퓨터 사용자는 상이한/이종 DIMM을 가진 컴퓨터의 메모리 제어기와 인터페이싱할 수 없는데, 그 이유는 메모리 제어기는 이종의 DIMM들이 아닌 한 종류의 DIMM과만 인터페이싱 할 수 있는 고유의 핀-아웃 인터페이스 및 로직(하드웨어 및/또는 소프트웨어)을 갖기 때문이다. ECC-DIMM을 위해 설계된 제어기에 DM-DIMM을 플러깅(pluging)하거나 또는 그 반대로 플러깅하는 경우에는, 예를 들어 DM-DIMM과 ECC-DIMM에 대한 서로 상이한 핀 인터페이스에 의해 야기되는 파워/접지 신호 쇼팅 등과 같이 파국적인 시스템 고장이 생길 수도 있다.
본 발명의 실시예들은 아래에서 기술되는 상세한 설명을 통해, 또한 본 발명의 다양한 실시예들을 보이는 도면들을 통해 충분히 이해될 수 있을 것이다. 그러나 이들은 본 발명을 특정 실시예로 한정하는 것으로 해석되어서는 안되며, 단지 예시적으로만 설명되고 이해되기 위한 것이다.
도 1은 본 발명의 일 실시예에 따라 이종 듀얼 인-라인 메모리 모듈(DIMM)과 인터페이싱 하기 위한 메모리 제어기에 대한 하이레벨 시스템 아키텍쳐를 보이는 도면이고,
도 2는 본 발명의 일 실시예에 따라 이종 DIMM과 인터페이싱 하도록 동작하는 메모리 제어기를 보이는 도면이며,
도 3a는 본 발명의 일 실시예에 따라 데이터 마스크(DM) DIMM (DM-DIMM)와 인터페이싱하는 메모리 제어기를 보이는 도면이고,
도 3b는 본 발명의 일 실시예에 따라 에러 정정 코드(ECC) DIMM (ECC-DIMM)과 인터페이싱하기 위한 메모리 제어기를 보이는 도면이며,
도 3c는 본 발명의 실시예에 따라 DM-DIMM 또는 ECC-DIMM 중 어느 하나와 인터페이싱하는 메모리 제어기에 의해 생기는 커넥터 핀-아웃 맵핑을 보이는 도면이고,
도 3d는 본 발명의 실시예에 따라 DM-DIMM 또는 ECC-DIMM 중 어느 하나와 인터페이싱하는 메모리 제어기에 의해 생기는 또 다른 커넥터 핀-아웃 맵핑을 보이는 도면이며,
도 4a는 본 발명의 다른 실시예에 따라 이종 DIMM과 메모리 제어기를 인터페이싱하기 위한 하이 레벨 흐름도이고,
도 4b는 본 발명의 다른 실시예에 따라 이종 DIMM과 메모리 제어기를 인터페이싱하기 위해 이종 DIMM의 식별정보(identification)을 결정하는 흐름도이며,
도 4c는 본 발명의 다른 실시예에 따라 이종 DIMM과 인터페이싱하는 메모리 제어기의 입/출력(I/O) 트랜시버를 신호에 맵핑시키는 흐름도이고,
도 5는 본 발명의 다른 실시예에 따라 메모리 제어기를 이종 DIMM에 인터페이싱하기 위한 것으로서 컴퓨터 실행가능한 명령어들을 포함하는 기계-판독 가능한 매체를 구비하는 시스템을 보이는 도면이다.
본 발명의 실시예들은 프로세서를 이종 듀얼 인-라인 메모리 모듈(DIMM)에 인터페이싱하기 위한 장치 및 방법에 관련된다. 본 발명을 설명하기 위해 본 발명의 실시예들은 이하에서 이종 DIMM이라 불리는 두 가지 유형의 DIMM을 논의한다. 본 명세서의 발명의 배경부분에서 언급한 바와 같이 첫 번째 유형의 DIMM은 데이터 마스크 (DM) DIMM (DM-DIMM)이며 두 번째 유형의 DIMM은 에러 정정 코드(ECC) DIMM (ECC-DIMM)이다. 본 발명의 실시예는 이들 두 가지 유형의 DIMM으로 한정되지 않는다. 다른 유형의 DIMM도 본 발명의 실시예의 동작 원리를 변경시킴 없이 사용될 수 있다.
아래의 설명에 있어서 본 발명의 보다 완전한 설명을 위해 여러 세부사항들이 논의된다. 그러나 본 발명의 실시예들은 이러한 세부사항들이 없더라도 당업자에 의해 실시될 수 있다. 또 다른 경우에는 본 발명의 실시예를 모호하게 하지 않도록 공지의 구조 또는 디바이스가 세부사항 없이 블럭도 형태로 보여질 것이다.
실시예들의 대응하는 도면에 있어서 신호는 선(line)으로 도시된다. 어떤 선은 보다 구성적(constituent) 신호 경로의 표시를 위해 좀 더 굵게 표시되며 또한/또는 하나 혹은 그 이상의 단부에 화살표를 가져 주된 정보 흐름 방향을 나타낸다. 이와 같은 표시는 발명을 제한하기 위한 것이 아니다. 오히려 이러한 선들은 회로 또는 로직 유닛에 대한 이해를 돕기 위해 하나 이상의 예시적 실시예와 관련하여 사용되는 것이다. 설계상의 필요 또는 선호에 의해 표시되는 어떠한 형태의 신호도 실제로는 어느쪽 방향으로도 이동할 수 있는 하나 또는 그 이상의 신호들을 포함할 수 있고, 또한 예를 들면 차동 쌍(differential pair), 싱글 엔드(single-ended)와 같이 어떠한 적절한 유형의 신호 스킴으로도 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따라 이종 DIMM(102)과 인터페이싱하기 위한 메모리 제어기(101)(프로세서 또는 디바이스라고도 지칭됨)의 하이레벨 시스템 아키텍쳐(100)를 도시한다. 본 발명의 일 실시예에서 메모리 제어기(101)는 상호접속부(107: interconnects)를 통해 이종 DIMM(102)에 인터페이싱하고 통신하도록 동작한다. 일 실시예에 있어서 메모리 제어기(101)는 직렬 프레즌스 검출(SPD) 식별정보(106)을 통해 이종 DIMM(102)의 식별정보를 결정한 후 이종 DIMM(102)과 인터페이싱하고 통신하도록 동작한다.
일 실시예에 있어서 SPD 식별정보(106)은 이종 DIMM(102)이 하나 또는 그 이상의 DRAM 유닛(105)을 갖는 DM-DIMM임을 나타내는 식별정보(identification)를 포함한다. 본 발명의 다른 실시예에 있어서는 상기 SPD 식별정보(106)가 상기 이종 DIMM(102)이 하나 또는 그 이상의 DRAM 유닛(105) 및 DRAM 비트들 중의 에러에 대해 DRAM 유닛(105)을 정정시키기 위한 ECC DRAM 유닛(도시되지 않음)을 구비하는 ECC-DIMM임을 나타내는 식별정보를 포함한다. 또 다른 실시예에서는 SPD 식별정보(106)가, 이종 DIMM(102)이 DMM-DIMM 및 ECC-DIMM이 아닌 DIMM임을 나타내는 식별정보를 포함한다.
일 실시예에 있어서 메모리 제어기(101)는 커넥터(104)를 통해 이종 DIMM(102)와 인터페이싱 하기 위한 하나 또는 그 이상의 로직 유닛(103, 하드웨어 및/또는 소프트웨어)을 포함한다. 일 실시예에 있어서 커넥터(104)는 마더보드상에 독립적으로 놓이며 도 1에 보인 메모리 제어기(101)내에 통합되지 않는다. 다른 실시예에 있어서는 커넥터(104)가 메모리 제어기(101) 내부에 기능적으로 완전히 통합된다.
본 발명의 일 실시예에 있어서 상기 하나 또는 그 이상의 로닉 유닛(103)은 SPD 식별정보를 판독한 다음, 이 SPD 식별정보에 기초하여 이종 DIMM과 인터페이싱하기 위해 신호를 맵핑한다(이에 대해서는 아래에 설명된다). 일 실시예에 있어서 이종 DIMM(102)으로의 모든 신호는 SPD 식별정보(106)에 따라 상기 로직 유닛(103)에 의해 맵핑된다. 다른 실시예에 있어서는 이종 DIMM(102)으로의 신호의 일부(subset)만이 SPD 식별정보(106)에 따라 상기 로직 유닛(103)에 의해 맵핑된다. 일 실시예에 있어서 메모리 제어기(101)는 중앙처리장치(CPU) 내부에 통합된다. 다른 실시예에 있어서는 메모리 제어기(101)가 CPU와는 별도로 독립된 프로세서(마이크로제어기라고도 불림)이며 CPU와는 통신가능하게 연결된다.
도 2는 본 발명의 일 실시예에 따른 메모리 제어기(101)의 구성요소들을 보이는 상세 블럭도(200)이다. 일 실시예에 있어서 메모리 제어기(101)는 커넥터(104)의 커넥터 핀(108) 및 데이터 레인 또는 버스(도시되지 않음)을 통해 이종 DIMM(도 1의 102)에 전기적으로 결합되도록 동작된다. 일 실시예에 있어서 커넥터 핀(108)은 이종 DIMM(도 1의 102)과 데이터를 주고 받는 입출력(입/출력) 트랜시버(206)에 의해 구동된다. 일 실시예에 있어서 트레이닝 로직 유닛(205)은 커넥터(104)를 통해 이종 DIMM(도 1의 102)으로부터 로직 유닛(202)에 의해 수신된 SPD 식별정보(201)(도 1의 106과 동일함)에 기초하여 입/출력 트랜시버를 트레이닝시키도록 동작한다. 일 실시예에 있어서 트레이닝 로직 유닛(205)은, 로직 유닛(202)이 트레이닝 로직 유닛(205)에 신호 경로(209)를 통해 이종 DIMM(102)이 SPD 식별정보(201)로부터 식별되었음을 알린 후, 트레이닝 신호(207)를 입/출력 트랜시버(206)로 제공하도록 동작한다.
일 실시예에 있어서 로직 유닛(202)은 SPD 식별정보를 판독하고 멀티플레서(204)를 위한 선택 신호(203)를 결정하도록 동작한다. 일 실시예에 있어서 멀티플렉서(204)는 입/출력 트랜시버(206)들에 대해 신호(210: 복수의 신호들임)를 출력하기 위한 복수의 멀티플렉서를 포함한다. 일 실시예에 있어서 입력 신호(208: 복수의 신호들)는 멀티플렉서(204)의 선택신호(203)에 응답하여 입/출력 트랜시버(206)에 맵핑된다.
"맵핑"이라는 용어는 커넥터 핀(108)이 이종 DIMM(도 1의 102)에 의해 기대되는 신호를 드라이빙(drive)하도록 입력 신호들(208) 중에서의 입력 신호를 입/출력 트랜시버들(206) 중에서의 특정 입/출력 트랜시버에 할당 또는 재할당하는 것을 지칭한다. 기대되는 신호(expected signal)란 이종 DIMM이 이해하는 신호를 지칭한다. 예를 들어, DM 비트 신호는 ECC-DIMM 아키텍처에 의해 사용되지 않으므로 ECC-DIMM은 DM 비트 신호를 이해하지 못하는바, ECC-DIMM은 DM 비트 신호가 ECC-DIMM에 의해 수신되리라 기대하지 않는다.
일 실시예에서, 입력 신호(208)가 입/출력 트랜시버들(206) 중에서의 특정 입/출력 트랜시버로 맵핑된 후, 트레이닝 로직 유닛(205)은 이종 DIMM(도 1의 102)으로 전송될 출력 신호의 신호 특성을 조정하기 위한 일련의 동작(a sequence of operations)을 시작한다. 일 실시예에서, 트레이닝 로직 유닛(205)은 메모리 제어기(101)로부터 이종 DIMM(도 1의 102)로 송신되는 데이터 스트로브 신호(data strobe signal)를 대응하는 데이터 신호의 중심에 또는 그 근처에 위치시키도록 동작할 수 있다. 이후에 논의되는 도 4는 본 발명의 일 실시예에 따라 트레이닝 로직 유닛(205)에 의해 실행되는 트레이닝 시퀀스(training sequence)의 세부사항을 제공한다.
일 실시예에서, 트레이닝 로직 유닛(205)은 데이터 스트로브 신호를 데이터 레인 상의 대응하는 신호의 중심에 정렬하도록 동작할 수 있는데, 여기서 데이터 레인은 이종 DIMM(도 1의 102)과 커넥터 핀(108) 간 상호접속 버스(interconnect bus)이다. 일 실시예에서, 트레이닝 로직 유닛(205)은 입/출력 트랜시버(206)의 드라이빙 세기(driving strength)를 조정함으로써 데이터 레인 상의 신호의 아이 폭과 높이(eye width and height of signals)를 조정하도록 동작할 수 있다. 일 실시예에서, 트레이닝 로직 유닛(205)은 데이터 레인 상의 신호와 연관된 지연을 조정하여 모든 데이터 레인 상의 신호가 실질적으로 동일한 이행 시간(flight times)을 가지게 하도록 동작할 수 있다. 일 실시예에서, 트레이닝 로직 유닛(205)은 입/출력 트랜시버(206)의 종단 임피던스(termination impedance)를 조정하도록 작동할 수 있다. 일 실시예에서, 트레이닝 로직 유닛(205)은 잘 알려진 방법에 따라 입/출력 트랜시버(206)를 트레이닝하도록 동작할 수 있다.
다음 실시예는 본 발명의 실시예를 이해하기 용이하도록 두 가지 유형의 이종 DIMM(DM-DIMM 과 ECC-DIMM)에 대해 논한다. 전술한 바와 같이, 본 발명의 실시예의 본질을 변경하지 않으면서 다른 유형의 이종 DIMM이 사용될 수 있다.
일 실시예에서, 로직 유닛(202)은 이종 DIMM(도 1의 102)의 SPD 식별정보(SPD identification)(201)가 DM-DIMM임을 식별하도록 동작할 수 있다. 그러한 실시예에서, 로직 유닛(202)은 선택 신호(203)를 멀티플렉서(204)로 보내어 ECC DRAM 유닛(도 3b의 323)에 대한 데이터 레인의 서브세트(subset)를 위해 예약된 비트 레인에 DM 비트 신호가 할당되도록 동작할 수 있다. 전술한 바와 같이, 데이터 레인(data lane)이라는 용어는 이종 DIMM(도 1의 102)과 메모리 제어기(101) 간의 상호접속 버스를 지칭한다. 이후 논의되는 도 3a는 본 발명의 일 실시예에 따라 ECC-DIMM과 대비되는 DM-DIMM에 대해 데이터 레인이 어떻게 재할당되는지에 관한 기능적 관점을 제공한다.
일 실시예에서, 로직 유닛(202)은 이종 DIMM(도 1의 102)의 SPD 식별정보(201)가 ECC-DIMM임을 식별하도록 동작할 수 있다. 그러한 실시예에서, 로직 유닛(202)은 선택 신호(203)를 멀티플렉서(204)로 보내어 데이터 레인들 중에서 데이터 레인 서브세트가 ECC-DIMM(도 3b의 324)의 ECC DRAM 유닛(도 3b의 323)에 할당되도록 동작할 수 있다. 이후에 논의되는 도 3b는 본 발명의 일 실시예에 따라 DM-DIMM과 대비되는 ECC-DIMM에 데이터 레인이 어떻게 재할당되는지에 관한 기능적 관점을 제공한다. 역시 이후에 논의되는 도 3c 및 도 3d는 DM-DIMM과 ECC-DIMM 간 신호 맵핑의 세부사항을 제공한다.
본 명세서에서 실시예는 이종 DIMM의 SPD 식별정보(201)에 기초하여 입/출력 트랜시버(206)에 대해 입력 신호(208)를 출력 신호(210)로 맵핑/할당하는 로직 유닛에 관해 논하나, 유사한 로직(미도시)이 SPD 식별정보(201)에 기초하여 이종 DIMM으로부터의 신호를 재맵핑하는 데 사용될 수 있다. 일 실시예에서, 위 로직(도면에 도시되지 않음)은 커넥터(104)와 입/출력 트랜시버(206)을 통해 이종 DIMM으로부터 프로세싱을 위한 메모리 제어기(101) 내로 들어오는 신호를 재맵핑한다.
도 3a는 본 발명의 일 실시예에 따라 DM-DIMM(302)와의 인터페이스를 위한 메모리 제어기(301)를 구비한 시스템 레벨 블록 아키텍처(300)를 예시한다. 그러한 실시예에서, 이종 DIMM(도 1의 102)은 DM-DIMM(302)이다. 일 실시예에서, DM-DIMM(302)의 DRAM(311a 내지 311h)은 각각 데이터 신호(309a 내지 309h) 및 대응하는 DM 비트 신호(310a 내지 310h)를 수신하도록 동작할 수 있다. 도 3a의 실시예는 DM-DIMM 당 8개의 DRAM 유닛을 도시하나, 본 명세서에서 논의된 동일한 방법과 장치를 통해 메모리 제어기(301)와 맵핑될 수 있는 더 적거나 더 많은 DRAM 유닛이 사용될 수 있다.
일 실시예에서, 메모리 제어기(301)의 제어기 로직 유닛(303)(도 1의 103)은 상호접속(201)을 통해 DM-DIMM(302)으로부터 SPD 식별정보(312)를 수신하도록 동작할 수 있다. 일 실시예에서, 제어기 로직 유닛(303)의 로직 유닛(202)은 입력 신호들(308) 중에서의 각 입력 신호를 출력 신호(308)로서 메모리 제어기(301)의 입/출력 트랜시버(305a 내지 305h, 306 및 313) 중에서의 특정 입/출력 트랜시버로 맵핑하기 위한 선택 신호(203)를 판정하도록 동작할 수 있다. 도 3a의 실시예는 입/출력 트랜시버(305a 내지 305h, 306 및 313)의 세트 10개를 도시하나, 더 적거나 더 많은 입/출력 트랜시버 세트가 이종 DIMM과 인터페이싱하는 데 사용될 수 있다. 일 실시예에서, 입/출력 트랜시버(305a 내지 305h, 306 및 313)의 세트 각각은 하나 이상의 입/출력 트랜시버를 가진다.
일 실시예에서, 커넥터 인터페이스(304)는 범용 커넥터 인터페이스이다. 그러한 실시예에서, 커넥터 인터페이스(304)는 여전히 동일하나(즉, 외부 세계에 대해 동일한 물리적 형태/구조를 갖고 동일한 위치에서 동일한 수의 핀), 메모리 제어기(301)의 입/출력 트랜시버(305a 내지 305h)는 이종 DIMM의 SPD 식별정보(312)에 따라 이종 DIMM으로 및 이종 DIMM으로부터 상이한 신호를 전송 및 수신하도록 동작할 수 있다.
일 실시예에서, 각각의 DRAM(311a 내지 311h)이 (버스(310)로부터의) 대응하는 DM 비트 신호(310a 내지 310h)와 함께 대응하는 데이터 버스(309a 내지 309h)를 수신하게끔, 멀티플렉서(204)는 출력신호들(307) 중에서의 각 출력 신호를 입/출력 트랜시버(305a 내지 305h)의 개별적인 세트에 할당하도록 동작할 수 있다. 일 실시예에서, 그러한 입/출력 트랜시버(305a 내지 305h, 306 및 313)의 할당이 수행되는바, 이종 DIMM이 DM-DIMM이라면 DM 비트 신호(309a 내지 309h)를 이종 DIMM으로 드라이빙하고 이종 DIMM이 ECC-DIMM이라면 ECC 신호(미도시)를 이종 DIMM으로 드라이빙하도록 중앙의 입/출력 트랜시버(즉, 306)가 할당된다. 중앙의 입/출력 트랜시버(306)을 할당함으로써, ECC-DIMM과 DM-DIMM 간 스위칭 시에 전체 신호를 재할당하는 것에 비해 더 적은 수의 전체 신호가 ECC-DIMM과 DM-DIMM 간에 재할당될 필요가 있다.
일 실시예에서, 이종 DIMM이 DM-DIMM이든지 또는 ECC-DIMM이든지, 어드레스 및 제어 신호를 위해 예약된 입/출력 트랜시버(313)는 변경되지 않고 남아 있다. 그러한 실시예에서, 출력 신호들(307) 중에서 재할당된 신호의 수는 DM-DIMM 과 ECC-DIMM 간 스위칭 또는 그 역에 의해 발생되는 모든 출력 신호(307)를 재할당하는 것에 비해 감소된다. 다른 실시예에서, 모든 입/출력 트랜시버(305a 내지 305h, 306 및 313)에 멀티플렉서(204)로부터의 상이한 출력 신호(307)가 재할당되어 이종 DIMM(도 1의 102)과 메모리 제어기(301)의 적절한 통신관련 연결(communicative connection)이 수립된다.
일 실시예에서, 일단 출력 신호(307)가 입/출력 트랜시버(305a 내지 305h, 306 및 313) 중에서의 특정 입/출력 트랜시버로 할당/맵핑되면, 도 2의 트레이닝 로직 유닛(205)은 신호(309a 내지 309h, 310a 내지 301h, 314)의 특정 또는 사전결정된 신호-무결성 제한(예컨대, 오버슈트(overshoot), 언더슈트(undershoot), Vol, Voh, 아이 폭 및 높이 등), 전력 제한(예컨대, 전력 소비) 그리고 타이밍 제한(예컨대, 유효 시간(valid time), 셋업 시간(setup time), 유지 시간(hold time) 등)을 충족하도록 입/출력 트랜시버(305a 내지 305h, 306 및 313)를 트레이닝한다.
도 3b는 본 발명의 일 실시예에 따라 도 3a의 DM-DIMM과 대비되는 ECC-DIMM에 대해 데이터 레인 상의 신호가 어떻게 재할당되는지를 보여주는 시스템 아키텍처(320)를 예시한다. 데이터 레인 및 데이터 레인 상의 신호라는 용어는 발명의 상세한 설명에서 상호교환 가능하게 사용되었다. 데이터 레인 상의 신호를 맵핑하는 프로세스는 그 데이터 레인 상으로 드라이빙될 특정 신호를 식별하고 할당하는 것을 지칭한다. 일 실시예에서, 로직 유닛(202)은 이종 DIMM(도 1의 102)이 ECC-DIMM(324)임을 판정하도록 동작할 수 있다. 일 실시예에서, ECC-DIMM(324)은 하나 이상의 DRAM(311a 내지 311h) 및 DRAM(311a 내지 311h) 내의 데이터 값의 임의의 에러를 정정하기 위한 ECC DRAM 유닛(323)을 포함한다. 일 실시예에서, ECC-DIMM(324)은 배경기술에서 기술된 이유로 어떠한 DM-비트 신호도 수신하지 않는다.
일 실시예에서, 로직 유닛(202)이 SPD 식별정보(312)를 판독함으로써 이종 DIMM이 ECC-DIMM(324)임을 판정한 후에, 로직 유닛(202)은 선택 신호(203)를 생성한다. 일 실시예에서, 메모리 제어기(301)가 ECC-DIMM(324)과 적절히 통신하게끔 선택 신호(203)는 입력 신호(308)를 출력 신호(307)로서 할당/맵핑하도록 동작할 수 있다.
일 실시예에서, 메모리 제어기(301)와 ECC-DIMM(324) 간의 적절한 통신은 DRAM(311a 내지 311h) 및 ECC DRAM 유닛(323)과의 통신을 위해 출력 신호(307)를 입/출력 트랜시버(305a 내지 305h, 306 및 313)의 개별 세트로 할당/맵핑함으로써 발생한다. 도 3a의 실시예와 비교하면, 도 3b의 입/출력 트랜시버(306)로부터의 신호(310)는 모두 ECC DRAM 유닛(323)에 할당되고 DM 비트 신호로서 DRAM(311a 내지 311h)에 할당되지 않는다. 그러한 실시예에서, DRAM(311a 내지 311h)은 각각 입/출력 트랜시버(305a 내지 305h)로부터 신호(321a 내지 321h)를 통해 출력 신호(307)를 수신하도록 동작할 수 있다. 이 실시예에서, ECC 신호(310)는 입/출력 트랜시버(305a 내지 305h, 306 및 313)의 열 가운데 실질적으로 중앙에 있는 입/출력 트랜시버(306)에 의해 생성된다.
출력 신호(307)로부터의 신호를 ECC 목적으로 입/출력 트랜시버(306)에 할당/맵핑하는 하나의 이유는 ECC-DIMM(324) 내에 있는 ECC DRAM 유닛(323)의 위치이다(ECC DRAM 유닛(323)은 실질적으로 ECC-DIMM(324)의 중앙에 있는바, 출력 신호들(307) 중에서 ECC 목적의 신호(310)는 역시 실질적으로 메모리 제어기(301)의 중앙에 있는 입/출력 트랜시버(306)로 할당/맵핑된다). 그러한 실시예에서, ECC 신호(310)는 입/출력 트랜시버(306)으로부터 ECC DRAM 유닛(323)으로 가는 거리가 더 짧다. 그러한 더 짧은 거리는 ECC 신호(310)의 도착 시간이 더 빠르게 할 수 있으며 타이밍 제한을 만족하기 위해 ECC 신호(310)에 지연(delay)을 부가함으로써 상대적으로 더 쉬운 신호 타이밍 조정이 가능하게 한다.
도 3b의 실시예가 10개 세트의 입/출력 트랜시버(305a 내지 h, 306, 313)를 도시하고 있으나, 이종 DIMM과의 인터페이싱에는 그보다 적거나 많은 세트의 입/출력 트랜시버가 사용될 수도 있다. 이와 유사하게, 도 3b의 실시예가 ECC-DIMM(324)마다 8개의 DRAM 유닛(311a 내지 h)을 보이고 있으나, 본 명세서에 설명된 동일한 장치 및 방법을 통해 메모리 제어기(301)과 맵핑될 수 있는 보다 적은 수 혹은 많은 수의 DRAM 유닛이 사용될 수도 있다.
일 실시예에 있어서는 입/출력 트랜시버(305a 내지 h)로의 사실상 모든 출력 신호(307)가 이종 DIMM(도 1의 102)의 식별정보(201)에 따라 재할당(reassign)된다.
일 실시예에 있어서 도 2의 타이밍 로직 유닛(도 3a 내지 3b에서는 도시되지 않음)이 멀티플렉서(204)로 하여금 이전에 입/출력 트랜시버(305e)로 할당된 신호를 타이밍 제약(constraint) 및 신호 무결성(integrity) 제약 등의 신호 제약을 충족하기 위해 입/출력 트랜시버(305d)로 재할당할 것을 지시한다.
도 3c는 본 발명의 일 실시예에 따라 도 1의 이종 DIMM(102)의 SPD 식별정보에 기초하여 출력 신호(307)를 재할당하는 것을 보이는 상세 표(340)이다. 표(340)는 본 발명의 일 실시예에 따라 ECC-DIMM이 DM-DIMM으로 대체되었을 경우 혹은 그 반대의 경우에 도 3a 내지 3b의 메모리 제어기(310)로부터의 기능적 핀-아웃을 도시한다. 일 실시예에 있어서 표(340)는 244 핀을 갖는 스몰 아웃라인(small-outline) DIMM(SO DIMM)의 핀-아웃을 나타낸다. DIMM의 전방 및 후방 핀은 각각 칼럼(341, 342)의 핀들로 표시된다. 표(340)의 칼럼(343)은 이종 DIMM이 ECC-DIMM인 경우에 있어서 핀들의 기능적 속성(attribute)를 보이고, 표(340)의 칼럼(344)은 ECC-DIMM이 DM-DIMM으로 대체되었을 경우 대응하는 핀들의 기능적 속성을 나타낸다. 일 실시예에 있어서 핀들의 기능적 속성은 메모리 제어기(101)를 통하여 ECC-DIMM과 DM-DIMM간에 변화한다.
일 실시예에 있어서, 재맵핑된(remapped) 데이터 비트 신호(즉 DQ 및 DQS 신호)를 위한 상호접속부가 마더보드상에 +/- 25 mils의 거리 내에서 매칭된다. 일 실시예에 있어서 멀티플렉서(204)에 의한 멀티플렉싱은 72개의 완전히 매칭된 DQ 신호 비트 및 대응하는 9개 관련 DQS(스트로브) 신호가 존재하도록 수행된다. 일 실시예에 있어서 DM-DIMM이 ECC-DIMM으로 대체되면 메모리 제어기(101)는 멀티플렉서(204)를 통해 DQ 비트를 재그룹핑하며, 도 3에 도시된 바와 같이 DM 비트 신호는 스킵(skip)한다.
본 발명의 일 실시예에 따라, 도 3d는 도 3c의 표(340)로부터의 특정 신호에 대한 메모리 제어기(101)에 의한 커넥터 핀 맵핑(mapping)을 도시한다. 커넥터 핀 맵핑은 표(350)에 도시된다. 본 발명의 일 실시예에 따라 표(350)의 좌측의 반(351)은, ECC-DIMM을 DM-DIMM으로 스와핑(swapping)하는 경우 메모리 제어기(101)에 의해 야기되는 커넥터 핀(108)의 기능적 맵핑/할당(assignment)을 도시한다. 이와 같은 실시예에서, 메모리 제어기(101)는 ECC 신호(도 3a의 310)를 위해 예약된 데이터 레인을 재할당(re-assign)하도록 동작할 수 있다. 본 발명의 일 실시예에 따라 표(350)의 우측의 반(352)은 DM-DIMM을 ECC-DIMM으로 스와핑하는 경우 메모리 제어기(101)에 의해 야기되는 커넥터 핀(108)의 기능적 맵핑/할당을 도시한다. 이와 같은 실시예에서, 메모리 제어기(101)는 ECC 신호(도 3b의 310)로서 사용되도록 DM-DIMM에 의해 이전에 사용되던 특정 데이터 레인을 재할당하도록 동작할 수 있다. 도 3c 및 3d의 실시예로 실시예가 한정하는 것은 아니다. 표(340, 350)에 도시된 것들과 상이한, 데이터 레인을 맵핑/재할당하는 다른 실시예도 본 발명의 실시예의 본질을 바꾸지 않으면서 사용될 수 있다.
본 발명의 다른 실시예에 따라, 도 1의 이종 DIMM(102)으로 도 1 및 2의 메모리 제어기(101)를 인터페이싱하기 위한 플로우차트를 도 4a 내지 4c에서 도시한다. 그 플로우차트는 도 1 내지 3을 참조하여 설명된다.
본 발명의 다른 실시예에 따라, 도 1의 이종 DIMM(102)으로 도 1 및 2의 메모리 제어기(101)를 인터페이싱하는 하이 레벨 플로우차트(400)를 도 4a에 도시한다. 블록(401)에서, 메모리 제어기(101)는 SPD 식별 정보(identification)(201)를 통해 이종 DIMM의 아이덴티티(identity)를 판정한다. 블록(402)에서, 이종 DIMM의 아이덴티티에 기초하고 멀티플렉서(204)를 통하여 로직 유닛(202)은 입력 신호(208)를 출력 신호(307)로서 맵핑한다. 블록(403)에서, 입출력(입/출력) 트랜시버(도 2의 206, 도 3a 내지 3b의 305a-h, 306 및/또는 313)는 트레이닝 로직 유닛(205)에 의해서 트레이닝(training)된다. 일단 트레이닝 로직 유닛(205)의 트레이닝 시퀀스가 완료되면, 블록(404)에서, 이종 DIMM(102)은 통상의 방식으로 동작하는데, 즉, 데이터는 요구되는 대로 이종 DIMM으로 그리고 이종 DIMM으로부터 전달된다.
본 발명의 일 실시예에 따라, 이종 DIMM(102)으로 메모리 제어기(101)를 인터페이싱하기 위한 이종 DIMM(102)의 식별 정보를 판정하는 플로우차트(410)를 도 4b에 도시한다. 블록(401a)에서 이종 DIMM으로부터의 SPD 식별 정보는 메모리 제어기(101)의 로직 유닛(202)에 의해 판독된다. 이 플로우차트에서, 이종 DIMM(102)의 두 가지 실시예, 즉, DM-DIM과 ECC-DIMM이 고려된다. 다른 유형의 DIMM도 본 발명의 실시예의 본질을 바꾸지 않으면서 메모리 제어기(101)와 함께 사용될 수 있다. 메모리 제어기(101)가 블록(401a)에서 판독된 SPD 식별 정보(101)가 DM-DIMM에 대한 것이라고 판정하면, 블록(411)은 도 4a 및 4c의 블록(402)에서의 방법을 시작하는 것으로 이어진다.
메모리 제어기(101)가 블록(412)에서 판독된 SPD 식별 정보(106)가 ECC-DIMM에 대한 것이라고 판정하면, 그 때에는 블록(412)에서 ECC 목적의 데이터 레인/버스(310)의 서브세트는, 도 3a 및 3b를 참조하여 설명한 바와 같이, ECC-DIMM의 ECC DRAM 유닛(323)으로 할당된다. 블록(413)에서, 본 방법은 도 4a의 블록(403)으로부터 시작한다.
본 발명의 일 실시예에 따라, 이종 DIMM(102)을 메모리 제어기(101)에 맵핑하기 위한 플로우차트(402)가 도 4c에 도시된다. 이종 DIMM(102)의 SPD 식별 정보(106)에 기초하여 멀티플렉서(204)가 출력 신호(307) 가운데에서의 신호를 상이한 입출력 트랜시버에 할당한 후에, 블록(402a)에서, 데이터 레인의 관련 신호를 래치하도록 데이터 스트로브 신호(도 3c의 DQS 신호)를 위치시킴에 의해 데이터 스트로브 신호는 데이터 레인 상의 관련 신호와 정렬된다. 데이터 레인 상의 관련 신호와 데이터 스트로브 신호를 정렬시키는 일 방법은 미국 특허 번호 제 7,307,900 호에 개시되어 있다.
블록(402b)에서, 이종 DIMM이 DM-DIMM인 경우, DM 비트는 ECC용 데이터 레인의 서브세트를 위하여 예약된 비트 레인에 할당된다. 이 할당의 결과로서, 일 실시예에서는, DM 비트 신호가 ECC를 위해 예약된 데이터 레인의 서브세트를 통하여 DM-DIMM으로 전송된다. 도 3a를 참조하여 설명한 바와 같이, ECC 신호(310)는 DM 비트 신호(310a-h)에 맵핑된다.
블록(402c)에서, DM 비트 신호(310a-h)는 대응하는 DRAM(311a-h)을 위한 대응하는 데이터 신호(예를 들어, 도 3c의 DQ신호)와 정렬되고, 데이터 신호는 블록(402a)에서 대응하는 데이터 스트로브 신호(예를 들어, 도 3c의 DQS 신호)와 정렬된다. 일 실시예에서, DM 비트 신호(301a-h)는 DRAM 각각과 연관된 데이터 신호(309a-h)에 대하여 지연(delay)되어서, DM 비트 신호(310a-h)는 대응되는 데이터 신호(309a-h)에 대해서 정렬된다. 다른 실시예에서, 데이터 신호(309a-h)와 대응하는 데이터 스트로브 신호는 지연되어서, DM 비트 신호(310a-h)가 대응하는 데이터 신호(309a-h)에 대하여 정렬된다.
지연이라는 용어는 신호의 시간 내에서의 지연 증가 및/또는 감소를 광범위하게 지칭한다. 정렬이라는 용어는 데이터 신호와 DM 비트 신호를 위치시켜서 타이밍 차이(margin)/조건(requirement)이 충족되도록 하는 것을 광범위하게 지칭한다. 일 실시예에서, (도시되지 않은) 위상 인터폴레이션(phase interpolation)은 DM 비트 신호에 대하여 데이터 신호를 지연시키도록 또는 그 반대로 사용된다.
본 발명의 일 실시예에 따라, 이종 DIMM(102)으로 메모리 제어기(101)를 인터페이싱하기 위한, 매체(503)에 저장되고 컴퓨터 실행 가능한 인스트럭션(504)을 가지는 머신 판독 가능한 매체(503)를 포함하는 시스템(500)이 도 5에 도시된다. 도 1 내지 4를 다시 참조하여, 일 실시예에서, 컴퓨터 실행 가능한 인스트럭션(504)에 기초하여 출력 신호(307) 가운데에서의 신호를 맵핑하고 정렬하도록 메모리 제어기(101)가 동작할 수 있다. 예를 들어, 출력 신호(307) 가운데서의 신호를 맵핑하고 정렬하도록 컴퓨터 실행 가능한 인스트럭션(504)을 통하여 도 2의 트레이닝 로직 유닛(205)과 로직 유닛(202)은 프로그램될 수 있다. 머신 판독 가능한 저장 매체(503)는, 전자식의(electronic) 또는 컴퓨터 실행 가능한 인스트럭션을 저장하기에 적절한 플래시 메모리, 광학 디스크, CD 롬, DVD 롬, RAM, EPROM, EEPROM, 자기 또는 광학 카드, 또는 다른 유형의 머신 판독 가능한 저장 매체를 포함할 수 있지만, 이에 한정되는 것은 아니다. 예를 들어, 본 발명의 실시예는, 통신 연결(가령, 모뎀 또는 네트워크 커넥션)을 통하는 데이터 신호를 이용하여 원격의 컴퓨터(가령, 서버)로부터 요청 컴퓨터(가령, 클라이언트)로 전달될 수 있는 컴퓨터 프로그램으로서 다운로드 가능할 수도 있다.
본 발명이 비록 특정 실시예와 관련하여 설명되었으나 이 실시예들에 대한 다른 많은 수정, 변경 및 변화된 실시예들도 앞서 설명을 통해 당업자에게 명백할 것이다. 예를 들어, 일 실시예에 있어 제어기(101)는 범용 CPU 내에 기능적으로 통합되며 마더보드상에 별도의 프로세서로 존재하지 않을 수도 있다. 본 발명의 실시예들은 그와 같은 변경, 변화, 수정이 첨부된 청구항의 범위안에 포함되는 것으로 의도되었다.

Claims (28)

  1. 데이터 레인(lanes)을 갖는 DIMM(Dual In-line Memory Module)의 아이덴티티(identity)를 결정하는 단계 -상기 DIMM의 아이덴티티는 상기 DIMM이 데이터-마스크 DIMM(DM-DIMM)인지 또는 에러 정정 코드 DIMM(ECC-DIMM)인지 여부를 나타냄- 와,
    상기 DIMM의 아이덴티티의 결정에 기초하여 상기 데이터 레인을 맵핑하는 단계와,
    상기 데이터 레인의 상기 맵핑에 응답하여 입/출력 트랜시버를 트레이닝하는 단계와,
    상기 입/출력 트랜시버를 트레이닝한 후 상기 DIMM으로 그리고 상기 DIMM으로부터 데이터를 전송하는 단계를 포함하는
    방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 DIMM의 아이덴티티의 결정에 기초하여 상기 데이터 레인을 맵핑하는 단계는,
    상기 DIMM에 연결된 제어기에 의해 상기 데이터 레인을 멀티플렉싱하는 단계와,
    상기 DIMM의 아이덴티티가 상기 DM-DIMM인 경우, 상기 데이터 레인 중에서 DM 비트를 상기 DIMM의 각각의 동적 랜덤 액세스 메모리(DRAM)에 할당하는 단계와,
    상기 DIMM의 아이덴티티가 상기 ECC-DIMM인 경우, ECC를 위한 상기 데이터 레인의 서브세트를 할당하는 단계를 포함하는
    방법.
  4. 제 3 항에 있어서,
    상기 DM 비트를 할당하는 단계는, ECC를 위한 상기 데이터 레인의 상기 서브세트를 위해 준비된(reserved) 비트 레인에 상기 DM 비트를 할당하는 단계를 포함하는
    방법.
  5. 제 3 항에 있어서,
    상기 DM 비트를 할당하는 단계는,
    데이터 레인의 관련된 신호를 래치하도록 데이터 스트로브 신호를 위치시킴으로써 데이터 레인의 상기 관련된 신호와 상기 데이터 스트로브 신호를 정렬하는 단계와,
    ECC를 위한 상기 데이터 레인의 상기 서브세트를 위해 준비된 비트 레인에 상기 DM 비트를 할당하는 단계 ―상기 할당된 DM 비트는 상기 DM-DIMM의 DRAM의 각각에 대응함― 와,
    데이터 레인의 상기 관련된 신호 중에서 데이터 신호에 대하여 상기 할당된 DM 비트의 DM 비트 신호의 지연을 조정함으로써 데이터 레인의 상기 관련된 신호와 상기 할당된 DM 비트의 DM 비트 신호를 정렬하는 단계를 포함하는
    방법.
  6. 제 3 항에 있어서,
    ECC를 위한 상기 데이터 레인의 상기 서브세트를 할당하는 단계는, 상기 데이터 레인의 상기 서브세트를 상기 DIMM의 ECC DRAM 유닛에 할당하는 단계를 포함하고,
    상기 DIMM의 아이덴티티를 결정하는 단계는, 상기 DIMM으로부터 직렬 프레즌스 검출(SPD; Serial Presence Detect) 식별정보(identification)를 판독하는 단계를 포함하는
    방법.
  7. 삭제
  8. 삭제
  9. 제 1 항에 있어서,
    상기 데이터 레인의 상기 맵핑에 응답하여 상기 입/출력 트랜시버를 트레이닝하는 단계는,
    대응하는 데이터 레인 상의 신호에 대하여 스트로브 신호를 센터링(centering)하는 단계와,
    상기 입/출력 트랜시버의 구동 세기를 조정함으로써 상기 대응하는 데이터 레인 상의 신호의 각각에 대한 아이 폭과 높이(eye width and height)를 조정하는 단계를 포함하는
    방법.
  10. 데이터 레인을 통하여 DIMM으로 데이터를 송신하고 DIMM으로부터 데이터를 수신하도록 동작가능한 입/출력 트랜시버와,
    상기 DIMM의 아이덴티티를 결정하도록 동작가능한 로직 유닛 -상기 DIMM의 아이덴티티는 상기 DIMM이 데이터-마스크 DIMM(DM-DIMM)인지 또는 에러 정정 코드 DIMM(ECC-DIMM)인지 여부를 나타냄- 과,
    상기 로직 유닛 및 상기 입/출력 트랜시버와 연결되고, 상기 DIMM의 아이덴티티에 기초하여 상기 데이터 레인을 맵핑하도록 동작가능한 멀티플렉서를 포함하는
    장치.
  11. 삭제
  12. 제 10 항에 있어서,
    상기 로직 유닛은, 상기 DIMM으로부터 직렬 프레즌스 검출(SPD) 식별정보를 판독하여 상기 DIMM이 상기 DM-DIMM인지 또는 상기 ECC-DIMM인지 여부를 판정하도록 동작가능한
    장치.
  13. 제 10 항에 있어서,
    상기 멀티플렉서는,
    상기 DIMM이 상기 DM-DIMM인 경우, 상기 데이터 레인 중에서 DM 비트를 상기 DIMM의 각각의 동적 랜덤 액세스 메모리(DRAM)에 할당하고,
    상기 DIMM이 상기 ECC-DIMM인 경우, ECC를 위한 상기 데이터 레인의 서브세트를 할당하도록 동작가능한
    장치.
  14. 제 13 항에 있어서,
    상기 멀티플렉서는 ECC를 위한 상기 데이터 레인의 상기 서브세트를 위해 준비된 비트 레인에 상기 DM 비트를 할당하도록 동작가능한
    장치.
  15. 제 13 항에 있어서,
    트레이닝 유닛을 더 포함하되,
    상기 트레이닝 유닛은,
    데이터 레인의 관련된 신호를 래치하도록 데이터 스트로브 신호를 위치시킴으로써 데이터 레인의 상기 관련된 신호와 상기 데이터 스트로브 신호를 정렬하고,
    ECC를 위한 상기 데이터 레인의 상기 서브세트를 위해 준비된 비트 레인에 상기 DM 비트를 할당하고 -상기 할당된 DM 비트는 상기 DM-DIMM의 DRAM의 각각에 대응함- ,
    데이터 레인의 상기 관련된 신호 중에서 데이터 신호에 대하여 상기 할당된 DM 비트의 DM 비트 신호의 지연을 조정함으로써 데이터 레인의 상기 관련된 신호와 상기 할당된 DM 비트의 DM 비트 신호를 정렬하도록 동작가능한
    장치.
  16. 제 13 항에 있어서,
    상기 멀티플렉서는 상기 데이터 레인의 상기 서브세트를 상기 ECC-DIMM의 ECC DRAM 유닛에 할당함으로써 ECC를 위한 상기 데이터 레인의 상기 서브세트를 할당하도록 동작가능한
    장치.
  17. 제 10 항에 있어서,
    트레이닝 로직 유닛을 더 포함하되,
    상기 트레이닝 로직 유닛은,
    대응하는 데이터 레인 상의 신호에 대하여 스트로브 신호를 센터링함으로써 상기 입/출력 트랜시버를 트레이닝하고,
    상기 입/출력 트랜시버의 구동 세기를 조정함으로써 상기 대응하는 데이터 레인 상의 신호 각각에 대한 아이 폭과 높이(eye width and height)를 조정하도록 동작가능한
    장치.
  18. 커넥터와,
    상기 커넥터에 연결되는 데이터 인라인 메모리 모듈(DIMM)과,
    상기 커넥터를 통해 상기 DIMM에 연결되는 제어기를 포함하되,
    상기 제어기는,
    데이터 레인을 통하여 상기 DIMM으로 데이터를 송신하고 상기 DIMM으로부터 데이터를 수신하도록 동작가능한 입/출력 트랜시버와,
    상기 DIMM의 아이덴티티를 결정하도록 동작가능한 로직 유닛 -상기 DIMM의 아이덴티티는 상기 DIMM이 데이터-마스크 DIMM(DM-DIMM)인지 또는 에러 정정 코드 DIMM(ECC-DIMM)인지 여부를 나타냄- 과,
    상기 로직 유닛 및 상기 입/출력 트랜시버와 연결되고, 상기 DIMM의 아이덴티티에 기초하여 상기 데이터 레인을 맵핑하도록 동작가능한 멀티플렉서를 포함하는
    시스템.
  19. 제 18 항에 있어서,
    상기 제어기는 청구항 제 12 항 내지 제 17 항 중 어느 한 항의 장치에 따르는
    시스템.
  20. 제 18 항에 있어서,
    상기 DIMM은 스몰 아웃라인(small-outline:SO) DIMM인
    시스템.
  21. 제 18 항에 있어서,
    상기 제어기는 마이크로프로세서 내에 집적되는
    시스템.
  22. 제 18 항에 있어서,
    상기 제어기는 마더보드 상의 마이크로프로세서와는 별개의 프로세서로서 상기 마더보드 상에 배치되는
    시스템.
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
KR1020110030418A 2010-04-02 2011-04-01 이종 듀얼 인-라인 메모리 모듈과의 인터페이스를 위한 장치, 시스템 및 방법 KR101294687B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/753,355 US8495330B2 (en) 2010-04-02 2010-04-02 Method and apparatus for interfacing with heterogeneous dual in-line memory modules
US12/753,355 2010-04-02

Publications (2)

Publication Number Publication Date
KR20110111260A KR20110111260A (ko) 2011-10-10
KR101294687B1 true KR101294687B1 (ko) 2013-08-09

Family

ID=44071799

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110030418A KR101294687B1 (ko) 2010-04-02 2011-04-01 이종 듀얼 인-라인 메모리 모듈과의 인터페이스를 위한 장치, 시스템 및 방법

Country Status (5)

Country Link
US (1) US8495330B2 (ko)
KR (1) KR101294687B1 (ko)
CN (1) CN102323912B (ko)
DE (1) DE102011015820A1 (ko)
GB (1) GB2479270B (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390035B2 (en) * 2009-12-21 2016-07-12 Sanmina-Sci Corporation Method and apparatus for supporting storage modules in standard memory and/or hybrid memory bus architectures
US8649229B2 (en) 2011-06-29 2014-02-11 Intel Corporation Memory module bus termination voltage (VTT) regulation and management
US9064603B1 (en) 2012-11-28 2015-06-23 Samsung Electronics Co., Ltd. Semiconductor memory device and memory system including the same
KR101845368B1 (ko) * 2013-09-27 2018-04-05 인텔 코포레이션 메모리 컨트롤러 커넥터의 메모리 커넥터에의 매핑
KR20150043044A (ko) 2013-10-14 2015-04-22 에스케이하이닉스 주식회사 반도체 장치 및 이를 포함하는 반도체 시스템
US9431129B2 (en) 2014-04-30 2016-08-30 Qualcomm Incorporated Variable read delay system
US9722335B2 (en) * 2014-05-05 2017-08-01 Qualcomm Incorporated Dual in line memory module (DIMM) connector
WO2015183303A1 (en) * 2014-05-30 2015-12-03 Hewlett-Packard Development Company, L.P. Memory access signal detection
US9424073B1 (en) * 2014-06-05 2016-08-23 Altera Corporation Transaction handling between soft logic and hard logic components of a memory controller
IL236627A0 (en) 2015-01-11 2015-04-30 Storone Ltd Method and system for controlling volatile memory
KR20180007374A (ko) 2016-07-12 2018-01-23 삼성전자주식회사 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법
US10108563B2 (en) * 2016-08-04 2018-10-23 Samsung Electronics Co., Ltd. Memory system including on-die termination and method of controlling on-die termination thereof
US11093419B2 (en) 2017-04-11 2021-08-17 Dell Products L.P. System and method for cost and power optimized heterogeneous dual-channel DDR DIMMs
CN109698003B (zh) * 2017-10-23 2021-07-06 群联电子股份有限公司 等化器调校方法、信号接收电路及存储器存储装置
KR102482896B1 (ko) 2017-12-28 2022-12-30 삼성전자주식회사 이종 휘발성 메모리 칩들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치
US10998012B2 (en) 2019-04-19 2021-05-04 Samsung Electronics Co., Ltd. Semiconductor memory modules including power management integrated circuits
US11927632B1 (en) * 2022-12-09 2024-03-12 Inventec (Pudong) Technology Corporation DIMM slot test system without series connection of test board through JTAG and method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000053529A (ko) * 1999-01-29 2000-08-25 포만 제프리 엘 다중 메모리 기억 및 드라이버 리시버 기술에 사용되는데이터 버스 구조와 이 구조를 동작시키는 방법
US6681301B1 (en) * 2001-10-02 2004-01-20 Advanced Micro Devices, Inc. System for controlling multiple memory types

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298426B1 (en) 1997-12-31 2001-10-02 Intel Corporation Controller configurable for use with multiple memory organizations
WO2002058069A2 (en) 2001-01-17 2002-07-25 Honeywell International Inc. Enhanced memory module architecture
US6807650B2 (en) * 2002-06-03 2004-10-19 International Business Machines Corporation DDR-II driver impedance adjustment control algorithm and interface circuits
US7089412B2 (en) * 2003-01-17 2006-08-08 Wintec Industries, Inc. Adaptive memory module
US7307900B2 (en) * 2004-11-30 2007-12-11 Intel Corporation Method and apparatus for optimizing strobe to clock relationship
US7401246B2 (en) 2005-06-30 2008-07-15 Intel Corporation Nibble de-skew method, apparatus, and system
US20070178864A1 (en) * 2006-02-01 2007-08-02 Oliver Kiehl Electronic subsystem assembly including radio frequency interface
US20080082750A1 (en) 2006-09-28 2008-04-03 Okin Kenneth A Methods of communicating to, memory modules in a memory channel
CN101677019B (zh) * 2008-09-18 2014-07-16 深圳市朗科科技股份有限公司 闪存的流水线读取方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000053529A (ko) * 1999-01-29 2000-08-25 포만 제프리 엘 다중 메모리 기억 및 드라이버 리시버 기술에 사용되는데이터 버스 구조와 이 구조를 동작시키는 방법
US6681301B1 (en) * 2001-10-02 2004-01-20 Advanced Micro Devices, Inc. System for controlling multiple memory types

Also Published As

Publication number Publication date
GB2479270B (en) 2013-08-28
GB2479270A (en) 2011-10-05
KR20110111260A (ko) 2011-10-10
CN102323912A (zh) 2012-01-18
GB201105538D0 (en) 2011-05-18
DE102011015820A1 (de) 2011-12-01
CN102323912B (zh) 2017-03-01
US8495330B2 (en) 2013-07-23
US20110246712A1 (en) 2011-10-06

Similar Documents

Publication Publication Date Title
KR101294687B1 (ko) 이종 듀얼 인-라인 메모리 모듈과의 인터페이스를 위한 장치, 시스템 및 방법
US11573849B2 (en) Memory module register access
CN102511039B (zh) 将不可预取存储单元映射到存储器映射输入/输出空间中
JP4243245B2 (ja) トランスペアレントeccメモリシステム
US9214199B2 (en) DDR 2D Vref training
US7660922B2 (en) Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
JP4926963B2 (ja) 多重メモリアクセスレイテンシ時間をサポートするコンピュータメモリシステムにおける性能を改善するためのシステムおよび方法
TWI479321B (zh) 記憶體控制器和動態隨機存取記憶體介面
US20080133797A1 (en) System, method and storage medium for a multi-mode memory buffer device
US5911053A (en) Method and apparatus for changing data transfer widths in a computer system
US10020036B2 (en) Address bit remapping scheme to reduce access granularity of DRAM accesses
US8732415B2 (en) Write data mask method and system
JPH1055331A (ja) プログラム可能な読み出し/書き込みアクセス信号とその方法
US9984741B2 (en) System and method of transferring data over available pins
CN204462995U (zh) 一种板载内存加固计算机平台
US9646656B2 (en) Time-multiplexed communication protocol for transmitting a command and address between a memory controller and multi-port memory
CN106325377A (zh) 外部设备扩展卡及输入输出外部设备的数据处理方法
CN108268390A (zh) 存储器系统及其操作方法
CN117912527A (zh) 多模态存储器设备及系统

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160727

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170801

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190729

Year of fee payment: 7